毕业论文论文范文课程设计实践报告法律论文英语论文教学论文医学论文农学论文艺术论文行政论文管理论文计算机安全
您现在的位置: 毕业论文 >> 论文 >> 正文

常用液晶显示模块驱动程序设计 第12页

更新时间:2009-6-13:  来源:毕业论文
常用液晶显示模块驱动程序设计 第12页

程序2.使LCD显示字符串
功能说明:LCD显示字符串。开机后,从液晶屏第一行第二个位置处开始显示字符串“Happy new year!”共计15个字符。电路接线同上。
(1)主程序流程图下图所示

 

 

 

 

 


附图(a)                       附图(b)
附图3 LCM1602显示字符串的程序流程图
(2).主程序
;********89C51引脚定义********
RS BIT P3.0    ;
RW BIT P3.1    ;
E BIT P3.2    ;
LCD EQU P2    ; P2口作为数据口
;*********
ORG 00H
AJMP MAIN
ORG 30H
MAIN:
ACALL INTIAL;调用LCM初始化子程序
MOV LCD,#80H;屏幕第一行的第一个地址
ACALL WRCOM
MOV DPTR,#LINE1  ;Happy new year!
MOV R0,#15    ;R0中放的是要显示字符串是长度,此处字符串长度为15
ACALL DISP
JMP $    ; 
INTIAL:
MOV LCD,#00111000B; 设置数据长度为8位,2行,5*7点阵 
ACALL WRCOM
MOV LCD,#00001111B; 显示器开,光标允许闪烁
ACALL WRCOM
MOV LCD,#00000110B; 文字不动,光标右移
ACALL WRCOM
RET
;查表显示子程序
DISP:
MOV R1,#0
LOOP:
MOV A,R1
MOVC A,@A+DPTR
MOV LCD,A
INC R1
ACALL WRDATA
DJNZ R0,LOOP
RET
;写命令子程序
WRCOM:
CLR RS     ; RS=0,选择指令寄存器
CLR RW      ;RW=0,选择写模式
CLR E       ; E=0,禁止读/写LCM
ACALL CHECKBUSY     ;查忙
SETB E       ; E=1,允许读/写LCM
RET 
;查忙子程序
CHECKBUSY:
MOV LCD,#0FFH   ; 此时不接受外来指令
CLR RS      ; RS=0,选择指令寄存器
SETB RW     ;RW=1,选择读模式
CLR E     ; E=0,禁止读/写LCM
NOP      ;
SETB E     ;E=1,允许读/写LCM
JB LCD.7,CHECKBUSY  ;若忙则循环等待
RET  
;写数据子程序
WRDATA:
SETB RS     ; 选择数据寄存器         附图4  LCD循环显示程序流程
CLR RW     ; RW=0,选择写模式
CLR E     ; E=0,禁止读/写LCM
ACALL CHECKBUSY   ;查忙
SETB E     ; E=1,允许读/写LCM
RET 
;清屏子程序
CLS:
MOV LCD,#00000001B
ACALL WRCOM
RET
;延时2S子程序
DEL1:
MOV R5,#100
D1:MOV R6,#100
D2:MOV R7,#100
DJNZ R7,$
DJNZ R6,D2
DJNZ R5,D1
RET
;
LINE1: DB 'Happy new year!'
END
程序3.LCD循环显示
功能说明:LCD循环显示字符串。首先在第一行
显示“Hello!”,
在第二行显示“Welcome to SNUT”,再过2s后
第一行显示“Nothing seek,”
在第二行显示“nothing find.”(无所求则无
所获);再过2s后第一行显示“Cease to
struggle”’
在第二行显示“and you cease to live.”
( 生命不止,奋斗不息)
不断循环显示以上辣行句子
主程序:
RS BIT P3.0    ;
RW BIT P3.1    ;
E BIT P3.2    ;                    
LCD EQU P2
ORG 00H             
AJMP MAIN
ORG 30H
MAIN:
ACALL INITAL;调用LCM初始化子程序
LOOP1:
MOV LCD,#80H;屏幕第一行的第一个地址
ACALL WRCOM
MOV DPTR,#LINE1  ;hello,everyone!
MOV R0,#15    ;R0中放的是要显示字符串是长度, 
ACALL DISP    ; 此处字符串长度为15,
;以下同样的道理
MOV LCD,#0C0H;屏幕第二行的第一个地址
ACALL WRCOM
MOV DPTR,#LINE2 ;welcome to snut!              
MOV R0,#16  ;
ACALL DISP
ACALL DEL1
LCALL CLS
;******************
MOV LCD,#80H;屏幕第一行的第1个地址
ACALL WRCOM
MOV DPTR,#LINE3  ;nothing seek,
MOV R0,#13    ;
ACALL DISP

www.751com.cn
MOV LCD,#80H;屏幕第一行的第1个地址
ACALL WRCOM
MOV DPTR,#LINE5   ; Cease to struggle
MOV R0,#18    ;
ACALL DISP

MOV LCD,#0C0H;屏幕第二行的第一个地址
ACALL WRCOM
MOV DPTR,#LINE6   ; and cease to live
MOV R0,#17     ;
ACALL DISP
ACALL DEL1
ACALL CLS
LJMP LOOP1

;LCM初始化子程序
INITAL:
MOV LCD,#00000001B;清屏并复位光标
ACALL WRCOM
MOV LCD,#00111000B;设置8行,5列,5*7点阵
ACALL WRCOM
MOV LCD,#00001110B;显示器开,不允许光标闪烁
ACALL WRCOM
MOV LCD,#00000110B;文字不动,光标自动右移
ACALL WRCOM
RET
;查表显示子程序

 << 上一页  [11] [12] [13] [14] [15] 下一页

常用液晶显示模块驱动程序设计 第12页下载如图片无法显示或论文不完整,请联系qq752018766
设为首页 | 联系站长 | 友情链接 | 网站地图 |

copyright©751com.cn 辣文论文网 严禁转载
如果本毕业论文网损害了您的利益或者侵犯了您的权利,请及时联系,我们一定会及时改正。