LCD1602汇编程序_第1页
LCD1602汇编程序_第2页
LCD1602汇编程序_第3页
LCD1602汇编程序_第4页
LCD1602汇编程序_第5页
已阅读5页,还剩10页未读 继续免费阅读

付费下载

下载本文档

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

文档简介

1、LCD1602 汇编 程序描述:LCD1602滚动显示:*显示方式:*;* 1、从左到右逐字显示,闪动二次,清屏。*;* 2、再从右到左逐字显示,闪动二次,清屏。*;* 3、周期性地重复上述显示方式。*JLCD_RS EQU P2.0LCD_RW EQU P2.1LCD_EN EQU P2.2JORG 0000HAJMP MAINORG 0030HitJMAIN:MOV SP,#60HMOV R4,#02H ;设置闪烁次数ACALL LCDJNITMAIN1:ACALL LCDSET1MOV DPTR,#CHAR1ACALL WRITE1 ;MOV A,#0C0H ;显示第二行左边第一位位置A

2、CALL LCD_CMDMOV DPTR,#CHAR2 ;显示ACALL WRITE1ACALL DELAY4 ;延时ACALL DELAY4ACALL SHAN ;闪烁两次ACALL LCDSET2MOV DPTR,#CHAR3 ;ACALL WRITE1MOV A,#0C0H ;显示第二行右边第一位位置ACALL LCD_CMDMOV DPTR,#CHAR4 ;显示ACALL WRITE1ACALL DELAY4 ;延时ACALL DELAY4ACALL SHAN ;闪烁两次 2* *$*$心处*$*$*$*$*$*$*$* *$*$*$*$*$ACALL MAIN1 “* *$*$心处*

3、$*$*$*$*$*$*$* *$*$*$*$*$;LCD初始化设定子程序 *JLCDJNIT:ACALL DELAY5MS :延时 15MSACALL DELAY5MS ;等待LCD电源稳定ACALL DELAY5MSMOV A,#38H ;16*2显5*7点8位数据ACALLi zrArNC ;不进LCD忙检测ACALL DELAY5MSMOV A,#38H ;16*2显5*7点8位数据ACALLiArNC ;不进LCD忙检测ACALL DELAY5MSMOV A,#38H ;16*2显5*7点8位数据ACALLNC ;不进LCD忙检测ACALL DELAY5MSMOV A,#08H ;显

4、示矢ACALL LCD_CMD ;进行 LCD 忙检测MOV A,#01H;清除屏幕ACALL LCD_CMD ;进行 LCD 忙检测MOV A,#06H ;移动光标ACALL LCD_CMD ;进行 LCD 忙检测MOV A,#0CH ;显示开,矢光标ACALL LCD_CMD ;进行 LCD 忙检测 RET *J;显示位置与移动光标设定 *JLCDSET1:MOV A,#01H;清除屏幕ACALL LCD_CMDACALL DELAY5MSMOV A,#06H ;移动光标(光标加1 )ACALL LCD_CMDACALL DELAY5MSMOV A,#80H ;显示第一行左边第一位位置AC

5、ALL LCD_CMDACALL DELAY5MS RETLCDSET2:MOV A,#01H;清除屏幕ACALL LCD_CMDACALL DELAY5MSMOV A,#06H ;移动光标(光标减1 )ACALL LCD_CMDACALL DELAY5MSMOV A,#80H ;显示第一行右边第一位位置ACALL LCD_CMDACALL DELAY5MSRET *J;写指令数据到LCD ;RS=L,RW=L,D0-D7=指令码,E= 高脉冲 *JLCD_CMD:ACALLCHECKBUSYLCD_CMD_NC:CLR LCD_RSCLR LCD_RWMOV P0,ASETB LCD_ENN

6、OPNOPNOPNOPCLR LCD_ENRETit*J;发送字符串子程序 *JWRITE1:MOV RO,#16WRITEO:CLR AMOVC A,A+DPTRINC DPTRACALL LCD_WDATACALL DELAY ;加延时形成滚动效果DJNZ R0,WRITE0RETitJ;写显示数据到LCD ;RS=H,RW=L,D0-D7=数据,E=高 脉冲it*JLCD_WDATA:ACALLCHECKBUSYSETB LCD_RSCLR LCD_RWMOV P0,ASETB LCD_ENNOPNOPNOPNOPCLR LCD_ENRET *J;检测LCD控制器忙状态;读数据;RS=L

7、,RW=H,E=H,输出:D0-D7=数据 *JCHECKBUSY:PUSH ACCMOV P0,#0FFHCLR LCD_RSSETB LCD_RWSETB LCD_ENBUSYLOOP:NOPJB P0.7,BUSYLOOPCLR LCD_ENPOP ACCRET *J;闪烁子程序 *JSHAN:MOV A,#08H ;矢闭显示ACALL LCD_CMDACALL DELAY4MOV A,#0CH ;开显示,矢闭光标ACALL LCD_CMDACALL DELAY4DJNZ R4,SHANMOV R4,#02H ;设置闪烁次数RET涎时120MS子程序;发送字符串时使用 *JDELAY:M

