⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 lcd_t.asm

📁 8051f020的对于126*64lcd通用汇编程序
💻 ASM
📖 第 1 页 / 共 2 页
字号:
;----------------------------------------------------------------------------------------------
;----------------------------------------------------------------------------------------------
;**********************************************************************************************







;************************************接口定义**************************************************

RS 							EQU			P3.2					;  H---DATA,    L---INSTRUCT
RW 							EQU			P3.1					;  H---READ,    L---WRITE
E								EQU			P3.0					;  下降沿---写数据,  高---读数据, 低或上升沿无动作
DB07						EQU			P7						;  DATA

;**********************************************************************************************






;************************************寄存器定义************************************************

LCD_DAT					EQU			20H
LCD_COM					EQU			21H

;**********************************************************************************************






;****************************************** MAIN

												ORG 00H
												JMP START
												ORG 40H
START:									MOV SP,#60H




;***************************系统初始化


												MOV WDTCN,#0DEH
												MOV WDTCN,#0ADH
												MOV OSCICN,#84H								;选择内部晶振1.9M
												MOV OSCXCN,#00000000B								;外部晶振禁止

LP: 										MOV A,OSCICN												;等待晶振稳定
												JNB ACC.4,LP

												MOV XBR0,#00H
												MOV XBR1,#80H
												MOV XBR2,#11000000B									;交叉开关允许,禁止弱上拉

												MOV P0MDOUT,#0FFH
												MOV P1MDOUT,#0FFH
												MOV P2MDOUT,#0FFH
												MOV P3MDOUT,#0FFH
												MOV P74OUT,#0FFH										;输出为推挽方式

												MOV P1MDIN,#0FFH										;P1口为数字输入





;***************************LCD初始化


												CLR RS
												CLR RW
												MOV LCD_COM,#30H								;普通指令集
												MOV DB07,LCD_COM
												SETB E
												CLR E
												;CALL DEY
												

												
												






												
												MOV LCD_COM,#0CH									;开显示
												CALL LCD_WRI
												
												MOV LCD_COM,#01H									;清屏
												CALL LCD_WRI
												
												MOV LCD_COM,#06H									;AC加一
												CALL LCD_WRI
												



;***************************LCD显示	

															
												MOV LCD_COM,#80H									;显示起始地址设定
												CALL LCD_WRI



												MOV LCD_COM,#00000110B
												CALL LCD_WRI											;进入方式设定

												


												




												MOV R5,#3
												MOV R4,#0A1H

LOOP:										MOV LCD_DAT,#0B4H						  		;写高位地址
												CALL LCD_WRD
												MOV LCD_DAT,R4						  		;写低位地址
												CALL LCD_WRD

												INC R4
												DJNZ R5,LOOP



												MOV LCD_COM,#00001000B
												CALL LCD_WRI


												MOV LCD_COM,#10010010B
												CALL LCD_WRI
												MOV LCD_DAT,#0B4H
												CALL LCD_WRD
												MOV LCD_DAT,#0A1H
												CALL LCD_WRD													;显示位置测试

												MOV LCD_COM,#00001101B
												CALL LCD_WRI													;游标显示测试







												







												JMP $



;****************************************** MAIN OVER








;***************************写指令

												
LCD_WRI:								CALL DEY
												PUSH ACC
												CLR E
												CLR RS
												SETB RW
LCD_WRI0:								MOV DB07,#0FFH
												SETB E
												MOV A,DB07													;读出状态寄存器
												CLR E
												;JB ACC.7,LCD_WRI0
												CLR RW
												MOV DB07,LCD_COM
												SETB E
												CLR E																;写指令
												POP ACC
												RET
;***************************




;***************************写数据

												
LCD_WRD:								CALL DEY
												PUSH ACC
												CLR RS
												SETB RW
LCD_WRD0:								MOV DB07,#0FFH
												SETB E
												MOV A,DB07
												CLR E
												;JB ACC.7,LCD_WRD0
												CLR RW
												SETB RS
												MOV DB07,LCD_DAT
												SETB E
												CLR E
												POP ACC
												RET
;***************************





;***************************DELAY
;占用R7,R6

DEY:										MOV R7,#200
DEY0:										MOV R6,#40
												DJNZ R6,$
												DJNZ R7,DEY0
												RET
;***************************




END



⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -