单片机系统课程设计

上传人:无*** 文档编号:41486935 上传时间:2021-11-20 格式:DOC 页数:21 大小:384.52KB
收藏 版权申诉 举报 下载
单片机系统课程设计_第1页
第1页 / 共21页
单片机系统课程设计_第2页
第2页 / 共21页
单片机系统课程设计_第3页
第3页 / 共21页
资源描述:

《单片机系统课程设计》由会员分享,可在线阅读,更多相关《单片机系统课程设计(21页珍藏版)》请在装配图网上搜索。

1、 单片机系统课 程 设 计成绩评定表设计课题 : 数字秒表设计 单片机系统课 程 设 计课程设计名称: 数字秒表设计 专 业 班 级 : 学 生 姓 名 : 学 号 : 指 导 教 师 : 课程设计地点: 课程设计时间: 2012-12-172012-12-28 单片机系统 课程设计任务书学生姓名专业班级学号题 目数字秒表设计课题性质工程设计课题来源自拟指导教师王黎、臧海河、周刚主要内容(参数)利用89C51设计数字秒表,实现以下功能:1以秒计时;2能够实现开启计时/记录秒数/循环查看/复位清零功能;3能够显示三位数字(小数点后1位);4当计数超过范围是所有数码管全部清零重新计数。任务要求(进

2、度)第1-2天:熟悉课程设计任务及要求,查阅技术资料,确定设计方案。第3-4天:按照确定的方案设计单元电路。要求画出单元电路图,元件及元件参数选择要有依据,各单元电路的设计要有详细论述。第5-6天:软件设计,编写程序。第7-8天:实验室调试。第9-10天:撰写课程设计报告。要求内容完整、图表清晰、文理流畅、格式规范、方案合理、设计正确,篇幅不少于6000字。主要参考资料1 张迎新单片微型计算机原理、应用及接口技术(第2版)M北京:国防工业出版社,20042 伟福LAB6000系列单片机仿真实验系统使用说明书3 阎石数字电路技术基础(第五版)北京:高等教育出版社,20064 胡汉才.单片机原理及

3、其接口技术.清华大学出版社 .2004审查意见系(教研室)主任签字: 年 月 日 目 录1 引言42 总体方案设计42.1硬件组成42.2 方案论证52.3 总体方案53 硬件电路设计63.1 单片机及其外围电路63.2 按键电路73.3 数码管显示电路84 系统软件设计104.1 主程序设计104.2 中断服务程序设计124.3 部分主要子程序的设计135 系统调试与总结135.1 系统功能测试135.2 总结13参考文献14附录A 系统原理图15附录B 源程序161 引言随着现代社会的电子科技的迅速发展,要求我们要理论联系实际,数字电路课题设计的进行使我们有了这个非常好的机会。本设计就是利

4、用所学到的电子元器件将脉冲源用数码管显示出来以制成简易的数字秒表。数字秒表是一种应用非常广泛的体育竞技计时工具,数码管显示的时间比钟显示得清晰直观、走时准确,并且还可以扩展出多种功能,本设计利用数量较少的芯片研制了一款带有计数功能的数字秒表,主要功能是计时并且可以记录十组成绩。在现在的体育竞技比赛中,随着运动员的水平不断提高,差距也在不断缩小。有些运动对时间精度的要求也越来越高,有时比赛冠亚军之间的差距只有几毫秒,因此就需要高精度的秒表来记录成绩。2 总体方案设计2.1硬件组成图2.1所示为数字秒表硬件组成框图。硬件主要包括:(1)控制器。作为控制系统的核心,本课题在选取单片机时,充分借鉴了许

