完美升级版基于单片机的多功能秒表毕业论文 - 图文
更新时间:2024-04-18 19:18:01 阅读量: 综合文库 文档下载
- 51单片机升级版推荐度:
- 相关推荐
(此文档为word格式,下载后您可任意编辑修改!)
郑州科技学院
单片机课程设计
题 目 基于单片机的
多功能秒表
学生姓名 陈裕禄 专业班级 11级通信工程2班 院 (系) 信息工程学院 指导教师 周喜 完成时间 2015 年 1 月 16 日
目 录
1 设计概述 ................................................................................... 1
1.1 设计目的 ........................................................................ 1 1.2 设计要求 ........................................................................ 1 1.3 设计意义 ........................................................................ 1 2 系统总体方案及硬件设计 ..................................................... 2
2.1 系统总体方案 ................................................................ 2 2.2 硬件设计 ........................................................................ 2 2.3 时钟电路 ........................................................................ 3 2.4 复位电路 ........................................................................ 4 2.5 按键电路 ........................................................................ 5 2.6 显示电路 ........................................................................ 6 3 软件设计 ................................................................................... 7
3.1 设计思路 ........................................................................ 7 3.2 程序流程框图设计 ........................................................ 7 4 PROTEUS软件仿真 ............................................................... 9 5 课程设计体会 ........................................................................ 10 参考文献 ..................................................................................... 12 附录1:总体电路原理图 ........................................................ 13 附录2:元器件清单 ................................................................. 14
附录3:实物图 ......................................................................... 15 附录4:源程序 ......................................................................... 16
1 设计概述
1.1 设计目的
设计一个单片机控制的秒表系统。利用单片机的定时器计数器定时和记数的原理,结合显示电路、LED数码管以及按键来设计秒表。将软、硬件有机地结合起来,使得系统能够正确地进行计时,同时具有开始暂停,记录,上翻下翻,清零等功能。
1.2 设计要求
(1)共四位LED显示,显示时间为00:00~59.99
(2)共五个按键,分别是开始暂停,记录,上翻,下翻,清零键;
(3)能同时记录多个相对独立的时间并分别显示; (4)按上下翻按钮查看多个不同的计时值;
1.3 设计意义
(1)通过本次课程设计可以使我们进一步熟悉和掌握单片机内部结构和工作原理,了解单片机应用系统设计的基本步骤和方法。
(2)通过利用AT89C51单片机,理解单片机在自动化仪表中的作用以及掌握单片机的编程方法。
(3)通过设计一个简单的实际应用输入及显示模拟系统,掌握单片机仿真软件PROTEUS的使用方法。
(4)该实验通过单片机的定时器计数器定时和计数原理,设计简单的计时器系统,拥有正确的计时、暂停、清零、功能,并能同时记录
多个相对独立的时间利用翻页按钮查看多个不同的计时值,该种秒表在现实生活中应用广泛,具有现实意义。
2 系统总体方案及硬件设计
2.1 系统总体方案
本系统采用AT89C51单片机为中心器件,利用其定时器计数器定时和记数的原理,结合硬件电路如电源电路,晶振电路,复位电路,显示电路,以及一些按键电路等来设计计时器,将软、硬件有机地结合起来。其中软件系统采用汇编语言编写程序,包括显示,计数,中断,延时,按键消抖程序等,并在编程软件中调试运行,硬件系统利用PROTEUS强大的功能来实现,简单且易于观察,在仿真中就可以观察到实际的工作状态。
2.2 硬件设计
MCS-51系列单片机是8位单片机产品,89C51是其中的典型代表,基本模块包括以下几个部分:
(1)CPU:89C51的CPU是8位的,另外89C51内部有1个位处理器
(2)R0M:4KB的片内程序存储器,存放开发调试完成的应用程序
(3)RAM:256B的片内数据存储器,容量小,但作用大 (4)IO口:P0-P3,共4个口32条双向且可位寻址的IO口线 (5)中断系统:共5个中断源,3个内部中断,2个外部中断 (6)定时器计数器:2个16位的可编程定时器计数器
(7)通用串行口:全双工通用异步接收器发送器
(8)振荡器:89C51的外接晶振与内部时钟振荡器为CPU提供时钟信号
(9)总线控制:89C51对外提供若干控制总线,便于系统扩展 89C51单片机引脚图如图2-1所示:
图2-1 89C51单片机引脚图
2.3 时钟电路
89C51芯片内部有一个高增益反相放大器,用于构成振荡器。引线 XTAL1和XTAL2分别为反向放大器的输入和输出,两端跨接石英晶体及两个电容就可构成稳定的自激振荡器。
这里,我们选用51单片机12MHZ的内部振荡方式,电容器C1,C2起稳定振荡频率,并对振荡频率有微调作用,C1和C2可在20-100PF之间取值,这里取33P,则时钟电路图如图2-2所示:
C233pX1CRYSTAL19U1XTAL1C11833pXTAL2图2-2 时钟电路图 9 2.4 复位电路 采用上电加按键复位电路,上电后,由于电容充电,使RST持续一段高电平时间。当单片机已在运行之中时,按下复位键也能使RST持续一段时间的高电平,从而实现上电加按键复位的操作。复位电路如图2-3所示: XTAL2R6200RC3复位922u R7800RRST
图2-3 复位电路
2.5 按键电路
在按键电路中,我们可以在IO口上直接接按键,或者通过IO口设计一个键盘,然后通过键盘扫描程序判断是否有键按下等。键盘扫描电路节省IO口,但编程有些复杂,在这里,由于我们所用的按键较少,且系统是一个小系统,有足够的IO口可以使用,为了使程序简化,我们采用按键电路,用部分P1口做开关,P1.0开始暂停,P1.1记录,P1.2上翻,P1.3下翻,P1.4清零。对于按键的设计,采用了防抖动的程序设计,使系统的性能得到进一步的提升。当按键被按下时,相应的引脚被拉低,经扫描后,获得键值,并执行键功能程序,因此按下不同的按键,将执行不同的功能程序。按键电路图如图2-4所示:
R1R2R3R4R51k1k1k1k1k开始/暂停记录上翻下翻清零 图2-4 按键电路图
2.6 显示电路
显示电路既可以选用液晶显示器,也可以选用数码管显示。我们采用的是数码管显示电路。用四个共阴极LED显示,LED是七段式显示器,内部有7个条形发光二极管和1个小圆点发光二极管组成,根据各管的亮暗组合成字符。
在用数码管显示时,我们有静态和动态两种选择,静态显示程序简单,显示稳定,但是占用端口比较多;动态显示所使用的端口比较少,可以节省单片机的IO口。
在设计中,我们采用LED动态显示,用P0口驱动显示。由于P0口的输出级是开漏电路,用它驱动时需要外接上拉电阻才能输出高电平。显示电路图如图2-5所示:
RP1RESPACK-81P0.0/AD0P0.1/AD1P0.2/AD2P0.3/AD3P0.4/AD4P0.5/AD5P0.6/AD6P0.7/AD7P2.0/A8P2.1/A9P2.2/A10P2.3/A11P2.4/A123938373635343332212223242523456789 图2-5 显示电路图
3 软件设计
3.1 设计思路
在软件设计中,一般采用模块化的程序设计方法,它具有明显的优点。把一个多功能的复杂的程序划分为若干个简单的、功能单一的程序模块,有利于程序的设计和调试,优化和分工,提高了程序的阅读性和可靠性,使程序的结构层次一目了然。应用系统的程序由包含多个模块的主程序和各种子程序组成。各程序模块都要完成一个明确的任务,实现某个具体的功能,如:计数、延时、和显示等,在具体需要时调用相应的模块即可。用四位LED数码管显示时间。一个\开始暂停\键,一个\复位\键,一个“记录”键,可同时记录八个相对独立的时间;一个“上翻”键,一个“下翻”键,查看八个不同的计时值。五个按键分别通过五个端口控制秒表的五个功能。
3.2 程序流程框图设计
程序流程框图如图3-1所示
图3-1 程序流程框图
4 PROTEUS软件仿真
将以上程序清单导入先前做好的Proteus仿真电路中,汇编之后,按仿真键开始进行仿真。仿真结果如图4-1所示:
RP1RESPACK-8C133pC233p1X1CRYSTALR6200RC322u复位19U1XTAL1P0.0/AD0P0.1/AD1P0.2/AD2P0.3/AD3P0.4/AD4P0.5/AD5P0.6/AD6P0.7/AD7P2.0/A8P2.1/A9P2.2/A10P2.3/A11P2.4/A12P2.5/A13P2.6/A14P2.7/A15P3.0/RXDP3.1/TXDP3.2/INT0P3.3/INT1P3.4/T0P3.5/T1P3.6/WRP3.7/RD393837363534333221222324252627281011121314151617R7800R18XTAL29RSTR11kR21kR31kR41kR51k293031PSENALEEA开始/暂停记录上翻下翻清零12345678P1.0P1.1P1.2P1.3P1.4P1.5P1.6P1.7AT89C5123456789 图4-1 仿真结果图
仿真结果描述:
按“开始”键,秒表开始计时;按“暂停”键,秒表暂停计时;按记录键,秒表记录时间,共可记录八个数值;按上翻下翻键,可查看这八个不同的计时值。 结论及进一步设想:
根据实验要求,本次课设基本完成了设计要求,由于秒表系统并不一定仅仅局限于计时,定时等功能,还可以进行多项的扩展,可以利用AT89C51强大的扩展功能,进一步丰富秒表的功能,例如可设定计时时间,倒计时等等众多功能。单片机以其强大的功能和良好的兼容性可以更好地为我们服务,通过查阅各种资料,多了解一些单片机有关知识,可以为以后的工作和学习生活创造更多的便利条件。
5 课程设计体会
通过本次课程设计,我深刻地认识到自己有很多不足之处,比如在自主学习能力方面的不足,实际动手操作能力的不足等。 这次的单片机课程设计是理论与实践相结合的范例。该设计从头到尾都要自己参与进来,熟悉了整个设计流程才能更快地设计出方案并完成设计。
本次课程设计我主要负责硬件电路的设计和查阅相关资料。单片机课程早已结束,相关的知识已经很模糊,导致我在设计硬件电路中遇到了不少麻烦。首先是不知从何入手。虽然小组讨论后确定了秒表要实现的功能,可是没有相关理论知识的熟知和实践操作,画出硬件设计图对我而言毫无头绪。查阅了与89C51单片机相关的资料也阅读了其他人单片机数字秒表的设计,慢慢地我开始了解其中原理,一步步设计出了硬件电路的各个部分,如晶体振荡电路,复位电路,按键电路,显示电路。完成设计后需要运用PROTEUS软件进行设计仿真,由于这是第一次接触这个软件,还不知怎样运用它,查阅该软件的相关资料及看过网上的视频后便开始着手画图,接触后觉得还是挺简单的。
这次的课程设计我与小组同学进行了交流和讨论,我们分工进行设计,从搜索资料到硬件、软件的调试,每一步、每一个细节都经过我们自己的思考,我们共同讨论各方案的比较选择、硬件、软件的设计和调试,最终拿出了我们的成果。在做的过程中不但加深了我们对单片机理论知识的认识和理解还认识到了这门学科在应用方面的广阔前景。
实践是最有高度也是最能体现整体水平的整个设计过程中,我们不断地探索,设计出了很多不一样的硬件电路图,写过了很多不一样的程序,正如设计中如何能使硬件电路图简单明了,程序简单而准确,如何能准确的运行,都是通过与同学老师的交流,慢慢摸索出来的。以上的不断探索,使我们进一步熟悉和掌握单片机内部结构和工作原理,了解单片机应用系统设计的基本步骤和方法。通过利用AT89C51单片机,理解单片机在自动化仪表中的作用以及掌握单片机的编程方法。通过设计一个简单的实际应用输入及显示模拟系统,掌握单片机仿真软件PROTEUS的使用方法。
我们设计的这种具有记录,上翻下翻功能的秒表在现实生活中应用广泛,如体育项目,因此本次课程设计具有现实意义,我很开心能将知识运用到实践中并在自主学习中收获到那么多。
参考文献
[1] 余发山编著. 单片机原理及应用技术. 中国矿业大学出版社, 2003年 [2] 杨凌霄编著. 微型计算机原理及应用. 中国矿业大学出版社,2004年 [3] 杨宁编著. 单片机与控制技术. 北京航空航天大学出版社,2004年 [4] 李群芳主编. 单片机原理、接口及应用. 清华大学出版社,2005年
[5] 胡汉才. 单片机原理及其接口技术(第二版). 清华大学出版社,2004 [6] 李邓化. 智能检测技术及仪表. 科学出版社,2007
[7] 戴佳. 单片机C51语言应用程序设计. 电子工业出版社,2006 [8] 朱民雄. 计算机语言技术. 北京航空航天大学出版社,2002 [9] 李鸿. 单片机原理及应用. 湖南大学出版社,2004
[10] 刘建清. 单片机技术. 国防工业出版社, 2006
附录1:总体电路原理图
RP1RESPACK-8C133pC233p1X1CRYSTALR6200RC322u复位19U1XTAL1P0.0/AD0P0.1/AD1P0.2/AD2P0.3/AD3P0.4/AD4P0.5/AD5P0.6/AD6P0.7/AD7P2.0/A8P2.1/A9P2.2/A10P2.3/A11P2.4/A12P2.5/A13P2.6/A14P2.7/A15P3.0/RXDP3.1/TXDP3.2/INT0P3.3/INT1P3.4/T0P3.5/T1P3.6/WRP3.7/RD393837363534333221222324252627281011121314151617R7800R18XTAL29RSTR1R2R3R4R51k1k1k1k1k293031PSENALEEA开始/暂停记录上翻下翻清零12345678P1.0P1.1P1.2P1.3P1.4P1.5P1.6P1.7AT89C5123456789 附录2:元器件清单
序号 1 2 名称 单片机 数码管 型号规格 AT89C51 7SEG-MPX4-CC 200R 800R 数量 1 1 1 1 3 电阻
1K 4 电容 33pF 22uf PESPACK-8 XTAL18 5 2 1 1 1 6 5 6 7 排阻 晶振 按键开关
附录3:实物图
附录4:源程序
*
1、程序目的:使用定时器学习秒表计时,记录8组数据,通过上翻、下翻键查看记录的数据
2、硬件要求:数码管、晶振12MHz *
#include unsigned char key3_flag=0,key4_flag=0; TMOD |=0x01;定时器0 10ms in 12M crystal 用于计时 TH0=0xd8; TL0=0xf0; ET0=1; TR0=0; TMOD |=0x10; 定时器1用于动态扫描 TH1=0xF8; TL1=0xf0; ET1=1; TR1=1; EA =1; sec=0; 初始化 ms=0; P1=0xff; i=0; j=0; start: while(1) { 开始、暂停 if(!key1) { delay(50); if(!key1) while(!key1) {;} TR0=!TR0; } 记录 判断是否按下 等待按键释放 去抖 判断是否按下 if(!key2) { delay(50); if(!key2) { 去抖 while(!key2) 等待按键释放 {;} if(i==8) 8组数据记录完毕 {TR0=0; goto start;} Sec[i]= sec; 将数据存入数组 Ms[i]= ms; i++; } }上翻 if(!key3) { delay(50); if(!key3) { while(!key3) {;} TR0=0; key3_flag=1; if(j==i) goto start; else if(key4_flag) j+=2; key4_flag=0; 按键3标志 sec=Sec[j];ms=Ms[j]; 显示数组里的内容 j++; } }下翻 if(!key4) { delay(50); if(!key4) { while(!key4) {;} TR0=0; key4_flag=1; if(j<0) goto start; else if(key3_flag) j-=2; key3_flag=0; sec=Sec[j];ms=Ms[j]; j--; } 清零 if(!key5) delay(50); if(!key5) while(!key5) {;} TR0=0; ms=0; 按键4标志 显示数组里的内容 } {
正在阅读:
完美升级版基于单片机的多功能秒表毕业论文 - 图文04-18
很荣幸能成为支教团队中的一员06-28
潮汕螃蟹粥的做法是什么啊12-26
礼泉县大事记05-19
Java数组强化练习11-12
姑苏情作文500字06-30
【2022-2022】关于春节的作文800字-word范文 (4页)04-17
业主入住手册(物业版)10-16
- 多层物业服务方案
- (审判实务)习惯法与少数民族地区民间纠纷解决问题(孙 潋)
- 人教版新课标六年级下册语文全册教案
- 词语打卡
- photoshop实习报告
- 钢结构设计原理综合测试2
- 2014年期末练习题
- 高中数学中的逆向思维解题方法探讨
- 名师原创 全国通用2014-2015学年高二寒假作业 政治(一)Word版
- 北航《建筑结构检测鉴定与加固》在线作业三
- XX县卫生监督所工程建设项目可行性研究报告
- 小学四年级观察作文经典评语
- 浅谈110KV变电站电气一次设计-程泉焱(1)
- 安全员考试题库
- 国家电网公司变电运维管理规定(试行)
- 义务教育课程标准稿征求意见提纲
- 教学秘书面试技巧
- 钢结构工程施工组织设计
- 水利工程概论论文
- 09届九年级数学第四次模拟试卷
- 秒表
- 升级版
- 单片机
- 毕业论文
- 多功能
- 基于
- 完美
- 图文
- 2015年上海市春季高考数学模拟试卷五
- 专利技术分成率的确定方法
- 危险作业工作票(动火、高处、受限空间作业证)
- 对中小型拖拉机改进探讨
- 军兵种常识(周锦)
- 2013年公共基础知识热点问题(七)
- 教育精准扶贫帮扶人应知应会测试题(含答案)
- 运筹学实验2求解非线性规划
- 1、隧道洞身开挖支护施工技术交底书
- 自动化英文文献翻译
- 新课改高中政治探究
- 阿旗双胜司法所积极开展“醉驾入刑”宣传活动 Microsoft Word 文
- 程益中
- 全国百强校山西省运城市康杰中学2017-2018学年高一上学期第一次
- 建设项目评估作业
- 杨坤毕业设计
- 2015-2016牛津苏教版英语四上Unit2 Lets make a fruit salad第二
- 病生习题
- 翻译教程
- 《融资性担保公司管理暂行办法》(中国银监会等七部委令2010第3