单片机课程设计数字电子钟Word格式文档下载.docx
- 文档编号:18693397
- 上传时间:2022-12-31
- 格式:DOCX
- 页数:26
- 大小:185.56KB
单片机课程设计数字电子钟Word格式文档下载.docx
《单片机课程设计数字电子钟Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《单片机课程设计数字电子钟Word格式文档下载.docx(26页珍藏版)》请在冰豆网上搜索。
数字钟是采用数字电路实现对时,分,秒,数字显示的计时装置,由于数字集成电路的发展和石英晶体振荡器的广泛应用,使得数字钟的精度,远远超过老式钟表,钟表的数字化给人们生产生活带来了极大的方便,而且大大地扩展了钟表的报时功能。
数字钟已成为人们日常生活中的必需品,广泛应用于家庭、车站、码头、剧院、办公室等场所,给人们的生活、学习、工作带来极大的方便[4]。
不仅如此,在现代化的进程中,也离不开电子钟的相关功能和原理,比如机械手的控制、家务的自动化、定时自动报警、按时自动打铃、时间程序自动控制、定时广播、自动起闭路灯、定时开关烘箱、通断动力设备、甚至各种定时电气的自动启用等,所有这些,都是以钟表数字化为基础的。
而且是控制的核心部分。
因此,研究数字钟及扩大其应用,有着非常现实的意义。
电子钟在工业控制和日常生活中是很重要的,它不仅可以用于计时、提醒又可用于对机器的控制,在自动化的过程中必然有电子钟的参与,因此电子钟的应用会越来越广泛。
而且向着精确、低功耗、多功能发展。
基于单片机设计的数字钟精确度较高,因为在程序的执行过程中,任何指令都不影响定时器的正常计数,即便程序很长也不会影响中断的时间。
从而,使数字钟的精度仅仅取决于单片机的产生机器周期电路和定时器硬件电路的精确度。
另外,程序较为简洁,具有可靠性和较好的可读性。
如果我们想将它应用于实时控制之中,只要对上述程序和硬件电路稍加修改,便可以得到实时控制的实用系统,从而应用到实际工作与生产中去。
数字电子钟的设计方法有多种,例如,可用中小规模集成电路组成电子钟,也可以利用专用的电子钟芯片配以显示电路及其所需要的外围电路组成电子钟还可以利用单片机来实现电子钟等等。
这些方法都各有特点,其中,利用单片机实现的电子钟具有编程灵活,便于功能扩充,精确度高等特点[5]。
基于以上分析,在此次设计中,我选择的是利用单片机制作电子钟。
电子钟的设计本身包括程序的设计和硬件电路的设计[6]。
我的思路是,先进行电路的整体设计,再根据电路进行编程,在编程的过程中,对电路进行微调,以更好地配合程序。
在设计完成后,进行程序调试,调试软件选择MedWin,调试成功后,再根据电路图画出仿真图,将软件装入单片机芯片,利用Proteus软件进行仿真,仿真中的错误通过改正程序中的逻辑错误和电路中的设计不当进行排除,这个过程是很艰难的但也是很重要的。
若仿真可以实现,则硬件电路的实现就可以有条不紊地进行。
目录
1设计课题任务、功能要求说明及方案介绍……………………………………
1
1.1设计课题任务………………………………………………………………
1.2功能要求说明………………………………………………………………
1.3设计总体方案介绍及原理说明……………………………………………
2设计课题硬件系统的设计………………………………………………………
2
2.1设计课题硬件系统各模块功能简要介绍…………………………………
2.2设计课题电路原理图、元器件布局图…………………………
2.3设计课题元器件清单………………………………………………………
3
3设计课题软件系统的设计………………………………………………………
4
3.1设计课题使用单片机资源的情况…………………………………………
3.2设计课题软件系统各模块功能简要介绍…………………………………
3.3设计课题软件系统程序流程框图…………………………………………
3.4设计课题软件系统程序清单………………………………………………
8
4设计结论、仿真结果、误差分析、教学建议…………………………………
9
4.1设计课题的设计结论及使用说明…………………………………………
4.2设计课题的仿真结果………………………………………………………
4.3设计课题的误差分析………………………………………………………
10
4.4设计体会……………………………………………………………………
4.5教学建议……………………………………………………………………
参考文献……………………………………………………………………………
12
致谢……………………………………………………………………………
13
附录……………………………………………………………………………
14
1设计课题任务、功能要求说明及方案介绍
1.1设计课题任务
设计一个具有特定功能的电子钟。
具有时间显示、报时等功能。
并有时间设定,时间调整功能。
1.2功能要求说明
该电子钟上电或按键复位后能自动显示系统提示符“P.”,进入时钟准备状态;
第一次按电子钟启动/调整键,电子钟从0时0分0秒开始运行,进入时钟运行状态;
再次按电子钟启动/调整键,则电子钟进入时钟调整状态,此时可利用各调整键调整时间,调整结束后可按启动/调整键再次进入时钟运行状态。
1.3设计课题总体方案介绍及工作原理说明
1.3.1整体设计思路
这部分主要介绍工作安排和整体设计的思想。
工作过程规划如下:
图2.1整体设计思路
针对要实现的功能,拟采用AT89C51单片机进行设计,AT89C51单片机是一款低功耗,高性能CMOS8位单片机,片内含4KB在线可编程(ISP)的可反复擦写1000次的Flash只读程序存储器,器件采用高密度、非易失性存储技术制造,兼容标准MCS-51指令系统及80C51引脚结构[7]。
这样,既能做到经济合理又能实现预期的功能。
在程序方面,采用分块设计的方法,这样既减小了编程难度、使程序易于理解,又能便于添加各项功能。
程序可分为闹钟的声音程序、显示程序、闹钟显示程序、调时显示、定时程序。
运用这种方法,关键在于各模块的兼容和配合,若各模块不匹配会出现意想不到的错误。
本电子钟设计主要是依照图2.1中的流程做出来的,时间分配比较均匀。
首先,在编程之前必须了解硬件结构尤其是各引脚的用法,以及内部寄存器、存储单元的用法,否则,编程无从下手,电路也无法设计。
这是前期准备工作。
第二部分是硬件部分:
依据想要的功能分块设计设计,比如输入需要开关电路,输出需要显示驱动电路和数码管电路等。
第三部分是软件部分:
先学习理解汇编语言的编程方法再根据设计的硬件电路进行分块的编程调试,最终完成程序设计。
第四部分是软件画图部分:
设计好电路后进行画图,包括电路图和仿真图的绘制。
第五部分是软件仿真部分:
软硬件设计好后将软件载入芯片中进行仿真,仿真无法完成时检查软件程序和硬件电路并进行修改直到仿真成功。
第六部分是硬件实现部分:
连接电路并导入程序检查电路,若与设计的完全一样一般能实现想要的功能。
最后进行功能扩展,本设计加进了日期显示与调整功能。
本电子钟主要由单片机、4*1独立键盘、显示接口电路和复位电路构成,设计课题的总体方案如图1.1所示:
图1.1总体设计方案图
本电子钟的所有的软件、参数均存放在AT89S52的FlashROM和内部RAM中,减少了芯片的使用数量简化了整体电路也降低了整机的工作电流。
由于AT89S52芯片内部FlashROM有8KB,RAM有256个字节,故软件下载编译时有足够的存储空间。
键盘采用动态扫描方式。
利用单片机定时器及计数器产生定时效果通过编程形成数字钟效果,再利用数码管动态扫描显示单片机内部处理的数据,同时通过端口读入当前外部控制状态来改变程序的不同状态,实现不同功能。
2设计课题硬件系统的设计
2.1设计课题硬件系统各模块功能简要介绍
本设计的硬件系统主要采用以下基本模块来实现,单片机最小系统模块,输入模块、输出模块、电源模块。
(1)单片机最小系统模块:
包括低功耗、高性能CMOS8位微控制器AT89S52;
复位电路;
晶振电路。
本本模块AT89S52系统控制核心,单片机系统复位由复位电路完成,单片机内部有一个高增益、反相放大器,其输入端为芯片引脚XTAL1,其输出端位位引脚XTAL2。
通过这两个引脚在芯片外并接石英晶体振荡器和两只电容。
这样就构成一个稳定的自激振荡器。
(2)输入模块:
本模块共用到了5个按键,1个电源开关,一个复位键,单片机运行期间,利用按键完成复位操作。
3个按键独立式键盘,S1键控制电子钟的启动\状态,S2键为加1键,S3键为减1键。
且S1、S2、S3任一键都独自连一个I/O(P1.0、P1.1、P1.2)口线,说明它们可以独立实现相应的电子钟功能。
(3)输出模块:
本次设计显示为8位,采用两个四位一体数码管(共阳极)作为显示窗口,既可以节约成本又能简化电路。
数码管驱动为74LS245芯片。
(4)电源模块:
现在市面上销售的编程器有很多都是由PC机的USB口直接供电为了降低本设计的成本及节省设计时间,没有另外设计编程器,而直接购买了市场上的USB供电及下载器。
2.2设计课题电路原理图、PCB图、元器件布局图
设计课题电路原理图,见附录二;
设计课题电路的PCB图,见附录三;
设计课题电路的元器件布局图,见附录四;
2.3设计课题元器件清单
设计课题元器件清单如表2.1所示。
表2.1设计所用元器件清单
名称
数量
参数
电阻
5个
1K
共阳数码管
2个
4位一体
4个
4.7k
ISP下载口插座
1个
普通插座
40PIN
8个
470
200
按键
插针
1排
锁紧插座
驱动
一套
74ls245
USB供电接口及供电线
晶振及其插座
12MHz
电容
30pF
极性电容
22μF
排阻
10K
芯片
1块
AT89S52
发光二极管
六角开关
电容
各1个
470μf、104P
铜柱(带螺母)
3设计课题软件系统的设计
3.1设计课题使用单片机资源的情况
设计课题使用单片机资源的情况如下:
P0口输出数码管段选信号,P3口输出数码管位选信号;
晶振11.0592M;
调整选择键SET_KEY:
P1.0;
通过选择键选择调整位,选中位闪烁;
增加键ADD_KEY:
P1.1;
按一次使选中位加1;
减少键DEC_KEY:
P1.2;
按一次使选中位减1;
P2.1为蜂鸣器发声报时;
50H-5FH;
16个寄存器单元作为显示单元;
50H用于控制秒基准时钟源的产生;
51H清零秒寄存器;
52H清零分寄存器;
53H清零时寄存器;
5FH用于秒个位;
5EH用于秒十位;
5DH用于分个位;
5CH用于分十位;
5BH用于时个位;
5AH用于时十位;
54H用于控制调时闪烁;
堆栈栈底:
70H。
3.2设计课题软件系统个模块功能简要介绍
本设计的软件系统主要采用以下基本模块来实现,主程序、中断服务程序、键盘输入程序模块、数码管及其驱动模块和延时模块。
主程序:
主要是用于对输入信号的处理、输出信号的控制和对各个功能程序模块的运用及其控制。
中断服务程序:
主要是用于电子钟的准确运行、数据输入过程中的闪烁。
键盘输入程序模块:
主要是用于确定按键并得到特定的键码值。
数码管及其驱动模块:
主要是用于驱动数码管及利用数码管显示时间。
延时模块:
程序中有两种延时子程序,一种是短延时用于判键按下等,一种是长延时。
3.3设计课题软件系统程序流程框图
系统软件采用汇编语言按模块化方式进行设计,然后通过Keil软件开发平台将程
序转变成十六进制程序语言,接着使用Proteous进行仿真,读出显示数据。
主程序流程框图如3.1所示;
加1子程序如3.2所示;
中断服务程序程序如3.3所示;
键盘扫描子程序框图如3.4所示;
显示子程序框图如3.5所示;
图3.1主程序流程框图
图3.2加1子程序流程框图
图3.3中断子程序
图3.4键盘扫描子程序
图3.5显示子程序
3.4设计课题软件系统程序清单
设计课题软件系统程序清单,详见附录一。
4设计结论、仿真结果、误差分析、教学建议
4.1设计课题的设计结论及使用说明
本设计为基于单片机的电子钟的设计。
刚开始,我们很多地方理不清头绪,无从下手,但通过认真研究设计课题,找书上网查资料买元件,确定基本设计方案,对所用芯片功能进行查找、调试,然后画电路图制PCB板、打孔、溶铜、焊接等,真的经历了许多困难,却积累了很多宝贵的经验,本设计用2个四位一体的共阳数码管做为显示器,它显示时间值;
设计中有三个按键,其中S1为启动/选择调整位置,S2为加控制键S3为减控制键,当整点时间到时,蜂鸣器报警。
这样的结果与设计要求完全相符,本设计成功。
完成了设计任务。
4.2设计课题的仿真结果
在ProteusISIS的Debug菜单中选择Execute,运行程序,系统仿真结果如图4.1与4.2所示。
实现功能:
可调整运行的电子钟具有三种工作状态:
“P.”状态、运行状态、调整状态。
(1)、“P.”状态,依靠上电或按复位键进入,在此状态下,按S2、S3键均无效,
按S1键有效,进入运行状态;
(2)、运行状态,在此状态下,按S2、S3键均无效,只有按S1键有效,按下S1键后,退出运行状态,进入调整状态;
(3)、调整状态,按S1键进入时、分、秒的闪烁,在此状态下,按S2(+1键)、
S3(-1键)键均有效;
调整结束后必须按S1键,即可退出调整状态,进入
运行状态。
在调整状态时长按S2、S3时可以连加及连减。
时间显示格式为:
时-分-秒;
图4.1“P.”运行状态仿真
图4.2时钟运行状态仿真
4.3设计课题的误差分析
该电子钟在运行中存在一定的误差,误差产生有三种可能,首先是采用的计时方案是软件计时的,计时优势利用中断来实现。
而当电子钟运行时间1秒时,又得去执行中断程序,这个过程是需要时间的,所以就产生了一定的误差,当然这个误差是避免不了的,其次还有硬件系统也有一定的影响。
第三,设计用到11.0592MHz的晶振,计算是满20次为一秒钟,但实际会慢很多。
4.4设计体会
课程设计是培养学生综合运用所学知识、发现、提出、分析和解决实际问题,锻炼实践能力的重要环节,是对学生实际工作能力的具体训练和考察过程。
这次我设计的课程设计内容是电子钟。
对于我们这些工科学生来说,这是一次考验。
怎样才能找到课堂所学与实际运用的最佳结合点?
怎样让自己业余更接近专业?
怎样让自己的计划更具有序性,而不会忙无一用?
这都是我们所要考虑和努力的方向的。
这次课程设计我学到了很多很多的东西,学会了怎样去制定计划,怎样去实现这个计划,并掌握了执行这个计划过程中怎样去克服心理上的不良情绪。
不仅巩固了以前所学的知识,而且学到了书本上所没有的过的知识,掌握了一种系统的研究方法,可以进行一些简单的编程,提高了自己独立思考的能力。
本次课程设计,让我受益匪浅,认识到了自己的许多缺点和不足,使我深深的感受到了理论联系实际的必要性及其重要性。
在我们以往的学习过程中,我们刻意地去加强理论的基础,对于一个程序我们只求它在运行时没有出错,我们便以为我们的计划成功了岂不知它能否在硬件结构中得以实现则是另外一回事,这就要求我们的动手能力,如果无法使软件与硬件实现有机的结合,那么再好的程序也只是一堆废字符。
4.5教学建议
经过一个学期陈老师教导的的单片机学习,我掌握了很多单片机学习的宝贵经验,尤其在编程的思路和PCB实物的制作上面。
编程思路是整个程序的灵魂,没有编程思路,程序就不会编出来,就失去了编程的意义。
在开始编程之前,想好编程的思路,编程能力才会提高,编程的过程才会顺畅,程序的质量才会提高。
在陈老师的教学过程中,幽默轻松的教学方式常常让课堂气氛很活跃,幽默诙谐,授课内容条理清晰,经常运用各种实例,娓娓道来,给人印象深刻。
陈师在课堂上也十分注重和同学们的互动,经常会用一些亲身实践的经验为例,让同学们在基于事实的基础上更好的理解相关理论,充分做到了理论与实际的结合,既形象生动,又丰富有趣。
参考文献
[1]代启化.基于Proteus的电路设计与仿真[J].现代电子技术.2006,第19期.
[2]刘文秀.单片机应用系统仿真的研究[J].现代电子技术.2005,第286期.
[3]曹巧媛.单片机原理及应用[M],北京:
电子工业出版社,1997.7.
[4]张洪润.兰清华,单片机应用技术教程[M],北京:
清华大学出版社,1997.11.
致谢
通过不断努力,终于完成了此次单片机的课程设计。
在此,首先感谢往陈老师,正是他在万忙之中还抽出宝贵的时间对我进行精心的指导,才使我顺利完成了此次单片机课程设计。
同时也感谢电子科技协会各位同学和老师对我提供的帮助。
使我在此次设计中学到了许多宝贵的知识和经验。
在此,衷心地感谢你们!
附录
附录1
;
-------------------------------------------------------------------------
本电子钟实现24小时制,8位数码管显示时分秒,可整点报时
显示格式:
00-00-00(设置小时十位为0时,不显示)
通过3只按键来调整时间
通过选择键选择调整位,选中位闪烁
增加键ADD_KEY:
按一次使选中位加1
减少键DEC_KEY:
按一次使选中位减1
如果长按ADD_KEY或DEC_KEY,可进行调时、调分快进快减,并停止闪烁
如果选中位是秒,则按增加键或减少键可实现,但无调时快进和快减功能
晶振11.0592M
P2.1为蜂鸣器发声报时
编程人:
郑振凡编写日期:
2009年12月2日修改日期(最终):
2009年12月6日
-----------
程序入口
-----------
ORG0000H;
程序入口地址
LJMPSTART
ORG000BH;
定时器0中断入口地址
LJMPTIMET0
ORG1000H
----------------------------------
显P.程序
功能:
可以在8个数码闪烁移位进行屏保
START:
MOVR6,#2;
闪烁次数
MOVA,#01H;
位选
TT:
MOVP3,A
MOVP0,#0CH;
段码"
P."
LCALLDELAY
MOVP3,#00H
DJNZR6,TT
LCALLDELAY1
RRA
JBP1.0,TT;
键是否按下,没按下则转移
LCALLDELAY;
延时去抖
JNBP1.0,KAI;
再次判断键是否按下
KAI:
SETBP1.0
CLRA;
状态恢复
MOVP0,#0FFH
SETB48H;
用于调时闪烁标志
SETB47H;
用于产生脉冲用于调时快进的脉冲
MOVR1,#0;
键功能标志:
0计时、1调时、2调分、3调秒
-------------------------------
清16位寄存器及初始化
50H用于控制秒基准时钟源的产生
51H清零秒寄存器
52H清零分寄存器
53H清零时寄存器
5EH用于秒十位
5CH用于分十位
5AH用于时十位
54H用于控制调时闪烁
-------------------------------
MOVR0,#50H;
初始化
MOVR6,#10H
CLEARJCQ:
MOV@R0,#00H;
清寄存器
INCR
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 单片机 课程设计 数字 电子钟
![提示](https://static.bdocx.com/images/bang_tan.gif)