📄 完好自适应转速的检测128_32hz—键盘——微调.asm
字号:
LCALL INCADDR
INC LIE
LCALL SHANGXIAONE;2
LCALL INCADDR
INC LIE
LCALL SHANGXIAONE;3
LCALL INCADDR
INC LIE
LCALL SHANGXIAONE;4
LCALL INCADDR
INC LIE
LCALL SHANGXIAONE;5
LCALL INCADDR
INC LIE
LCALL SHANGXIAONE;6
;第二行
LCALL INCADDR
INC HANG
MOV LIE,#1
LCALL SHANGXIAONE;1
LCALL INCADDR
MOV LIE,#4
LCALL SHANGXIAONE;2
;第三行
LCALL INCADDR
INC HANG
MOV LIE,#1
LCALL SHANGXIAONE;1
LCALL INCADDR
INC LIE
LCALL SHANGXIAONE;2
LCALL INCADDR
INC LIE
LCALL SHANGXIAONE;3
LCALL INCADDR
INC LIE
LCALL SHANGXIAONE;4
;第四行
LCALL INCADDR
INC HANG
MOV LIE,#1
LCALL SHANGXIAONE;1
LCALL INCADDR
INC LIE
LCALL SHANGXIAONE;2
LCALL INCADDR
INC LIE
LCALL SHANGXIAONE;3
LCALL INCADDR
INC LIE
LCALL SHANGXIAONE;4
;符号
MOV DPTR,#TABMAOHAO
MOV HANG,#2
MOV LIE,#9
LCALL SHANGXIABYTE; :
INC HANG
MOV LIE,#9
LCALL SHANGXIABYTE; :
INC HANG
MOV LIE,#9
LCALL SHANGXIABYTE; :
;;;;;;;;;;;
MOV DPTR,#TABS
MOV HANG,#2
MOV LIE,#14
LCALL SHANGXIABYTE; S
INC HANG
MOV LIE,#15
LCALL SHANGXIABYTE; S
INC HANG
LCALL SHANGXIABYTE; S
;;;;;;;;;;;
MOV DPTR,#TABN
MOV HANG,#3
MOV LIE,#13
LCALL SHANGXIABYTE; N
INC HANG
LCALL SHANGXIABYTE; N
;;;;;;;;;;;
MOV DPTR,#TABXIE
MOV HANG,#3
MOV LIE,#14
LCALL SHANGXIABYTE; /
INC HANG
LCALL SHANGXIABYTE; /
RET
INCADDR0:MOV DPTR,#TABNUM
CLR C
MOV B,#16
MUL AB
ADD A,DPL
MOV DPL,A
MOV A,B
ADDC A,DPH
MOV DPH,A
RET
INCADDR:
MOV A,#32
ADD A,DPL
MOV DPL,A
JNC NCADDROUT
INC DPH
NCADDROUT:
RET
;===============================================
;===============================================
;根据行列值送一个字母或数字 字节首地址放在DPTR里
;先送上半字符,后送下半字符。1字符为16*8
SHANGXIABYTE:
MOV A,HANG;计算列地址(1-16)、页地址(1-4)
DEC A
CLR C
RLC A ;一个字要占用两页,所以*2
ANL A,#0FH
ORL A,#0B0H
MOV YE,A
MOV A,LIE
DEC A
CLR C
RRC A
JNC SX1
MOV LIEL,#8
SETB F0
SX1: ANL A,#0FH
ORL A,#10H
MOV LIEH,A
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
MOV A,YE ;页地址
CALL OUTI
MOV A,LIEH ;列地址高位
CALL OUTI
MOV DATAPAGE,#00H;字数据计数
MOV LOOPNUM,#8
LCALL W_R ;送字上半字符
INC YE
MOV A,YE ;页地址
CALL OUTI
MOV A,LIEH ;列地址高位
CALL OUTI
JNB F0,SX2
CLR F0
MOV LIEL,#8
SX2: MOV LOOPNUM,#8
ACALL W_R ;送字下半字符
RET
;送半字符
WR2: MOV A,LIEL ;列地址低位
ACALL OUTI
MOV A,DATAPAGE
MOVC A,@A+DPTR
ACALL OUTD
INC DATAPAGE
INC LIEL
MOV A,LIEL
DJNZ LOOPNUM,WR2
MOV LIEL,#0
RET
;===============================================
;===============================================
;根据行列值送一个汉字 字节首地址放在DPTR里
;先送上半字,后送下半字。1字为16*16
SHANGXIAONE:
MOV A,HANG;计算列地址(1-8)、页地址(1-4)
DEC A
CLR C
RLC A ;一个字要占用两页,所以*2
ANL A,#0FH
ORL A,#0B0H
MOV YE,A
MOV A,LIE
DEC A
ANL A,#0FH
ORL A,#10H
MOV LIEH,A
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
MOV A,YE ;页地址
CALL OUTI
MOV A,LIEH ;列地址高位
CALL OUTI
MOV DATAPAGE,#00H;字数据计数
MOV LIEL,#0
MOV LOOPNUM,#16
ACALL W_R ;送字上半字
INC YE
MOV A,YE ;页地址
CALL OUTI
MOV A,LIEH ;列地址高位
CALL OUTI
MOV LOOPNUM,#16
ACALL W_R ;送字下半字
RET
;送半字
W_R: MOV A,LIEL ;列地址低位
ACALL OUTI
MOV A,DATAPAGE
MOVC A,@A+DPTR
ACALL OUTD
INC DATAPAGE
INC LIEL
MOV A,LIEL
DJNZ LOOPNUM,W_R
MOV LIEL,#0
RET
;===============================================
;===============================================
RESET: ;初始化
MOV A,#0E2H ;复位
CALL OUTI
MOV A,#0A2H
CALL OUTI;SET LCD BAIS
MOV A,#0A0H ;ADC=0 S1->S132
CALL OUTI
MOV A,#0C8H ;SET SHK
CALL OUTI
MOV A,#2FH
CALL OUTI;VF vc vr ON
CALL LDELAY
MOV A,#81H ;
CALL OUTI
CALL LDELAY
MOV A,#028H ;对比度00-3FH
CALL OUTI
CALL LDELAY
MOV A,#0AFH ;DIAPLAY ON
CALL OUTI
MOV A,#060H ;FIRST LINE =COM33
CALL OUTI
CALL LDELAY
RET
;===============================================
;===============================================
OUTD: ;送数据
SETB SCLPIN
CLR CSPIN
SETB RSPIN
CALL WBYTE
SETB CSPIN
RET
;===============================================
;===============================================
OUTI: ;送指令
SETB SCLPIN
CLR CSPIN
CLR RSPIN
CALL WBYTE
SETB CSPIN
RET
;===============================================
;===============================================
WBYTE: MOV WEIEN_1,#8 ;送8个位
O_1:
RLC A
MOV SIDPIN,C
SETB SCLPIN
CLR SCLPIN
SETB SCLPIN
DJNZ WEIEN_1,O_1
RET
;===============================================
;===============================================
LDELAY: MOV DEL1,#250 ;6mS 延时
LOOP: MOV DEL2,#10
DJNZ DEL2,$
DJNZ DEL1,LOOP
RET
;===============================================
;===============================================
CLEARALL: ;清屏
MOV YE,#0B0H;页地址
MOV LIEH,#10H ;列地址高位
MOV LIEL,#00H ;列地址低位
LOP3: MOV A,YE ;页地址
CALL OUTI
LOP2: MOV A,LIEH ;列地址高位
CALL OUTI
LOP1: MOV A,LIEL ;列地址低位
ACALL OUTI
MOV A,#0H ;送数据
ACALL OUTD
INC LIEL
MOV A,LIEL
CJNE A,#10H,LOP1
MOV LIEL,#00H ;列地址低位
INC LIEH
MOV A,LIEH
CJNE A,#019H,LOP2
MOV LIEH,#10H ;列地址高位
INC YE
MOV A,YE
CJNE A,#0B8H,LOP3
MOV YE,#0B0H;页地址
RET
;===============================================
;===============================================
; 码表
TAB_C:
DB 000H,000H,000H,0F8H,048H,048H,04CH,04BH,04AH,048H,048H,048H,0F8H,000H,000H,000H;
DB 000H,000H,000H,0FFH,044H,044H,044H,044H,044H,044H,044H,044H,0FFH,000H,000H,000H;"自",0
DB 008H,008H,008H,0FFH,088H,048H,000H,098H,048H,028H,00AH,02CH,048H,0D8H,008H,000H;
DB 002H,042H,081H,07FH,000H,000H,040H,042H,042H,042H,07EH,042H,042H,042H,040H,000H;"控",1
DB 010H,008H,004H,0D3H,056H,05AH,052H,05AH,0F4H,053H,056H,05AH,072H,002H,002H,000H;
DB 000H,020H,020H,023H,012H,012H,00AH,006H,0FFH,002H,002H,012H,022H,01EH,000H,000H;"第",2
DB 040H,040H,040H,040H,040H,040H,040H,0FFH,040H,040H,040H,040H,040H,040H,040H,000H;
DB 000H,000H,000H,000H,000H,000H,000H,07FH,000H,000H,000H,000H,000H,000H,000H,000H;"十",3
DB 000H,0FEH,002H,002H,002H,0FEH,002H,002H,0FEH,002H,002H,002H,002H,0FEH,000H,000H;
DB 000H,07FH,028H,024H,023H,020H,020H,020H,021H,022H,022H,022H,022H,07FH,000H,000H;"四",4
DB 000H,020H,038H,0A7H,062H,018H,000H,0FEH,022H,022H,022H,022H,0FEH,000H,000H,000H;
DB 000H,022H,023H,022H,012H,012H,020H,03FH,022H,022H,022H,022H,03FH,020H,020H,000H;"组",5
DB 000H,0FCH,044H,044H,044H,0FCH,010H,090H,010H,010H,010H,0FFH,010H,010H,010H,000H;
DB 000H,007H,004H,004H,004H,007H,000H,000H,003H,040H,080H,07FH,000H,000H,000H,000H;"时",6
DB 000H,0F8H,001H,006H,000H,0F0H,092H,092H,092H,092H,0F2H,002H,002H,0FEH,000H,000H;
DB 000H,0FFH,000H,000H,000H,007H,004H,004H,004H,004H,007H,040H,080H,07FH,000H,000H;"间",7
DB 040H,041H,0CEH,004H,000H,080H,040H,0BEH,082H,082H,082H,0BEH,0C0H,040H,040H,000H;
DB 000H,000H,07FH,020H,090H,080H,040H,043H,02CH,010H,010H,02CH,043H,0C0H,040H,000H;"设",8
DB 000H,010H,00CH,0A4H,024H,024H,025H,0E6H,024H,024H,024H,024H,014H,00CH,004H,000H;
DB 040H,020H,018H,007H,008H,010H,020H,07FH,042H,042H,042H,042H,040H,040H,000H,000H;"定",9
DB 040H,042H,0CCH,000H,004H,0E4H,024H,024H,0FFH,024H,024H,024H,0E4H,004H,000H,000H;
DB 040H,020H,01FH,020H,048H,049H,045H,043H,07FH,041H,043H,045H,04DH,040H,040H,000H;"速",10
DB 000H,000H,0FCH,004H,024H,024H,0FCH,0A5H,0A6H,0A4H,0FCH,024H,024H,024H,004H,000H;
DB 080H,060H,01FH,080H,080H,042H,046H,02AH,012H,012H,02AH,026H,042H,0C0H,040H,000H;"度",11
DB 000H,010H,00CH,004H,04CH,0B4H,094H,005H,0F6H,004H,004H,004H,014H,00CH,004H,000H;
DB 000H,082H,082H,042H,042H,023H,012H,00AH,007H,00AH,012H,0E2H,042H,002H,002H,000H;"实",12
DB 0FEH,002H,022H,05AH,086H,020H,020H,022H,022H,0E2H,022H,022H,022H,022H,020H,000H;
DB 0FFH,000H,002H,004H,013H,00CH,003H,040H,080H,07FH,000H,001H,002H,01CH,008H,000H;"际",13
DB 040H,042H,0CCH,000H,004H,0E4H,024H,024H,0FFH,024H,024H,024H,0E4H,004H,000H,000H;
DB 040H,020H,01FH,020H,048H,049H,045H,043H,07FH,041H,043H,045H,04DH,040H,040H,000H;"速",14
DB 000H,000H,0FCH,004H,024H,024H,0FCH,0A5H,0A6H,0A4H,0FCH,024H,024H,024H,004H,000H;
DB 080H,060H,01FH,080H,080H,042H,046H,02AH,012H,012H,02AH,026H,042H,0C0H,040H,000H;"度",15
TABMAOHAO:
DB 000H,000H,000H,0C0H,0C0H,000H,000H,000H,000H,000H,000H,030H,030H,000H,000H,000H;":",16
TABN:
DB 008H,0F8H,030H,0C0H,000H,008H,0F8H,008H,020H,03FH,020H,000H,007H,018H,03FH,000H;"N",17
TABXIE:
DB 000H,000H,000H,000H,080H,060H,018H,004H,000H,060H,018H,006H,001H,000H,000H,000H;"/",18
TABS:
DB 000H,070H,088H,008H,008H,008H,038H,000H,000H,038H,020H,021H,021H,022H,01CH,000H;"S",19
TABNUM:
DB 000H,0E0H,010H,008H,008H,010H,0E0H,000H,000H,00FH,010H,020H,020H,010H,00FH,000H;"0",20
DB 000H,010H,010H,0F8H,000H,000H,000H,000H,000H,020H,020H,03FH,020H,020H,000H,000H;"1",21
DB 000H,070H,008H,008H,008H,088H,070H,000H,000H,030H,028H,024H,022H,021H,030H,000H;"2",22
DB 000H,030H,008H,088H,088H,048H,030H,000H,000H,018H,020H,020H,020H,011H,00EH,000H;"3",23
DB 000H,000H,0C0H,020H,010H,0F8H,000H,000H,000H,007H,004H,024H,024H,03FH,024H,000H;"4",24
DB 000H,0F8H,008H,088H,088H,008H,008H,000H,000H,019H,021H,020H,020H,011H,00EH,000H;"5",25
DB 000H,0E0H,010H,088H,088H,018H,000H,000H,000H,00FH,011H,020H,020H,011H,00EH,000H;"6",26
DB 000H,038H,008H,008H,0C8H,038H,008H,000H,000H,000H,000H,03FH,000H,000H,000H,000H;"7",27
DB 000H,070H,088H,008H,008H,088H,070H,000H,000H,01CH,022H,021H,021H,022H,01CH,000H;"8",28
DB 000H,0E0H,010H,008H,008H,010H,0E0H,000H,000H,000H,031H,022H,022H,011H,00FH,000H;"9",29
END
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -