基于C单片机的数字时钟课程设计C语言带闹钟

  • 格式:doc
  • 大小:418.00 KB
  • 文档页数:19

下载文档原格式

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

班级:姓名:学号:教师:

摘要

电子钟在生活中应用非常广泛,而一种简单方便的数字电子钟则更能受到人们的欢迎。所以设计一个简易数字电子钟很有必要。本电子钟采用AT89C52单片

,

目录

一、数字电子钟设计任务、功能要求说明及方案介绍 (4)

4

4

4

5

5

5

6

6

6

7

7

7

9

9

10

12

12

13

13

一、数字电子钟设计任务、功能要求说明及方案介绍

1.1 设计课题设计任务

设计一个具有特定功能的电子钟。具有时间显示,并有时间设定,时间调整功能。

1.2 设计课题的功能要求说明

设计一个具有特定功能的电子钟。该电子钟上电或按键复位后能自动显示系统提示符“d.1004-22”,进入时钟准备状态;第一次按电子钟启动/调整键,电子钟从12时59分0秒开始运行,进入时钟运行状态;按电子钟S5键,则电子钟进入时钟调整状态,此时可利用各调整键调整时间,调整结束后可按S5键再次进入时钟运行状态。

1.3 设计课的设计总体方案介绍及工作原理说明

本电子钟主要由单片机、键盘、显示接口电路和复位电路构成,设计课题的总体方案如图1所示:

图1-1总体设计方案图

本电子钟的所有的软件、参数均存放在AT89C52的Flash ROM和内部RAM 中,减少了芯片的使用数量简化了整体电路也降低了整机的工作电流。键盘采用

动态扫描方式。利用单片机定时器及计数器产生定时效果通过编程形成数字钟效果,再利用数码管动态扫描显示单片机内部处理的数据,同时通过端口读入当前外部控制状态来改变程序的不同状态,实现不同功能。

二、设计课题的硬件系统的设计

2.1硬件系统各模块功能简要介绍

2.1.1 AT89C52简介

(1) 兼容MCS51指令系统;

(2)8kB可反复擦写(大于1000次)Flash ROM;

(3)32个双向I/O口;

(4)256x8bit内部RAM;

(5)3个16位可编程定时/计数器中断;

(6)时钟频率0-24MHz;

(7)2个串行中断,可编程UART串行通道;

(8)2个外部中断源,共8个中断源;

(9)2个读写中断口线,3级加密位;

(10)低功耗空闲和掉电模式,软件设置睡眠和唤醒功能;

(11)有PDIP、PQFP、TQFP及PLCC等几种封装形式,以适应不同产品的需求。

它的价格便宜,功能强大,能耗低。很大程度上减少总电路的复杂性,提高了所设计系统的稳定性。其芯片引脚图如图2-1所示。

图2-1 单片机AT89S52引脚图

2.1.2 按键电路

图2—2 按键图

三、设计课题的软件系统的设计

3.1 使用单片机资源的情况

设计课题使用单片机资源的情况如下:

P0口输出数码管段选信号,P2口输出数码管位选信号;晶振12MHz;调整选择键KEY1:P1.0;通过选择键选择调整位,选中位闪烁;增加键KEY2:P1.1;按一次使选中位加1;减少键KEY3:P1.2;按一次使选中位减1;此数字钟可实现基本的走时和显示时间时、分、秒;时间的调整;闹钟的设定和调整;闹钟的开启和关闭功能,具体如下:

(1)实现基本的走时和显示时间的时、分、秒,上电自动显示初始时间12-59-00,且控制闹钟状态的的红色led灯为亮的状态;

(2)当第一次按下第一个弹性按键时进入时间的调节状态,此时实现对显示时间的小时调节,按下第二个按键时实现小时的加一调节,按下第三个按键时实现小时的减一调节;

(3)当第二次按下第一个弹性按键时进入显示时间的分钟调节状态,按下第二个按键时实现分钟的加一调节,按下第三个按键时实现分钟的减一调节;(4)当第三次按下第一个弹性按键时进入闹钟的小时调节状态,按下第二个按键时实现闹钟小时的加一调节,按下第三个按键时实现闹钟小时的减一调节;(5)当第四次按下第一个弹性按键时进入闹钟的分钟调节状态,按下第二个按键时实现闹钟分钟的加一调节,按下第三个按键时实现闹钟分钟的减一调节;(6)当第五次按下第一个弹性按键时返回正常的显示时间走时状态;

(7)当同时按下第二和第三个弹性按键时,关闭闹钟,且此时蓝色led灯为

灭,及定时时间到蜂鸣器并不响,若再次同时按下第二和第三个弹性按键,则开启闹钟,且此时红色led灯为亮,定时时间到蜂鸣器发出滴滴的闹铃声,同时按下第二和第三个弹性按键即可关闭闹铃。闹铃状态默认为开启。

3.2 软件系统个模块功能简要介绍

本设计的软件系统主要采用以下基本模块来实现,主程序、中断服务程序、键盘输入程序模块、数码管及其驱动模块和延时模块。

主程序:主要是用于对输入信号的处理、输出信号的控制和对各个功能程序

Bear(P3.1):到了整点和闹钟就会响;

Led (P1.2):闪烁;

P0口输出数码管段选信号,P2口输出数码管位选信号;

晶振12MHz。

图3-2显示时钟数组子程序 图3-3中断服务程序程序

四、设计课题的设计结论、仿真结果、误差分析

4.1 设计结论及使用说明 本设计为基于单片机的电子钟的设计。刚开始,我们很多地方理不清头绪,

无从下手,但通过认真研究设计课题,找书上网查资料,确定基本设计方案,对所用芯片功能进行查找、调试,然后画电路图等,积累了很多宝贵的经验。

本设计用2个四位一体的共阳数码管做为显示器,它显示时间值;设计中有三个按键,其中KEY1为启动键,KEY2为加控制键 KEY3为减控制键。

图4—1 结果图

4.2 仿真结果

在Proteus ISIS的Debug菜单中选择Execute,运行程序,系统仿真结果如图所示。

实现功能:

可调整运行的电子钟具有三种工作状态:“d.1004-22”状态、运行状态、调整状态。

图4-2“d.1004-22”上电初始化运行状态仿真结果