ImageVerifierCode 换一换
格式:DOCX , 页数:25 ,大小:1.78MB ,
资源ID:6677762      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/6677762.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(单片机设计秒表报告.docx)为本站会员(b****6)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

单片机设计秒表报告.docx

1、单片机设计秒表报告2016年电子工程专业2014级卓越工程师班单片机与微机原理及应用课程设计报告设计题目: 顺计时秒表及倒计时秒表设计 专业班级: 电子卓越1401班 学生姓名: 林晓强 学生学号: 5120141478 指导教师: 聂诗良、许超(助教) 答辩日期: 第13周周六上午9点 答辩地点: 综合楼4-311实验室 西南科技大学信息工程学院制2016年5月 目 录1.摘要 11.1课程设计制作题目及要求 22.系统方案设计 22.1设计思路 22.2总体设计框图 33.硬件设计 33.1 硬件选型 33.2 系统硬件电路原理详图 43.3 实际连线详图 53.3.1共阴极数码管原理图以

2、及四位数码管引脚图 63.3.2红绿灯模拟仿真电路 63.3.3 51单片机主控实物图以及原理图 64.软件设计 64.1 软件功能设计 64.2 软件流程设计 74.2.1主流程图 84.2.2 按键判断 94.2.3 数码管显时 105.软件调试 105.1 单元调试 105.1.1 显示模块测试 105.1.2 按键模块测试 115.2 总体测试 116.心得体会 117.参考文献 12附录1 13附录2 26顺计时秒表以及倒计时秒表设计1摘要(1) 近年来随着科技的飞速发展,单片机的应用正在不断的走向深入,同时带动着传统控制检测日新月异更新。在实时检测和自动控制的单片机应用系统中,单片

3、机往往是作为一个核心部件来使用,仅单片机方面的知识是不够的,还要根据具体的硬件结构,以及针对具体的应用对象的软件结合,加以完善。(2) 人们在日常生活中,有很多时候要精确地计算时间,但往往因为人为因素造成人们不愿意看到的误差。秒表的出现,解决了传统的由于人为因素造成的误差和不公平性。 (3) 本次设计主要完成具备基本功能的电子秒表的理论和实践设计,电子秒表是重要的记时工具,广泛运用于各行各业中。作为一种测量工具,电子秒表相对其它一般的记时工具具有便捷、准确、可比性高等优点。不仅可以提高精确度,而且可以大大减轻操作人员的负担,降低错误率。因此电子秒表常常用于体育竞赛及各种其他要求有较精确时间的各

4、领域中。其中开启、停止按键的使用方法与传统的机械计时器相同,即按一下开启按键,启动计时器开始计时,按一下停止按键计时终止。而复位按键可以在任何情况下使用,即使在计时过程中,只要按一下复位按键,计时应立即终止,并对计时器清零。(4) 在有些时刻会涉及到倒计时的功能,比如在10S内要完成什么任务,这就要用到一定时间的定时器,这里为秒表增加了一个倒计时的功能手动设置初值,然后开始倒计时,大大增加了这个设计的实用性。1.1课程设计制作题目及要求用AT89S52单片机设计顺计时和倒计时功能的电子秒表。要求:用四位数码管显示时间,最高位显示分,精确到0.1S,启动按键、暂停按键、清零按键按键,采用单片机内

5、部定时器方式计时。要求: (1)顺计时秒表:在系统开始运行之后,按键四控制定时器的开启,如果系统没有进入倒计时模式,则按下按键四直接开始秒表计时,计时最大长度为9分59秒。(2)暂停、继续计时:在顺计时或倒计时过程中,按键三可以控制定时器的暂停,这样可以起到暂停计时的作用,再次按下这个按键,又重新启动定时器,继续上一次的时间开始计时。(3)倒计时:在系统刚开始通电时,如果给系统赋值,则系统自动进入倒计时模式,在设置完初值过后,按下按键四开启定时器,开始计时。(4)复位按键在任何时间都可以起到清零的作用。2.系统方案设计2.1设计思路 通过设置模式倒计时还是顺计时两种,分别进去两种模式,这个模式

