单片机:LCD(1602)动态显示(汇编)_第1页
单片机:LCD(1602)动态显示(汇编)_第2页
单片机:LCD(1602)动态显示(汇编)_第3页
单片机:LCD(1602)动态显示(汇编)_第4页
单片机:LCD(1602)动态显示(汇编)_第5页
免费预览已结束,剩余1页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、.单片机:LCD(1602)动态显示(汇编)2009年06月13日 星期六 15:31作者:gguoqing 出处:伟纳电子显示内容: CHINESE *;* NEW YEAR *;* *;* 显示方式: *;* 1、LCD第一行显示: CHINESE *;* LCD第二行显示: NEW YEAR *;* 2、先将两行字符写入DDRAM中,然后从右至左逐字移出显示。 *;* 3、在指定位置停留1.6秒后,闪烁2次,清屏。 *;* 4、反复循环上述显示方式。 *;* LCD_RS EQU P1.0 LCD_RW EQU P1.1 LCD_EN EQU P1.2;* ORG 0000H AJMP

2、MAIN ORG 0030H;*MAIN: MOV SP,#60H ACALL LCD_INIT ;LCD初始化MAIN1: ACALL CLR_LCD ;清LCD MOV A,#90H ;在第一行第17列的位置 ACALL LCD_CMD MOV DPTR,#LINE1 ;第一行字符串的起始地址送入DPTR。 ACALL WRITE MOV A,#0D0H ;在第二行第17列的位置 ACALL LCD_CMD MOV DPTR,#LINE2 ;第二行字符串的起始地址送入DPTR。 ACALL WRITE MOV R3,#10H ;向左移动16格LOOPA: MOV A,#18H ;字符同时左

3、移一格 ACALL LCD_CMD MOV R5,#03H ;延时375MS ACALL DELAY125MS DJNZ R3,LOOPA ACALL DELAY4 ;延时1.6s ACALL DELAY4 MOV R4,#02H ;设置闪烁次数 ACALL FLASH ;开始闪烁 AJMP MAIN1 LINE1: DB CHINESE ,00HLINE2: DB NEW YEAR ,00H;*;LCD初始化设定子程序;*LCD_INIT: ACALL DELAY5MS ;延时15MS ACALL DELAY5MS ;等待LCD电源稳定 ACALL DELAY5MS MOV A,#38H ;

4、16*2显示,5*7点阵,8位数据 ACALL LCD_CMD_NC ;不进行LCD忙检测 ACALL DELAY5MS MOV A,#38H ;16*2显示,5*7点阵,8位数据 ACALL LCD_CMD_NC ;不进行LCD忙检测 ACALL DELAY5MS MOV A,#38H ;16*2显示,5*7点阵,8位数据 ACALL LCD_CMD_NC ;不进行LCD忙检测 ACALL DELAY5MS MOV A,#08H ;显示关 ACALL LCD_CMD ;进行LCD忙检测 MOV A,#01H ;清除屏幕 ACALL LCD_CMD ;进行LCD忙检测 MOV A,#0CH ;

5、显示开,关光标 ACALL LCD_CMD ;进行LCD忙检测 RET;*;清LCD子程序;*CLR_LCD: MOV A,#01H ;清除屏幕 ACALL LCD_CMD ;进行LCD忙检测 RET;*;写指令数据到LCD;RS=L,RW=L,D0-D7=指令码,E=高脉冲;*LCD_CMD: CALL CHECKBUSYLCD_CMD_NC: CLR LCD_RS CLR LCD_RW MOV P0,A SETB LCD_EN NOP NOP NOP NOP CLR LCD_EN RET;*;写显示数据到LCD;RS=H,RW=L,D0-D7=数据,E=高脉冲;*LCD_WDATA: AC

6、ALL CHECKBUSY SETB LCD_RS CLR LCD_RW MOV P0,A SETB LCD_EN NOP NOP NOP NOP CLR LCD_EN RET;*;检测LCD控制器忙状态;读数据;RS=L,RW=H,E=H,输出:D0-D7=数据;P0.7=1,LCD忙,等待。P0.7=0,LCD闲,可以进行读写操作。;*CHECKBUSY: PUSH ACC MOV P0,#0FFH CLR LCD_RS SETB LCD_RW SETB LCD_ENBUSYLOOP: NOP JB P0.7,BUSYLOOP CLR LCD_EN POP ACC RET;*; 发送字符串

7、子程序;*WRITE: PUSH ACCWRITE1: CLR A MOVC A,A+DPTR JZ WRITE2 INC DPTR ACALL LCD_WDATA JMP WRITE1WRITE2: POP ACC RET;*;闪烁子程序;*FLASH: MOV A,#08H ;关闭显示 ACALL LCD_CMD ACALL DELAY4 MOV A,#0CH ;开显示,关闭光标 ACALL LCD_CMD ACALL DELAY4 DJNZ R4,FLASH RET;*;延时5MS子程序;LCD初始化使用;*DELAY5MS: MOV R6,#10DL1: MOV R7,#249DL2: DJNZ R7,DL2 DJNZ R6,DL1 RET;*;延时125MS子程序;字符串移动时使用;*DELAY125MS:DL3: MOV R6,#250DL4: MOV R7,#249DL5: DJNZ R7,DL5 DJNZ R6,DL4 DJNZ R5,DL3 RET;*;延时

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论