1、基于Proteus的LED点阵显示屏的基于Proteus的LED点阵显示屏的 作者: 日期: 单片机应用系统设计课 题:基于Proteus的LED点阵显示屏的设计与仿真 姓 名: 班 级: 学 号: 指导老师: 日 期: 单片机汉字点阵显示系统设计一、摘要:Proteus软件可进行单片机仿真,本文用Proteus软件设计汉字LED点阵静态显示,给出了完整设计电路和仿真程序源代码,通过仿真运行,在LED点阵中显示出”徐州工程学院”六个汉字.仿真结果表明Proteus软件在单片机应用设计中具有重要的实用价值,能极大缩短产品开发周期,节约开发成本。二、引言:一、Proteus的介绍:Proteus最
2、重要的特点是它能够把用户编写的应用软件作用在微处理器上并和连接在该处理器外围模拟器件及数字器件协同仿真,就像在真正的单片机应用系统的硬件平台上执行目标代码.支持的微控制器有51系列、Microchip的P IC系列、Atmel的AV系列、和ARM7 /LPC2000。Proteus软件使用彻底改变了传统单片机学习和开发方式,初学者可以在没有实验硬件条件下进行仿真实验,开发者也不必经历”原理图设计、PCB线路板制作、元件焊接、然后进行软件编程、通过仿真器对系统硬件和软件调试”过程,可以直接用Proteus进行电路设计和仿真运行程序,运行成功后再制作产品,缩短开发周期,节约开发成本。汉字点阵显示电
3、路设计制作时,显示部分由8 8单色LED模块拼接而成,元件引脚较多,硬件制作繁琐,应用Proteus进行仿真设计,极大缩短开发周期.本文用Proteus软件设计16 16六个汉字静态显示屏。二、单片机的应用介绍单片机广泛应用于仪器仪表、家用电器、医用设备、航空航天、专用设备的智能化管理及过程控制等领域。目前单片机渗透到我们生活的各个领域,几乎很难找到哪个领域没有单片机的踪迹.导弹的导航装置,飞机上各种仪表的控制,计算机的网络通讯与数据传输,工业自动化过程的实时控制和数据处理,广泛使用的各种智能IC卡,民用豪华轿车的安全保障系统,录象机、摄象机、全自动洗衣机的控制,以及程控玩具、电子宠物等等,这
4、些都离不开单片机。更不用说自动控制领域的机器人、智能仪表、医疗器械了。因此,单片机的学习、开发与应用将造就一批计算机应用与智能化控制的科学家、工程师。三、课程设计目的与意义 单片机原理及应用是一门技术性,应用性、实践性很强的学科.课程设计是学好本门课程的又一重要实践性教学环节,课程设计的目的和任务就是配合单片机的教学和平时实验,以达到巩固消化课程的内容,进一步加强综合应用能力及单片机应用系统开发和设计能力的训练,启发创新思维,使之具有独立单片机产品和科研的基本技能,是以培养学生综合运用所学知识的过程,是知识转化为能力和能力转化为工程素质的重要阶段。四、汉字显示电路设计 汉字点阵的控制电路采用C
5、51系列单片机,硬件电路可分为单片机控制器、LED显示屏行列驱动电路、LED点阵显示屏三部分, 详见硬件连接图。 显示器由4块88的点阵显示芯片构成1616的点阵显示器,显示汉字时,从U6单元的第一列开始扫描,然后是U7的第一列,列中的每一点对应与RESPACK的每一位,出现高电平的点就亮,延迟一段时间后继续扫描,再U6的第二列,U7的第二列,再U6的第三列.直到U6U7的8列全部扫描结束,接着再按照同样的方式扫描U8和U9,在显示屏上就滚动显示“徐州工程学院。五、硬件设计741HC138译码器:P2。3、P2.4、P2.5、P2。6为选择位,对应AT89C52的P2口的P2。3- P2.6,
6、当选中某一位时,译码器的A,B,C口接通,Y0到Y7与BENNY-88RED显示器的Y20到Y27位。六、软件设计先申明一些变量和汉字库,接着是主函数,主函数中用一个while循环,循环显示汉字,再调用延迟函数和定时函数控制汉字的显示。系统框图如下:七、汉字显示程序设计根据以上硬件电路和单片机控制原理,编程思路为:a先对相关变量进行初始化。b装载三个汉字的第一行数据,并显示出来。c依次显示三个汉字的第二行至第十六行。d结束。完整的程序代码如下:include reg52。h#define int8 unsigned char#define int16 unsigned intdefine in
7、t32 unsigned longint8 flag;int8 n;int8 code table32= 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x40,0x08,0x80,0x11,0x00,0x23,0xff,0xc4,0x00,0x04,0x44,0x0a,0x48,0x12,0x52,0x22,0
8、x41,0xc3,0xfe,0x22,0x40,0x12,0x50,0x0a,0xc8,0x0c,0x4c,0x08,0x00,0x00,0x00,/”徐,0/ 0x01,0x00,0x0e,0x02,0x00,0x0c,0xff,0xf0,0x00,0x00,0x08,0x00,0x06,0x00,0x00,0x00,0x7f,0xfc,0x00,0x00,0x08,0x00,0x06,0x00,0x00,0x00,0xff,0xff,0x00,0x00,0x00,0x00,/”州”,1/ 0x00,0x04,0x20,0x04,0x20,0x04,0x20,0x04,0x20,0x04,0
9、x20,0x04,0x20,0x04,0x3f,0xfc,0x20,0x04,0x20,0x04,0x20,0x04,0x20,0x04,0x60,0x04,0x20,0x0c,0x00,0x04,0x00,0x00,/工”,2/ 0x24,0x10,0x24,0x60,0x25,0x80,0x7F,0xFF,0xC5,0x00,0x44,0xC2,0x04,0x82,0x7E,0x92,0x42,0x92,0x42,0x92,0x42,0xFE,0x42,0x92,0x42,0xB2,0xFE,0x96,0x40,0x82,0x00,0x00,/*”程,3*/ 0x02,0x20,0x0C,
10、0x20,0x88,0x20,0x69,0x20,0x09,0x20,0x09,0x22,0x89,0x21,0x69,0x7E,0x09,0x60,0x09,0xA0,0x19,0x20,0x28,0x20,0xC8,0x20,0x0A,0x60,0x0C,0x20,0x00,0x00,/*学,4*/ 0x00,0x00,0x7F,0xFF,0x44,0x20,0x5A,0x10,0x69,0xE1,0x30,0x81,0x24,0x82,0x24,0x8C,0xA4,0xF0,0x64,0x80,0x24,0xFC,0x2C,0x82,0x25,0x82,0x28,0x82,0x30,0x
11、0E,0x00,0x00,/*”院”,5/ 0x00,0x00,0x00,0x00,0x00,0x00,0xFA,0x0F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*”!,7*/ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
12、,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 ;void delay(void);int16 offset;void main(void) int8 i; int8 *p; flag=0x10; n=0; TMOD=0x01; TH0=0xb1; TL0=0xe0; ET0=1; EA=1; TR0=1; p=&table00; while (1) for (i=0;i8;i+) /显示左半边屏幕 P0=(p+offset+2i); P2=i|0x10; /P2。4=0,P2.3=1 选中U2, 输出扫描码给U6 delay(); P0=
13、*(p+offset+2*i+1); P2=i0x08; /P2。4=1,P2.3=0 选中U3, 输出扫描码给U7 delay(); for (i=8;i16;i+) /显示右半边屏幕 P0=*(p+offset+2i); P2=(i-8)|0x40; /P2。5=1 P2.4=0, P2。3=0 选中U4,输出扫描码U8 delay(); P0=*(p+offset+2*i+1); P2=(i8)0x20; /P2。6=1 P2。5=0, P2。4=0 选中U5,输出扫描码U9 delay(); void delay(void) int16 i; for (i=0;i1100) offse
14、t=0; n=0; 八、设计原件清单:4个74HC138译码器,一个AT89C52,4个BENNY-8*8-RED,一个RESPACK-8九、仿真及结果:十、课程设计心得体会1本学期学习单片机的时间只有16周时间,对单片机的硬件设计,软件设计掌握的深度不够,但通过此次课程设计,却改变了很多,首先对于硬件电路的工作原理有了进一步的学习,同样就有了进一步的认识;其次软件方面,在程序的设计,程序的调试方面都学到了很多东西,这是第一次编写单片机的大程序,很有成就感。2、另外在编程中出现问题时,一定要戒骄戒躁,脚踏实地,认真看书,仔细分析,仔细调试,就一定会发现错误,克服困难,我们也是这么做的,这在课设
15、中十分重要。3、有时会出现程序一点错误也没有,但就是不能正常运行的现象,最后我们发行是因为程序中有的指令书写得不规范导致的。4、 根据实验条件,找到适合的方案,找到需要的元器件及工具,准备实验。5、 根据课程设计的要求和自己所要增加的功能写好程序流程图,在程序流程图的基础上,根据芯片的功能写出相应的程序.然后再进行程序调试和相应的修改,以达到能够实现所要求的功能的目的。5、 程序要尽量做到由各个子程序组成,在有些程序后面最好加注释,这样在程序出错的检查过程中可以更容易查找的到,也更简洁,更明白易懂.6、 这次的单片机课程设计重点是理论与实际的相结合。十一、参考文献: 1 周基于Proteus的电路与单片机仿真系统设计与仿真M 。 北京航空航天大学出版社, 2005。 2 谢维成 杨加国 单片机原理与应用及C51程序设计 北京 清华大学出版社,2006。
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1