5、多成形产品使用单片机的经验,并根据自己的实际情况,选择了使用STC89C52。(2)键盘:需要四个按键,选用单片机实验板上的独立键盘即可,用于控制计时。(3)数码管:对于数字显示电路,通常采用液晶显示或数码管显示。本设计的显示电路采用8段数码管作为显示介质。数码管显示可以分为静态显示和动态显示两种,本设计采用动态显示。图2.1 硬件方框图2.2 方案论证(1)控制器控制器的选择是确定整个系统硬件方案的关键,它关系到其它几个部分方案的确定,对于数字秒表,控制器的可选方案有以下两种:方案一: 纯硬件电路系统,各功能采用分离的硬件电路模块实现。用时序逻辑电路实现时钟功能,用555定时器实现闹钟的设定

6、。但这种实现方法可靠性差、控制精度低,灵活性小、线路复杂、安装调试不方便,而且不方便实现对系统的扩展。方案二:采用STC89C52单片机作为控制器。与纯硬件电路系统相比,单片机有以下优点:1) 有优异的价格性能。2) 集成度高、体积小、有很高的可靠性。3) 控制功能强。为了满足工业控制的要求,AT89C51单片机的指令系统中有极丰富的转移指令、I/O口的逻辑操作以及位处理功能。4) 低功耗,低电压,便于生产便携产品.5) 单片机的系统扩展、系统配置较典型、规范,容易构成各种模型的应用系统。综上所述,本设计采用方案二。(2)键盘模块本设计中有四个按键,分别实现开始、保存、清零和查看功能。这四个键

7、可以采用中断的方法,也可以采用查询的方法来识别。本设计采用独立式按键电路。每个键单独占有一根I/O接口线,每个I/O口的工作状态互不影响,此类键盘采用端口直接扫描方式。但是当按键较多时占用单片机的I/O数目较多。(3)显示模块使用多个数码管显示。LED数码管是利用二极管发光显示数字和字母,具有亮度大、采用动态扫描法与单片机相连接时,占用的单片机口线少,接口设计比较容易,价格相对较便宜等优点。2.3 总体方案按照上述方案论证的结果,数字秒表的总体方案框图如图2.3所示。图2.3 总体方案框图用一个4位8段的数码管显示作为“秒表”,显示时间范围为00.0099.99秒,计时精度达到0.01秒。利用

8、其定时器的原理,数码管以及定时器中断来设计计时器。将软硬件结合起来,使得系统能实现0.0099.99秒的计时。另外,通过独立按键的设计来对秒表进行控制。key1键控制计时的开始、key2键控制计时时的保存数据然后可以通过key4键控制数据的输出(可以保存十个,该功能可用于赛跑中的计时)、key3键控制“清零”。3 硬件电路设计3.1 单片机及其外围电路对于单片机来说,想让单片机运行必须要有:电源、晶振和复位电路。如果没有这几个必备条件,单片机无法正常运行。数字电子秒表具有显示直观、读取方便、精度高等优点,在计时中广泛使用。本设计用单片机组成数字电子秒表,力求结构简单、精度高为目标。 设计中包括

9、硬件电路的设计和系统程序的设计。其硬件电路主要有主控制器,计时与显示电路和回零、启动和快加电路等。主控制器采用单片机8051,显示电路采用两位共阳极LED数码管显示计时时间。本设计利用8051单片机的定时器/计数器定时和记数的原理,使其能精确计时。利用中断系统使其能实现开始和复位的功能。P0口输出段码数据,74LS164用作驱动输出,P1.1、P1.2、P3.2、P3.3口接四个按钮开关,分别实现记录、读取、开始和复位功能。电路原理图设计最基本的要求是正确性,其次是布局合理,最后在正确性和布局合理的前提下力求美观。硬件电路图单片机最小系统如图3.1.1所示。图3.1.1 单片机最小系统3.2

