单片机课程设计点阵设计_第1页
单片机课程设计点阵设计_第2页
单片机课程设计点阵设计_第3页
单片机课程设计点阵设计_第4页
单片机课程设计点阵设计_第5页
已阅读5页,还剩11页未读 继续免费阅读

下载本文档

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

文档简介

1、 课程设计说明书题 目: 8x8点阵显示数字 院 (系): 机电工程学院 专 业:机械设计制造及其自动化学生姓名及学号:2011年12月16日前言单片机的实际应用一直是单片机初学者难以掌握的问题。我们的课程设计方法也许不是最佳方案,但也是我们组经过讨论及整合各种资料,再加上自己的创意来完成属于我们自己的课程设计。设计内容:设计一块电路板,编程使板上的8x8点阵显示器显示数字。要求:1、在8x8点阵显示0到9的数字,且显示清晰。2、当按键按一次,则显示的数字加一,从0 到 9 循环。led点阵电子显示屏是集微电子技术,计算机技术,信息处理技术于一体的大型显示屏系统。随着单片机技术的不断发展,单片

2、机的日益平民化以及led技术的不断创新,使得高亮度高清晰的led点阵显示屏的成本逐渐降低。led显示屏可以随时改变内容,操作简单,成本低,具有实用性,给人们的生活带来了许多的用途和方便。点阵数高,可以显示图形或汉字,而且清晰度高,还有许多附加功能。近年led显示屏已广泛应用于室内、外需要进行服务内容和服务宗旨宣传的公众场所如电信、邮政大厅、营业部、车站机场、港口体育场等信息的发布,政府机关政策、政令的发布,各类市场营销的信息和宣传等。系统采用51系列单片机控制,即at89c51单片机作控制器。在电路设计时,选用p3.2、p3.3管脚,以外部中断的方式实现按键信号的读入。由于用中断方式,不会影响

3、到程序的流程控制,有利于控制程序的设计。硬件电路设计简单,只需在i/o口(经过上拉电阻后)与点阵之间接入限流电阻限流即可,同时也有利与程序的设计。经过第一次试验之后发现点阵不怎么亮,故经过思考,在p0口与点阵之间接入74hc573进行驱动(将74hc573的11脚接高电平后,输出随输入改变);在完成设计任务功能的基础上,还增加了扩展功能。目录第1章 系统概述41.1系统设计思路和方案41.2可行性分析41.3各功能模块及其组成51.3.1 中断按键51.3.2 at89c5151.3.3 74hc57351.3.4 *点阵5第2章 单元电路设计与仿真72.1 电路设计72.1.1 单片机最小系

4、统电路72.1.2 中断按键电路82.1.3 *点阵控制电路82.2 程序设计92.2.1 *点阵数字显示编码92.2.2 程序设计102.3 仿真12第章 电路的安装与调试123. 制版123.2调试123.3出现的问题13第4章 结束语13附件:14.元件清单表142. 原理图143. pcb图15参考文献:15第1章 系统概述1.1系统设计思路和方案系统采用51系列单片机控制,在电路设计时,选用p3.2、p3.3管脚,以外部中断的方式实现按键信号的读入。由于用中断方式,不会影响到程序的流程控制,有利于控制程序的设计。 at89c51单片机作控制器,点阵显示器,其中,p0作为点阵列控制口,

5、p2作为点阵行控制口字,第31脚(ea)接电源,p3.2、p3.3口分别接开关k2、k3。由于采用单片机直接控制点阵,所以硬件电路设计简单,只需在i/o口(经过上拉电阻后)与点阵之间接入限流电阻限流即可,同时也有利与程序的设计。经过第一次试验之后发现点阵不怎么亮,故经过思考,在p0口与点阵之间接入74hc573进行驱动(将74hc573的11脚接高电平后,输出随输入改变),如下图:在完成设计任务功能的基础上,还增加了扩展功能,即增加了按键选择模式,和动态扫描显示09以及组员的学号(中间以心形隔开)。1.2可行性分析由于51系列单片机拥有两个外部中断,用两个按键来实现依次加一和减一功能较为简单。

