📄 乙机接受.asm
字号:
K12:
CJNE A,#02H,K13
MOV 22H,#04H
MOV 23H,#00H
LJMP K1END
K13:
CJNE A,#03H,K14
MOV 22H,#08H
MOV 23H,#00H
LJMP K1END
K14:
MOV 22H,#10H
MOV 23H,#00H
MOV 41H,#00H
LJMP K1END
K15:
JNB 0CH,K152
LJMP K153
K152:LJMP K111
K153:JNB 15H,K16
MOV A,34H
ADD A,#20
CJNE A,#260,K151
LJMP K1END
K151:MOV 34H,A
MOV B,#10
DIV AB
CLR C
SUBB A,#01H
MOV DPTR,#PLB2
MOVC A,@A+DPTR
MOV 55H,A
LJMP K1END
K16:JNB 16H,K17
MOV A,35H
ADD A,#20
CJNE A,#260,K161
LJMP K1END
K161:MOV 35H,A
MOV B,#10
DIV AB
CLR C
SUBB A,#01H
MOV DPTR,#PLB3
MOVC A,@A+DPTR
MOV 56H,A
LJMP K1END
K17:JNB 17H,K18
MOV A,36H
ADD A,#20
CJNE A,#260,K171
LJMP K1END
K171:MOV 36H,A
MOV B,#10
DIV AB
CLR C
SUBB A,#01H
MOV DPTR,#PLB1
MOVC A,@A+DPTR
MOV 57H,A
LJMP K1END
K18:JNB 18H,K19
MOV A,37H
ADD A,#20
CJNE A,#260,K181
LJMP K1END
K181:MOV 37H,A
MOV B,#10
DIV AB
CLR C
SUBB A,#01H
MOV DPTR,#PLB2
MOVC A,@A+DPTR
MOV 58H,A
LJMP K1END
K19:MOV A,38H
ADD A,#20
CJNE A,#260,K191
LJMP K1END
K191:MOV 38H,A
MOV B,#10
DIV AB
CLR C
SUBB A,#01H
MOV DPTR,#PLB1
MOVC A,@A+DPTR
MOV 59H,A
LJMP K1END
K111:
JNB 15H,K1END
MOV A,39H
ADD A,#10
CJNE A,#100,K1110
LJMP K1END
K1110:MOV 39H,A
MOV B,#10
DIV AB
MOV B,#5
MUL AB
MOV 5AH,A
MOV A,#50
CLR C
SUBB A,5AH
MOV 5BH,A
K1END:
RET
K2:;"-"
LCALL DELAY
JB 02H,K200
LJMP K201
K200:
LJMP K2END
K201:
SETB 0AH
JNB 08H,K25
CLR 0BH
DEC 41H
MOV A,41H
K21:
CJNE A,#01H,K22
MOV 22H,#02H
MOV 23H,#00H
MOV 41H,#05H
LJMP K2END
K22:
CJNE A,#02H,K23
MOV 22H,#04H
MOV 23H,#00H
LJMP K2END
K23:
CJNE A,#03H,K24
MOV 22H,#08H
MOV 23H,#00H
LJMP K2END
K24:
MOV 22H,#10H
MOV 23H,#00H
LJMP K2END
K25:
JNB 0CH,K250
LJMP K253
K250:LJMP K211
K253:JNB 15H, K26
MOV A,34H
CLR C
SUBB A,#20
CJNE A,#20,K251
LJMP K2END
K251:MOV 34H,A
MOV B,#10
DIV AB
CLR C
SUBB A,#01H
MOV DPTR,#PLB2
MOVC A,@A+DPTR
MOV 55H,A
LJMP K2END
K26:
JNB 16H, K27
MOV A,35H
CLR C
SUBB A,#20
CJNE A,#20,K261
LJMP K2END
K261:MOV 35H,A
MOV B,#10
DIV AB
CLR C
SUBB A,#01H
MOV DPTR,#PLB3
MOVC A,@A+DPTR
MOV 56H,A
LJMP K2END
K27:
JNB 17H, K28
MOV A,36H
CLR C
SUBB A,#20
CJNE A,#20,K271
LJMP K2END
K271:MOV 36H,A
MOV B,#10
DIV AB
CLR C
SUBB A,#01H
MOV DPTR,#PLB1
MOVC A,@A+DPTR
MOV 57H,A
LJMP K2END
K28:
JNB 18H, K29
MOV A,37H
CLR C
SUBB A,#20
CJNE A,#20,K281
LJMP K2END
K281:MOV 37H,A
MOV B,#10
DIV AB
CLR C
SUBB A,#01H
MOV DPTR,#PLB2
MOVC A,@A+DPTR
MOV 58H,A
LJMP K2END
K29:
MOV A,38H
CLR C
SUBB A,#20
CJNE A,#20,K291
LJMP K2END
K291:MOV 38H,A
MOV B,#10
DIV AB
CLR C
SUBB A,#01H
MOV DPTR,#PLB1
MOVC A,@A+DPTR
MOV 59H,A
LJMP K2END
K211:;降低占空比
JNB 15H,K2END
MOV A,39H
CLR C
SUBB A,#0AH
CJNE A,#0AH,K2110
LJMP K2END
K2110:MOV 39H,A
MOV B,#10
DIV AB
MOV B,#5
MUL AB
MOV 5AH,A
MOV A,#50
CLR C
SUBB A,5AH
MOV 5BH,A
K2END:
RET
K3:;查看波形键
LCALL DELAY
JB 03H,K3END
SETB 0BH
CLR 08H
INC 40H
MOV A,40H
CJNE A,#01H,K31
MOV 22H,#20H
MOV 23H,#00H
LJMP K3END
K31:
CJNE A,#02H,K32
MOV 22H,#40H
MOV 23H,#00H
LJMP K3END
K32:
CJNE A,#03H,K33
MOV 22H,#80H
MOV 23H,#00H
LJMP K3END
K33:
CJNE A,#04H,K34
MOV 22H,#00H
MOV 23H,#01H
LJMP K3END
K34:
MOV 22H,#00H
MOV 23H,#02H
MOV 40H,#00H
K3END:
RET
K4:;调节频率键
LCALL DELAY
JB 04H,K4END
JNB 0BH,K4END
SETB 0CH
CLR 08H
CLR 0DH
K4END:
RET
K5:;调节占空比键
LCALL DELAY
JB 05H,K5END
JNB 0BH,K5END
SETB 0DH
CLR 08H
CLR 0CH
K5END:
RET
TIMER0:PUSH ACC
PUSH PSW
PUSH DPH
PUSH DPL
MOV TH0 ,#3CH
MOV TL0 ,#0AFH
DJNZ R4,TIMEROEND
CLR 10H
SETB 11H
CLR TR0
TIMEROEND:
POP DPL
POP DPH
POP PSW
POP ACC
RETI
DELAY5MS:
MOV 30H,#10
DELAY5MS1:
MOV 31H,#125
DJNZ 31H,$
DJNZ 30H,DELAY5MS1
RET
DELAY250us:
MOV R7,#75
DJNZ R7, $
RET
DELAY: ;延时子程序
MOV 32H,#00H
DELAY1:
INC 32H
MOV A,32H
CJNE A,#200,DELAY2
SJMP DELAYEND
DELAY2:
MOV 33H,#200
DJNZ 33H,$
SJMP DELAY1
DELAYEND:
RET
D8MS:MOV 42H,#20 ;实际为
DL1:MOV 43H,#250
DL2:DJNZ 43H,DL2
DJNZ 42H,DL1
RET
DELAY10:
D1:DJNZ 53H,D1 ;53H为入口地址
RET
DELAY11:
LL2:MOV 51H,#10 ;45H入口地址
LL6:MOV 53H,55H
LCALL DELAY10
DJNZ 51H,LL6
DJNZ 45H,LL2
RET
DELAY13:MOV 46H,#250
ZL1:
MOV 53H,56H
LCALL DELAY10
DJNZ 46H,ZL1
RET
;频率表
PLB1:DB 32H,21H,19H,14H,10H,0EH,0CH,0BH,0AH,09H,08H,07H,07H,06H
PLB2:DB 19H,10H,0CH,0AH,08H,07H,06H,05H,05H,04H,04H,03H,03H,03H
PLB3:DB 0CH,08H,06H,05H,04H,03H,03H,02H,02H,02H,02H,01H,01H,01H
;Welcome
DISTAB0:DB " Welcom "
DB " "
;主目录1 K0主目录 ,K1 +,K2-
DISTAB1:DB " Main Menu 1/4"
DB "K0:Menu K1:+k2:-"
;主目录2 K3 查看波形
DISTAB2:DB "K3:View WaveForm"
DB " 2/4"
;主目录3 K4 调节频率
DISTAB3:DB "K4:Frequency(f) "
DB "Adjustment 3/4"
;主目录4 K5 调节占空比
DISTAB4:DB "K5:Duty Cycle(d)"
DB "Regulation 4/4"
; 矩形波
DISTAB5:DB "Rectangular wave"
DB "f: 40HZ d:50% "
; 梯形波
DISTAB6:DB "Atrapezoida wave"
DB "f: 40HZ "
; 锯齿波
DISTAB7:DB " Sawtooth "
DB "f: 40Hz "
; 三角波
DISTAB8:DB "Triangular wave"
DB "f: 40Hz "
; 正弦波
DISTAB9:DB " Sine "
DB "f: 40HZ "
DISTABA:;0到9的编码
DB "0123456789"
SETTAB: ;正弦表格
DB 80H,83H,86H,89H,8DH,90H,93H,96H
DB 99H,9CH,9FH,0A2H,0A5H,0A8H,0ABH,0AEH
DB 0B1H,0B4H,0B7H,0BAH,0BCH,0BFH,0C2H,0C5H
DB 0C7H,0CAH,0CCH,0CFH,0D1H, 0D4H,0D6H,0D8H
DB 0DAH,0DDH,0DFH,0E1H,0E3H, 0E5H,0E7H,0E9H
DB 0EAH,0ECH,0EEH,0EFH,0F1H, 0F2H,0F4H,0F5H
DB 0F6H,0F7H,0F8H,0F9H,0FAH, 0FBH,0FCH,0FDH
DB 0FDH,0FEH,0FFH,0FFH,0FFH, 0FFH,0FFH,0FFH
DB 0FFH,0FFH,0FFH,0FFH,0FFH, 0FFH,0FEH,0FDH
DB 0FDH,0FCH,0FBH,0FAH,0F9H, 0F8H,0F7H,0F6H
DB 0F5H,0F4H,0F2H,0F1H,0EFH, 0EEH,0ECH,0EAH
DB 0E9H,0E7H,0E5H,0E3H,0E1H, 0DEH,0DDH,0DAH
DB 0D8H,0D6H,0D4H,0D1H,0CFH, 0CCH,0CAH,0C7H
DB 0C5H,0C2H,0BFH,0BCH,0BAH, 0B7H,0B4H,0B1H
DB 0AEH,0ABH,0A8H,0A5H,0A2H, 9FH, 9CH, 99H
DB 96H, 93H, 90H, 8DH, 89H, 86H, 83H, 80H
DB 80H, 7CH, 79H, 78H, 72H, 6FH, 6CH, 69H
DB 66H, 63H, 60H, 5DH, 5AH, 57H, 55H, 51H
DB 4EH, 4CH, 48H, 45H, 43H, 40H, 3DH, 3AH
DB 38H, 35H, 33H, 30H, 2EH, 2BH, 29H, 27H
DB 25H, 22H, 20H, 1EH, 1CH, 1AH, 18H, 16H
DB 15H, 13H, 11H, 10H, 0EH, 0DH, 0BH, 0AH
DB 09H, 08H, 07H, 06H, 05H, 04H, 03H, 02H
DB 02H, 01H, 00H, 00H, 00H, 00H, 00H, 00H
DB 00H, 00H, 00H, 00H, 00H, 00H, 01H, 02H
DB 02H, 03H, 04H, 05H, 06H, 07H, 08H, 09H
DB 0AH, 0BH, 0DH, 0EH, 10H, 11H, 13H, 15H
DB 16H, 18H, 1AH, 1CH, 1EH, 20H, 22H, 25H
DB 27H, 29H, 2BH, 2EH, 30H, 33H, 35H, 38H
DB 3AH, 3DH, 40H, 43H, 45H, 48H, 4CH, 4EH
DB 51H, 55H, 57H, 5AH, 5DH, 60H, 63H, 66H
DB 69H, 6CH, 6FH, 72H, 76H, 79H, 7CH, 80H
END
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -