基于msp430g2533的lcd1602液晶字符串循环显示_课程设计(编辑修改稿)内容摘要:

》课程设计说明书 10 for(i = 0。 i n。 i++) { Disp1Char(x++,y,ptr[i])。 if(x == 0x0f) { x = 0。 y ^= 1。 } } } void LocateXY(uchar x,uchar y) { uchar temp。 temp = xamp。 0x0f。 y amp。 = 0x01。 if(y) temp |= 0x40。 //如果在第 2行 temp |= 0x80。 LcdWriteCommand(temp,1)。 } void Disp1Char(uchar x,uchar y,uchar data) { LocateXY(x,y)。 LcdWriteData(data)。 } void LcdReset(void) { ctrldir |= 0x07。 //控制线端口设为输出状态 datadir = 0xff。 //数据端口设为输出状态 LcdWriteCommand(0x38,0)。 //规定的复位操作 Delay5ms()。 LcdWriteCommand(0x38,0)。 Delay5ms()。 LcdWriteCommand(0x38,0)。 Delay5ms()。 LcdWriteCommand(0x38,1)。 //显示模式设置 LcdWriteCommand(0x08,1)。 //显示关闭 LcdWriteCommand(0x01,1)。 //显示清屏 LcdWriteCommand(0x06,1)。 //写字符时整体不移动 LcdWriteCommand(0x0c,1)。 //显示开,不开游标,不闪烁 } void LcdWriteCommand(uchar cmd,uchar chk) { if(chk) WaitForEnable()。 //检测忙信号。 CLR_RS。 武汉理工大学《 微机原理与接口技术 》课程设计说明书 11 CLR_RW。 _NOP()。 dataport = cmd。 //将命令字写入数据端口 _NOP()。 SET_EN。 //产生使能脉冲信号 _NOP()。 _NOP()。 CLR_EN。 } void LcdWriteData(uchar data) { WaitForEnable()。 //等待液晶不忙 SET_RS。 CLR_RW。 _NOP()。 dataport = data。 //将四显示数据写入数据端口 _NOP()。 SET_EN。 //产生使能脉冲信号 _NOP()。 _NOP()。 CLR_EN。 } void WaitForEnable(void) { P1DIR amp。 = 0X00。 //将 P1口切换为输入状态 CLR_RS。 SET_RW。 _NOP()。 SET_EN。 _NOP()。 _NOP()。 while((P1IN amp。 busy) != 0)。 //检测忙标志 CLR_EN。 P1DIR |= 0xff。 //将 P1口切换为输出状态 } void Delay5ms(void) { uint i = 40000。 while(i != 0) { i。 } } 武汉理工大学《 微机原理与接口技术 》课程设计说明书 12 子程序头文件 该头文件中是对子程序进行程序说明,方便主程序的调用。 程序如下: ifndef _CRY1602_H define _CRY1602_H define uchar unsigned char define uint unsigned int void DispStr(uchar x,uchar y,uchar *ptr)。 void DispNChar(uchar x,uchar y,uchar n,uchar *ptr)。 void LocateXY(uchar x,uchar y)。 void Disp1Char(uchar x,uchar y,uchar data)。 void LcdReset(void)。 void LcdWriteCommand(uchar cmd,uchar chk)。 void LcdWriteData(uchar data)。 void WaitForEnable(void)。 void Delay5ms(void)。 endif 武汉理工大学《 微机原理与接口技术 》课程设计说明书 13 5调试 CCSv5编译软件 Code Composer Studio 是一种针对 TI的 DSP、微控制器和应用处理器的集成开发环境。 CCStudio 包括一套用于开发和调试嵌入式应用程序的工具。 它包括用于各种 TI 设备系列的编译器、源代码编辑器、项目生成环境、调试程序、探查器、模拟器和其他许多功能。 CCStudio提供一个单一用户界面,指导用户完成应用程序开发流程的每一步骤。 安装好 CCSv5之后,先新建一个工程,然后在新建的工程里建立 .c 或 .h 文件,接下来便可以在文件里编写程序,并调试运行, Build Project 为编译, Debug是仿真。 调试过程 程序编写 完成后,经检查无误后,点 击 ProjectBuild Project, 进行 编译 ,编译结果如图 2 所示: 图 2 程序调试界面 在调试过程中,开始时 LCD1602液晶一直没有显示,认为是程序出了问题,不过经过检查和调试,发现程序没问题。 不是程序问题,就检查硬件,最终发现武汉理工大学《 微机原理与接口技术 》课程设计说明书 14 了问题是 LCD1602液晶屏的 V0口与 GND 间的滑动变阻器没有调节合适,导致无法观察到显示效果。 经过调节滑动变阻器,就可以观察到课程设计所要求的效果。 如图 3所示: 图 4 LCD1602液晶显示 在调试过程中 ,有时候会出现无法脱机运行的情况, 经过检查,发现是因为芯片管脚接触不良导致的,压紧芯片即可解决问题。 武汉理工大学《 微机原理与接口技术 》课程设计说明书 15 6 结束语 通过完成本次课程设计,我学到了许许多多的知识,获得了丰富的经验。 在完成课程设计的过程中对 MSP430G2553 有了初步的了解,掌握了该单片机的一些使用技巧,例如: I/O 口寄存器的设置及使用,定时器的使用和中断的使用等等。 掌握并能够熟练使用 CCSv5 这个编程软件,在该软件上进行编写程序,下载并进行调试,最终完成了本次课程设计。 在程序设计、编写程序到调试的过程中,加强了我独立发现问题解决问题的能力,同时使得实践能力得到进一 步的提。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。