10、按键电路本设计中有四个按键,分别实现开始、保存、复位和查看功能。这四个键采用中断的方法。对于复位键和查看键,主要功能在于数值复位和对上次计时时间的查看,对于时间的要求不是很严格,而开始和暂停键主要用于时间的锁定,需要比较准确的控制。对复位键和查看键采用查询的方式,而对于开始和暂停键采用外部中断。四个按键均采用低电平有效,具体电路连接图如图3.2.1所示。图3.2.1 按键电路当按键没有按下时,单片机的I/O口直接连接电源,因此需要接上拉电阻来进行限流,本设计中选取阻值为2k 的电阻作为上拉电阻,根据计算可知此时的灌电流为2.5mA,查看8052的资料得知次电流在安全范围内,符合安全设计要求。按

11、键电路中由于采用了外部中断,所以需要用到P3口的第二功能。P3口引脚的第二功能如表3.2.2所示。表3.2.2 P3口引脚第二功能表 P3口引脚特殊功能P3.0RXD(串行输入口)P3.1TXD(串行输出口)P3.2INT0(外部中断0请求输入端)P3.3INT1(外部中断1请求输入端)P3.4 T0(定时器/计数器0计数脉冲输入端)P3.5 T1(定时器/计数器1计数脉冲输入端)P3.6WR(片外数据存储器写选通信号输出端)P3.7 RD(片内数据存储器读选通信号输出端)3.3 数码管显示电路对于数字显示电路,通常采用液晶显示或数码管显示。本设计的显示电路采用8段数码管作为显示介质。具体电路

12、连接图如图3.3.1所示。数码管显示可以分为静态显示和动态显示两种。由于本设计需要采用4位数码管显示时间,如果静态显示则占用的口线多,硬件电路复杂。所以采用动态显示。动态显示是一位一位地轮流点亮各位数码管,这种逐位点亮显示器的方式称为位扫描。通常各位数码管的段选线相应并联在一起,由一个8位的I/O口控制;各位的公共阴极位选线由另外的I/O口线控制。动态方式显示时,各数码管分时轮流选通,要使其稳定显示必须采用扫描方式,即在某一时刻只选通一位数码管,并送出相应的段码,在另一时刻选通另一位数码管,并送出相应的段码,依此规律循环,即可使各位数码管显示将要显示的字符,虽然这些字符是在不同的时刻分别显示,

13、但由于人眼存在视觉暂留效应,只要每位显示间隔足够短就可以给人同时显示的感觉。图3.3.1 数码管电路数码显示管分为共阳数码管和共阴数码管两种,本设计采用共阳极数码管显示。共阳极数码管的8个发光二极管的阳极(二极管正端)连接在一起,通常,公共阳极接高电平(一般接电源),其它管脚接段驱动电路输出端。当某段驱动电路的输出端为低电平时,则该端所连接的字段导通并点亮,根据发光字段的不同组合可显示出各种数字或字符。此时,要求段驱动电路能吸收额定的段导通电流,还需根据外接电源及额定段导通电流来确定相应的限流电阻。本设计采用共阳极数码显示管做显示电路,由于采用的是共阳的数码显示管,所以只要数码管的a、b、c、

14、d、e、f、g、h引脚为高电平,那么其对应的二极管就会发光,使数码显示管显示09的编码见表3.3.2。动态显示电路由显示块、字形码驱动模块、字位驱动模块三部分组成。表3.3.2 共阳极数码显示管字型代码字型共阴极代码字型共阴极代码0C0H592H1F9H682H2A6H7F8H3B0H880H499H990H4个数码管的8段段选线分别与外接上拉电阻的单片机P0口对应相连,而4个数码管的位控制端则和NPN型三极管的集电极相连接。单片机的P2.0P2.4口则分别对应数码显示管的最低位到最高位,P2.0P2.4口分别和五个NPN型三极管的基极相连,做三极管导通的控制端,而NPN型三极管选用9013型

