飞思卡尔8位单片机mc9s0813程序lcd编程汇编程序例

飞思卡尔8位单片机mc9s0813程序lcd编程汇编程序例

ID:13776131

大小:741.50 KB

页数:4页

时间:2018-07-24

飞思卡尔8位单片机mc9s0813程序lcd编程汇编程序例_第1页
飞思卡尔8位单片机mc9s0813程序lcd编程汇编程序例_第2页
飞思卡尔8位单片机mc9s0813程序lcd编程汇编程序例_第3页
飞思卡尔8位单片机mc9s0813程序lcd编程汇编程序例_第4页
资源描述:

《飞思卡尔8位单片机mc9s0813程序lcd编程汇编程序例》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、13.3.1LCD编程汇编程序例(1)LCD编程汇编子程序LCD编程汇编子程序(LcdShow.asm)*[LCD引脚定义]LcdDataEQUPTB;Lcd显示数据传送口LcdData_DEQUDDRB;数据口方向寄存器LcdCtrlEQUPTC;Lcd控制信号传送口LcdCtrl_DEQUDDRC;控制口方向寄存器LcdRSEQU0;Lcd寄存器选择信号PTC0LcdRWEQU1;读写信号接PTC1LcdEEQU2;Lcd使能信号接PTC2*LCDShow:在HD44780显示屏上显示数据-------

2、-------------**功能描述:在HD44780显示屏上显示HX所指向的32个数据**入口:HX=待显示的数据**出口:无**堆栈深度:2+8+2=12**内部调用:InitLCD,LCDCommand**------------------以上为子程序说明-------------------*LcdShow:PSHA;保护AAIS#-!1;开辟临时变量JSRInitLcd;调用Lcd初始化子程序;显示第1行16个字符BCLRLcdRS,LcdCtrl;RS=0设置显示字符首DDRAM地址BCLR

3、LcdRW,LcdCtrl;R/W=0LDA#%10000000;后7位为DDRAM地址,=0x00JSRLcdCommandLDA#!16;临时变量初值=16(1行显示个数)STA!1,SPLcdShow1:BSETLcdRS,LcdCtrl;RS、R/W=10写数据到DDRAMBCLRLcdRW,LcdCtrlLDA,X;取待显示的数据JSRLcdCommandAIX#!1;指向下一个待显示的数据DBNZ!1,SP,LcdShow1;显示完毕?否,继续;显示第2行16个字符BCLRLcdRS,LcdCt

4、rl;RS=0设置显示字符首DDRAM地址BCLRLcdRW,LcdCtrl;R/W=0LDA#%11000000;后7位为DDRAM地址,=0x40JSRLcdCommandLDA#!16;临时变量初值=16(1行显示个数)STA!1,SPLcdShow2:BSETLcdRS,LcdCtrl;RS、R/W=10写数据到DDRAMBCLRLcdRW,LcdCtrlLDA,X;取待显示的数据JSRLcdCommandAIX#!1;指向下一个待显示的数据DBNZ!1,SP,LcdShow2;显示完毕?否,继续A

5、IS#!1;释放临时变量PULA;恢复ARTS*InitLcd:初始化Lcd(HD44780)----------------------------**功能描述:初始化Lcd(HD44780),设置显示方式,清屏,AC自动+1**入口:无**出口:无**堆栈深度:2+3+3=8**内部调用:LCDCommand**------------------------------------------------------*InitLcd:PSHH;保护HX、APSHXPSHALDA#%11111111;数

6、据口为输出STALcdData_DLDALCDCtrl_D;控制口低三位为输出ORA#%00000111STALCDCtrl_DBSETLcdE,LcdCtrl;进行LCD设置BCLRLcdRS,LcdCtrl;RS、R/W=00BCLRLcdRW,LcdCtrlLDA#%00111100;8位数据,2行显示,5*7点阵JSRLcdCommandLDA#%00001000;关显示,关光标显示,不闪烁JSRLcdCommandLDA#%00000001;清屏JSRLcdCommandLDHX#$03DF;等待

7、清屏完毕,时间>1.6msDelay2ms:;延时AIX#-1CPHX#0BNEDelay2msLDA#%00000110;AC自动增1,显示不移动,光标左移JSRLcdCommandLDA#%00010100;光标右移一个字符AC自动+1JSRLcdCommandLDA#%00001100;开显示,关光标显示,不闪烁JSRLcdCommandPULA;恢复HX、APULXPULHRTS*LcdCommand:执行A中的Lcd命令---------------------------**功能描述:执行A中的

8、Lcd命令,且延时**入口:A,存放指令码或数据**出口:无**堆栈深度:2+1=3**------------------------------------------------------*LcdCommand:PSHX;保护XLDX#$30;等待>40usDBNZX*STALcdData;A->LcdDataBSETLcdE,LcdCtrl;LcdE=1,为了获得E下降沿NOPNOPNOPBCLRLcd

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。