文档详情

单片机课程设计——时间控制器 .pdf

发布:2024-12-18约1.75万字共15页下载文档
文本预览下载声明

单片机课程设计

——时间控制器

一.设计要求:

设计一个以AT89C52为核心的时间控制器。可以实现时间显示和

设置闹钟功能。用89S52单片机设计一个时间控制器,有8位数码管

显示年月日及时分秒,具有日历和时钟功能,有一路输出控制电灯,

有一路输出控制蜂鸣器,可以设置年月日及时分秒,可以设置一张时

间表,该时间表记录什么时间开、关电灯,什么时间开、关蜂鸣器,

而单片机按这张时间表来控制电灯和蜂鸣器。该时间表要求掉电时仍

能保存不掉数据,所以需要用一片EEPROM来保存数据,如用

24C02/04/08等。

二.设计原理:

在AT80C52单片机内部对机器周期进行计数,从而得到定时。由

于AT89C52的内部计数器是16位的,振荡脉冲频率为12MHZ,这

样一个机器周期为1μs,计满一次为65536μs。

显示器选用8位共阳极数码管,分别表示时、分、秒。同时选用

两个74HC273作为片选和位选锁存器。同时经过P0口外加四个键

盘用以调整时间。

软件部分分为四大模块:调整初始时间、设置闹铃时间实现闹铃

功能、显示时间和脉冲计数模块。脉冲计数模块,通过AT89C52的

T0进行计数,设置T0计数溢出时,由内部硬件置位,同时开放中断,

使系统进入中断服务程序。在定时器运行前,在其中先预置入计数初

值,为了计算方便,在次设置中预置的初值为(65536-1000),这

样一次“硬件计时周期”就可定时1000μs。在中断服务程序设置进

行1000次“硬件计时周期”就可得到1S。同理进行分、小时的计

时。

三.流程图:

开始

设置INT0中断向量开启INT0中断

初始化时间

延时1秒,秒数加1

秒数已为60?

分钟数加1,秒钟数清0

分钟数已为60?

小时数加1,分钟数1

小时数已为24?

小时数清0

四.设计原理图:

五.程序清单:

SYSTEMequ0

NMLIGHTONequ6

NMLIGHTOFFequ7

NMALARMONequ8

ANALARMOFFequ9

YEAR1equ10H

YEAR2equ11H

YEAR3equ12H

YEAR4equ13H

MONTH1equ14H

MONTH2equ15H

DAY1equ16H

DAY2equ17H

HOUR1equ18H

HOUR2equ19H

MINUTE1equ1AH

M

显示全部
相似文档