15、三极管。根据9013的资料显示:其耐压值为40V,最大功率为0.65W,最大电流为0.5A,电气性能完全满足本设计的要求。另外数码管显示是采用动态显示,所以对三极管的开关频率有一定的要求。根据电子秒表的设计计算可知动态显示的频率最高为3KHz,而9013的导通频率为150MHz,完全能满足本设计的要求,所以最终选取9013三极管最为位控制开关。由于数码管是有P0口来驱动,它内部没有上拉电阻,作为输出口时驱动能力比较弱,不能点亮数码显示管,因此P0口必须接上拉电阻来提高驱动能力。另外一位共阴数码管的驱动电流一般为20mA左右,如果电流太大容易造成数码管损坏,所以也需要根据电源的电压值来确定上拉电

16、阻的大小。如果电阻过小,势必会形成灌电流过大,造成单片机IO的损坏,如果电阻过大,那么对拉电流没有太大的影响。电源供电电压为5V,当上拉电阻选用220电阻时灌电流为22mA。不会损坏单片机的I/O口,同时也可以为数码显示管起到限制电流的保护作用。 4 系统软件设计系统软件分为主程序、中断服务程序和子程序三部分。4.1 主程序设计在本软件设计中,用到了4个数码管,4个独立键盘,一个定时器中断,还有一些复位电路等等。图4.1.1 主程序流程图对于本程序设计的结果,首先,当硬件上电后在数码管上显示了4个零,最右边的两位数为秒位,最前面2位每一次循环是99次,没循环一次的时间是一秒钟。程序定义的4个独

17、立键盘,第一个是启动秒表,按下去后,经过软件判断,秒表开始启动。第二个按键是记录按键,按下后,记录秒数。第三个按钮按下后为复位,清除全部记录,秒表复位。最后一个按键是读数按键,按下后,显示所记录的时间,一共有十组。以上是程序的大概要求。那么对于程序设计思路是:首先,开始,运行程序,接着进入主函数。第一步就是对程序的初始化了,对刚开始的数码管显示以及定时器的打开,定时器的高八位和第八位的复制,定时器的启动等进行初始化。完成了这个工作后,进入一个大循环,在该循环里,就是本程序的主要部分了。因为我是同时亮4个数码管,必然采用的是动态显示;因为有一个定时器中断,则必然有一个中断程序,由于采用的是T0定

18、时器,所以优先级别是1.在主程序中,主要部分就是对按键的判别,因为有4个按键,所以要判别4次。对第一个按键,首先判定按键有没有按下,如果按下,什么也不做,直接判断有没有松开按键,一旦松开后,则立刻启动定时器,此刻定时器开始运行。对于第二个按键,还是首先判断有没有按下,一旦按下,立刻停止定时器,同时对16位定时计数器的高八位和第八位再赋值一次,和以前的赋值是一样的。此刻,数码管上的数字不再改变,秒表停止。接着是最后一个按键,还是判断有没有按下按键,一旦按下,对数码管运行的数全部清零,清零后,数码管再次显示4个零。如果此时再按下第一个按键,秒表从新开始运行,以此类推如图4.1.1所示。4.2 中断

19、服务程序设计现方案中采用了定时中断服务,当定时/计数器T0器溢出后,向CPU发出中断请求信号。CPU跳转到定时中断程序执行,具体流程如图2.4。每过10ms进入中断服务函数一次,num计数值加1,表示10ms已过,这是数码管最低位加1。中断服务流程图如下图4.2.1所示。图4.2.1 中断服务函数流程图中断服务函数如下所示:void to() interrupt 1/定时器1中断服务程序 TH0=(65536-10000)/256; TL0=(65536-10000)%256; num+;/num的值每加1,表明10ms过去,即0.01s4.3 部分主要子程序的设计本设计仅有的子程序为中断服务

20、程序,详见4.2章节。5 系统调试与总结系统研制完成后,在单片机开发板上实现硬件电路,再通过软件将程序烧录进单片机中。5.1 系统功能测试系统上电后,显示正常,进行了以下测试。1.开启计时器功能测试。2.记录秒数功能(可以记录十组时间)。3.查看记录的秒数功能(可以循环查看十足记录的时间)。4.计时器复位功能。上述测试结果与预期相符。5.2 总结本设计是基于单片机控制的数字秒表,系统的成本较低,但实用价值很高而且采用的技术较为稳定而且成熟,另外系统的应用要求不是很高。通过这次课程设计,我学到了许多知识,还学到了许多思考问题的方法,受益非浅。提高了分析问题、解决问题的能力。这次课程应用系统设计的

