|

楼主 |
发表于 2023-9-30 12:12:21
|
显示全部楼层
优化了程序,修正了错误。加减速度程序优化一下更加简练。4是4点一划少了一点。
;晶振频率12M
ORG 0
MOV P3,#00011111B ;初始化
MOV 10H,#3 ;预置数3送10H
MOV 20H,#125 ;预置数125送20H
AJMP STAR
STAR: JB P3.0,KK1
AJMP D1 ;点脉冲输出
KK1: JB P3.1,KK2 ;
AJMP D2 ;划脉冲输出
KK2: JB P3.2,KK3 ; 扫描按键
AJMP D3 ;加速
kk3: JB P3.3,KK4 ;
AJMP D4 ;减速
kk4: JB P3.4,STAR ;
AJMP D5 ;
;*********点脉冲输出************
D1: SETB P3.5
LCALL DELL
CLR P3.5 ;输出一个点脉冲
LCALL DELL
JB P3.0,STAR
AJMP D1
;*********划脉冲输出************
D2: SETB P3.5
LCALL DELL
DJNZ 10H,D2
CLR P3.5 ;划输出连续三个点脉冲
LCALL DELL
MOV 10H,#3
JB P3.1,STAR
AJMP D2
;*****************加速***********
D3:
MOV R1,20H ;加速数据送20
TT1: CJNE R1,#50,JRR ;比较相等下去,不等跳到TT1
AJMP STAR
JRR: DEC 20H ;加速数据减1
LCALL DELL
MOV R1,20H ;减好后送R1
JNB P3.2,TT1 ;按下连续减
AJMP STAR
;****************减速****************
D4:
MOV R1,20H ;减速数据送20
FF1: CJNE R1,#250,DD1 ;两数相等下去,不等跳到FF1
AJMP STAR
DD1: INC 20H ;减速数据加1
LCALL DELL
MOV R1,20H ;加好后送R1
JNB P3.3,FF1 ;按下连续加
AJMP STAR
;****自动发送呼号*CQ,CQ,DE,BG4FTQ,BG4FTQ,PSE,K*************
D5: LCALL DAI ;-
LCALL DII ;.
LCALL DAI ;- C
LCALL DII ;.
LCALL DELL
LCALL DELL
NOP
LCALL DAI ;-
LCALL DAI ;-
LCALL DII ;. Q
LCALL DAI ;-
LCALL DELL
LCALL DELL
NOP
LCALL DAI ;-
LCALL DII ;.
LCALL DAI ;- C
LCALL DII ;.
LCALL DELL
LCALL DELL
NOP
LCALL DAI ;-
LCALL DAI ;-
LCALL DII ;. Q
LCALL DAI ;-
LCALL DELL
LCALL DELL
NOP
LCALL DAI ;-
LCALL DII ;.
LCALL DII ;. D
LCALL DELL
LCALL DELL
NOP
LCALL DII ;. E
LCALL DELL
LCALL DELL
NOP
LCALL DAI ;-
LCALL DII ;.
LCALL DII ;. B
LCALL DII ;.
LCALL DELL
LCALL DELL
NOP
LCALL DAI ;-
LCALL DAI ;-
LCALL DII ;. G
LCALL DELL
LCALL DELL
NOP
LCALL DII ;.
LCALL DII ;.
LCALL DII ;.
LCALL DII ;. 4
LCALL DAI ;-
LCALL DELL
LCALL DELL
NOP
LCALL DII ;.
LCALL DII ;.
LCALL DAI ;- F
LCALL DII ;.
LCALL DELL
LCALL DELL
NOP
LCALL DAI ;- T
LCALL DELL
LCALL DELL
NOP
LCALL DAI ;-
LCALL DAI ;-
LCALL DII ;. Q
LCALL DAI ;-
LCALL DELL
LCALL DELL
NOP
LCALL DAI ;-
LCALL DII ;.
LCALL DII ;. B
LCALL DII ;.
LCALL DELL
LCALL DELL
NOP
LCALL DAI ;-
LCALL DAI ;-
LCALL DII ;. G
LCALL DELL
LCALL DELL
NOP
LCALL DII ;.
LCALL DII ;.
LCALL DII ;.
LCALL DII ;. 4
LCALL DAI ;-
LCALL DELL
LCALL DELL
NOP
LCALL DII ;.
LCALL DII ;.
LCALL DAI ;- F
LCALL DII ;.
LCALL DELL
LCALL DELL
NOP
LCALL DAI ;- T
LCALL DELL
LCALL DELL
NOP
LCALL DAI ;-
LCALL DAI ;-
LCALL DII ;. Q
LCALL DAI ;-
LCALL DELL
LCALL DELL
NOP
LCALL DII ;.
LCALL DAI ;-
LCALL DAI ;- P
LCALL DII ;.
LCALL DELL
LCALL DELL
NOP
LCALL DII ;.
LCALL DII ;.
LCALL DII ;. S
LCALL DELL
LCALL DELL
NOP
LCALL DII ;. E
LCALL DELL
LCALL DELL
NOP
LCALL DAI ;-
LCALL DII ;.
LCALL DAI ;- K
AJMP STAR
;*********____**划脉冲输出**********
DAI: SETB P3.5
LCALL DELL
DJNZ 10H,DAI
CLR P3.5
LCALL DELL
MOV 10H,#3
RET
;********** . **点脉冲输出***********
DII: SETB P3.5
LCALL DELL
CLR P3.5
LCALL DELL
RET
;************延时1***********
DELL: MOV R2,20H
LD1: MOV R3,#50
LD2: MOV R4,#50
DJNZ R4,$
DJNZ R3,LD2
DJNZ R2,LD1
RET
END
|
|