6、切换可以通过按键来控制,秒表的时间显示我们用4位数码管,这样既容易操作,也容易理解,在秒表运行的过程中吗,还可以通过按键来进行中断,使秒表暂停或者继续计时。 在秒表设计中,时间的精准度是设计的一大要素,所以设计的时间控制用AT89s52的定时器进行,设定定时器初值为46080,(由于晶振为11.0592,故所记次数应为46080,计时器每隔50000微秒发起一次中断),记录20次中断标志为1s,同时用口的电平转换来检测按键,来判断相应的功能。用数码管显示时刻相应的时间。2.2总体设计框图3.硬件设计3.1 硬件选型单片机特点:(1)高集成度,体积小,高可靠性 单片机将各功能部件集成在一块晶体芯

7、片上,集成度很高,体积自然也是最小的。芯片本身是按工业测控环境要求设计的,内部布线很短,其抗工业噪音性能优于一般通用的CPU。单片机程序指令,常数及表格等固化在ROM中不易破坏,许多信号通道均在一个芯片内,故可靠性高。 (2)控制功能强 为了满足对对象的控制要求,单片机的指令系统均有极丰富的条件:分支转移能力,I/O口的逻辑操作及位处理能力,非常适用于专门的控制功能。 (3)低电压,低功耗,便于生产便携式产品 为了满足广泛使用于便携式系统,许多单片机内的工作电压仅为1.8V3.6V,而工作电流仅为数百微安。 (4)易扩展 片内具有计算机正常运行所必需的部件。芯片外部有许多供扩展用的三总线及并行

8、、串行输入/输出管脚,很容易构成各种规模的计算机应用系统。 (5)优异的性能价格比 单片机的性能极高。为了提高速度和运行效率,单片机已开始使用RISC流水线和DSP等技术。单片机的寻址能力也已突破64KB的限制,有的已可达到1MB和16MB,片内的ROM容量可达62MB,RAM容量则可达2MB。由于单片机的广泛使用,因而销量极大,各大公司的商业竞争更使其价格十分低廉,其性能价格比极高。数字逻辑电路特点:用数字电路逻辑器件组成控制电路,这样原理简单清楚,但是调节起来很复杂,需要更改电路结构。 根据设计要求及设计的需要我采用单片机来作为控制手段,选用AT89S52单片机作为该课程设计的核心来对数字

9、信息进行处理及储存。它是一个低电压,高性能的CMOS 8位单片机,片内含8k bytes的可反复擦写的Flash只读程序存储器和256 bytes的随机存取数据存储器(RAM),器件采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准MCS-51指令系统,有40个引脚,32个外部双向输入/输出(I/O)端口,同时内含2个外中断口,3个16位可编程定时计数器,2个全双工串行通信口,2个读写口,AT89S52可以按照常规方法进行编程,也可以在线编程。3.2 系统硬件电路原理详图3.2.1复位电路原理图以及时钟电路原理图3.3 实际连线详图3.3.1共阴极数码管原理图以及四位数码管引脚图 3.

10、3.2红绿灯模拟仿真电路3.3.3 51单片机主控实物图以及原理图 4.软件设计4.1 软件功能设计 利用单片机的定时器产生准确的时钟信号,从而进行时间控制,控制十字路口的红、黄、绿灯交替亮灭。并且使用共阴极四位LED数码管,时刻显示当前路口的红灯或者绿灯还将持续的时间。两个方向的通行时间可用按键进行设置,可以控制路口的红绿灯的持续时间,这样模拟现实中的不同时间段,车流量不同而智能控制时间,这样更加合理的控制路口的通行,提高道路的通行效率,系统的启停和复位也由按键控制。4.2 软件流程设计4.2.1主流程图4.2.2 按键判断4.2.3 数码管显时5.软件调试5.1 单元调试5.1.1 显示模

11、块测试 首先在硬件电路上按照要求连接数码管,然后由单片机控制,看能否控制数码管显示任何组合,测试通过则开始调试红绿灯程序代码,不通过则检查问题,硬件问题或者软件问题。 最后在中断完成扫描一次数码管,看数码管的显示是否良好,消隐是否消彻底,测试完成后,确认无误则进行下一步测试。5.1.2 按键模块测试 在按键接入电路之后,用万用表的测试通断档检测每个按键按下时,按键是否接通如果接通,则按键电路硬件无误,在软件程序里面测试,每个检测按键的程序都延时一小段时间在检测按键情况,如果按键情况不变,则判断执行按键程序,如若延时后按键情况消失,则判断为系统的电源抖动,不予处理。5.2 总体测试 在程序搭建完

