下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、编程汇编程序例(1) LCD编程汇编子程序LCD编程汇编子程序(LcdShow.asm)*LCD引脚定义 LcdData EQU PTB LcdData_D EQU DDRB LcdCtrl EQU PTC LcdCtrl_D EQU DDRC LcdRS EQU 0 LcdRW EQU 1 LcdE EQU 2;Lcd显示数据传送口;数据口方向寄存器;Lcd控制信号传送口;控制口方向寄存器;Lcd寄存器选择信号PTC0 ;读写信号接PTC1;Lcd使能信号接PTC2* L CD Show :在 HD44780 显示屏上显示数据*功能描述:在HD44780 显示屏上显示HX所指向的 32个数据
2、 *入口: HX=待显示的数据 *出口 :无*堆栈 深度:2+8+2=12* 内部调用:lnitLCD,LCDCommand* 以上为子程序说明;保护A;开辟临时变量;调用Lcd初始化子程序;RS=0 设置显示字符首DD RAM地址;R/W=0;后7位为DDRAM 地址,=0x00;临时变量初值=16(1行显示个数);RS、R/W=1 0 写数据至U DDRAM;取待显示的数据;指向下一个待显示的数据 ;显示完毕?否,继续;RS=0设置显示字符首DD RAM地址;R/W=0;后7位为DDRAM 地址,=0x40;临时变量初值=16(1行显示个数)LcdShow:PSHAAIS #-!1JSR
3、InitLcd;显示第1行16个字符BCLR LcdRS,LcdCtrlBCLR LcdRW,LcdCtrlLDA #%10000000JSR LcdCommandLDA #!16STA !1,SPLcdShow1:BSET LcdRS,LcdCtrl BCLR LcdRW,LcdCtrlLDA ,XJSR LcdCommandAIX #!1DBNZ !1,SP,LcdShow1;显示第2行16个字符BCLR LcdRS,LcdCtrlBCLR LcdRW,LcdCtrl LDA #%11000000JSR LcdCommandLDA #!16STA !1,SPLcdShow2:BSET Lc
4、dRS,LcdCtrl BCLR LcdRW,LcdCtrlLDA ,XJSR LcdCommandAIX #!1DBNZ !1,SP ,L cdShow2AIS #!1PULARTS;RS、R/W=1 0 写数据至U DDRAM;取待显示的数据;指向下一个待显示的数据;显示完毕?否,继续;释放临时变量;恢复A*lnitLcd:初始化 Lcd(HD4478 0)*功能描述:初始化Lcd(HD44780 ),设置显示方式,清屏,AC自动+1 * *入口 :无* 出口 : 无*堆栈深度:2+3+3=8*内部调用丄CDCommand*InitLcd:PSHH保护HX、APSHXPSHALDA#%11
5、111111;数据口为输岀STALcdData_DLDALCDCtrl._D控制口低三位为输岀ORA #%00000111 STA LCDCtrl_D BSET LcdE,LcdCtrl;进行LCD设置BCLRLcdRS,LcdCtrl ;RS、 R/W=00BCLRLcdRW,LcdCtrlLDA#%00111100;8位数据,2行显示,5*7点阵JSRLcdCommandLDA#%00001000;关显示,关光标显示,不闪烁JSRLcdCommandLDA#%00000001;清屏JSRLcdCommandLDHX #$03DF;等待清屏完毕,时间1.6msDelay2ms:;延时AIX
6、#-1CPHX #0BNE Delay2msLDA#%00000110;AC自动增1,显示不移动,光标左移JSRLcdCommandLDA#%00010100;光标右移一个字符AC自动+1JSRLcdCommandLDA#%00001100;开显示,关光标显示环闪烁JSRLcdCommandPULA恢复HX、APULXPULHRTSL cdC o m man d:执行 A中的L cd命令功能描述:执行A中的Lcd命令,且延时*入口 : A,存放指令码或数据*出口 :无*堆栈深度:2+1=3;LcdE=0,E下降沿丄cd获得数据 ;等待40usLcdCommand:PSHXLDX #$30DBN
7、ZX *STA LcdDataBSET LcdE,LcdCtrlNOPNOPNOPBCLR LcdE ,L cdCtrlLDX #$30保护X;等待40us;A-LcdData;LcdE=1,为了获得E下降沿恢复XDBNZX *文件名丄cdM ain. asm*硬件连接:1.LCD 的DB0-7 与MCU 的B 口的 PTB0-7连接* 2.LCD 的 RS,R/W,E 与 MCU 的 PTC0,PTC1,PTC2 连接 * 功能:1.初始显示:"Wait Receiving. " "Soochow 2005.08"* 2.等待接收字符,当收到32个字符
8、时显示,重复此功能* 嵌入式应用技术基础教程教学实例*PULXRTS(2) LCD编程汇编主程序实例编号:A07 路径:ASMA07 液晶 LCD 显示(Lcdmain.asm)*头文件$include "GP32ASM.H"*两个起始地址名RAMstartAddrequ $0040FlashStartAddrequ $8000*内存变量org RAMstartAddrLCD_Buf32 rmb !32;包含GP32的头文件;RAM的起始地址;程序开始地址;RAM的起始地址;存放32字节"Wait Receiving." "Soochow 20
9、05.08"*主程序org FlashStartAddr MainInit:;系统初始化SEILDHX #$023FTXSJSR GP32Init;串行口初始化JSR SCIInit;显示初始字符;程序起始地址;复位后程序从此开始执行;堆栈初始化;调系统初始化子程序GP32InitLDHX #Displaylnit JSR LCDShow;程序总循环入口 MainLoop:LDHX #LCD_Buf32 LDA #!32JSR SCIReNBCS MainLoop;C=1,未收到;把LCD_Buf32为首址32个字符送LCD显示LDHX #LCD_Buf32JSR LCDShowJM
10、P MainLoopDisplayInitFCB "WAIT RECEIVING ."FCB "Soochow 2005.08"*外部子程序存放处,这些子程序都在当前目录中$INCLUDE "H08SCI.asm"$INCLUDE "GP32init.asm"$INCLUDE "SCIInit.asm"$include "LcdSub.asm"*中断向量ORG $FFFE;复位向量DW MainInit(3) PC机方程序PCJ机部分主要功能是输入要在单片机板的液晶屏上显示的
11、32个字符,然后以串行通信方式发向单片机,单片机接收此组字符在液晶屏上显示岀来。下面给岀PC机方程序。PC机方操作界面见图13-5。可在图中的输入框中输入要显示的字符,仅限于可显示字符,以便与LCD模块内部字符编码相一致,LCD才能正确显示。数据输入后,单击“发送数据”按钮,数据从串行口发向单片机,则 LCD上显示相应字符。可以重复操作。f点阵字苻塞LCD编程 苏州大学freescale ICOWSPffl中也刖吨年3月版匸| X请在此输入要显示的字符:Hello Th i s i s LCD Programming OK笈送数据退出图13-5 LCD实验程序PC机方操作界面实例编号:A07路
12、径:ASMA07 液晶LCD 显示 vb_lcdOption ExplicitDim i As Integer临时使用Dim senddata(31) As Byte'发送数据数组Private Sub Form_Load()初始化'串行口初始化Call SCIinit(MSComm1, 1, "9600,N,8,1")Text1.MaxLength = 32'输入框限制32个字符End SubPrivate Sub Command1_click(Index As Integer)Select Case IndexCase 0'单击“发送数据”命令按钮For i = 1 To Len( Text1.Text)'给senddata数组赋值senddata(i - 1) = Asc(Mid (T ext1.Text, i, 1)Next iIf Len (
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 【正版授权】 ISO/IEC 24772-1:2024 EN Programming languages - Avoiding vulnerabilities in programming languages - Part 1: Language-independent catalogue of vulnerabilities
- 淮阴师范学院《数据库原理》2022-2023学年期末试卷
- 淮阴师范学院《扎染艺术》2021-2022学年第一学期期末试卷
- 淮阴工学院《数字电子技术》2021-2022学年期末试卷
- 淮阴工学院《人力资源管理前沿》2023-2024学年第一学期期末试卷
- 2023年黑龙江省绥化市庆安县科技和工业信息化局公务员考试《行政职业能力测验》历年真题及详解
- 淮阴工学院《智能控制技术》2022-2023学年期末试卷
- 淮阴工学院《信号与系统》2022-2023学年第一学期期末试卷
- DB4117-T+425-2024松花菜秋冬茬大棚栽培技术规程
- 护士执业首次注册办事指南
- 皮炎湿疹诊断治疗课件
- Python程序设计课件第7章面向对象程序设计
- 空运提单格式
- 课件零件手册vespa gts250ie2011-2013cina
- 咽喉解剖生理医学课件
- 幼儿园课件《挠挠小怪物》
- 骨质疏松症-PPT课件
- 调查问卷-“职工之家”建设调查问卷
- 2019年11月系统集成项目管理工程师真题
- 小小建筑师公开课-PPT课件
- 完整版老旧住宅小区综合整治工程施工组织设计方案
评论
0/150
提交评论