湖南工业大学单片机课程设计数字秒表Word文件下载.docx
《湖南工业大学单片机课程设计数字秒表Word文件下载.docx》由会员分享,可在线阅读,更多相关《湖南工业大学单片机课程设计数字秒表Word文件下载.docx(12页珍藏版)》请在冰豆网上搜索。
欧伟明
班级:
学号
2013年12月
目录
设计要求及目的…………………………………………………………………………….2
1.功能分析……………………………………………………………………………………..3
2.总体设计……………………………………………………………………………………..3
2.1晶振电路…………………………………………………………………………………3
2.2复位电路…………………………………………………………………………………4
2.3按键电路…………………………………………………………………………………4
2.4数码管显示电路…………………………………………………………………………6
3.电路总体原理图……………………………………………………………………………...7
4.程序流程图及程序代码……………………………………………………………………...8
4.1程序流程图……………………………………………………………………………….8
4.2程序代码………………………………………………………………………………….9
5.实物连接和焊接……………………………………………………………………………….10
单片机系统课程设计之数字秒表
学院:
电气与信息工程学院班级:
电自1103班姓名:
贺飞成学号:
11401701411
课题
基于单片机的数字秒表的设计
系
统
功
能
要
求
设计一个基于单片机的数字秒表,具体要求如下。
1.最大计数值为:
99时59分59秒9/10秒,约100小时。
2.系统采用2个按键控制输入,其中一个按键用作系统清0,另一个按键用作秒表的启动/停止。
3.系统采用7个共阴LED数码管实现计时显示。
4.电路原理图:
使用protel或visio或proteus绘制。
5.编程思路,用visio画程序设计流程图,且用文字描述。
6.详细的程序清单(KeilC51工程文件夹)。
7.proteus仿真过程及结果(截图,视频)等。
8.制作单片机应用系统开发板
工
具
单片机应用系统开发板(自己制作)
1.单片机芯片型号AT89S51系列
2.LED数码管、按钮开关
进
度
安
排
1.理解设计内容,查阅资料,确定设计思路并撰写计划,完成方案设计以及电路原理图设计,并开始软件设计。
2.主要做程序设计,用实验箱调试程序(验收),撰写实验报告,用A4打印。
一.功能分析
采用8个数码管显示时间,用按键S2清零,按键S3来控制开始和暂停,按键S1来复位,按一下S3则开始计时,再按一下则暂停计时,再按一下S3又开始计时,如此循环下去。
清零按键S2可以在计时的时候开始清零也可以在暂停的时候开始清零。
复位按键可以在任何时候复位。
二.总体设计
2.1晶振振荡电路
89s51单片机内部的振荡电路是一个高增益反相放大器,引线XTAL1和XTAL2分别为反相振荡放大器的输入及内部时钟工作电路的输入和来自反相振荡器的输出,该反相放大器可以配置为片内振荡器。
这里选用51单片机12MHZ的内部振荡方式,电路如下:
C2、C3起稳定振荡频率、快速起振的作用。
晶振电路
2.2复位电路
采用上电加按键复位电路,上电后,由于电容充电,使RST持续一段时间的高电平。
当单片机在运行之中时按下复位键也能使RST持续一段时间的高电平,从而实现上电加开关复位操作。
这不仅能是单片机复位,还能是单片机的外围设备同时复位,当程序出现错误时,可以随时使电路复位。
电路图如下:
复位电路
2.3按键电路
当按键被按下时,相应的引脚被拉低,经扫描后,获得键值,并执行键功能程序,因此按下不同的按键,将执行不同的功能程序。
电路图如下:
按键电路
2.4显示电路
采用8个LED数码管,LED是七段显示器,内部有7个条形发光二极管和1个小圆点发光二极管,根据各管的亮暗组成字符。
在用数码管显示时,有静态和动态两种选择,这里采用LED动态显示,用74hc138译码器驱动显示,用74hc573来进行段选。
数码显示电路
三.电路总体原理图
数字秒表电路
该电路由晶振电路,复位电路,按键电路,数码管显示电路以及89s51单片机构成。
可以实现99小时59分59秒99毫秒的显示。
四.程序流程图及程序代码
4.1程序流程图
4.2源程序代码
五.实物连接和焊接
六.实验心得和体会
通过这次课程设计,我对秒表有了一个比较全面的认识,起初我认为的秒表就是我们跑步跑100米用的那个表,所以我认为秒表设计应该保存上一次的时间,所以自己在完成课程设计的要求后,毅然有尝试写了保存成绩的秒表,功夫不负有心人,我花了3-4天时间终于将它调出来,本来程序写好没花多少时间,只是调试花的时间比较多,特别是排除其他所有问题就剩下一个问题最难调,最后在和队友的讨论下,原来是按键没加松手检测。
那时才恍然大悟,一步一个脚印还是比较难出问题的。
其次的是板子焊接,虽然经历过电子设计大赛后,焊接板子对我来说已经不是那么难了,但是焊接这个板子着实花了我不少时间和精力,从布线到焊接,从焊接到调试,也是一路磕磕碰碰走过来的,虽然是苦了点,但是在这个过程中还是学了不少东西,它让我明白:
“一粥一饭挡死来之不易,半丝半缕恒念万物力维艰”这样一个道理,什么事情你只有付出后,你才会有收获。
关于写程序,这段时间挺有感觉的,可能是因为接连几天都是在写,所以越到后面思维越开阔,点子也越多,所以再碰到问题基本就不会那么苦恼了,因为那时心中总有一股潜在的力量告诉自己,这个问题我可以解决的,只是时间的问题。
所以凭着这股信念,我总共写了大概10个程序左右,其中数字秒表写了3个,分别是:
中断法,按键扫描法,一般程序法;
数字秒表保存成绩也是3个,然后是用汇编写了数字秒表写了2个,分别是:
汇编中断法,和汇编一般程序法。
还是那句话:
其所厚者薄,而其所薄者厚,未之有也。
对于专业知识我们要认真学,同时也得花时间学,同时对于专业内部又得分某个专业领域,如果喜欢某个领域,也得相对其他事情花更多的时间去学,这样你在可能有所建树,才可能成为你立足社会的资本,才不会给业余人看起来什么都会,但是给专业人士看起来什么都不会的那种万能人同时又是万万不能的人。