12、成之后,结合硬件进行最后的测试,用按键控制时间加减,然后观察程序的BUG,做多种尝试,尽量消除完程序存在的BUG,比如时间如果减为0,或者时间加到数码管显示的最大值之后怎么处理,都是我们程序里面要考虑到的问题,然后检测中断程序控制的 时间与实际时间的差距,尽量调整时间没有差距,这也是程序控制与实际的结合,达到误差标准之后,然后运行程序,要求时间持续时间长,如果出现问题,那么就要分析问题原因,是硬件问题还是软件BUG,将问题处理完之后,作品完成。6.心得体会 在调试的过程中,遇到很多问题,第一、不够细心比如由于粗心大意焊错了线,由于对单片机理论的不熟悉导致编程出现错误。第二,是在学习态度上,这次

13、课设是对我的学习态度的一次检验。对于这次单片机综合课程实习,我的第一大心得体会就是作为一名工程技术人员,要求具备的首要素质绝对应该是严谨。我们这次实习所遇到的多半问题多数都是由于我们不够严谨。第三,在做人上,我认识到,无论做什么事情,只要你足够坚强,有足够的毅力与决心,有足够的挑战困难的勇气,就没有什么办不到的。在这次难得的课程设计过程中我锻炼了自己的思考能力和动手能力。通过题目选择和设计电路的过程中,加强了我思考问题的完整性和实际生活联系的可行性。在方案设计选择和芯片的选择上,培养了我们综合应用单片机的能力,对单片机的各个管脚的功能也有了进一步的认识。还锻炼我们个人的查阅技术资料的能力,动手

14、能力,发现问题,解决问题的能力。并且我们熟练掌握了有关器件的性能及测试方法。再次感 谢老师的辅导以及同学的帮助,是他们让我有了一个更好的认识,无论是学习还是生活,生活是实在的,要踏实走路。课程设计时间虽然很短,但我学习了很多的东西,使我眼界打开,感受颇深。7.参考文献1 周伟,淮阴师范学院,数学科学学院,c语言程序设计课程教学研究,维普期刊资源整合服务平台。2 谭浩强,c语言程序设计(第四版),清华大学出版社,北京,2010年。3郭天祥. 十天学会单片机。附录1C语言源程序代码#include#include#define uint unsigned int /宏定义#define uchar

15、 unsigned char /宏定义sbit K1=P10; /定义按键1为加时间sbit K2=P11; /定义按键2为减时间sbit K3=P12; /定义按键3为暂停时间sbit K4=P13; /定义按键4为开始计时uchar code wetable= 0xf7,0xfb,0xfd,0xfe ;/数码管位选 0xfe,0xfd,0xfb,0xf7 /共阳极数码管 0xef,0xdf,0xbf,0x7fuchar code dutable= 0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90,0xBF;/数码管段选 /共阳极数码管0x3

16、f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6fuchar code dutable1= 0x40,0x79,0x24,0x30,0x19,0x12,0x02,0x78,0x00,0x10,0xBF; /数码管段选-加点uint closedu,closewe,ge,count,doucount,dounum,shi,shi1,ge1,doucount,dounum1;/定义大变量uchar wenum,num1,num=0,doufirst=0,fen=0,doufirst1=0; /定义小变量void delay(uint z); /微小延时函数

17、函数声明void init(); /定时器初始化函数声明void display(uint fen,uint shi,uint ge,uint doufrist); /显示函数声明void display1(uint fen,uint shi1,uint ge1,uint doufrist1); /显示函数声明void main() /主函数 P1=0xFF; /P1口清零(段选口) while(1) if(K1=0) /按键1按下 delay(500); /延时消抖 if(K1=0) /确认按键1按下 num1+; /秒时间加1 if(num1=60) /按键设定时间是秒数不能大于60, num1=0; fen+; if(fen9) /按键设定时间是分钟数不能大于9 fen=0; shi1=num1/10; ge1=num1%10; delay(500); if(K2=0) delay(500); if(K2=0) num1-; /秒时间减1 if(num1=0) /按键设定时间是秒数不能小于0, num1=60 ; if(fen0;x-) for(y=0;y59) num=0; fen+; if(num1=0) num1=60; fen-; shi=num/10; ge=num%10; shi1=num1/10; ge1=nu

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1