单片机数字时钟报告 - 图文 联系客服

发布时间 : 星期六 文章单片机数字时钟报告 - 图文更新完毕开始阅读

该数字钟是用一片AT89C51单片机通过编程去驱动8个数码管实现的。通过7个开关控制,从上到下7个开关K1-K7的功能分别为:

K1:设置当前时间时/分/秒 K2:加一按键 K3:减一按键

K4:设置闹钟时间时/分/秒 K5: 确认/关闭闹铃 K6:开/关闹钟 K7: 复位

控制键分别与P1.0~P1.6口连接,通过P2口和P3口去控制数码管的显示如图所示P2口接数码管的a——g端,是控制输出编码,P3口接数码管的1——8端,是控制动态扫描输出.

从P3.6输出一个信号使二极管发光,二极管在设置的闹钟时间到了时候发光,P3.7接一个蜂鸣器,若有乐曲可以去驱动扬声器实现。

11

2.4.2电路功能使用说明

1) 各个控制键的功能:可对时间进行校准调节(只能加1);按下设置键数字时钟进入闹钟设置状态,设置闹钟的时间;时加1、分加1键是在校准时间时或设置闹钟时间对小时数或分钟数调节而设置的;按下秒切换键就可以进入秒表模式,同时秒表也开始计时,按下秒表暂停、复位键就暂停、归零,如果要重新对秒计时则可以按秒表开始、复位;清零键可以对闹钟清零。

(2)AT89C51单片机,通过编写程序对数码显示进行控制。

(3) 八个7段数码管显示时钟信号。

12

第三章 软件总体设计方案

3.1 软件设计思路

根据设计的要求与内容,我们将该软件设计成七个模块,他们包括:主程序、数码管动态扫描模块、当前时间计时模块、闹钟输入输出模块、当前时间调整模块、数制转换模块以及复位模块。通过这七个模块的共同相互作用,完成我们所要的功能。下图3-1是该软件的软件系统图。

图3-1 软件系统图

下面,我们将逐一介绍各个功能模块的设计思路、

13

所实现的功能以及他们的程序框图。

3.2 主程序模块

主程序模块是单片机最先编译运行的模块,所以在这个模块里,我们要设置主程序和各个中断服务程序的入口地址、各种初始化以及开关扫描等。

MCS-51系列单片机复位后,(PC)=0000H,而0003H~002BH分别为各中断的入口地址。所以,编程时应在0000H处写一条跳转指令。当CPU接受到中断请求信号并予以相应后,CPU把当前的PC内容压入栈中进行保护,然后转入相应的只能中断服务程序入口处执行。一般应在相应的中断服务程序入口处写一条跳转指令,并以跳转指令的目标地址作为中断服务程序的起始地址进行编程。

初始化,是对将要用到的MCS-51系列单片机内部部件或扩展芯片进行初始工作状态设定。

下图3-2是我们设计该主程序模块的程序框图。

14