阵式图形显示单片机课设说明书_第1页
阵式图形显示单片机课设说明书_第2页
阵式图形显示单片机课设说明书_第3页
阵式图形显示单片机课设说明书_第4页
阵式图形显示单片机课设说明书_第5页
已阅读5页,还剩15页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、微机综合实践课程说明书题 目: 阵式图形显示 学院: 机电工程学院 专 业: 机械设计制造及其自动化 学生姓名: 李宽 学 号: 1000110314 指导教师单位: 机械制造教研室 姓 名: 恽 志 东 职 称: 副 教 授 2013年12月30日 摘 要 本文用基于STC89C51芯片搭建的单片机最小系统,配合硬件系统和软件系统对LED8x8点阵进行了控制,实现了对LED8x8点阵图形显示的控制。该点阵可以显示“”、“”和心形图,并通过按键选择显示的图形,显示时间可调,并且详述了本单片机最小系统的工作原理,设计过程,实现过程。关键词:STC89C51;LED 8x8点阵;图形显示。 目 录

2、 1、绪论11.1前言11.2设计任务及意义11.3 LED点阵12、总体方案设计23、系统硬件设计33.1各个模块电路设计33.1.1电源电路33.1.2数码管驱动电路33.1.3晶振电路与复位电路43.1.4点阵显示电路53.2元器件的选择及功用53.2.1锁存器53.2.2 STC89C51芯片63.3总体电路设计74、系统软件设计84.1主程序设计84.2定时中断程序设计94.3数码管显示程序设计94.4按键检测子程序104.5点阵显示程序设计105、 调试与使用115.1使用的工具115.2调试过程出现的问题及解决方法115.3作品操作说明116、 总结117、参考文献128、附录1

3、28.1总程序清单128.2元器件清单168.3布线图161、绪论1.1前言 计算机技术和电子技术的飞速发展使得现代电子产品向跟微型、更集成化的方向发展。单片机恰恰具备这样的功能,甚至可以不夸张的说,没有单片机,就没有现在的进步与文明。而LED显示技术的应用已经渗透到我们的生活中,各种广告牌,各种灯具等应用十分广泛,所以学习、了解单片机最小系统的原理、制作对我们来说是非常好的,我们可以更好的认识了解生活中的一些电子、电器的原理。不过话说回来,其原理相对我们来说比较难理解,因为并不是每个人都能把单片机学好。加深对单片机的认识和锻炼运用单片机实现具体要求的能力是本次课设的主要目的。1.2设计任务及

4、意义 本次设计是以小组为单位,每组6到7人不等,小组合作完成全部设计过程,权衡课题的难度,结合自身小组成员对单片机的了解的能力后,我们经过讨论选择如下题目:阵式图形显示控制任务及要求:在88点阵式LED显示“”、“”和心形图,通过按键来选择要显示的图形,显示时间可调(时间自定义)。1.3 LED点阵LED点阵就是将多个LED以矩阵方式排列,而构成一个元件,其中各LED的引脚以规律性的连接,对于共阳极LED点阵而言,每列的LED阳极连接在一起,即构成列引脚,而每行的阴极连接在一起,即为行引脚。若要点亮其中的LED,则需要列信号和行信号的交集,给列一个高电平相应的行给低电平,行列交集的LED就被点

5、亮。共阴极的LED与共阳极LED原理是一致的,共阳是所有LED正极连在一起,负极是独立的。而共阴则是所有LED负极连在一起,阳极是独立的。2、总体方案设计经过小组讨论,我们提出了以下两种方案方案一:采用我们比较常见STC89C51单片机作为控制核心,LED点阵行驱动采用74LS595芯片,列扫描直接由单片机P2口驱动。P1口接五个轻触开关实现对点阵显示图形和显示时间的控制。结构框图见图2.1。 图2.1方案一机构框图方案二:还是采用我们常见的STC89C51单片机作为控制核心,LED点阵行驱动采用74HC573芯片,带锁存功能,并且并行输出。列扫描直接由单片机P2口驱动。P1口接五个轻触开关实

