基于-ProteusLED点阵显示屏

上传人:dc****87 文档编号:71722574 上传时间:2022-04-07 格式:DOC 页数:5 大小:39KB
返回 下载 相关 举报
基于-ProteusLED点阵显示屏_第1页
第1页 / 共5页
基于-ProteusLED点阵显示屏_第2页
第2页 / 共5页
基于-ProteusLED点阵显示屏_第3页
第3页 / 共5页
点击查看更多>>
资源描述
-单片机应用系统设计课 题:基于Proteus的LED点阵显示屏的设计与仿真姓 名:班 级:学 号:指导教师:日 期:单片机汉字点阵显示系统设计一、摘要:Proteus软件可进展单片机仿真,本文用Proteus软件设计汉字LED点阵静态显示,给出了完整设计电路和仿真程序源代码,通过仿真运行,在LED点阵中显示出工程学院六个汉字。仿真结果说明Proteus软件在单片机应用设计中具有重要的实用价值,能极大缩短产品开发周期,节约开发本钱。二、引言:一、Proteus的介绍:Proteus最重要的特点是它能够把用户编写的应用软件作用在微处理器上并和连接在该处理器外围模拟器件及数字器件协同仿真,就像在真正的单片机应用系统的硬件平台上执行目标代码。支持的微控制器有51系列、Microchip的P IC系列、Atmel的AV系列、和ARM7 /LPC2000。Proteus软件使用彻底改变了传统单片机学习和开发方式,初学者可以在没有实验硬件条件下进展仿真实验,开发者也不必经历原理图设计、PCB线路板制作、元件焊接、然后进展软件编程、通过仿真器对系统硬件和软件调试过程,可以直接用Proteus进展电路设计和仿真运行程序,运行成功后再制作产品,缩短开发周期,节约开发本钱。汉字点阵显示电路设计制作时,显示局部由8 8单色LED模块拼接而成,元件引脚较多,硬件制作繁琐,应用Proteus进展仿真设计,极大缩短开发周期。本文用Proteus软件设计1616六个汉字静态显示屏。二、单片机的应用介绍单片机广泛应用于仪器仪表、家用电器、医用设备、航空航天、专用设备的智能化管理及过程控制等领域。目前单片机渗透到我们生活的各个领域,几乎很难找到哪个领域没有单片机的踪迹。导弹的导航装置,飞机上各种仪表的控制,计算机的网络通讯与数据传输,工业自动化过程的实时控制和数据处理,广泛使用的各种智能IC卡,民用豪华轿车的平安保障系统,录象机、摄象机、全自动洗衣机的控制,以及程控玩具、电子宠物等等,这些都离不开单片机。更不用说自动控制领域的机器人、智能仪表、医疗器械了。因此,单片机的学习、开发与应用将造就一批计算机应用与智能化控制的科学家、工程师。三、课程设计目的与意义 单片机原理及应用是一门技术性,应用性、实践性很强的学科。课程设计是学好本门课程的又一重要实践性教学环节,课程设计的目的和任务就是配合单片机的教学和平时实验,以到达稳固消化课程的容,进一步加强综合应用能力及单片机应用系统开发和设计能力的训练,启发创新思维,使之具有独立单片机产品和科研的根本技能,是以培养学生综合运用所学知识的过程,是知识转化为能力和能力转化为工程素质的重要阶段。四、汉字显示电路设计汉字点阵的控制电路采用C51系列单片机,硬件电路可分为单片机控制器、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,中选中*一位时,译码器的A,B,C口接通,Y0到Y7与BENNY-8*8-RED显示器的Y20到Y27位。六、软件设计先申明一些变量和汉字库,接着是主函数,主函数中用一个while循环,循环显示汉字,再调用延迟函数和定时函数控制汉字的显示。系统框图如下:程序开场程序初始化相关变量进展初始化输出扫描码给U6输出扫描码给U7输出扫描码给U8输出扫描码给U9程序完毕七、汉字显示程序设计根据以上硬件电路和单片机控制原理,编程思路为:a先对相关变量进展初始化。b装载三个汉字的第一行数据,并显示出来。c依次显示三个汉字的第二行至第十六行。d完毕。完整的程序代码如下:*include *define int8 unsigned char*define int16 unsigned int*define int32 unsigned longint8 flag;int8 n;int8 code table32= 0*00,0*00,0*00,0*00,0*00,0*00,0*00,0*00,0*00,0*00,0*00,0*00,0*00,0*00,0*00,0*00,0*00,0*00,0*00,0*00,0*00,0*00,0*00,0*00,0*00,0*00,0*00,0*00,0*00,0*00,0*00,0*00, 0*00,0*40,0*08,0*80,0*11,0*00,0*23,0*ff,0*c4,0*00,0*04,0*44,0*0a,0*48,0*12,0*52,0*22,0*41,0*c3,0*fe,0*22,0*40,0*12,0*50,0*0a,0*c8,0*0c,0*4c,0*08,0*00,0*00,0*00,/*,0*/ 0*01,0*00,0*0e,0*02,0*00,0*0c,0*ff,0*f0,0*00,0*00,0*08,0*00,0*06,0*00,0*00,0*00,0*7f,0*fc,0*00,0*00,0*08,0*00,0*06,0*00,0*00,0*00,0*ff,0*ff,0*00,0*00,0*00,0*00,/*州,1*/ 0*00,0*04,0*20,0*04,0*20,0*04,0*20,0*04,0*20,0*04,0*20,0*04,0*20,0*04,0*3f,0*fc,0*20,0*04,0*20,0*04,0*20,0*04,0*20,0*04,0*60,0*04,0*20,0*0c,0*00,0*04,0*00,0*00,/*工,2*/ 0*24,0*10,0*24,0*60,0*25,0*80,0*7F,0*FF,0*C5,0*00,0*44,0*C2,0*04,0*82,0*7E,0*92,0*42,0*92,0*42,0*92,0*42,0*FE,0*42,0*92,0*42,0*B2,0*FE,0*96,0*40,0*82,0*00,0*00,/*程,3*/ 0*02,0*20,0*0C,0*20,0*88,0*20,0*69,0*20,0*09,0*20,0*09,0*22,0*89,0*21,0*69,0*7E,0*09,0*60,0*09,0*A0,0*19,0*20,0*28,0*20,0*C8,0*20,0*0A,0*60,0*0C,0*20,0*00,0*00,/*学,4*/ 0*00,0*00,0*7F,0*FF,0*44,0*20,0*5A,0*10,0*69,0*E1,0*30,0*81,0*24,0*82,0*24,0*8C,0*A4,0*F0,0*64,0*80,0*24,0*FC,0*2C,0*82,0*25,0*82,0*28,0*82,0*30,0*0E,0*00,0*00,/*院,5*/ 0*00,0*00,0*00,0*00,0*00,0*00,0*FA,0*0F,0*00,0*00,0*00,0*00,0*00,0*00,0*00,0*00,0*00,0*00,0*00,0*00,0*00,0*00,0*00,0*00,0*00,0*00,0*00,0*00,0*00,0*00,0*00,0*00,/*!,7*/ 0*00,0*00,0*00,0*00,0*00,0*00,0*00,0*00,0*00,0*00,0*00,0*00,0*00,0*00,0*00,0*00,0*00,0*00,0*00,0*00,0*00,0*00,0*00,0*00,0*00,0*00,0*00,0*00,0*00,0*00,0*00,0*00 ;void delay(void);int16 offset;void main(void) int8 i; int8 *p; flag=0*10; n=0; TMOD=0*01; TH0=0*b1; TL0=0*e0; ET0=1; EA=1; TR0=1; p=&table00; while (1) for (i=0;i8;i+) /显示左半边屏幕 P0=*(p+offset+2*i); P2=i|0*10; /P2.4=0,P2.3=1 选中U2, 输出扫描码给U6 delay(); P0=*(p+offset+2*i+1); P2=i|0*08; /P2.4=1,P2.3=0 选中U3, 输出扫描码给U7 delay(); for (i=8;i16;i+) /显示右半边屏幕 P0=*(p+offset+2*i); P2=(i-8)|0*40; /P2.5=1 P2.4=0, P2.3=0 选中U4,输出扫描码U8 delay(); P0=*(p+offset+2*i+1); P2=(i-8)|0*20; /P2.6=1 P2.5=0, P2.4=0 选中U5,输出扫描码U9 delay(); void delay(void) int16 i; for (i=0;i50;i+) ;void timer0() interrupt 1 using 3 TF0=0; TH0=0*b1; TL0=0*e0; if (n1100) offset=0; n=0; 八、设计原件清单:4个74HC138译码器,一个AT89C52,4个BENNY-8*8-RED,一个RESPACK-8九、仿真及结果:十、课程设计心得体会1本学期学习单片机的时间只有16周时间,对单片机的硬件设计,软件设计掌握的深度不够,但通过此次课程设计,却改变了很多,首先对于硬件电路的工作原理有了进一步的学习,同样就有了进一步的认识;其次软件方面,在程序的设计,程序的调试方面都学到了很多东西,这是第一次编写单片机的大程序,很有成就感。2、另外在编程中出现问题时,一定要戒骄戒躁,脚踏实地,认真看书,仔细分析,仔细调试,就一定会发现错误,克制困难,我们也是这么做的,这在课设中十分重要。3、有时会出现程序一点错误也没有,但就是不能正常运行的现象,最后我们发行是因为程序中有的指令书写得不规导致的。4、 根据实验条件,找到适合的方案,找到需要的元器件及工具,准备实验。5、 根据课程设计的要求和自己所要增加的功能写好程序流程图,在程序流程图的根底上,根据芯片的功能写出相应的程序。然后再进展程序调试和相应的修改,以到达能够实现所要求的功能的目的。5、 程序要尽量做到由各个子程序组成,在有些程序后面最好加注释,这样在程序出错的检查过程中可以更容易查找的到,也更简洁,更明白易懂。6、 这次的单片机课程设计重点是理论与实际的相结合。十一、参考文献: 1 周基于Proteus的电路与单片机仿真系统设计与仿真M . 航空航天大学, 2005。 2 维成 加国 单片机原理与应用及C51程序设计 清华大学,2006。. z
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 课件教案


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!