我正在写一篇基于AT89C52单片机的数字时钟设计。下面是我的论文后面的程序图。

是与DS1302,2个四位一体的7段数码管组成的一个数字时钟。下面是我附的图片。哪位大虾能不能提笔。针对我的图片扩充下对流程设计的说明。要文字的叙述
主程序设计图

读DS1302中断及闹铃检测流程图

功能选择中断操作的程序流程图

第1个回答  2013-05-12
思路有点问题,以上所列的这些功能不需要使用中断来处理。
中断不是不能用,但如果没有必要,能不能还是不要用,中断属于非线性的处理方式,不可控的因素太多,比如,中断嵌套,重入。如果处理不好,会极大的降低系统的可靠性。
你所列的这些功能,并不需要精确的延时。举个例子,你秒讯闪烁时,应该是亮0.5秒,灭0.5秒,要如果你亮0.45秒,灭0.55秒,再亮0.52秒,灭0.47秒,有什么关系吗?正常使用时根本不会感觉到任何差别。
比较合理的做法是 以判断定时闹钟为例,在主程序中控制主循环的总时间,比如,确保每500ms主程序循环一次。这个循环的时间不需要很准确,500ms循环一次,或者400ms循环一次,甚至再短一些也没关系,只要控制最大不超过500ms就可以。每0.5秒检查一下闹钟,然后给出提示,用户不会感到有什么不舒服的。
具体是多少时间需要综合考虑,比如你要处理定时闹钟,每1秒钟处理一次即可,如果要处理按键,这个时间可以提高到100ms,这样按键时不会有明显的迟顿。综合考虑会一般取最短的一个延时,控制主循环的延时就可以。

以我的经验,你的系统只需要开一个比较短的定时中断进行显示扫描,并在定时中断处理过程中顺便维护一个计时器用于主程序同步就足够。像这样,
static unsigned iCounter;
_isr_t0 ( void )
{
// 每5ms中断一次
iCounter+=5;
// 显示扫描
}

main( void )
{
while( 1 )
{
如果iCounter 增加了500ms,则: 读1302, 检查闹钟

}
}追问

跪求文字解说。每个图100字左右就好 其他的不需要。

第2个回答  2013-05-12
空间离开
zxc 奥斯卡; 看,吗这些摩擦

是的看了,吗吗政策性、

我正在写一篇基于AT89C52单片机的数字时钟设计。下面是我的论文后面的...
比较合理的做法是 以判断定时闹钟为例,在主程序中控制主循环的总时间,比如,确保每500ms主程序循环一次。这个循环的时间不需要很准确,500ms循环一次,或者400ms循环一次,甚至再短一些也没关系,只要控制最大不超过500ms就可以。每0.5秒检查一下闹钟,然后给出提示,用户不会感到有什么不舒服的。具...

数字时钟设计报告
此数字时钟的设计与实现,主要采用了6只LED数码管,AT80C52内部二进制16位定时器\/计数器,可编程中断控制器等芯片。3.2 主要硬件元件功能说明 (1)89C52的主要功能 AT89C52是低电压、高性能的CMOS 8位单片机,片内含8K bytes可反复擦写的只读程序存储器(PEROM)和256 bytes的随机存取数据存储器(RAM...

50分!!!急!!!求基于at89c52,用lcd1602显示的日历时钟,具有闹钟功能,不...
以STC89C52芯片来设计电子时钟,采用C语言进行编程,可以实现以下一些功能:年、月、日、小时、分、秒的显示、定时报警功能。本次设计的电子时钟系统由时钟电路,LCD显示电路,定时报警电路,按键调整电路四部分组成。51单片机通过软件编程,在LCD1602液晶屏上实现年、月、日、小时、分、秒的显示;通过三个按...

智能家居论文怎样写啊???急求一份
智能家居控制系统的设计与实现 [2009-03-18 06:41] ;;; 摘要:介绍了以PC(个人计算<\/A>机)、MCU(单片机AT89C52)、双音多频编解码集成电路MT8880C、语音录放芯片ISD4004和无线数据收发芯片nRF401为核心,通过现有的电话网络<\/A>终端或者互联网网络终端实现远程控制的智能家居系统,给出了该系统...

基于at89c52的实时时钟的秒定时信号的产生方法
利用单片机产生时钟信号,一般都是用定时器来完成 先给定时器赋一个初始值,单片机每运行一次周期,则定时器初值改变一次 定时功能,就是利用这种状态来完成的 如果想输出秒信号,那就要计算好单片机的运行周期和定时器初值的关系 具体方法如下:1 可以按定时时间的计算公式, 计算出定时器的时间常数X:定...

单片机课程设计8位数码管电子钟at89c52代码怎么写?
设计旨在打造一个基于51单片机的多功能数字时钟闹钟,通过八位数码管进行显示,并具备多种功能。主要功能包括采用单片机内部定时器实现计时,使用八位数码管显示时分秒,实现时、分、秒的加减设置并伴有闪烁提示,设置闹钟并配置其响铃间隔与持续时间,以及手动消除闹钟。通过 Proteus 仿真软件,实现从硬件到...

如图的AT89C52上的晶振电路和复位电路 写一些工作原理和介绍(论文...
由于微机电路是时序数字电路,它需要稳定的时钟信号,因此在电源上电时,只有当VCC超过4.75V低于5.25V以及晶体振荡器稳定工作时,复位信号才被撤除,微机电路开始正常工作。目前为止,单片机复位电路主要有两种类型:一种是上电复位,一种是手动复位。其中复位的原理如图1所示:图1:单片机复位电路 上电...

单片机AT89C52怎样烧入程序
1、首先打开编程软件Keil uVision4,新建一个工程文件,在菜单栏中Project—— New uVision Project..。2、然后选择单片机型号是 Atmel 公司的 AT89c52,单击OK。3、再单击工具栏上新建按钮,新建一个文档,然后再点击保存,输入保存的路径,输入名字。4、右键单击将这个文件添加到到工程文件夹中。5、...

求一基于AT89C52单片机的交通灯程序: 要求:
此表1说明:(1)当为黄灯时 A、B两道同时为黄灯;以提示行人或车辆下一个灯色即将到来 时间 3秒。(2)当A到为红灯,A 道车辆禁止通行,A 道行人可通过;B 道为绿灯,B 道车辆通过,行人禁止通行。时间为60秒。(3)当A道绿灯,A 道车辆通行;B 道为红灯,B 道车辆禁止通过,行人...

基于AT89C52的学习红外遥控灯 原理图
AT89C52 单片机中,有些属于低电压编程方式,而有些则是高电压编程方式,用户可从芯片上的型号和读取芯片内的 签名字节获得该信息。 AT89C52 的程序存储器阵列是采用字节写入方式编程的,每次写入一个字节,要对整个芯片内的PEROM 程序存储器 写入一个非空字节,必须使用片擦除的方式将整个存储器的内容清除。 编程方法 ...

相似回答
大家正在搜