6、现对点阵显示图形和显示时间的控制。采用两位一体共阳数码管显示图形显示时间,在实现功能的同时显得更加合理,其结构框图见图2.2。图2.2方案二结构框图 方案对比及确定两种方案都能实现功能要求。方案一采用74LS595芯片驱动LED点阵行,该芯片为串行输入;方案二采用74HC573芯片驱动点阵,并行输出,且具有锁存功能,可以方便控制。采用数码管直观显示图形显示时间,系统的功能得到进一步完善。鉴于以上的区别,方案二更胜一筹,故我们选择了方案二。3、系统硬件设计3.1各个模块电路设计3.1.1电源电路我们采用USB供电的电源电路系统,将电流传输入电路系统的电源电路,为电路系统的提供正常稳定的5V工作电

7、流;发光二极管的作为指示灯作指示作用。其电路图见图3.1。 图3.1电源电路图3.1.2数码管驱动电路我们采用两位一体共阳数码管驱动电路。数码管如用单片机吸收电流驱动,列扫描驱动使用三极管,按每段7mA电流算,全显示字型“8”时,每个数码管需7mA8=56mA。两位数码管需112mA,因此设计中采用功率三极管PNP8550驱动,兼片选控制的作用,保护了单片机的I/O口。在焊接电路板的过程中要特别注意区分清楚三极管的引脚。其电路图见图3.2。 图3.2数码管驱动电路3.1.3晶振电路与复位电路 在8051内部设置了一个反相放大器 为了产生时钟信号,XTAL1是片内振荡器反相放大器的输入端,XLA

8、L2是片内振荡器反相放大器的输出端,也是内部时钟发生器的输入端,本设计使用自激震荡方式,XLAL1和XLAL2外接一个12MHZ的石英晶振,是内部振荡器按照石英晶振的频率震荡,即产生时钟信号。单片机上电后,在该引脚出现两个机器周期宽度以上的高电平,就会使单片机复位。在RST与Vss之间接10K即可实现单片机上电自动复位,加以按键K1可实现手动复位。其电路图见图3.3。图3.3晶振与复位电路 3.1.4点阵显示电路 点阵显示由点阵、8个阻流电阻和74HC573芯片构成。本设计中一次驱动一列LED,为了使点阵显示的亮度足够,电路中使用74HC573芯片作驱动之用,主要考虑其使用简单、方便,易于控制

9、。单片机的P0口仅与74HC573数据输入端连接,不会产生混淆现象,故74HC573芯片的锁存端不需要加以控制,电路中将其直接电源正极相连。由于点阵采用动态显示,按只点亮一个LED看待,LED点亮时通过电流按0.7mA计算,限流电阻阻值为:R=(5-1.7)/0.007=470,其电路图见图3.4。图3.4点阵显示电路3.2元器件的选择及功用3.2.1锁存器 锁存器型号为74HC573,74HC573 锁存器是透明的D 型锁存器,当使能(G)为高时,Q 输出。将随数据(D)输入而变。当使能为低时,输出将锁存在已建立的数据电平上。输出控制不影响锁存器的内部工作,即老数据可以保持,甚至当输出被关闭

10、时,新的数据也可以置入。这种电路可以驱动大电容或低阻抗负载,可以直接与系统总线接口并驱动总线,而不需要外接口。特别适用于缓冲寄存器,I/O 通道,双向总线驱动器和工作寄存器。其各引脚的作用见表3.1。 表3.1 锁存器74HC573功能表 PIN No 引脚号SYMBOL符号NAME AND FUNCTION名称及功能1OE3 State output Enable Input (Active LOW)3态输出使能输入(低电平)2, 3, 4, 5, 6, 7, 8, 9D0 to D7Data Inputs数据输入12,13,14,15,16,17,18,19Q0 to Q73 State

