?? test1.asm
字號:
;摘機檢測識別
CR EQU 31H
CR_BACK EQU 35H
PAGE_ADD EQU 71H
COL_MSB EQU 64H
COL_LSB EQU 6dH
DATA_COUNT EQU 6eH
SUB_CHAR EQU 6fH
org 0000h
ljmp start
org 100h
start: nop
nop
LCALL DELAY
NOP
init_lcd: NOP
NOP
MOV CR,#1BH ;096B01 #013h is currect
MOV A,#0E2H ;initialize interal function
LCALL WCOM ;write interal reset
LCALL DELAY
MOV A,#2CH;power control(VB,VR,VF=1,1,1)
LCALL WCOM
LCALL DELAY
MOV A,#2EH;power control(VB,VR,VF=1,1,1)
LCALL WCOM
LCALL DELAY
MOV A,#2FH;power control(VB,VR,VF=1,1,1)
LCALL WCOM
LCALL DELAY
MOV A,#25H;096B01 23h is currect ;Regulator resistor select 110
LCALL WCOM
LCALL DELAY
MOV A,#81H;set reference voltage mode
LCALL WCOM
LCALL DELAY
MOV A,CR ;set reference voltage
LCALL DELAY
LCALL WCOM
LCALL DELAY
MOV A,#0C8H;set SHL COM1 to COM64 start page setup
LCALL WCOM
LCALL DELAY
MOV A,#0A0H;ADC select SEG1 to SEG132
LCALL WCOM
LCALL DELAY
MOV A,#40H;Initial Display Line was first line
LCALL WCOM
LCALL DELAY
MOV A,#0A6H;set nomal display
LCALL WCOM
LCALL DELAY
MOV A,#0AFH ;set display ON
LCALL WCOM
LCALL DELAY
/*MOV DPTR,#0FFFBH ;U7控制口片選 PA口方式0輸出,PC0~7口輸入,PB口方式0輸出
MOV A,#89H
MOVX @DPTR,A
MOV DPTR,#0FFF7H ;U8控制口片選 PA口方式0輸出,PC0~7口輸入,PB口方式0輸出
MOV A,#89H
MOVX @DPTR,A
LCALL DELAY*/
ST1: MOV DPTR,#T1_LABLE;顯示LOGO
LCALL display
CHECK: MOV DPTR,#0FFF6H ;檢測環路狀態 ;U8的C口
MOVX A,@DPTR
CPL A
ANL A,#1FH
CPL ACC.4
ANL A,#0FH
CJNE A,#0FH,CHECK1
AJMP ST1
CHECK1: JB ACC.0,CHECK2
MOV DPTR,#CHAR ;顯示摘機狀態
MOV COL_MSB,#14H
MOV COL_LSB,#02H
MOV DATA_COUNT,#04H
MOV A,#01H
MOV B,#04H
MUL AB
MOV SUB_CHAR,A
MOV PAGE_ADD,#0B6H
LCALL write_lcd_data
AJMP CHECK
CHECK2: JB ACC.1,CHECK3
MOV DPTR,#CHAR ;顯示摘機狀態
MOV COL_MSB,#14H
MOV COL_LSB,#02H
MOV DATA_COUNT,#04H
MOV A,#02H
MOV B,#04H
MUL AB
MOV SUB_CHAR,A
MOV PAGE_ADD,#0B6H
LCALL write_lcd_data
AJMP CHECK
CHECK3: JB ACC.2,CHECK4
MOV DPTR,#CHAR ;顯示摘機狀態
MOV COL_MSB,#14H
MOV COL_LSB,#02H
MOV DATA_COUNT,#04H
MOV A,#03H
MOV B,#04H
MUL AB
MOV SUB_CHAR,A
MOV PAGE_ADD,#0B6H
LCALL write_lcd_data
AJMP CHECK
CHECK4: JB ACC.3,CHECK5
MOV DPTR,#CHAR ;顯示摘機狀態
MOV COL_MSB,#14H
MOV COL_LSB,#02H
MOV DATA_COUNT,#04H
MOV A,#04H
MOV B,#04H
MUL AB
MOV SUB_CHAR,A
MOV PAGE_ADD,#0B6H
LCALL write_lcd_data
AJMP CHECK
CHECK5: AJMP ST1
;===========================================
write_lcd_data: PUSH ACC
MOV A,R0
PUSH ACC
MOV A,PAGE_ADD
LCALL WCOM
MOV A,COL_MSB
LCALL WCOM
MOV A,COL_LSB
LCALL WCOM
MOV R0,DATA_COUNT
write_lcd_data1: MOV A,SUB_CHAR
MOVC A,@A+DPTR
LCALL WDATA
INC DPTR
DJNZ R0,write_lcd_data1
POP ACC
MOV R0,A
POP ACC
RET
;===========================================
display: PUSH ACC
MOV A,R2
PUSH ACC
MOV R2,#0B0H
DISPLAY1: MOV A,R2
LCALL WCOM
LCALL DELAY
MOV A,#10H ;set column address MSB
LCALL WCOM
LCALL DELAY
MOV A,#00H ;set column address LSB
LCALL WCOM
LCALL DELAY
MOV R0,#80H
LCALL DELAY
DISPLAY2: MOV A,#00H
MOVC A,@A+DPTR
LCALL WDATA
INC DPTR
DJNZ R0,DISPLAY2
INC R2
CJNE R2,#0B9H,DISPLAY1
POP ACC
MOV R2,A
POP ACC
RET
;===========================================
DELAY: PUSH ACC
MOV A,R0
PUSH ACC
MOV A,R1
PUSH ACC
MOV R0,#32H ;10.05ms
DELAY1: MOV R1,#30H
DJNZ R1,$
DJNZ R0,DELAY1 ;192us
POP ACC
MOV R1,A
POP ACC
MOV R0,A
POP ACC
RET
;===========================================
WCOM: PUSH DPL
PUSH DPH
PUSH ACC
MOV DPTR,#0FFEFH
MOV A,#00H
MOVX @DPTR,A
LCD_BUSY: NOP
; MOV DPTR,#0FF7FH
; MOVX A,@DPTR
; JB ACC.7,LCD_BUSY
NOP
NOP
POP ACC
LJMP TRANSMIT
;===========================================
WDATA: PUSH DPL
PUSH DPH
MOV DPTR,#0FFEFH
PUSH ACC
MOV A,#01H
MOVX @DPTR,A
POP ACC
TRANSMIT: MOV DPTR,#0FF7FH
MOVX @DPTR,A
NOP
NOP
NOP
NOP
POP DPH
POP DPL
RET
;===========================================
dly1s: PUSH ACC
MOV ACC,#0CFH
Q0DB0: LCALL DELAY
DJNZ ACC,Q0DB0
POP ACC
RET
;===========================================
T1_LABLE:
DB 0FFH,0FFH,003H,003H,003H,003H,003H,003H,003H,003H,003H,003H,003H,003H,003H,003H
DB 003H,003H,003H,003H,003H,003H,003H,003H,003H,013H,0F3H,0F3H,013H,013H,033H,0E3H
DB 0C3H,003H,013H,073H,0F3H,083H,083H,0F3H,073H,013H,003H,003H,033H,033H,0F3H,0F3H
DB 033H,033H,003H,003H,023H,033H,093H,0F3H,063H,003H,0E3H,0F3H,013H,013H,0F3H,0E3H
DB 003H,0E3H,0F3H,013H,013H,0F3H,0E3H,003H,0E3H,0F3H,013H,013H,0F3H,0E3H,003H,003H
DB 013H,053H,053H,073H,0D3H,04BH,04BH,02BH,00BH,003H,003H,013H,013H,0F3H,053H,053H
DB 0DBH,013H,0E3H,003H,003H,0FBH,003H,003H,003H,003H,003H,003H,003H,003H,003H,003H
DB 003H,003H,003H,003H,003H,003H,003H,003H,003H,003H,003H,003H,003H,003H,0FFH,0FFH
DB 0FFH,0FFH,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H
DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,010H,0DFH,0DFH,0D0H,0D0H,0D8H,0CFH
DB 007H,000H,000H,000H,011H,01FH,01FH,011H,000H,0C0H,0C0H,040H,040H,050H,01FH,01FH
DB 010H,000H,000H,010H,010H,011H,019H,00FH,006H,000H,00FH,01FH,010H,0D0H,0DFH,00FH
DB 000H,00FH,01FH,010H,010H,01FH,00FH,000H,00FH,01FH,010H,010H,01FH,00FH,000H,020H
DB 010H,00AH,026H,023H,03EH,002H,006H,00BH,012H,020H,000H,022H,021H,011H,00AH,006H
DB 001H,000H,02FH,020H,020H,03FH,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,0FFH,0FFH
DB 0FFH,0FFH,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,01FH,01FH,000H,000H
DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,01FH,01FH,012H,012H,010H,000H,011H
DB 01BH,00EH,00EH,01BH,011H,000H,00EH,01FH,011H,011H,011H,011H,000H,01FH,01FH,001H
DB 001H,01FH,01EH,000H,000H,019H,01DH,015H,01FH,01EH,000H,01EH,01FH,001H,001H,01FH
DB 01EH,000H,00EH,05FH,051H,051H,07FH,03FH,000H,00EH,01FH,015H,015H,017H,016H,000H
DB 000H,01FH,01FH,001H,001H,001H,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,0FFH,0FFH
DB 0FFH,0FFH,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H
DB 000H,000H,0FFH,049H,049H,049H,0FFH,049H,049H,049H,0FFH,000H,000H,000H,000H,0FEH
DB 022H,022H,022H,023H,022H,022H,03EH,000H,000H,000H,004H,004H,004H,004H,004H,004H
DB 004H,006H,004H,000H,000H,081H,0C2H,034H,000H,010H,00CH,0F7H,084H,004H,014H,00CH
DB 000H,020H,022H,022H,0FEH,022H,022H,022H,0FEH,022H,023H,022H,000H,008H,00EH,088H
DB 078H,02FH,0E8H,028H,0A9H,06AH,008H,008H,000H,088H,086H,0A2H,0CAH,092H,083H,0FAH
DB 082H,082H,08AH,086H,000H,021H,03DH,0A1H,0FFH,010H,0C8H,014H,0D3H,014H,0C8H,010H
DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,0FFH,0FFH
DB 0FFH,0FFH,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H
DB 000H,006H,001H,000H,000H,000H,007H,000H,004H,004H,007H,000H,000H,004H,003H,000H
DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,002H,002H,002H,002H,002H,002H,002H
DB 002H,002H,002H,002H,000H,000H,007H,000H,004H,002H,001H,000H,000H,001H,002H,004H
DB 000H,004H,004H,002H,001H,000H,000H,000H,007H,000H,000H,000H,000H,084H,082H,0E5H
DB 084H,042H,042H,0C1H,062H,0C2H,044H,044H,000H,080H,084H,0E4H,084H,082H,0C1H,040H
DB 041H,0E2H,044H,000H,000H,081H,085H,0E4H,083H,004H,085H,064H,045H,086H,005H,004H
DB 000H,020H,040H,000H,0E0H,020H,020H,0E0H,000H,080H,000H,0E0H,000H,000H,0FFH,0FFH
DB 0FFH,0FFH,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,008H,008H,008H,008H,008H
DB 008H,008H,008H,008H,008H,008H,008H,008H,008H,008H,008H,000H,000H,088H,084H,0FFH
DB 002H,0FFH,005H,075H,05FH,075H,085H,0FFH,000H,030H,00CH,0FFH,084H,048H,03FH,000H
DB 000H,0FFH,080H,0E0H,000H,018H,006H,0FFH,084H,089H,0B2H,08AH,0B2H,0C2H,0B9H,082H
DB 000H,011H,0FEH,080H,09FH,040H,03FH,05FH,080H,03FH,080H,0FFH,000H,000H,0FFH,0FFH
DB 0FFH,0FFH,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,0FEH,092H,092H,092H,0FEH,092H,092H
DB 092H,0FEH,000H,000H,000H,000H,0FCH,044H,044H,044H,046H,044H,044H,07CH,000H,000H
DB 000H,000H,080H,080H,080H,080H,000H,000H,000H,000H,000H,000H,000H,088H,048H,0FEH
DB 028H,0F4H,054H,05CH,0F6H,05CH,054H,0F4H,000H,008H,0C8H,0FEH,048H,088H,0FCH,004H
DB 004H,0FEH,004H,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,0FFH,0FFH
DB 0FFH,0FFH,0C0H,0C0H,0C0H,0C0H,0C0H,0C0H,0C0H,0C0H,0C0H,0C0H,0C0H,0C0H,0C0H,0C0H
DB 0C0H,0C0H,0C0H,0C0H,0C0H,0C0H,0C0H,0C0H,0C0H,0C0H,0C0H,0C0H,0C0H,0C0H,0C0H,0C0H
DB 0C0H,0C0H,0C0H,0C0H,0C0H,0C0H,0C0H,0C0H,0CCH,0C3H,0C0H,0C0H,0C0H,0CFH,0C0H,0C8H
DB 0C8H,0CFH,0C0H,0C0H,0C8H,0C6H,0C1H,0C0H,0C0H,0C0H,0C0H,0C0H,0C0H,0C0H,0C0H,0C0H
DB 0C0H,0C0H,0C0H,0C0H,0C0H,0C0H,0C0H,0C0H,0C0H,0C0H,0C0H,0C0H,0C0H,0C8H,0C8H,0CFH
DB 0C0H,0CFH,0C0H,0C7H,0C5H,0C7H,0C8H,0CFH,0C0H,0C3H,0C0H,0CFH,0C8H,0C4H,0C3H,0C0H
DB 0C0H,0CFH,0C8H,0CEH,0C0H,0C0H,0C0H,0C0H,0C0H,0C0H,0C0H,0C0H,0C0H,0C0H,0C0H,0C0H
DB 0C0H,0C0H,0C0H,0C0H,0C0H,0C0H,0C0H,0C0H,0C0H,0C0H,0C0H,0C0H,0C0H,0C0H,0FFH,0FFH
CHAR:
DB 07CH,082H,082H,07CH ;0 SUB_CHAR=00H
DB 000H,084H,0FEH,080H ;1 SUB_CHAR=04H
DB 0C4H,0A2H,092H,08CH ;2 SUB_CHAR=08H
DB 044H,092H,092H,06CH ;3 SUB_CHAR=0CH
DB 070H,048H,0FCH,042H ;4 SUB_CHAR=10H
end
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -