单片机课程设计数字钟_第1页
单片机课程设计数字钟_第2页
单片机课程设计数字钟_第3页
单片机课程设计数字钟_第4页
单片机课程设计数字钟_第5页
已阅读5页,还剩27页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、 单片机技术课程设计说明书 数字电子钟 学 院: 电气与信息工程学院 学生姓名: 指导教师: 职称 讲 师 专 业: 电气工程及其自动化 班 级: 电气1204班 学 号: 完成时间: 2015年07月 摘 要电子钟,自从它发明的那天起,就成为人类的朋友,但随着科学技术的不断发展,人们对时间计量的精度要求越来越高,应用越来越广,而一种简单方便的数字电子钟则更能受到人们的欢迎。所以设计一个简易数字电子钟很有必要。本电子钟采用atmel公司的at89s52单片机为核心,使用12mhz晶振与单片机at89s52 相连接,通过软件编程的方法实现以24小时为一个周期,同时8位8段led数码管(两个四位一

2、体数码管)显示小时、分钟和秒的要求。该电子钟设有五个按键a、b、c、d、和复位键,进行相应的操作就可实现校时、定时、复位等功能。具有时间显示、时间校正等功能。具有走时准确、显示直观、运行稳定等优点。 整个设计过程包括硬件设计和软件设计,首先设计和焊接好硬件电路,再通过c语言编写应用程序来实现需要的功能。 关键词: 电子钟;at89s52;时间显示目 录1 设计课题任务、功能要求说明及方案介绍11.1 设计课题任务与功能要求说明11.2 设计课题总体方案介绍及工作原理说明12 设计课题硬件系统的设计32.1 at89s52芯片32.2 晶振电路32.3 键盘电路42.4 复位电路42.5 数码管

3、电路52.6 电源电路62.7 下载口电路63 设计课题软件系统的设计73.1 数字电子钟软件系统各模块功能简要介绍73.2 设计课题软件系统程序流程框图7 3.2.1 主程序流程框图7 3.2.2 键扫描与处理程序流程框图8 3.2.3 时分秒转换程序流程框图10 3.2.4 显示程序流程框图11 3.2.5 键功能程序流程框图124 设计结论、仿真结果、软件硬件调试、误差分析154.1 数字电子钟的设计结论及使用说明15 4.1.1 设计结论15 4.1.2 使用说明154.2 设计课题的仿真结果154.3 软件调试164.4 操作说明174.5 设计课题的误差分析17结束语18参考文献1

4、9致谢20附录21附录a:pcb图21附录b:元器件清单22附录c:程序清单231 设计课题任务、功能要求说明及方案介绍1.1 设计课题任务与功能要求说明设计一个具有特定功能的电子钟,具有时间显示、时间调整等功能。该电子钟上电或按键复位后能自动显示系统提示符“p.”, 进入时钟准备状态;第一次按电子钟启动键,电子钟从0时0分0秒开始运行,进入时钟运行状态;按电子钟调整键,则电子钟进入时钟调整状态,此时可利用各调整键调整时间,调整结束后可按启动键再次进入时钟运行状态。1.2 设计课题总体方案介绍及工作原理说明设计课题总体硬件系统框图如图1所示。图1 数字电子时钟硬件框图 本设计基于单片机技术原理

5、,以单片机芯片at89s52作为核心控制器,基于单片机at89s52自身具有的定时资源,通过硬件电路的制作以及软件程序的编制,利用单片机的控制作用,通过八位七段式数码显示管直接显示“时-分-秒”时间信息,来实现相关的功能。并能对其进行相应的设置,修改。本设通过使用定时器0方式1产生1秒的标准时间,方式1是16为计数结构的工作方式,定时时间计算公式为(1)。 (1) 本设计中的数码管是共阳接法,低电平可驱动数码管。动态显示,延时时间为10毫秒,由于视觉暂留效应,人眼观测出的数码管一直处于亮状态。 cpu通过调用扫描键盘按键情况,再调用相应的键功能函数实现时间的调整。2 设计课题硬件系统的设计2.

6、1 at89s52芯片 工作原理:单片机由运算器、控制器、存储器、输入输出设备构成。其中有中央处理器cpu,内部数据存储器,内部程序存储器,定时/计数器,并行io口,串行io口,中断控制电路,时钟电路,位处理,内部整线。 图2 at89s52引脚图2.2 晶振电路 单片机本身是一个复杂的同步时序系统,为了保证同步工作方式的思想,单片机必须有时钟信号,以使其系统在时钟信号的控制下按时序协调工作。本设计采用单片机片内时钟电路结合外部晶振、电容产生。图3所示为电路原理图,在at89s52芯片内部有一个高增益反相放大器,其输入端为芯片引脚xtal1,输出端为芯片引脚xtal2。而在内部,xtal1和x

