欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    LCD1602汇编程序.doc

    • 资源ID:17407239       资源大小:165KB        全文页数:9页
    • 资源格式: DOC        下载积分:15金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要15金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    LCD1602汇编程序.doc

    【精品文档】如有侵权,请联系网站删除,仅供学习与交流LCD1602汇编程序.精品文档.LCD1602汇编程序;* 描述: LCD1602 滚动显示 *;* 显示方式: *;* 1、从左到右逐字显示,闪动二次,清屏。 *;* 2、再从右到左逐字显示,闪动二次,清屏。 *;* 3、周期性地重复上述显示方式。 *LCD_RS EQU P2.0LCD_RW EQU P2.1LCD_EN EQU P2.2ORG 0000HAJMP MAINORG 0030HMAIN:MOV SP,#60HMOV R4,#02H ;设置闪烁次数ACALL LCD_INITMAIN1:ACALL LCDSET1MOV DPTR,#CHAR1ACALL WRITE1 ;MOV A,#0C0H ;显示第二行左边第一位位置ACALL 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 ;闪烁两次ACALL MAIN1;LCD初始化设定子程序LCD_INIT:ACALL DELAY5MS ;延时15MSACALL DELAY5MS ;等待LCD 电源稳定ACALL DELAY5MSMOV A,#38H ;16*2 显示,5*7 点阵,8 位数据ACALL LCD_CMD_NC ;不进行LCD 忙检测ACALL DELAY5MSMOV A,#38H ;16*2 显示,5*7 点阵,8 位数据ACALL LCD_CMD_NC ;不进行LCD 忙检测ACALL DELAY5MSMOV A,#38H ;16*2 显示,5*7 点阵,8 位数据ACALL LCD_CMD_NC ;不进行LCD 忙检测ACALL DELAY5MSMOV A,#08H ;显示关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;显示位置与移动光标设定LCDSET1:MOV A,#01H ;清除屏幕ACALL LCD_CMDACALL DELAY5MSMOV A,#06H ;移动光标(光标加1)ACALL LCD_CMDACALL DELAY5MSMOV A,#80H ;显示第一行左边第一位位置ACALL LCD_CMDACALL DELAY5MSRETLCDSET2:MOV A,#01H ;清除屏幕ACALL LCD_CMDACALL DELAY5MSMOV A,#06H ;移动光标(光标减1)ACALL LCD_CMDACALL DELAY5MSMOV A,#80H ;显示第一行右边第一位位置ACALL LCD_CMDACALL DELAY5MSRET;写指令数据到LCD;RS=L,RW=L,D0-D7=指令码,E=高脉冲LCD_CMD:ACALL CHECKBUSYLCD_CMD_NC:CLR LCD_RSCLR LCD_RWMOV P0,ASETB LCD_ENNOPNOPNOPNOPCLR LCD_ENRET; 发送字符串子程序WRITE1:MOV R0,#16WRITE0:CLR AMOVC A,A+DPTRINC DPTRACALL LCD_WDATACALL DELAY ;加延时形成滚动效果DJNZ R0,WRITE0RET;写显示数据到LCD;RS=H,RW=L,D0-D7=数据,E=高脉冲LCD_WDATA:ACALL CHECKBUSYSETB LCD_RSCLR LCD_RWMOV P0,ASETB LCD_ENNOPNOPNOPNOPCLR LCD_ENRET;检测LCD 控制器忙状态;读数据;RS=L,RW=H,E=H,输出:D0-D7=数据CHECKBUSY:PUSH ACCMOV P0,#0FFHCLR LCD_RSSETB LCD_RWSETB LCD_ENBUSYLOOP:NOPJB P0.7,BUSYLOOPCLR LCD_ENPOP ACCRET;闪烁子程序SHAN:MOV A,#08H ;关闭显示ACALL LCD_CMDACALL DELAY4MOV A,#0CH ;开显示,关闭光标ACALL LCD_CMDACALL DELAY4DJNZ R4,SHANMOV R4,#02H ;设置闪烁次数RET;延时120MS 子程序;发送字符串时使用DELAY:MOV R7,#240DL1: MOV R6,#250DL2: DJNZ R6,DL2DJNZ R7,DL1RET;延时800MS 子程序;闪烁时使用DELAY4:MOV R0,#40DL3: MOV R1,#100DL4: MOV R2,#100DL5: DJNZ R2,DL5DJNZ R1,DL4DJNZ R0,DL3RET;延时5MS子程序;LCD初始化使用DELAY5MS:MOV R1,#10DL6: MOV R2,#249DL7: DJNZ R2,DL7DJNZ R1,DL6RET;延时1MS子程序DELAY1MS:MOV R6,#14H ;20DL8: MOV R7,#19H ;25DL9: DJNZ R7,DL9DJNZ R6,DL8RETCHAR1:DB "Welcome to Cras-"CHAR2:DB " yBoye WorkGroup"CHAR3:DB " QQ: 15910380 "CHAR4:DB "TEL: 13991316679"END12864汇编程序X EQU 26H ;LCD 地址变量 RS EQU P2.0 RW EQU P2.1 EN EQU P2.2 PSB EQU P2.3 RST EQU P2.5 ORG 0000H JMP MAIN ORG 0003H ;外部中断INT0入口地址MAIN: MOV SP,#40H MOV A,#00H MOV R0,#20HLOOP0: MOV R0,A ;20H-26H清零 INC R0 CJNE R0,#27H,LOOP0 MOV IE,#81H ;允许总中断中断,使能 INT0 外部中断 MOV TCON,#01H ;触发方式为脉冲负边沿触发 SETB RST NOP SETB PSB ;8位数据,并口 CALL SET_LCD ;初始化TS12864m CALL MENU1 CALL MENU2 CALL MENU3 CALL MENU4LOOP1: MOV A,22H CJNE A,#40H,LOOP2 LOOP2: CJNE A,#04H,LOOP3 LOOP3: JMP LOOP1; LCD 初始化设置SET_LCD: CLR EN MOV A,#34H ;34H-扩充指令操作 CALL WCOM MOV A,#30H ;30H-基本指令操作 CALL WCOM MOV A,#0CH ;开显示,关光标, CALL WCOM MOV A,#01H ;清除 LCM 显示屏 CALL WCOM RET;在 LCM 各行显示信息字符LCD_SHOW: CJNE A,#1,LINE2 ;判断是否为第一行 LINE1: MOV A,#80H ;设置 LCD 的第一行地址 CALL WCOM ;写入命令 CALL CLR_LINE ;清除该行字符数据 MOV A,#80H ;设置 LCD 的第一行地址 CALL WCOM ;写入命令 JMP FILL LINE2: CJNE A,#2,LINE3 ;判断是否为第三行 MOV A,#090H ;设置 LCD 的第三行地址 CALL WCOM ;写入命令 CALL CLR_LINE ;清除该行字符数据 MOV A,#090H ;设置 LCD 的第三行地址 CALL WCOM JMP FILL LINE3: CJNE A,#3,LINE4 ;判断是否为第三行 MOV A,#088H ;设置 LCD 的第三行地址 CALL WCOM ;写入命令 CALL CLR_LINE ;清除该行字符数据 MOV A,#088H ;设置 LCD 的第三行地址 CALL WCOM JMP FILL LINE4: CJNE A,#4,LINE5 ;判断是否为第三行 MOV A,#098H ;设置 LCD 的第三行地址 CALL WCOM ;写入命令 CALL CLR_LINE ;清除该行字符数据 MOV A,#098H ;设置 LCD 的第三行地址 CALL WCOM FILL: CLR A ;填入字符 MOVC A,A+DPTR ;由消息区取出字符 CJNE A,#0,LC1 ;判断是否为结束码 LINE5: RET LC1: CALL WDATA ;写入数据 INC DPTR ;指针加1 JMP FILL ;继续填入字符 RET;清除该行 LCM 的字符CLR_LINE: MOV R0,#16 CL1: MOV A,#' ' CALL WDATA DJNZ R0,CL1 RET;LCM 显示工作菜单信息MENU1: MOV DPTR,#MENU1A MOV A,#1 ;在第一行显示信息 CALL LCD_SHOW RETMENU1A: DB "MUC 控制GPRS模块",0MENU2: MOV DPTR,#MENU2A MOV A,#2 ;在第二行显示信息 CALL LCD_SHOW RETMENU2A: DB "TEL:13991316679",0MENU3: MOV DPTR,#MENU3A MOV A,#3 ;在第三行显示信息 CALL LCD_SHOW RETMENU3A: DB "方案设计: 龚 伟",0MENU4: MOV DPTR,#MENU4A MOV A,#4 ;在第四行显示信息 CALL LCD_SHOW RETMENU4A: DB "程序编写: 靳 鹏",0; 写指令使能子程序;RS=L,RW=L,D0-D7=指令码,E=高脉冲WCOM: MOV P0,A CLR RS CLR RW SETB EN CALL DELAY0 CLR EN RET;写数据使能子程序;RS=H,RW=L,D0-D7=数据,E=高脉冲WDATA: MOV P0,A SETB RS CLR RW SETB EN CALL DELAY0 CLR EN RETDELAY0: MOV R7,#250 ;延时500微秒 DJNZ R7,$ RET END

    注意事项

    本文(LCD1602汇编程序.doc)为本站会员(豆****)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开