21、目的是通过在“单片机原理及应用”课堂上学习的知识,以及查阅资料,培养一种自学的能力。把学到的知识应用到日常生活当中,全面提高个人系统开发的综合能力,开拓了思维,为今后在相应工作岗位上的工作打下了坚实的基础。在设计过程中,我遇到了很多问题,当然这些也是不可避免的,但我并没有急于寻求问题的答案,而是认真分析问题存在的原因,从而着手解决问题,以免以后出现类似的问题。参考文献1 张迎新单片微型计算机原理、应用及接口技术(第2版)M北京:国防工业出版社,20042 伟福LAB6000系列单片机仿真实验系统使用说明书3 阎石数字电路技术基础(第五版)北京:高等教育出版社,20064 胡汉才.单片机原理及其

22、接口技术清华大学出版社 .2004 4 郭天祥. 新概念51单片机C语言教程.电子工业出版社,20094 康华光. 模拟电子技术基础(第五版).高等教育出版社,2006 5 彭伟. 单片机C语言程序设计实训100例.基于8051+Proteus仿真.电子工业出版社,2009附录A 系统原理图附录B 源程序#include#define uint unsigned int#define uchar unsigned char unsigned char code shuma = 0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x40;/数码管

23、显示uint table10=0;sbit s0=P30;/开始sbit s1=P31;/清零sbit s2=P32;/保存sbit s3=P33;/显示保存的值uchar flag=7;uint num=0;char flag1=0;void timeinit()/定时器初始化 TMOD=0X01; TH0=(65536-9000)/256;/定时器赋初值 TL0=(65536-9000)%256; EA=1;/开总中断 ET0=1;/开始计时void delay(uint ss)/延时子函数 uint a,b; for(a=ss;a0;a-) for(b=110;b0;b-);void d

24、isplay(uint a)/数码管显示数字子程序 uchar a1,a2,a3,a4;/a1是最高位 a4=a%10;/依次分离最高位到最低位 a3=(a/10)%10; a2=(a/100)%10; a1=(a/1000)%10; P2=0xef;/第一个数码管显示 P0=shumaa1; delay(5); P2=0xdf;/第二个数码管显示 P0=(shumaa2|0x80); delay(5); P2=0xbf;/第三个数码管显示 P0=shumaa3; delay(5); P2=0x7f;/第四个数码管显示 P0=shumaa4; delay(5); void key() if(s

25、0=0)/判断按键1是否按下 delay(10); if(s0=0) flag=0; while(!s0); if(s1=0)/判断按键2是否按下 delay(10); if(s1=0) flag=1; while(!s1); if(s2=0)/判断按键3是否按下 delay(10); if(s2=0) flag=2; while(!s2); if(s3=0)/判断按键4是否按下 delay(10); if(s3=0) flag=3; if(flag19) flag1=0; flag1+; while(!s3); void main()/主函数 uchar b1=0; uchar i; tim

26、einit();/定时器初始化 while(1) if(flag=0) TR0=1;/开始计时 else if(flag=2) /清零 TR0=0;/停止计时 num=0;/清计数值 b1=0; flag1=0; for(i=0;i9) b1=0; tableb1=num; b1+; flag=0; if(flag=0|flag=2) display(num);/显示当前时间 else if(flag=3) display(tableflag1-1);/显示刚才保存的时间 key(); /按键扫描 void to() interrupt 1/定时器1中断服务程序 TH0=(65536-10000)/256; TL0=(65536-10000)%256; num+;/num的值每加1,表明10ms过去,即0.01s 20

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

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

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


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