6、其4组32个i/o口,能满足利用两组来控制点阵的要求。至于其他的扩展功能,通过编程也可以实现。1.3各功能模块及其组成1.3.1 中断按键通过按键(分别连int0和int1脚),输入一个触发源,经过单片机处理后,使其按相应的设定改变i/o口的电平,从而控制 点阵做相应的显示。1.3.2 at89c51at89c51最小系统模块包括一个复位电路,一个晶振电路。本设计的复位电路由一个按键、一个极性电容和两个串联的电阻组成(连rst脚),晶振电路由一个11.0592m和两个30pf的普通电容构成(连xtal1和xtal2脚)。本设计所用到的i/o口为p0和p2。1.3.3 74hc573八进制3态非

7、反转透明锁存器,此处用它的放大功能(相当于三极管),将其锁存端接高电平,其输出随输入而改变。1.3.4 *点阵点阵上下两排引脚,每排8个,一共16个,共由64个发光二极管组成,且每个发光二极管是放置在行线和列线的交叉点上,当对应的某一行置1电平,某一列置0电平,则相应的二极管就亮;如要将第一个点点亮,则1脚接高电平a脚接低电平,则第一个点就亮了;如果要将第一行点亮,则第1脚要接高电平,而(a、b、c、d、e、f、g、h)这些引脚接低电平,那么第一行就会点亮;如要将第一列点亮,则第a脚接低电平,而(1、2、3、4、5、6、7、8)接高电平,那么第一列就会点亮。如下图所示: 本设计所用的点阵封装图

8、如下所示:第2章 单元电路设计与仿真2.1 电路设计2.1.1 单片机最小系统电路 单片机最小系统主要有复位电路和晶振电路构成。(1) 复位电路在51单片机中最常见的复位电路有上电复位和手动复位,如下图所示: rst引脚是复位信号的输入端,复位信号为高电平有效,有效的持续时间在24个振荡周期以上才能复位。这里选择手动复位电路,能在单片机死机时及时复位。(2) 晶振电路单片机的振荡时钟有内部时钟和外部时钟两种方式。内部振荡方式:如下图所示,单片机内有一个用于构成振荡器的高增益反向放大器,引脚xtal1和xtal2分别是此放大器的输入和输出端。把放大器与作为反馈元件的晶体振荡器或陶瓷谐振器连接,就

9、构成内部自激振荡器并产生振荡时钟脉冲。外部振荡方式:将外部已有的时钟脉冲信号引入单片机内。本设计采用内部振荡方式。2.1.2 中断按键电路 中断按键电路取决于控制程序的设计,在控制程序中选用中断为负跳变触发方式,因此中断按键设计如下所示,当按键未按下时,相应管脚为高电平,当按键按下时,管脚电平负跳变,触发中断,使控制程序转入中断服务程序。 2.1.3 *点阵控制电路 点阵内部有64个led组成,驱动时为了增加其亮度,p0口在加上拉电阻的前提下再加一个74hc573芯片(当三极管放大作用)。由资料知,led发光二极管的压紧一般为1.5-2v,工作电流一般为10-20ma,去i=15ma,u=2v

10、,得出上拉电阻值为:r=200,这里取r=270。总电路如下:2.2 程序设计2.2.1 *点阵数字显示编码由1.3.4 点阵显示原理知,当某行置低电平,某列置高电平时,对应的led发光二极管就亮。下图所示“0”字符的编码,当选择第一行时,将相应的行管脚置低,由于没有二极管发亮,故对应的列全置低;当选择第二行时,将相应的行管脚置低,由于3、4、5个二极管亮,故相应的列管脚置高,依次可得选择行的编码为:0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f;“0”的编码为:0x00,0x18,0x24,0x24,0x24,0x24,0x24,0x18;“1”的编码为:0x

11、00,0x08,0x18,0x08,0x08,0x08,0x08,0x08;“2”的编码为:0x00,0x18,0x24,0x24,0x08,0x10,0x20,0x3c;“3”的编码为:0x00,0x18,0x24,0x04,0x08,0x04,0x24,0x18;“4”的编码为:0x00,0x08,0x08,0x18,0x28,0x3c,0x08,0x08;“5”的编码为:0x00,0x3c,0x20,0x38,0x04,0x04,0x24,0x18;“6”的编码为:0x00,0x18,0x24,0x20,0x38,0x24,0x24,0x18;“7”的编码为:0x00,0x3c,0x24