7、tal2之间跨接晶体振荡器。电路产生的震荡脉冲为单片机提供时钟脉冲信号。 图3 晶振电路2.3 键盘电路图4所示为键盘原理图,本系统采用的是独立键盘结构,每个按键单独占用一根i/o口线,每个按键的工作不会影响其它i/o口线的状态。软件是采用查询结构,首先逐位查询每根i/o口线的输入状态,如某根i/o口线输入为低电平,则可确认该口线所对应的按键已按下。图4 键盘电路2.4 复位电路 图5所示为复位电路原理图,复位是单片机的初始化操作,其主要功能是吧pc初始化为0000h,是单片机从0000h单元开始执行程序,复位电路采用的是按键复位,他是通过复位端经电阻与vcc电源接通而实现的,它兼具上电复位功

8、能。 图5 复位电路2.5 数码管电路数码管是一种把多个led显示段集成在一起的显示设备。动态显示的原理是,各个数码管的相同段连接在一起,共同占用8 位段引管线;每位数码管的阳极连在一起组成公共端。利用人眼的视觉暂留性,依次给出各个数码管公共端加有效信号,在此同时给出该数码管加有效的数据信号,当全段扫描速度大于视觉暂留速度时,显示就会清晰显示出来。图6 数码管电路2.6 电源电路对于一个完整的电子设计来讲,首要问题就是为整个系统提供电源供电模块,电源模块的稳定可靠是系统平稳运行的前提和基础。52单片机虽然使用时间最早、应用范围最广,但是在实际使用过程中,一个和典型的问题就是相比其他系列的单片机

9、,52单片机更容易受到干扰而出现程序跑飞的现象,克服这种现象出现的一个重要手段就是为单片机系统配置一个稳定可靠的电源供电模块。电源供电模块的电源可以通过计算机的usb口供给,也可使用外部稳定的5v电源供电模块供给。电源电路中一般接入了电源指示led。图7 电源电路2.7 下载口电路用pc的usb口供电,通过下载口把程序导入单片机芯片内。下载口分别接在单片机的rst引脚以及p15、p16、p17口线上实现数据传送。图8 下载口电路3 设计课题软件系统的设计3.1 数字电子钟软件系统各模块功能简要介绍 (1)主程序:主要是用于对输入信号的处理、输出信号的控制和对各个功能程序模块的运用及其控制。 (

10、2)键盘扫描程序:读p1口的数据,把按键的状态输入单片机。(3) 键功能程序:从键扫描程序得到相应的键值后按照键值执行相关的键功能程序。 (4)显示程序:把存放在显示缓冲区里的时钟数据通过查表得到所对应的段控码送到数码管上,以使数码管正确的显示时间。 (5)中断服务程序:进行计时操作用于完成对时、分、秒的加操作,以使电子钟能够正常运行。(6) 延时模块:通过调用10毫秒的延时程序,动态逐个点亮数码管,实现时间信息的显示。3.2 设计课题软件系统程序流程框图3.2.1 主程序流程框图 系统初始化后通过键扫描判断是否有键按下,没有键按下时继续显示“p.”状态,有键按下时启动定时器开始工作,通过选择

11、不同按键实现电子钟的不同功能并用显示装置显示结果。图9 主函数流程图3.2.2 键扫描与处理程序流程框图 程序判断确实有键按下时,保存并返回键值同时判断按下键为a、b、c、d其中那一个键,执行选中键的相应功能。图10 键扫描与处理函数流程图3.2.3 时分秒转换程序流程框图 定时器开始工作时,当秒计数器计数满60秒时,分计数器自加1;当分计数器计数满60分时,时计数器自加1;当时计数器计数满24时时,时计数器清零。图11 时分秒转换函数流程图3.2.4 显示程序流程框图 显示时通过位控信号采用扫描的方法逐位循环点亮8个数码显示管,即设置变量i由1到8循环加1,p0口作为位码输出口,选择显示位;

12、p2口作为为段码输出口,将段码送到公共段码线上,点亮数码管。图12 显示函数流程图3.2.5 键功能程序流程框图按下按键a,进入调时状态,这时可对其进行调整。第一次按下a键,定时器关闭,调秒;第二次按下a键,调分;第三次按下a键,调时;第四次按下a键,进入正常运行状态。图13 键a功能函数流程图第一次按下a键,按b键进行秒加调整;第二次按下a键,按b键进行分加调整;第三次按下a键,按b键进行时加调整。图14 键b功能函数流程图第一次按下a键,按c键进行秒减调整;第二次按下a键,按c键进行分减调整;第三次按下a键,按c键进行时减调整。图15 键c功能函数流程图按下按键d,时钟便从00-00-00