11、Latch Outputs 3态锁存输出11LELatch Enable Input 锁存使能输入10GNDGround接地(0V)20VCCPositive Supply Voltage电源电压3.2.2 STC89C51芯片 STC89C51芯片是一种低功耗、高性能CMOS8位微控制器,具有4K在系统可编程Flash存储器,128B的RAM,4个8位I/O并行端口,1个串行口、两个16位定时/计数器及中断系统等组成。由于他的广泛的使用性,以及使用起来非常方便,因此在很多研究领域都要用到STC89C51芯片。其各引脚分布见图3.5,其各引脚功能介绍见表3.2。此外,在这里还介绍了P3口第二功

12、能见表3.3。图3.5 芯片STC89C51引脚分布表3.2芯片STC89C51各引脚功能介绍类型名称功能主电源引脚 Vcc接主电源+5vVss电源接地端时钟电路引脚XLAL1接晶振反相放大器输入端(接地)XLAL2接晶振反相放大器的输出端(接信号源) 控制信号引脚RST/VPD复位/备用电源输入端ALE/PROG为低8位地址锁存使能输出/编程脉冲输入端PSEN读选通信号EA/VPP为外存储器允许访问/编程电源输入并行I/O口P0口8 位漏极开路型双向I/O端口P1口内部带上拉电阻的8位准双向I/O端口P2口内部带上拉电阻的8位准双向I/O端口P3口内部带上拉电阻的8位多功能双向I/O端口表3

13、.3芯片STC89C51 P3口各位的第二功能表P3口引脚第二功能P3.0RXD(串行口输入端)P3.1TXD(串行口输出端)P3.2INT0(外部中断0输入端)P3.3INT1(外部中断1输入端)P3.4T0(定时器0的外部输入)P3.5T1(定时器1的外部输入)P3.6WR(外部数据存储器“写”控制输出信号)P3.7RD(外部数据存储器“读”控制输出信号)3.3总体电路设计为了能够实现利用单片机控制电路使整个电路能正常运行。本设计利用8X8点阵LED显示屏来显示星形、圆形、心形。利用锁存器对P0口数据进行锁存,利用数码管显示延时时长,利用按键来实现图形显示的切换、延时时长的改变以及复位.其

14、总电路图见图3.6。 图3.6 8x8点阵LED显示整体电路图4、系统软件设计4.1主程序设计负责总体程序管理功能的主程序采用动态扫描的方式检测按键状态、点阵显示和数码管的显示,主程序不断重复调用子程序检测按键状态和输送显示图形、时间数据。定时器初始化部分完成定时器的工作模式、计时初值的设定。其程序流程图如图4.1所示。 图4.1主程序流程图 4.2定时中断程序设计用于点阵显示图形和数码管显示的定时转换的定时中断子程序。定时器T0定时溢出中断周期设为50ms,根据时间调节键的操作改变参数值,并且控制定时中断的次数,以实现相应的定时,从而达到预设的定时效果。定时中断程序流程图见图4.2。 图4.

15、2中断程序流程图 4.3数码管显示程序设计数码管由两位组成,可以显示个位数与十位数,因此在输送显示数值时先摸除10求得个位数,再除10取整得到十位数,先后将个位十位数送P3口,由数码管显示数值。其程序设计见附录8.1总程序清单。4.4按键检测子程序5个按键的状态由按按键检测子程序检测,当键按下时把单片机相连的端口拉低为低电平,根据P1口的逻辑状态字(未接按键的引脚屏蔽)判别具体是哪个键按下,并进行相应的处理,其中为了调节时间的准确,应在时间调节按键松开后再进行时间加/减的操作。其程序设计见附录8.1总程序清单。4.5点阵显示程序设计 在这里,我们采用列扫描的方式点亮点阵的发光二极管,扫描频率必

16、须大于1128HZ,周期要符合人类视觉暂留要求。程序中调用延时子程序实现,2ms的延时时间。其显示程序流程图见图4.3。图4.3点阵显示程序流程图5、 调试与使用5.1使用的工具 万用表、镊子、单片机开发板5.2调试过程出现的问题及解决方法调试中遇到的问题: 烧写程序进去后,虽然点阵能亮了,当时没有按照我们想要的图形来运行,而且图形显示的过程中有几个点不要求亮的却亮了,其中一个按键也是失灵的,起不到调节的作用。解决方法: 通过检查程序无误后,我们又用了万用表对电路进行检查,确定电路无误后,最终我们换了一块52芯片,奇迹般的可以了,后来我们检查原来的51芯片,发现其中一个引脚歪了,接触不好,最终

