基于单片机的数字电子钟设计(含完整程序+PCB图)课程设计

上传人:ni****g 文档编号:433163778 上传时间:2023-06-12 格式:DOC 页数:34 大小:1.06MB
返回 下载 相关 举报
基于单片机的数字电子钟设计(含完整程序+PCB图)课程设计_第1页
第1页 / 共34页
基于单片机的数字电子钟设计(含完整程序+PCB图)课程设计_第2页
第2页 / 共34页
基于单片机的数字电子钟设计(含完整程序+PCB图)课程设计_第3页
第3页 / 共34页
基于单片机的数字电子钟设计(含完整程序+PCB图)课程设计_第4页
第4页 / 共34页
基于单片机的数字电子钟设计(含完整程序+PCB图)课程设计_第5页
第5页 / 共34页
点击查看更多>>
资源描述

《基于单片机的数字电子钟设计(含完整程序+PCB图)课程设计》由会员分享,可在线阅读,更多相关《基于单片机的数字电子钟设计(含完整程序+PCB图)课程设计(34页珍藏版)》请在金锄头文库上搜索。

1、1 课题设计任务、功能要求及总体方案1.1 课题设计任务本课程设计选题目为:数字电子钟。设计一个具有特定功能的电子钟。1.2 功能要求设计的数字电子钟上电或按键复位后能自动显示系统提示符“P.”, 进入时钟准备状态;第一次按数字电子钟启动/调整键,数字电子钟从0时0分0秒开始运行,进入时钟运行状态;再次按数字电子钟启动/调整键,则数字电子钟进入时钟调整状态,并且时间停止不动,此时可分别利用各调整键调整时、分、秒,调整结束后可按启动/调整键再次进入时钟运行状态。1.3 设计总体方案介绍及工作原理说明本课程设计采用AT89S52单片机设计一个数字电子钟,通过两个4位LED数码管显示时、分、秒,并设

2、有9个按键。其中一个用于单片机的复位;一个为启动/调整键;两个分别为加,减键;其他键本课题暂不用。电路分为5部分,分别为复位电路、键盘电路、时钟电路、显示电路和控制电路。复位电路采用按键复位方式。键盘电路采用独立式键盘。时钟电路用12MHz的晶振产生时钟信号。显示电路采用8个三极管驱动两个4位LED显示。控制电路采用8位的AT89S52单片机作为CPU;原理是:时钟用T0为时钟秒加1中断,时间常数位50MS,每20次加1S,T0用为时间加1中断,时间常数为50MS,中断20次时间加1。其设计框图如图1.1所示:图1.1 设计方案框图2 数字电子钟硬件系统的设计2.1 硬件系统各模块功能简要介绍

3、2.1.1 复位电路复位是单片机的硬件初始化操作。经复位操作后,单片机系统才能开始正常工作。单片机上有复位引脚RST,用于外接复位电路,这里复位电路采用按键电平复位。2.1.2 时钟电路单片机工作所需的同步时钟信号由以下两种方法获得:由单片机片内时钟电路结合外部晶振、电容产生和直接从单片机外部引入脉冲信号。这里用第一种方法产生时钟信号。电路用12MHz的石英晶体和二个微调电容(为33pF)连接起来接到单片机的XTAL1和XTAL2引脚上。2.1.3 键盘电路由于按键较少,所以此处使用独立式键盘,键盘接到单片机的P1口上,当键按下时,在其相应的口线上产生低电平信号,键松开时仍为高电平信号。 2.

4、1.4 显示电路本显示电路采用三极管驱动两个4位数码管段位控端;用单片机的P2口控制位控;用单片机的P0口线作段控口,位、段控线上都串入470的限流电阻。 2.2 数字电子钟原理图、PCB图和元器件布局图2.2.1 原理图原理图见附录A。2.2.2 PCB图 PCB图见附录B。2.2.3 元器件布局图 元器件布局图见附录C。2.3 数字电子钟元器件清单 本课程设计元器件清单如表2.1所示:表2.1 数字电子钟元器件清单名称型号数量备注单片机AT89S521块含插座,双列直插式三极管90129个电阻47024个电阻1k 3个电阻4.7k 1个上拉排阻10K2片数码管4位一体2块含两个插座电容33

5、pF2个电解电容22F1个下载线接口1个双列10针电源线接口1个开关1二极管9个温度传感器18B201个蜂鸣器1个插针38个电阻2001个晶振12MHz1个按键9个3 数字电子钟软件系统的设计3.1 数字电子钟使用单片机资源情况在电子钟的编程过程中,单片机资源使用情况如下:寄存器:通用寄存器的R0R7;位地址:23H(用于保存启动/调整键盘当前的状态);IO口线:P0口(作数码管的段控口),P2口(作数码管的位控口),P1口(作键盘接口);堆栈栈底单元地址:60H;定时器:定时器0;显示缓冲单元:78H7FH;秒分时对应储存单元:72H77H生成键码出口地址:20H。3.2 数字电子钟软件系统