13、开始每秒加1计时。图16 键d功能函数流程图4 设计结论、仿真结果、软件硬件调试、误差分析4.1 数字电子钟的设计结论及使用说明4.1.1 设计结论本电子钟是利用at89s52单片机通过汇编编程实现电子钟的计时功能的,经过程序的调试和仿真,可以在实物上实现电子钟的显p.、计时、调整等基本功能。通过对电子钟的编程,学到了很多知识,对书本上所讲的东西可以运用到实践中去了,同时也对自身的不足之处有了更清醒的认识。4.1.2 使用说明(1) 时间显示电子钟上电后,8位数码管显示初始状态即最左边的一个数码管显示p.。按下d键后电子钟进入自动计时状态,电子钟显示00时00分00秒并开始运行。(2) 时间调

14、整若要进行时间调整,则需按下a键,进入时间调整状态,调整好时间后,按下d键就可以回到调整好的时间为基础的自动计时状态。无论是在自动计时,还是在调整校正时,都可按下复位键使系统回到显示p.的初始状态。其中时、分、秒显示范围为0-23,0为24点;0-59,0 为60分;0-59,0 为60秒。4.2 设计课题的仿真结果 在proteus isis仿真图运行程序,仿真得到的结果分别如下所示。如图17所示为通电情况下在没有按下功能键之前数码管的显示情况,显示“p.”。 图17 “p.”运行状态仿真 如图18所示,即按下键d时钟开始运行电子钟从0时0分0秒开始运行。 图18 启动仿真如图19所示,键a

15、第一次按下进入时钟调整状态,此时电子钟定时关闭,按b、c键即可对时钟的秒进行调整;键a第二次按下,按b、c键即可对时钟的分进行调整;键a第三次按下,按b、c键即可对时钟的时进行调整,这里调为05-27-06. 图19 调整时间状态如图20所示,当调整完之后,再次按下时钟功能键a,定时器开启,时钟开始运行。图20 恢复运行状态如图21所示,按下复位键时,回到初始状态显示p.。 图21 复位状态4.3 软件调试软件为老师所提供,其原理在上面已作说明。软件部分是先参考书上的例子,然后自己根据硬件电路写程序,本次编程采用的是c语言。刚刚开始,编写不会一次性通过,最后经过多次仔细分析修改才编译成功。4.

16、4 操作说明 把程序烧入单片机,上电后,显示“p.”。按下按键d,时钟便从00-00-00开始每秒加1计时,按下按键a,进入调时状态,这时可对其进行调整。第一次按下a键,按b键进行秒加调整,按c键进行秒减调整,第二次按下a键,按b键进行分加调整,按c键进行分减调整,第三次按下a键,按b键进行时加调整,按c键进行时减调整,第四次按下a键,进入正常运行状态。当按下复位键时,时间显示消失,回到“p.”显示。经以上调试所要求的功能均以实现。4.5 设计课题的误差分析本设计的误差用肉眼是看不出来的,但通过理论分析,有三种误差的可能:首先是采用的计时方案是软件计时的,计时优势利用中断来实现。而你开启定时器

17、和开启led灯顺序上是有先后的,这个过程需时间的,所以就产生了一定的误差。其次还有硬件系统也有一定的影响,由于元器件的布局,pcb走线的不同,产生一定的干扰。最后,设计用到12mhz的晶振,计算是满20次为一秒钟,但实际会慢很多。结束语 这个学期即将结束,从刚开学,老师就说课程设计从第一节课开始准备。在这个学期里,对单片机有了更深刻的认识,也对自己的不足有了清醒的认识。本次的电子钟的软件设计中发现了很多问题。(1)在按键调整时间时,在没有释放键盘的状态下,数码管是灭的。在解决问题的过程中,我将问题定位在键扫描的缺陷。修改的方法是将键扫描程序中的延时函数用显示函数代替。这样,cpu在执行键扫描时

18、一直在调用显示函数,以免造成cpu不送有效地时间数据,长按键盘数码管不显示的情况。(2)在时,分,秒的减1过程中,比如用时作为例子,当时减到0时,如果在减1时,本应该为23,但出现了乱码,在一次又一次的修改,调试中,才解决了这个问题。通过这次的课程设计,使我注意到了以上几点,应在以后的学习中加以注意。通过这次机会不但练习了编程,而且还对at89s52单片机又加深了一些认识,练习了定时器、中断等。课程设计很快就这样过去了。每个人都学到了很多东西,同时也感觉到了自己的不足,它将对以后参加工作有很大的帮助。参考文献1 代启化.基于proteus的电路设计与仿真 j. 现代电子技术.2006.2 刘文