17、造成了上述现象。5.3作品操作说明分别按下不同的按键实现不同的功能,实现不同的功能,按键1实现星形图形转换;按键2实现圆形图形转换;按键3实现心形图形转换;按键4用来延长显示时间,按键5用来缩短显示时间;按键6用来实现复位。6、 总结 本次课程设计用AT89C51芯片对单片机最小系统中的LED8x8点阵实现了控制,能过显示“”、“”和心形图,图形显示时间可调,并通过系统扩展,加上了两片二位一体共阳数码管,将延时时间在数码管上进行显示。完成了老师规定的任务。本次课程设计意义非凡,以前我们都只是做过关于机械的课程设计,像这种偏电子的课设还真是没有做过,所以一开始感觉困难很多。好在我们是一个团体,集

18、体的智慧是最大的,在设计过程中,我们碰到了许多看似不可逾越的困难,但是最终我们还是通过各种各样的方法克服了这些困难。我们通过去图书馆找相关的书籍或是通过网上相关资料解决了不少问题。经同学的推荐,我们看了郭天祥的视频,学习了protel的简单应用,并能利用protel绘制简单的电路图,虽然没有达到熟练的水准,但是至少能用一点点了。小组同学积极参与、贡献智慧,共同合作完成了作品的制作。作品的完成只是一个结果,在这个过程我们学到了许多的知识,加深了对微机原理课程,C语言程序课程,单片机课程知识的了解。在编写程序的过程中,我们也出现过些许错误,其主要原因是我们对单片机各部分的功能了解不够,导致有点混乱

19、,后来我们经过仔细的检查子函数,发现出来问题,由此可见,在编写程序的时候,特别是比较长的程序,分块编程显得尤为重要。在硬件的制作过程中,腐蚀板的制作需要一定的经验,元器件的排布也有讲究,如何能将固定数量的元件排布占板面积最小,最能体现集成化,不是一件容易的事情。当然,我们老生常谈的话题,比如说焊机过程中避免虚焊等问题也是不容小觑的,否则后期的调试,检查电路将会非常麻烦,导致“一招不慎,满盘皆输”现象的发生。7、参考文献1 张晔,王玉民.单片机应用技术M.高等教育出版社,2006:62 肖洪兵.跟我学用单片机M.北京航空航天大学出版社,2002:8 3 马长林,陈怡.单片机实践应用与技术M.北京

20、大学出版社,2008:64 何立民.单片机高级教程第1版M.北京航空航天大学出版社,2001:85 程成.单片机课程设计指导M .清华大学出版社,2009:36 李朝清.单片机原理及接口技术M.北京航空航天大学出版社,1999:18、附录8.1总程序清单#include#define uchar unsigned char#define uint unsigned int uchar shu=0x60,0xf9,0xa4,0xb0,0x39,0x32,0x22,0x78,0x20,0x30;uchar table8=0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f

21、;uchar xing38=0x48,0x28,0x3c,0x1f,0x3c,0x28,0x48,0x00, 0x00,0x38,0x44,0x44,0x44,0x38,0x00,0x00, 0x0c,0x12,0x22,0x44,0x22,0x12,0x0c,0x00;uchar i,num,time,temp;sbit k6=P16;sbit k7=P17;uint aa=20;void delay(uint z) uint x,y; for(x=z;x0;x-)(续录) for(y=110;y0;y-);void check()temp=P1;temp=temp&0x1f;if(temp!=0x1f)delay(5);temp=P1;temp=temp&0x1f;if(temp!=0x1f)switch(temp) case 0x1e : num=0; break; case 0x1d: num=1; break; case 0x1b:num=2; break; case 0x17: while(temp=0

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论