文档介绍:北京信息科技大学
 
毕业设计(论文)
 
 
题目:基于单片机的数字钟的设计
 
学院:自动化学院
 
专业:自动化
 
学生姓名:崔智明班级/学号:06331/16
 
指导老师/督导老师:唐胜春/
 
起止时间:2010年 3月 21日至2010年 6月 25日
摘要
这次毕业设计通过对单片机的学习、应用,以AT89S51芯片为核心,辅以必要的电路,设计了一个简易的电子时钟,它主要通过DP-51PROC单片机综合仿真实验仪实现,通过数码管能够准确显示时间,调整时间,它的计时周期为24小时,从而到达学习、设计、开发软、硬件的能力。主要实现功能为显示时间,时间校准调时(采用手动按键调时),闹铃功能(设置定时时间,到点后闹铃发出响声)。通过键盘可以进行校时、定时。闹铃功能使用I/O 口定时翻转电平驱动的无源蜂鸣器。本文主要介绍了工作原理及调试过程。
 
 
关键词:单片机电子时钟单片机综合仿真实验仪
第一章概述
本论文主要介绍用单片机内部的定时/计数器来实现电子时钟的方法,本设计由单片机AT89S51芯片和LED数码管为核心,辅以蜂鸣器电路,构成了一个单片机电子时钟。显示时间功能:显示时,分,秒。具有校时功能: 能对时、分、秒按实际时间进行手动校正。闹铃功能:到时播放音乐。
我使用的是DP-51PROC单片机综合仿真实验仪。我将先介绍一下显示电路、闹铃电路的内部工作原理,及本次设计中51单片机是如何实现任务要求的,主要有设计思路,设计框图,设计过程。最后我将介绍使用DP-51PROC单片机综合仿真实验仪及电脑实现任务要求的过程及成果。
主要内容包括方案论证与比较、系统设计、设计原理、软件设计、调试过程。
第二章方案论证与比较
数字时钟是本设计的最主要的部分。根据需要,可利用两种方案实现。
方案二:本方案完全用软件实现数字时钟。原理为:在单片机内部存储器设三个字节分别存放时钟的时、分、秒信息。利用定时器与软件结合实现1秒定时中断,每产生一次中断,存储器内相应的秒值加1;若秒值达到60,则将其清零,并将相应的分字节值加1;若分值达到60,则清零分字节,并将时字节值加1;若时值达到24,则将十字节清零。该方案具有硬件电路简单的特点。但由于每次执行程序时,定时器都要重新赋初值,所以该时钟精度不高。而且,由于是软件实现,当单片机不上电,程序不执行时,时钟将不工作。
基于硬件电路的考虑,本设计采用方案二完成数字时钟的功能。
方案二:动态显示。所谓动态显示就是一位一位的轮流点亮各个位,对于显示器的每一位来说,每隔一段时间点亮一次。利用人的视觉暂留功能可以看到整个显示,但必须保证扫描速度足够快,字符才不闪烁。显示器的亮度既与导通电流有关,也于点亮时间与间隔时间的比例有关。调整参数可以实现较高稳定度的显示。动态显示节省了I/O口,降低了能耗。
从节省I/O口和降低能耗出发,本设计采用方案二。
使用共阴极七段数码显示管。使用74SL48作为 BCD-7段数码管显示译码器
方案一:蜂鸣器,一个交流蜂鸣器及其驱动电路,能够演奏音乐。
 
因为单片机有定时器所以使用蜂鸣器就可以了,不必使用闹铃芯片了,很浪费单片机功能。
所以选择方案一蜂鸣器
 
方案二: I/O 口定时翻转电平驱动蜂鸣器。使用I/O 口定时翻转电平驱动蜂鸣器方式的设置比较简单,只需要对波形分析一下。由于驱动的信号刚好为周期500μs,占空比为1/2duty 的方波,只需要每250μs 进行一次电平翻转,就可以得到驱动蜂鸣器的方波信号。在程序上,可以使用TIMER0 来定时,将TIMER0 的预分频设置为/1,选择TIMER0 的始终为系统时钟(主振荡器时钟/4),在TIMER0 的载入/计数寄存器的高4 位和低4 位分别写入00H 和06H,就能将TIMER0 的中断设置为250μs。当需要I/O 口驱动的蜂鸣器鸣叫时,只需要在进入TIMER0 中断的时候对该
I/O 口的电平进行翻转一次,直到蜂鸣器不需要鸣叫的时候,将I/O 口的电平设置为低电平即可。不鸣叫时将I/O 口的输出电平设置为低电平是为了防止漏电。[
 
因为此次设计是基于51单片机驱动I/O 口的,所以选择方案二I/O 口定时翻转电平驱动蜂鸣器。
方案一:有源蜂鸣器即通电就可以发声。
方案二: 无源蜂鸣器即要有驱动的音频电流才能发声。
因为此次设计是基于51单片机驱动的,所以选择方案二无源蜂鸣器。
 
方案二: 无源蜂鸣器即要有驱动的音频电流才能发声。
 
因为此次设计是基于51单片机驱动的,所以选择方案二无源蜂鸣器。
 
采用手动按键调时。用四个按键,