📄 demo_lcd.lst
字号:
页 1
07-08-06
16:24:05
伟福汇编器 V5.00 Copyright (c) 1989, 2001 by CHY
地址 机器码 源程序
;说明:本LCD为LCM161(HD44780驱动器)字符显示器.液晶的资料件"液晶资料.RAR/ZIP"
;接线:LCD D0-D8(PIN7-14) 对应用户板P0.0--P0.7
; LCD VSS(PIN1) 接 GND,VDD(PIN2)接+5V,LCD驱动电源V0(PIN3)接可调电阻ADJ,调节亮度
; LCD寄存器选择RS(PIN4)接P2.0,读写选择R/W(PIN5)接P2.1,使能端EN(PIN6)接P2.2(高电平有效)
;本程序采用I/O口模仿总线时序,故无需做任何硬件扩展.屏幕显示:"Hello,I'm S51E ! ",按Sw1键可重复演示.
;请将P0.0-P0.7,P2.0-P2.2跳帽选择焊盘位置!
;程序编制人:蔡祥荣 2004/06/20
;-----------------------------------------------------------------------------------------------
RS BIT P2.0
R_W BIT P2.1
EN BIT P2.2
key bit p3.4
COM EQU 20H
DAT EQU 21H
ORG 0000H
0000 2100 AJMP MAIN
ORG 100H
0100 758150 MAIN: MOV SP,#50H
0103 7580FF MOV P0,#0FFH
0106 75A0FF MOV P2,#0FFH
0109 C2B4 clr key
010B 758000 mov p0,#00h
010E C2A2 CLR EN
0110 7400 mov a,#00h
0112 7920 mov r1,#20h
0114 7840 mov r0,#40h
0116 F7 loop: mov @r1,a
0117 09 inc r1
0118 D8FC djnz r0,loop
011A 7A03 MOV R2,#03H
011C 752030 INTK11: MOV COM,#30H
011F 1201A2 LCALL PR1
0122 120187 LCALL DELAY_K1
0125 120187 lcall delay_k1
0128 DAF2 DJNZ R2,INTK11
012A 752038 MOV COM,#38H ;工作方式为2行,5*7点阵
012D 1201A2 LCALL PR1
0130 752001 MOV COM,#01H ;清零
0133 1201A2 LCALL PR1
0136 752006 MOV COM,#06H ;AC自动加1
0139 1201A2 LCALL PR1
013C 75200F MOV COM,#0FH ;光标,闪烁
013F 1201A2 LCALL PR1
0142 752080 MOV COM,#80H ;显示RAM前8位首地址
0145 1201A2 LCALL PR1
0148 9001EB MOV DPTR,#TAB1
014B 7A08 MOV R2,#08H ;前8位
E:\单片机\SMT-MCU\S51E文档资料\ASM程序\DEMO_LCD.ASM
页 2
07-08-06
16:24:05
伟福汇编器 V5.00 Copyright (c) 1989, 2001 by CHY
地址 机器码 源程序
014D 7B00 MOV R3,#00H
014F EB WRIT1: MOV A,R3
0150 93 MOVC A,@A+DPTR
0151 F521 MOV DAT,A
0153 1201BF LCALL PR2
0156 120187 LCALL DELAY_K1
0159 0B INC R3
015A DAF3 DJNZ R2,WRIT1
015C 752006 MOV COM,#06H
015F 1201A2 LCALL PR1
0162 75200F MOV COM,#0FH
0165 1201A2 LCALL PR1
0168 7520C0 MOV COM,#0C0H ;显示RAM后8位首地址
016B 1201A2 LCALL PR1
016E 9001F3 MOV DPTR,#TAB2
0171 7A08 MOV R2,#08H ;后8位
0173 7B00 MOV R3,#00H
0175 EB WRIT2: MOV A,R3
0176 93 MOVC A,@A+DPTR
0177 F521 MOV DAT,A
0179 1201BF LCALL PR2
017C 120187 LCALL DELAY_K1
017F 0B INC R3
0180 DAF3 DJNZ R2,WRIT2
0182 20A7FD jb p2.7,$ ;等待Sw1按钮,重新演示
0185 2100 ajmp main
0187 7E00 DELAY_K1:MOV R6,#00H
0189 7F00 MOV R7,#00H
018B 00 DEL1_K1: NOP
018C DFFD DJNZ R7, del1_k1
018E DEFB DJNZ R6,DEL1_K1
0190 22 RET
0191 C0E0 PR0: PUSH ACC ;READ BF OR AC
0193 C2A0 CLR RS
0195 D2A1 SETB R_W
0197 D2A2 SETB EN
0199 E580 MOV A,P0
019B F520 MOV COM,A
019D C2A2 CLR EN
019F D0E0 POP ACC
01A1 22 RET
01A2 C0E0 PR1: PUSH ACC ;WRITE COMMAMD
01A4 C2A0 CLR RS
01A6 D2A1 SETB R_W
E:\单片机\SMT-MCU\S51E文档资料\ASM程序\DEMO_LCD.ASM
页 3
07-08-06
16:24:05
伟福汇编器 V5.00 Copyright (c) 1989, 2001 by CHY
地址 机器码 源程序
01A8 D2A2 SETB EN
01AA E580 PR11:MOV A,P0
01AC 20E7FB JB ACC.7,PR11
01AF C2A0 CLR RS
01B1 C2A1 CLR R_W
01B3 E520 MOV A, COM
01B5 F580 MOV P0,A
01B7 120187 LCALL DELAY_K1
01BA C2A2 CLR EN
01BC D0E0 POP ACC
01BE 22 RET
01BF C0E0 PR2: PUSH ACC ;WRITE DATA
01C1 C2A0 CLR RS
01C3 D2A1 SETB R_W
01C5 D2A2 SETB EN
01C7 E580 PR21:MOV A,P0
01C9 20E7FB JB ACC.7,PR21
01CC E521 MOV A, DAT
01CE D2A0 SETB RS
01D0 C2A1 CLR R_W
01D2 F580 MOV P0,A
01D4 00 NOP
01D5 C2A2 CLR EN
01D7 D0E0 POP ACC
01D9 22 RET
01DA C0E0 PR3: PUSH ACC ;READ DATA
01DC D2A0 SETB RS
01DE D2A1 SETB R_W
01E0 D2A2 SETB EN
01E2 E580 MOV A,P0
01E4 F520 MOV COM,A
01E6 C2A2 CLR EN
01E8 D0E0 POP ACC
01EA 22 RET
01EB 48656C
01EE 6C6F2C
01F1 4927 TAB1:DB "Hello,I'" ;"Hello,I'm S51E! "
01F3 6D2053
01F6 353145
01F9 2021 TAB2:DB "m S51E !"
END
E:\单片机\SMT-MCU\S51E文档资料\ASM程序\DEMO_LCD.ASM
页 4
07-08-06
16:24:05
伟福汇编器 V5.00 Copyright (c) 1989, 2001 by CHY
地址 机器码 源程序
符号 值 类型
AC = 00D6H CONST 常量
ACC = 00E0H CONST 常量
B = 00F0H CONST 常量
COM = 0020H CONST 常量
CY = 00D7H CONST 常量
DAT = 0021H CONST 常量
DEL1_K1 = 018BH CODE 标号
DELAY_K1 = 0187H CODE 标号
DPH = 0083H CONST 常量
DPL = 0082H CONST 常量
EA = 00AFH CONST 常量
EN = 00A2H CONST 常量
ES = 00ACH CONST 常量
ET0 = 00A9H CONST 常量
ET1 = 00ABH CONST 常量
ET2 = 00ADH CONST 常量
EX0 = 00A8H CONST 常量
EX1 = 00AAH CONST 常量
EXEN2 = 00CBH CONST 常量
EXF2 = 00CEH CONST 常量
F0 = 00D5H CONST 常量
F1 = 00D1H CONST 常量
IE = 00A8H CONST 常量
IE0 = 0089H CONST 常量
IE1 = 008BH CONST 常量
INTK11 = 011CH CODE 标号
IP = 00B8H CONST 常量
IT0 = 0088H CONST 常量
IT1 = 008AH CONST 常量
KEY = 00B4H CONST 常量
LOOP = 0116H CODE 标号
MAIN = 0100H CODE 标号
OV = 00D2H CONST 常量
P = 00D0H CONST 常量
P0 = 0080H CONST 常量
P1 = 0090H CONST 常量
P2 = 00A0H CONST 常量
P3 = 00B0H CONST 常量
PCON = 0087H CONST 常量
PR0 = 0191H CODE 标号
PR1 = 01A2H CODE 标号
PR11 = 01AAH CODE 标号
PR2 = 01BFH CODE 标号
PR21 = 01C7H CODE 标号
E:\单片机\SMT-MCU\S51E文档资料\ASM程序\DEMO_LCD.ASM
页 5
07-08-06
16:24:05
伟福汇编器 V5.00 Copyright (c) 1989, 2001 by CHY
地址 机器码 源程序
PR3 = 01DAH CODE 标号
PS = 00BCH CONST 常量
PSW = 00D0H CONST 常量
PT0 = 00B9H CONST 常量
PT1 = 00BBH CONST 常量
PT2 = 00BDH CONST 常量
PX0 = 00B8H CONST 常量
PX1 = 00BAH CONST 常量
RB8 = 009AH CONST 常量
RCAP2H = 00CBH CONST 常量
RCAP2L = 00CAH CONST 常量
RCLK = 00CDH CONST 常量
REN = 009CH CONST 常量
RI = 0098H CONST 常量
RL2 = 00C8H CONST 常量
RS = 00A0H CONST 常量
RS0 = 00D3H CONST 常量
RS1 = 00D4H CONST 常量
R_W = 00A1H CONST 常量
SBUF = 0099H CONST 常量
SCON = 0098H CONST 常量
SM0 = 009FH CONST 常量
SM1 = 009EH CONST 常量
SM2 = 009DH CONST 常量
SP = 0081H CONST 常量
T2 = 00C9H CONST 常量
T2CON = 00C8H CONST 常量
T2MOD = 00C9H CONST 常量
TAB1 = 01EBH CODE 标号
TAB2 = 01F3H CODE 标号
TB8 = 009BH CONST 常量
TCLK = 00CCH CONST 常量
TCON = 0088H CONST 常量
TF0 = 008DH CONST 常量
TF1 = 008FH CONST 常量
TF2 = 00CFH CONST 常量
TH0 = 008CH CONST 常量
TH1 = 008DH CONST 常量
TH2 = 00CDH CONST 常量
TI = 0099H CONST 常量
TL0 = 008AH CONST 常量
TL1 = 008BH CONST 常量
TL2 = 00CCH CONST 常量
TMOD = 0089H CONST 常量
TR0 = 008CH CONST 常量
TR1 = 008EH CONST 常量
TR2 = 00CAH CONST 常量
WRIT1 = 014FH CODE 标号
E:\单片机\SMT-MCU\S51E文档资料\ASM程序\DEMO_LCD.ASM
页 6
07-08-06
16:24:05
伟福汇编器 V5.00 Copyright (c) 1989, 2001 by CHY
地址 机器码 源程序
WRIT2 = 0175H CODE 标号
公有符号: 93
私有符号: 0
E:\单片机\SMT-MCU\S51E文档资料\ASM程序\DEMO_LCD.ASM
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -