基于单片机的智能电子钟系统设计毕业设计论文

发布时间 : 星期日 文章基于单片机的智能电子钟系统设计毕业设计论文更新完毕开始阅读

(3)动态显示的核心在于依次选中一块数码管,并在此之前将相应数码管要显示

的数字的段码送到端口,进行相应的延时后关闭数码管选通信号。不断执行上述过程就可以实现较为稳定的动态显示。謀荞抟箧飆鐸怼类蒋薔。 每次进入主程序都首先判断是否到了1s,到了则继续执行,否则,返回中断。

为了在显示完秒之后还能继续显示小时的十位,必须有一个用来计数的单元,用以区分当前显示的是小时还是分钟,还是秒,并以此作为仅次于显示次数N的循环。厦礴恳蹒骈時盡继價骚。 对每一个单元(30H~32H)的两位BCD码的显示,用一位(21H).0来指示即将显示的是十位还是各位,据此控制刚才所说的单元指示数值是否用该加一或者重新初始化。茕桢广鳓鯡选块网羈泪。 由此在DISPLAY子程序中有3重循环。调用入口参数为30H~32H单元的数值。

(4)半秒提示:采用两个发光二极管,每隔半秒闪烁。

中断5次就是半秒,并在相应的分支里设置P3.6和P3.7,保证二者同时取反即可。

这可以放在显示子程序内部,保证时间显示和半秒闪烁的同步,同时可以节约计数器。

(5)上下午指示:采用两个发光二极管来指示上下午。

只要判断30H单元的内容与11H相比较就可以知道是上午还是下午了,在分支语句里控制相应的灯亮了就行。如上所述,将它放置在显示子程序里较为方便。鹅娅尽損鹌惨歷茏鴛賴。

时间显示模块的仿真结果

时分秒 上午

半秒提示

(三)按键模块

ADJUST的主体部分就是检测是否有按键按下,如果没有只是调用显示子程序,而有的话转去执行相应的分支语句。籟丛妈羥为贍偾蛏练淨。 为了防止干扰,我们便写了一个延时5ms左右的子程序,若是经过延时后,按键信号依然有效,则认定是有效信号,否则为干扰,返回程序起始点重新检测。預頌圣鉉儐歲龈讶骅籴。 K1可以控制实现定时,所以定时器计数器依然是0在起作用,在其分支语句里根据按键次数使指针指向不同的单元(小时、分钟),然后检测K2\\K3的信号到来。渗釤呛俨匀谔鱉调硯錦。 在K2\\K3的分支语句里实现指针所指向单元的加一或者减一,但是注意要按照时间规则来,对加一或者减一结果进行调整,否则可能出错。

铙誅卧泻噦圣骋贶頂廡。 对单元的加一或者减一直接反映到显示子程序和定时器计数器

0或者1的16位计数单元里,所以,每次更改后的值就相当于对时间确定调节,并从该处继续计时,这样就实现了调时功能。擁締凤袜备訊顎轮烂蔷。 K4的分支语句要求实现定闹,它与K1分支语句的不同之处是更改当前计数器为1,关闭0,在计数器1的中断服务程序里可以实现倒计时功能。贓熱俣阃歲匱阊邺镓騷。

元器件:按钮开关

K1:控制调时 K3:对应单元减一 K2:对应单元加一 K4:控制定闹

(四)闹钟模块

(1)计时器T1的倒计时

同样是1s的倒计时,只是在中断程序里实现对

计时单元的减一,但在减一之前检测是否为0,如果是就调用报警子程序,如果不是则按照规则减一,注意的同样是数值的调整。坛摶乡囂忏蒌鍥铃氈淚。 调整结束后返回ADJUST程序,继续检测,这样就可以实现连续调节。

联系合同范文客服:xxxxx#qq.com(#替换为@)