基于51单片机的液晶滚动显示内容摘要:
液晶控制程序 液晶控制程序也就是液晶的驱动程序,这些程序对于液晶显示是必不可少的,液晶控制程序框图如图33所示:写命令程序判忙碌程序写数据程序图33 液晶控制程序框图判忙碌程序是对液晶模块内部的忙标志位(BF)的判断,也是执行写命令程序和写数据程序的前提,当模块在接受指令前,微处理顺必须先确认模块内部处于非忙碌状态,即读取BF 标志时BF 需为0,方可接受新的指令;如果在送出一个指令前并不检查BF 标志,那么在前一个指令和这个指令中间必须延迟一段较长的时间,即是等待前一个指令确实执行完成。 在确定模块内部是处于非忙碌状态后,执行写命令程序和写数据程序。 初始化程序初始化程序其实是针对液晶模块的初始化,是对一些具体指令的设定。 初始化程序框图如34所示:复位程序通讯方式 扩充指令操作工作模式游标设置清DDRAM图34 初始化程序框图复位RST=1;通讯方式为并口PSB = 1;34H扩充指令操作;功能设置,一次送8位数据,基本指令集;0000,1100 整体显示,游标off,游标位置off;0000,0001 清DDRAM;0000,0010 DDRAM地址归位;1000,0000 设定DDRAM 7位地址000,0000到地址计数器AC。 显示程序显示程序包括了设置显示位置程序、汉字显示程序、写字符串子程序(详细程序请参考附录四)。 以下是显示程序的程序框图如图35所示: 设置显示位置指定位置显示写字符串图35 显示程序框图通过对显示位置的设定以及在指定位置显示的设置,能够对想要显示的内容给予正确的位置及正确的显示方式。 4 总结最后谈一下对毕业设计的一个总结和自己的感想:这次毕业设计是自己动手制作并且编程,对于提高自己的动手能力和编程水平有比较大的帮助。 通过这次的课程设计,对于单片机的具体运用有了一定的了解,使以前学过的理论知识能和具体遇到的问题结合起来,使自己的知识结构更加丰富,不但有了理性的认知,同时感性上也有一定的认识。 由于我之前的单片机学的不是扎实,很多具体的编程问题都不知道怎么解决,在这次的毕业设计中,有些问题我还是自己解决不了,比如涉及到整体滚动卷页这一块,相对与整个系统来说是比较难的,为此我查阅了很多单片机方面的参考文献,并进行了总结,使自己收益颇多。 在进行作品的最后调试的时候,特别是在软件调试当中,总是会出现一些的问题,造成不小的困扰。 但并没有导致我放弃,只要调出一点也会有一种成就感和满足感,我相信只有通过自己的双手做出来的作品,不管成功与否都会对我以后的道路上给予很大的帮助,我想这才是最重要成果。 参考文献[1] 赵建领著. 51系列单片机开发宝典[M].电子工业出版社,2007:387~413.[2] 何桥、段清明、[M].电子工业出版社,2008:18~28. [3] 矽创电子. ST7920中文字型点矩阵LCD控制/驱动器应用说明.[4] Digital Fundamentals(Ninth Edition).数字电子技术(第九版)[M].[5] Brian , Dennis , C Programming Language (Second Edition),C程序设计语言(第二版)[M]. 机械工业出版社,2008:45~53.[6] SMG12864G2ZK,ST7920c20驱动器技术资料.[7] [M].北京航空航天大学出版社,1993.[8] 吴金戌、沈庆阳、[M].清华大学出版社,2002:5568.[9] 实验测试(第二版)[M].:232239.[10] (第三版)[M].:310. 附录一:系统原理图附录二:系统PCB图附录三:系统实物图附录四:系统源程序include include include define uchar unsigned chardefine uint unsigned intdefine Set_Bit(BIT) (BIT = 1) /*定义置1函数*/define Clear_Bit(BIT) (BIT = 0) /*定义清0函数*/define lcd_8 P0sbit ret=P3^4。 sbit psb=P3^3。 sbit en=P3^5。 sbit rw=P3^6。 sbit rs=P3^7。 /************************************************/void delay(uint z) //延时子程序{ uint x,y。 for(x=z。 x0。 x) for(y=110。 y0。 y)。 }/***************12864液晶控制程序********************/ /*void check_busy(void) //查忙信号{ P2=0x80。 rs=1。 rw=0。 en=1。 while (!(P2amp。 0x80 ) == 0)。 en=0。 } */void write_ (uchar ) //写指令{ // check_busy()。 _nop_()。 _nop_()。 rs=0。 rw=0。 en=1。 lcd_8=。 delay(5)。 en=0。 delay(5)。 }void write_data (uchar dat) //写数据{//check_busy()。 _nop_()。 _nop_()。 rs=1。 rw=0。 en=1。 lcd_8=dat。 delay(5)。 en=0。 delay(5)。 }void write_hanzi(uchar code *s) //hanzi xian shi{ while(*s0) { write_data(*s)。 s++。 delay(50)。 }}void write_position(uchar row,uchar col) //写位置{ uchar p。 switch(row) { case 1:p=0x80+col1。 break。 //第一行 case 2:p=0x90+col1。 break。 //第二行 case 3:p=0x88+col1。 break。 // 第三行 case 4:p=0x98+col1。 break。 //第四行 default:p=0x80。 break。 //回到首行 } write_(p)。 //写地址命令}/******************一般初始化**********************/void init() //初始化{ delay(20)。 ret=0。 //复位键 delay(4)。 ret=1。 psb=1。 //并行连接 en=0。 write_(0x30)。 //功能设定 delay(2)。 write_(0x30)。 delay(1)。 write_(0x0c)。 //显示状态 delay(1)。 write_(0x01)。 //清除显示 delay(1)。 write_(0x06)。 //地址归位 // clrgdram()。 }void gun_y(){ uchar i。 for(i=0x41。 i0x81。 i++) {write_(i)。 delay(600)。 i=i+3。 } write_(0x40)。 }void main(){ //Init_Device()。 init()。 while(1) { write_position(1,1)。 write_hanzi(职业技术学院)。 write_position(2,1)。 write_hanzi(应用电子技术)。 write_position(3,1)。 write_hanzi(杜铮威)。 write_position(4,1)。 write_hanzi(07560119)。 delay(1)。 write_(0x34)。 //扩展指令 delay(1)。 write_(0x05)。 //反白 write_(0x03)。 delay(1)。 //////////////////// gun_y()。 //向上卷动 //write_(0x06)。 delay(2000)。 }}浙江师范大学高职专科毕业设计(论文)过程管理材料目 录1 浙江师范大学高职专科毕业设计(论文)任务书 ……………………………272 浙江师范大学高职专科毕业设计(论文)开题报告 …………………………293 浙江师范大学高职专科毕业设计(论文)指导记录 …………………………344 浙江师范大学高职专科毕业设计(论文)中期检查表 ………………………365 浙江师范大学高职专科毕业设计(论文)答辩资格审查表 …………………376 浙江师范大学高职专科毕业设计(论文)答辩记录 …………………………387 浙江师范大学高职专科毕业设计(论文)评审。基于51单片机的液晶滚动显示
相关推荐
,会产生一些临时的运算结果,这些结果需要临时存放在一个地方,这个地方就是数据寄存器。 89C51单片机具有四个存储器空间 : (1)片内程序存储器,即单片机芯片内置的存储空间; (2)片外程序存储器,即当单片机芯片内置的存储空间不够使用时,我们需要外加的一个存储器芯片; (3)片内数据存储器,即单片机芯片内置的存储空间; (4)片外数据存储器,即当单片机芯片内置的存储空间不够使用时
可以与 PC机组成测量仪器。 ( 4)数字化、智能化 微电子技术的进步,使仪器仪表产品与微处理器、 PC技术融合得更为紧密,其数字化、智能化程度不断提高。 尤其在仪器仪表的设计中采用了大量的超大规模集成( VLSI)的新器件,表面贴装技术( SMT) 、多层线路板印刷、圆片规模集成( WSI)和多芯片模块( MCM)等新工艺以及CAD,CAM,CAPP,CAT 等计算机辅助手段,使多媒体
G2 引脚接地,然后以 A、 B、 C、 D 四脚为输入端,就会形成 16 种不同的输入状态,分别为0000~1111,然后使每种状态只控制一路输出,即会有 16 路输出。 如果一行 64 点全部点亮,则通过 74LS154 的电流将 达 640 mA,而实际上,74LS154 译码器提供不了足够的吸收电流来同时驱动 64 个 LED 同时点亮,因此,应在 74LS154 每一路输出端与 16
SETB T_CLK CLR T_RST DJNZ R7,S1302 CLR T_RST CLR T_CLK SETB T_RST MOV B,8EH。 控制寄存器 LCALL WRITEBYTE MOV B,80H。 控制, wp=1,写保护 LCALL WRITEBYTE SETB T_CLK CLR T_RST POP ACC MOV R1,A POP ACC。 A 恢复数据 14 RET
uchar i=100。 if(K0==0) { delay(10)。 if(K0==0) { while(K0==0amp。 amp。 i) { i。 delay(10)。 } TR0=1。 s=time1。 m=0。 flag1=1。 flag2=1。 flag3=1。 XXXXXXXX 学院(论文) 17 num=0。 beep=1。 D0=1。 flag4=0。 //清除违规标志位
的户外广告设施的钢结构,当采用平面桁架或空间桁架结构形式时,构件的长细比 (λ)应符合下列规定: 1受压弦杆、斜杆、横杆: λ 小于或等于 150; 2辅助杆: λ 小于或等于 200; 3受拉杆: λ 小于或等于 6. 5电气系统要求 6. 5. 1户外广告设施的用电应以低压供电为主,宜采用三相五线制供电,电路设计应符合现行行业标准《民用建筑电气设计规范》 J GJ 16 的有关规定。 6.