8、OV R7,#240DL1: MOV R6,#250DL2: DJNZ R6,DL2DJNZ R7,DL1RETit*J;延时800MS子程序;闪烁时使用 *JDELAY4:MOV RO,#40DL3: MOV R1,#100DL4: MOV R2,#100DL5: DJNZ R2,DL5DJNZR1,DL4DJNZ R0,DL3RETJ;延时5MS子程序;LCD初始化使用itJDELAY5MS:MOV R1,#10DL6: MOV R2,#249DL7: DJNZ R2,DL7DJNZR1,DL6RETitJ;延时1MS子程序JDELAY1MS:MOV R6,#14H ;20DL8: MOV

9、 R7,#19H ;25DL9: DJNZ R7,DL9DJNZ R6,DL8RETJCHAR1:DB Welcome to Cras-1CHAR2:DB ” yBoye WorkGroupCHAR3:DB ” QQ: 15910380 CHAR4:DB TEL: 2* *$*$心处*$*$*$*$*$*$*$* *$*$*$*$*$ENDX EQU 26HRS EQU P2.0RW EQU P2.1EN EQU P2.2PSB EQU P2.3RST EQU P2.512864汇编程序ORG 0000HJMP MAIN;外部中断INTO入口地址ORG 0003HMA

10、IN:MOVSP,#40HMOVA,#00HMOVR0,#20HLOOPO:MOVR0,A;20H-26H 清零INCROCJNERO,#27 H 丄O OPOMOVIE,#81H;允许总中断中断使能INTO外部中断MOVTCON,#01H;触发方式为脉冲负边沿触发SETB RSTNOPSETB PSB;8位数据,并口CALLSET_LCD初始化 TS12864mCALLMENU1CALLMENU2CALLMENU3CALLMENU4LOOP1:MOVA,22HCJNEA,#40 H,LO OP2LOOP2:CJNEA,#04 H,LO OP3LOOP3:JMPLOOP1LCD初始化设置SET

11、 LCD:CLRENMOVA,#34H;34H-扩充指令操f rCALLWCOMMOVA,#30H;30H-基本指令操f fCALLWCOMMOVA,#0CH;幵显示,矢光标,CALLWCOMMOVA,#01H;清除LCM显示屏CALLWCOMRET;在LCM各行显示信息字符LCD_SHOW:CJNEA,#1,LINE2;判断是否为第一行LINE1:MOVA,#80H;设置LCD的第一行地址;CALLWCOM写入命令CALLCLR_LINE;清除该行字符数据MOVA,#80H;设置LCD的第一行地址CALLWCOM;写入命令JMPFILLLINE2:CJNEA,#2,L INE3;判断是否为第

12、三行MOVA,#090H;设置LCD的第三行地址CALLWCOM;写入命令CALLCLR_LINE;清除该行字符数据MOVA,#090H;设置LCD的第三行地址CALLWCOMJMPFILLLINE3:CJNEA,#3,LINE4;判断是否为第三行MOVA,#088H;设置LCD的第三行地址CALLWCOM;写入命令;清除该行字符CALLCLR_LINE数据;设置LCD的第三行地MOVA,#088H址CALLWCOMJMPFILLLINE4:CJNEA,#4 丄 INE5;判断是否为第三行MOVA,#098H;设置LCD的第三行地址CALLCALLMOVCALLWCOMCLR_LINEA,#0

13、98HWCOM;写入命令;清除该行字符数据;设置LCD的第三行地址FILL:CLRA;填入字符MOVCA,A+DPTR;由消息区取出字符CJNEA,#0,LC1;判断是否为结束码LINE5:RETLC1:CALLWDA TA;写入数据INCDPTR;指针加1JMPFILL;继续填入字符RET;清除该行LCM的字符JCLR_LINE:MOVRO,#16CL1:MOVA,#*CALLWDATADJNZR0,CL1RETJ:LCM显示工作菜单信息JMENU1:MOVDPTR,#MENU1AMOVA,#1;在第一行显示信息CALLLCD_SHOWRETMENU1A:DBHMUC控制GPRS模块n,0MENU2:MOVDPTR,#MENU2AMOVA,#2;在第二行显示信息CALLLCD_SHOWRETMENU2A:DB” TEL,0MENU3:MOVDPTR,#MENU3AMOVA,#3;在第三行显示信息CALLLCD_SHOWRETMENU3A: DB “方案设计:龚伟”,0MENU4:MOVDPTR,#MENU4AMOVA,#4;在第四行显示信息CALLLCD_SHOWRETMENU4A: DB “程序编写:靳鹏

温馨提示

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

评论

0/150

提交评论