12、,0x04,0x08,0x10,0x10,0x10;“8”的编码为:0x00,0x18,0x24,0x24,0x18,0x24,0x24,0x18;“9”的编码为:0x00,0x18,0x24,0x24,0x1c,0x4,0x24,0x18;“10”的编码为:0x4c,0xd2,0x52,0x52,0x52,0x52,0x52,0xec;2.2.2 程序设计(1)开机检测程序 开机检测程序让点阵全部点亮,以检测屏幕是否有坏点。主要语句如下:p0=0xff;/列置高p2=0x00;/行置低,全亮p0=0x00;/关闭所有led(2) 数字显示程序 点阵以列动态扫描显示的方式显示0-9任意数字。程

13、序如下:void display(int n)/n为待显示的数int a;for(a=8;a0;a-)p2=tablea;/已编码的行数表p0=graphna;/已编码的列二维数表(3) 外部中断程序 外部中断1 该段程序用来控制依次加一功能,程序如下:void int_0() interrupt 0 ex0=0;delay(50);ex0=1;if(lie=12) lie=0;else lie+; p0=graphliehang; delay(500); 外部中断2 该段程序用来控制依次减一功能,程序如下:void int_1() interrupt 2 ex1=0;delay(50);ex

14、1=1;if(lie=0) lie=12;else lie-; p0=graphliehang; delay(500); 定时中断 动态扫描的时间为1ms,对定时器0赋相应的值,程序如下:void t0(void) interrupt 1 th0=(65536-1000)/256;tl0=(65536-1000)%256; p2=tabhang;p0=graphliehang;hang+;if(hang=8)hang=0;2.3 仿真 基于proteus和keil c对设计的程序和硬件进行联调仿真,初步验证了原理图和程序的正确性,意味着可以进入下一步操作用protel 99进行pcb布线,制版

15、。.电路的安装与调试3. 制版去打印店把画好的pcb用专用的油纸打印出来用熨斗将油纸上电路线条印到铜板上将印好的铜板泡到适量浓度的氯化铁溶液中在预留的元件孔位上钻孔安放元件,并将元件用焊锡将其焊在电路板上用万用表测各个连接点,检查电路的通断情况下载程序调试,直至符合要求为止3.2调试下载开机检测程序,检查屏幕是否有坏点如果没有坏点,则下载显示单个数字的程序进去(如下载显示“”的程序)检查编码是否出错如过编码没错,则下载-依次递增的程序,调节延迟程序,直到符合要求下载扩展其他功能的程序,调节,直到达到预定的功能3.3出现的问题() 点阵显示的亮度不够经过小组讨论分析,应该是流过二极管的电流不够大

16、,所以在第二次做板的时候加上了74hc573芯片,放大电流,第二次测试发现亮度果然增大。() 没注意点阵封装,导致编码出现乱码我们买的点阵型号是,原来没测管脚,以为正负两边分,哪知不是,后来从网上找了的封装文件,重新布图,才成功。() 有时按下一次按键,连跳几个数字经过测试,原来是消抖延迟的时间不够长,加长消抖时间后,此现象消除。第四章 结束语本系统能够完成设计任务,即能按要求显示-数字,并能够用按键控制数字的递增或递减,显示也较为稳定清晰。值得一提的是,本系统在实现设计任务外还能实现自动显示指定数字的功能。对于本系统,经小组讨论,主要有以下改进意见:用颜色点阵,这样显示的效果会更好;增加屏幕

17、滚动显示效果,增强动感,使可视界面更爽;增加键盘扫描输入功能,方便及时输入各种信息数据。学习单片机这门课程,要掌握单片机指令系统中c语言编程各种基本语法及c程序设计的基本知识和方法,以及单片机与其他设备相连的输入输出中断等接口技术。在本次课程设计中,主要使用了protel 99、protenus已经keil c等软件进行硬件电路和控制程序的设计,同时,在制作硬件电路pcb板时,对热转印法制版的流程和应注意的问题有了更深的掌握,例如在腐蚀板电路时要注意腐蚀安全,还有环境保护等等。在pcb板布线时应根据实际元件的封装来绘制pcb图纸。这次单片机课程设计使我们从硬件软件的结合上理论联系实际,提高动手能力,从而更全面掌握单片机的应用。附件:.元件清单表序号名称型号参数数量备注铜板废一块单片机at80c511单片机插槽(快换)1排针2排晶振11.0592m1按键6废3个点阵174hc57319电阻1k10废510电阻27020废10

温馨提示

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

评论

0/150

提交评论