6、各模块功能简要介绍3.2.1 显示模块此处将显示程序编成一个子程序,要显示时调用显示子程序即可,显示程序中显示的是缓冲区中的内容再调数据表格中显示代码,程序中只要将要显示的内容在数据表中的位置送往显示缓冲区即可,就可以显示你所需要显示的内容。3.2.2 中断服务程序模块本程序中用了一个定时器中断,所以有中断服务程序,是为了使秒自加而使用定时器中断,定时50MS循环20次到一秒以后,向CPU申请中断,使秒自加1。3.2.3 键盘模块运用直接判断IO口线的方法编成键盘扫描程序,来完成用键盘监控程序的功能,总共用了四个键,其具体的功能上面已经叙述过,这里不再赘述,使用键盘能够很准确的、快速的监控系统

7、。3.3 数字电子钟软件系统程序流程框图3.3.1 主程序流程框图 主程序员流程框图如图3.1所示:图3.1 主程序流程图3.3.2 中断服务程序流程框图中断服务程序流程图如图3.2所示:图3.2 中断服务程序流程图3.3.3 加1子程序流程框图加1子程序流程框图如图3.3所示:图3.3 加1子程序流程图3.3.4 减1子程序流程框图加1子程序流程框图如图3.4所示: 图3.4 减1子程序流程图3.3.5 键扫子程序流程图框图键扫子程序流程图框图如图3.5 图3.5 键扫子程序流程图3.3.6 显示子程序流程图框图显示子程序流程图框图如图3.6图3.6 显示子程序流程图3.4 数字电子钟软件系

8、统程序清单程序清单详见附录D4 仿真与误差分析4.1 数字电子钟的设计结论及使用说明本课程设计的目的是设计一个电子钟,通过原理图的绘制,PCB板的制作,最终做出的实物是成功的,能够达到预期的目的,以下本次所作电子钟的具体的使用说明:电子钟上电后,最高位显示P.,按下启动/调整键,电子钟从0时0分0秒开始自动运行,再次按下启动/调整键,电子钟运行停止,处于调整状态,按下加减键,可以实现时、分、秒加键1,这样可以实现时、分、秒的累加调整,再次按下启动/调整键,电子钟自动运行起来,处于运行状态,调整结束。4.2 设计课题的仿真结果如图4.1、4.2所示:图4.1 显示P.仿真结果图4.2 运行仿真结

9、果4.3 设计课题的误差分析本课程设计存在一定误差,引起误差原因主要是程序中定时后很多指令引起的时间误差。经过测试10小时,时钟慢25秒,则每秒钟慢2.5/3600=0.6944MS,50MS中断一次,20次中断为1秒,因此每次中断比标准慢0.6944/20=0.03472MS.TH0TL0=65536-(50-0.03472)*1000/1=15570=3CD2H。将原来中断初值TH0TL0=3CB0H改为TH0TL0=3CD2H。4.4 数字电子钟设计体会本次做课程设计,从硬件方面说,我认为本次设计的重点在于单片机的最小系统,若单片机的最小系统不能正常工作,那后面一切都免谈;从软件方面说,

10、我编程的思路就是从简单到难,一步一步实现各个功能。这个电子钟的程序重点在于调整键功能程序和中断服务程序的编写,这两个小模块编好了,就很容易了。在做课程设计的过程中,学到很多东西,比如说做PCB板的技术有了很大的提高,再比如说,自己通过编电子钟的程序,使自己对汇编指令的应用越来越熟练,编程的能力也有了较大提高。在制作电子钟的过程中,遇到的问题都能尝试去自己解决,比如说调试程序,检查线路等等,使自己发现问题、解决问题的能力大大提高。4.5 教学建议 通过一个学期的单片机课,我生生的体会到了什么叫名师;诚然,王老师总说自己不是名师,但我们真的得尊称你为名师。 在这里我只是觉得我们的动手能力还是太差了

11、,还得增加实践的动手!让我们多做几块板子,即使我们心有不情愿,还需老师一如既往的加压!参考文献 1 李广第,朱月秀,冷祖祁.单片机基础M.第三版.北京:航空航天大学出版社,2007.18-152 Li Guangdi,Zhu Yuexiu,Leng Zuqi.ScmcbasisM.The third edition.Beijing: Aerospace university press,2007.18-152 2 邱丽芳,彭志刚,胡汉辉.单片机原理与应用 .第二版.北京:人民邮电出版社,2009.7-259 Qiu Lifang,Peng Zhigang,Hu Hanhui.Single-ch

12、ip microcomputer principle and application. The second edition. Beijing: Beijing peoples telephone and postal press ,2009.7-259致 谢在本课程设计进行过程中得到王韧老师的悉心指导,还有很多同学的帮助。王老师严谨求实的治学态度,踏实坚韧的工作精神,将使我终生受益。在此,谨向老师和帮助我的同学致以诚挚的谢意和崇高的敬意。 附 录 A原理图附 录 BPCB顶层图PCB底层图 附 录 C 元器件布局图附 录 D程序清单:;*;项目名称:数字电子钟;设计者:谭育奇;设计日期:2010年12月29日;*;堆栈栈底60H;*;LED数码管显示器设定;P0.7-P0.0段控线,接LED的显示段dp,g,f,e,d,c,b,a;P2.7-P2.0位控线,从左至右(LED7,LED6,LED5,LED4,LED3,LED2,LED1,LED0);显示缓冲区设定从左至右依次为7FH,7EH,7DH,7CH,7BH,7AH,79H,78H(LED4,LED5,LE

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 大杂烩/其它

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号