数字时钟课程设计

  • 格式:doc
  • 大小:437.52 KB
  • 文档页数:22

下载文档原格式

  / 22
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

机电工程系

课程设计报告题目: 数字时钟课程设计

专业:

班级:

学号:

姓名:

指导老师:

时间:

目录

一、设计目的、设计题目 (3)

二、设计任务、功能描述 (3)

三、硬件原理分析 (3)

四、软件设计 (7)

1 地址空间分配 (7)

2 软件整体架构分析 (8)

2.1总体架构说明:设计思路 (8)

2.2主程序功能描述及分析、主程序流程图 (9)

2.3各子程序功能描述及子程序入口出口、各程序流程图 (9)

五、程序清单 (12)

一、设计题目:数字时钟。

设计的时钟能够实现日常的时钟显示,同时具有时钟调整、两个闹钟及正点报时功能。IP单片机:

二、设计任务、功能描述

整体设计任务:本电子时钟设计首要的工作是结合以往所学的单片机程序编写理论和编写规则来编写电子时钟的软件部分,编写时要结合所配的AT89S52芯片的管脚功能和其他硬件电路,该部分运用keil单片机软件来完成。在编写完软件并检测完正确后再编译成.hex载入用Isis仿真软件布好的仿真硬件中运行检测程序是否正确,并调试。待这一切工作做好后再利用已焊接好的小系统板硬件电路来实践实现软件功能与硬件的结合。此步骤要用progisp单片机烧写软件来实现。

在硬件设计上:

(1)用四个电位按键来实现对电子时钟的调试工作,当按第一下总控键时进入时钟的调整状态,有两个电位按键分别来调整时钟的分和时,在调整时秒正常运行;当按第二下总控键时时钟进入闹钟一设置,有两个电位按键分别来调整时钟的分和时的设定,另外有一个时钟控键来实现闹钟是否开启;当按第三下总控键时时钟进入闹钟二设置,其余操作同闹钟一设置操作,当按第四下总控键时时钟退出调整模式进入正常时钟走势。

(2)用两个四位数码管来实现设计的显示部分,其演示模式是:时时-分分-秒秒

该数码管组合的功能管脚是八个位选择连接芯片的p2引脚,八个显示管位并联再接入到芯片p0引脚。从而在功能上区分开,实现数码管的显示功能。

(3)用一个led灯和电阻组成的简易电路结合设计来实现正点报时的功能,当时钟走到正点时,该led灯便能够闪烁五秒刚好是五下,之后进入暗的状态,等到下一个整点到来。

(4)用一个喇叭和三极管等配件组成一个闹钟电路,再与芯片的p1.0引脚连接。当时钟到设定的报时点时便会发出“嘟嘟嘟嘟….‘的声音来实现闹钟功能。

(5)用一个按键和其他部件组成的复位电路与芯片连接来实现整个程序及硬件的重新复位功能。

三、硬件原理分析

电路设计分析

电路原理设计是基于小系统包括电源电路、复位电路、按键电路、时钟电路、数码管显示驱动电路、输出控制电路。电源部分是用电池来提供的3v-5v,晶体振荡器采用的是12MHz的石英晶体振荡器。

总体硬件设计框图如下:

1.1复位电路

本次设计采用按键电平复位,按键电平复位相当于按复位键后,复位端通过电阻与Vcc 电源接通;

1.2振荡器和时钟电路设计

1.21振荡器和时钟电路工作原理

80C51系列单片机内部有一个高增益反相放大器,用于构成振荡器,但要形成时钟,外部还需附加电路。XTAL1引脚为反相放大器和时钟发生电路的输入端,XTAL2引脚为反相放大器的输出端。片内时钟发生器实质是个2分频的触发其输入来自振荡器的fosc ,输出为2相时钟信号,即节拍信号P1、P2,器频率为fosc\2。2个节拍为1个状态时钟S 。状态时钟再3分频后为ALE 信号,其频率为fosc\6,状态时钟6分频后为机器周期信号,器频率为fosc\12。特殊功能寄存器PCON 的PD 位可以控制振荡器的工作,当PD=0时,振荡器停止工作,单片机进入低功耗工作状态,复位后,PD=0,振荡器正常工作。

1.22 本次设计采用常用的内部时钟方式接法:通过在引脚XTAL1和XTAL2两端跨接晶体或陶瓷谐振器,再利用芯片内部的振荡电路,就构成了稳定的自激振荡器,其发出的脉冲直接送入内部时钟电路,如图所示,外接晶振时,C5

和C6的值通常选择为20-30pf。C5、C6对频率有微调作用,影响振荡的稳定性和起振速度。所采用的晶体或陶瓷谐振器得频率选择0-24\33MHz。为了减小寄生电容,更好的保证振荡器稳定、可靠的工作,谐振器和电容赢尽可能与单片机芯片靠近安装。

1.3电源

因为该电路所需电压为3-5v,可直接用电池供应或也可以用直流电源供应,但需经过变压才行。

1.4数码管显示电路

采用LED共阳极数码管的发光二极管接到高电平(电压为5V),用LED动态扫描显示方式,在单片机电路里,芯片的驱动电流很小,一般为微安级别的,要通过三极管(可驱动电流为毫安级别,甚至更大)来驱动LED(正常工作电流为几十毫安)发光,本设计由P2端口扫描数码管的选通,P0口送数据显示。

1.5按键电路

S1按键接在P3.0口,用于切换正常走时、调时间、设定闹钟;S2按键接在P3.1口,用于调整时钟分加一和调闹钟时间分加一的功能;S3按键接在P3.2口,用于调整时钟时加一和调闹钟时加一的功能;S4按键接在P3.3口,用于设定是否开启闹钟。

1.6输出控制电路

在P1.1和P1.0端口分别接一个发光二极管,用于整点报时,和一个蜂鸣器,用于响闹铃。

1.7整体布局图

四、软件设计分析

1、地址空间及端口分配

30h—37h地址空间分别分配给led1、led2、led3、led7、led4、led8、led5、led6.用于数码管显示。

38h地址空间分配给gn,定义38h空间为按键次数读取的缓存空间。

3bh地址空间分配给nk1,定义3bh空间是闹钟开启开关按键次数读取缓存空间。39h地址空间分配给nao1f,用于存储调整闹钟一分加一按键次数读取缓存。

3ah地址空间分配给nao1s,用于存储调整闹钟一时加一按键次数读取缓存。

3dh地址空间分配给nao2f,用于存储调整闹钟二分加一按键次数读取缓存。

3eh地址空间分配给nao2s,用于存储调整闹钟二时加一按键次数读取缓存。

50h地址空间用于存放50ms中断寄存。

51h地址空间用与存放秒的十位和个位。

52h地址空间用与存放分的十位和个位。

53h地址空间用与存放时的十位和个位。

p1.1端口分配给zdled ,定义灯接到p1.1.利用setb和clr zdled控制灯的亮暗起到整点报时显示作用。