19、秀.单片机应用系统仿真的研究 j. 现代电子技术.2005.3 曹巧媛.单片机原理及应用 m. 北京:电子工业出版社,1997.4 张洪润.兰清华,单片机应用技术教程 m. 北京:清华大学出版社,1997.5 李广弟.单片机基础 m. 北京:北京航空航天大学出版社,2007. 6 李朝青.单片机原理及接口技术 m. 北京:北京大学出版社,1998.7 倪继烈.单片机原理及应用教程 m. 成都:电子科技大学出版社,2004.8 李光飞.单片机课程设计实例指导m.北京:北京大学出版社,1998.9 胡汗才.单片机原理及系统设计 m. 北京:清华大学出版社,2002.10 李全利.单片机原理及应用

20、m.北京:高等教育出版社,2012.11 施昌彦.实验室质量管理 m .北京:化学工业出版社,2006.致 谢 通过不断努力,终于完成了此次单片机的课程设计。在设计过程中,首先要感谢凌云老师给予了我们很多帮助,其实在每次单片机实验的时候,老师就是通过各种各样的问题,来让我们更加好的学习单片机。没有单片机实验带给我们扎实的基础,这次课程设计也不会这么顺利,取得成功。在这里非常感谢凌云老师的帮助。 同时要感谢同学们给予的帮助,他们的帮助是我能完成这个课程设计的的关键,他们的对我的帮助和关照还有鞭策让我顺利的完成了任务。我们在一起,轻松愉快也不容易出问题,遇到困难时,我们会在一起思考找问题,每次问题

21、的解决都会充满成就感。附 录附录a:pcb图 附录b:元器件清单 元器件名称规格数目at89s52单片机at89s52单片机芯片锁紧座四位一体共阳数码管四位一体共阳数码管插座74hc57374hc573芯片插座晶振发光二极管单排插针三极管蜂鸣器小按键下载口座子六脚按键电源开关usb电源线usb电源线插座电阻电阻电阻电解电容瓷片电容排阻排阻短路冒杜邦线8ppcb板子固定螺钉螺帽usb下载线40p40p40p20p20p12mhz40p90122004701k22uf33pf10k4703mm11211119211101111184224141141附录c:程序清单*; 项目名称:数字式电子钟的设

22、计设计者: 杨艳设计日期:2015年6月20日功 能 ;显示系统提示符“p.”。在系统提示符状态下,只有按启动键/停止键才能开启电子钟,电子钟进入运行状态;再次按下启动键/停止键,电子钟进入调整状态,此时,调时、调分、调秒键才可以工作。调整结束后,按下启动键/停止键。*;变量注释: sc=second counter 满秒计数 mc=minute counter 满分计数 hc=hour counter 满时计数 sud=second units digit 秒个位 std=second tens digit 秒十位 mud=minute units digit 分个位 mtd=minute

23、tens digit 分个位 hud=hour units digit 时个位 htd=hour tens digit 时个位存 f 键1被按下的次数 v 键值*; 单片机资源使用情况: p0口-段控码输出端口 p2口-位控码输出口 *;#include#define uint unsigned int#define uchar unsigned charuchar t,f,v,sc,mc,hc;uchar htd;uchar hud;uchar l1;uchar mtd;uchar mud;uchar l2;uchar std;uchar sud;uchar tmp;uchar code d

24、km=0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0xbf; void display(uchar htd,uchar hud,uchar l1,uchar mtd,uchar mud,uchar l2,uchar std,uchar sud);uchar keyscan();void init();void delay1ms(); /主函数void main() p0=0x0c; p2=0x01; v=keyscan(); if(v=8) init(); while(1) if(t=20) t=0; sc+; if(sc=60) sc=

25、0; mc+; if(mc=60) mc=0;hc+;if(hc=24)hc=0;htd=hc/10;hud=hc%10; mtd=mc/10; mud=mc%10; std=sc/10; sud=sc%10; v=keyscan();if(v=1|v=2|v=4) switch(v)case 1:f+;if(f=1)tr0=0;if(f=4)tr0=1;f=0;break;case 2:if(f=1)sc+;if(sc=60)sc=0; if(f=2)mc+;if(mc=60)mc=0;if(f=3)hc+;if(hc=24)hc=0;break;case 4:if(f=1)sc-;if(sc=-1)sc=59;if(f=2)mc-;if(mc=-1)mc=59;if(f=3)hc-;if(hc=-1)hc=23;break;std=sc/10; sud=sc%10; mtd=mc/10;mud=mc%10;htd=hc/10;hud=hc%10;display(htd,hud,l1,mtd,mud,l2,std,sud); /显示函数v

温馨提示

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

评论

0/150

提交评论