📄 电源.asm
字号:
MOV DPTR,#7FF1H ;指向第二路
MOVX @DPTR,A ;电流转换
NOP
NOP
CALL WAIT
MOVX A,@DPTR
MOV DLCLZ,A ;电流结果装入38H
MOV B,#100
DIV AB
MOV DLXSGW,A ;3CH为高位
MOV A,B
MOV B,#10
DIV AB
MOV DLXSDW,A ;3DH为底位
RET
WAIT: MOV R4,#04AH ;等待子程序
DJNZ R4,$
RET
;***********************
;写一屏子程序
;***********************
XSYP: MOV COUNT,#40H ;显示中文一屏 使用时先赋DPTR
MOV COM,#80H
CALL WRI
XSYP1: CLR A
MOVC A,@A+DPTR
MOV DAT,A
CALL WRD
INC DPTR
DJNZ COUNT,XSYP1
RET
;*************************
WRI: PUSH ACC
CLR RS
SETB RW
WRI1: MOV P0,#0FFH
SETB E
MOV A,P0
CLR E
JB ACC.7,WRI1
CLR RW
SETB E
MOV P0,COM
CLR E
POP ACC
RET
;******************************************以上是写指令子程序
WRD: PUSH ACC
CLR RS
SETB RW
WRD1: MOV P0,#0FFH
SETB E
MOV A,P0
CLR E
JB ACC.7,WRD1
SETB RS
CLR RW
SETB E
MOV P0,DAT
CLR E
POP ACC
RET
;******************************************以上是写数据子程序
DELAY: MOV R7,#0FFH ;06D
DELAY4: MOV R6,#0FFH ;07D
LOOP2: DJNZ R6,LOOP2
DJNZ R7,DELAY4
RET
DELAY1: MOV R4,#03H
DELAY11:MOV R7,#0FFH ;06D
DELAY41:MOV R6,#0FFH ;07D
DJNZ R6,$
DJNZ R7,DELAY41
DJNZ R4,DELAY11
RET
XX: MOV R5,#07FH
XX1: MOV R6,#0FFH
XX2: DJNZ R6,XX2
DJNZ R5,XX1
RET
;******************************************以上是延时子程序
;******************************************以上是延时子程序
;中断服务
INT_SERVER0:
PUSH ACC
PUSH PSW
SETB KEYDAT
MOV SEND_BUF,#00010101B ;发读键盘指令
CALL SEND
CALL RECEIVE
SETB CS
MOV A,REC_BUF
CJNE A,#0,NEXTKEY1
SETB K0DAT
NEXTKEY1: CJNE A,#1,NEXTKEY2
SETB K1DAT
NEXTKEY2: CJNE A,#2,NEXTKEY3
SETB K2DAT
NEXTKEY3: CJNE A,#3,NEXTKEY4
SETB K3DAT
NEXTKEY4: CJNE A,#4,NEXTKEY5
SETB K4DAT
NEXTKEY5: CJNE A,#5,NEXTKEY6
SETB K5DAT
NEXTKEY6: CJNE A,#6,NEXTKEY7
SETB K6DAT
NEXTKEY7: CJNE A,#7,NEXTKEY8
SETB K7DAT
NEXTKEY8: CJNE A,#8,NEXTKEY9
SETB K8DAT
NEXTKEY9: CJNE A,#9,NEXTKEY10
SETB K9DAT
NEXTKEY10: CJNE A,#10,NEXTKEY11
SETB UPDAT
NEXTKEY11: CJNE A,#11,NEXTKEY12
SETB OKDAT
NEXTKEY12: CJNE A,#12,NEXTKEY13
SETB CANCLEDAT
NEXTKEY13: CJNE A,#13,NEXTKEY14
SETB LEFTDAT
NEXTKEY14: CJNE A,#14,NEXTKEY15
SETB DOWNDAT
NEXTKEY15: CJNE A,#15,TCZD0 ;退出中断0
SETB RIGHTDAT
TCZD0: POP PSW
POP ACC
RETI
;--------------------
;发送一字节
;--------------------
SEND: MOV BIT_CNT,#8 ;设发送位
CLR CS
CALL LONG_DELAY ;延时50US
SEND_LP: MOV A,SEND_BUF
RLC A
MOV SEND_BUF,A
MOV DIO,C
NOP
NOP
SETB CLK
CALL SHORT_DELAY ;延时10US
CLR CLK
CALL SHORT_DELAY
DJNZ BIT_CNT,SEND_LP
CLR DIO
RET
;---------------------
;由ZLG7289S收一字节
;---------------------
RECEIVE: MOV BIT_CNT,#8 ;接收8位
SETB KEYDAT
CALL LONG_DELAY ;延时50US
RECEIVE_LP:SETB CLK
CALL SHORT_DELAY ;延时10US
MOV C,DIO ;接收低位
MOV A,REC_BUF
RLC A
MOV REC_BUF,A
CLR CLK
CALL SHORT_DELAY
DJNZ BIT_CNT,RECEIVE_LP
CLR DIO
RET
LONG_DELAY:MOV DELAYZ,#25
DJNZ DELAYZ,$
RET
SHORT_DELAY:
MOV DELAYZ,#4
DJNZ DELAYZ,$
RET
DYTJB: DB ' 电压调节 '
DB '上下键调节取消键'
DB '输出电压 V'
DB '返回确定键保存 '
CLMB: DB ' 电源输出量 '
DB '输出电流 A'
DB '输出电压 V'
DB ' 按取消返回 '
BJTS: DB ' 报警提示! '
DB '有无短路超载现象'
DB '输出已超载请检查'
DB '请及时排除故障! '
DYTZB: DB 1,25,50,120,170,200,250
DLMB: DB 0,0,0,1,1,2,2,2,3,3,4,4,5,5,6,6,6,7,7,8,8,8,9,9,10,
DB 10,10,10,11,11,12,12,12,13,13,14,14,15,15,16,16,16,17,17,18,18,18,19,19,20,
DB 20,20,20,21,21,22,22,22,23,23,24,24,25,25,26,26,26,27,27,28,28,28,29,29,30,
DB 30,30,30,31,31,32,32,32,33,33,34,34,35,35,36,36,36,37,37,38,38,38,39,39,40,
DB 40,40,40,41,41,42,42,42,43,43,44,44,45,45,46,46,46,47,47,48,48,48,49,49,50,
DB 50,50,50,51,51,52,52,52,53,53,54,54,55,55,56,56,56,57,57,58,58,58,59,59,60,
DB 60,60,60,61,61,62,62,62,63,63,64,64,65,65,66,66,66,67,67,68,68,68,69,69,70,
DB 70,70,70,71,71,72,72,72,73,73,74,74,75,75,76,76,76,77,77,78,78,78,79,79,80,
DB 80,80,80,81,81,82,82,82,83,83,84,84,85,85,86,86,86,87,87,88,88,88,89,89,90,
DB 90,90,90,91,91,92,92,92,93,93,94,94,95,95,96,96,96,97,97,98,98,98,99,99,40,
DB 40,40,40,40,40
DAB2: ;**************欢迎图片
DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,
DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,
DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,
DB 000H,07FH,0FEH,000H,000H,00CH,000H,000H,000H,010H,000H,000H,000H,060H,000H,000H,
DB 001H,0FFH,0BEH,000H,000H,00EH,000H,001H,000H,030H,000H,000H,003H,0F8H,000H,000H,
DB 001H,0C0H,000H,000H,038H,01FH,0E0H,001H,0C7H,0FFH,0C0H,000H,007H,0FCH,000H,000H,
DB 003H,003H,0F8H,000H,079H,0FFH,0E0H,001H,0C7H,0FFH,0C0H,000H,00EH,0EEH,000H,000H,
DB 003H,007H,0BCH,000H,071H,08CH,000H,001H,0E3H,038H,040H,00FH,0D8H,066H,000H,000H,
DB 003H,010H,006H,000H,040H,00CH,000H,000H,040H,030H,000H,01FH,0D8H,002H,000H,000H,
DB 003H,013H,0E6H,000H,000H,01FH,0C0H,002H,000H,0FFH,080H,00FH,0D8H,062H,000H,000H,
DB 003H,013H,0C7H,000H,000H,079H,020H,003H,08FH,0EFH,0E0H,001H,01BH,0F2H,000H,000H,
DB 003H,030H,006H,000H,039H,092H,020H,003H,0C9H,087H,0A0H,001H,01FH,0FEH,000H,000H,
DB 003H,01FH,0FEH,000H,039H,092H,020H,001H,0C0H,086H,000H,001H,01BH,0FEH,000H,000H,
DB 003H,01FH,09CH,000H,079H,0BFH,0E0H,000H,0C1H,0CFH,000H,003H,098H,062H,000H,000H,
DB 003H,000H,020H,000H,0F9H,0FFH,0C0H,000H,007H,0FFH,0C0H,007H,0D8H,062H,000H,000H,
DB 003H,00DH,0F8H,000H,0F8H,0F0H,000H,000H,007H,07FH,0C0H,01FH,0D8H,0E2H,000H,000H,
DB 003H,03FH,00CH,000H,0C0H,000H,000H,007H,0C0H,030H,000H,00FH,01FH,0FEH,000H,000H,
DB 003H,01CH,01EH,000H,000H,00FH,0F0H,003H,0C3H,078H,000H,003H,00FH,0FEH,000H,000H,
DB 003H,001H,0BCH,000H,00BH,0FFH,0F0H,000H,0E7H,0FFH,0C0H,001H,000H,0E0H,000H,000H,
DB 003H,000H,0E0H,000H,009H,080H,000H,000H,0E0H,038H,000H,001H,000H,060H,000H,000H,
DB 003H,000H,060H,000H,008H,001H,000H,000H,0E0H,010H,000H,000H,000H,060H,000H,000H,
DB 007H,011H,0FFH,000H,018H,011H,010H,001H,0C0H,038H,000H,001H,003H,0FCH,000H,000H,
DB 006H,07AH,03FH,080H,019H,019H,038H,001H,007H,0FFH,0C0H,003H,0C7H,0FEH,000H,000H,
DB 006H,070H,020H,000H,01BH,098H,030H,001H,000H,07FH,0C0H,00FH,0C0H,0E0H,000H,000H,
DB 006H,000H,020H,000H,033H,03EH,000H,003H,000H,010H,000H,01EH,000H,060H,000H,000H,
DB 00CH,000H,020H,000H,033H,017H,080H,003H,0F8H,010H,000H,01CH,000H,0E0H,000H,000H,
DB 00CH,008H,040H,000H,033H,001H,0E0H,003H,0FFH,0F0H,000H,018H,007H,0FFH,080H,000H,
DB 008H,00FH,0C0H,000H,020H,000H,0FFH,001H,0C7H,0FFH,0F0H,000H,03FH,0FFH,080H,000H,
DB 000H,007H,0C0H,000H,000H,000H,03FH,000H,000H,0FFH,0F0H,000H,020H,003H,080H,000H,
DB 000H,003H,000H,000H,000H,000H,00FH,000H,000H,007H,000H,000H,000H,000H,000H,000H,
DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,
DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,
DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,
DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,
DB 000H,000H,000H,000H,000H,00EH,000H,000H,000H,020H,000H,000H,000H,000H,000H,000H,
DB 000H,00EH,000H,000H,000H,00EH,000H,000H,00CH,070H,000H,000H,000H,000H,000H,000H,
DB 002H,0FFH,0E0H,000H,000H,00EH,000H,000H,01EH,0FCH,000H,000H,000H,000H,000H,000H,
DB 003H,0F8H,0E0H,000H,000H,00EH,000H,000H,07FH,0FCH,000H,000H,000H,000H,000H,000H,
DB 003H,080H,001H,080H,000H,00FH,000H,000H,07CH,070H,040H,000H,0FFH,0FFH,080H,000H,
DB 003H,091H,081H,080H,004H,03FH,0FCH,000H,00CH,060H,040H,000H,0FFH,0FFH,080H,000H,
DB 003H,09FH,0C1H,080H,01FH,0FFH,0FCH,000H,00FH,080H,040H,000H,04FH,0FFH,080H,000H,
DB 001H,0FFH,0E1H,080H,00EH,01FH,004H,000H,001H,000H,040H,000H,001H,0C0H,000H,000H,
DB 001H,0D1H,081H,080H,000H,00EH,000H,000H,007H,0F2H,040H,000H,001H,080H,000H,000H,
DB 001H,083H,089H,0E0H,000H,006H,000H,000H,07FH,033H,0C0H,000H,001H,080H,000H,000H,
DB 001H,09FH,0CFH,0F0H,000H,00FH,000H,000H,061H,00BH,0E0H,000H,000H,080H,000H,000H,
DB 001H,0A6H,061H,090H,001H,0FFH,0F8H,000H,041H,009H,0F0H,000H,000H,080H,000H,000H,
DB 001H,0A7H,061H,010H,001H,0FFH,0F8H,000H,07FH,0F8H,0F8H,000H,000H,080H,000H,000H,
DB 001H,07FH,0E1H,010H,000H,000H,070H,000H,07FH,0F0H,08CH,000H,000H,080H,000H,000H,
DB 000H,066H,060H,010H,000H,000H,000H,000H,001H,000H,08CH,000H,000H,080H,000H,000H,
DB 000H,06FH,0C2H,010H,000H,000H,000H,000H,001H,081H,08CH,000H,000H,080H,000H,000H,
DB 001H,03FH,082H,000H,000H,007H,008H,000H,03FH,0F1H,01CH,000H,001H,080H,000H,000H,
DB 003H,006H,006H,000H,008H,0C7H,01CH,000H,007H,001H,01CH,000H,001H,080H,000H,000H,
DB 002H,00FH,08EH,010H,01CH,0C7H,038H,000H,001H,002H,018H,000H,003H,0C0H,000H,000H,
DB 002H,07CH,07EH,030H,019H,0C2H,038H,000H,03FH,0F6H,018H,007H,0FFH,0FFH,0E0H,000H,
DB 006H,06CH,072H,030H,019H,0E0H,010H,000H,03FH,082H,038H,007H,0FFH,0EFH,0E0H,000H,
DB 004H,04DH,031H,0F0H,019H,0F0H,000H,000H,001H,000H,030H,007H,0D8H,003H,0F0H,000H,
DB 004H,0DFH,021H,0E0H,018H,01CH,000H,000H,007H,0F0H,070H,000H,000H,000H,060H,000H,
DB 004H,0CEH,031H,0C0H,018H,00FH,002H,000H,07FH,0F8H,060H,000H,000H,000H,000H,000H,
DB 000H,080H,020H,000H,000H,007H,0FEH,000H,07CH,000H,0E0H,000H,000H,000H,000H,000H,
DB 000H,000H,000H,000H,000H,001H,0FFH,000H,040H,000H,0C0H,000H,000H,000H,000H,000H,
DB 000H,000H,000H,000H,000H,000H,03EH,000H,000H,000H,000H,000H,000H,000H,000H,000H,
DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,
DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,
DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,
END
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -