以AT89S51v为控制核心的双色无表针钟表设计

控制/MCU

1814人已加入

描述

本文提出了基于单片机的双色无表针钟表的设计方案。该方案硬件以AT89S51 单片机为控制核心,采用 74LS154(4-16 线译码器)扩展I/O 口以控制钟表的显示,并采用12 个红色LED 灯表示小时,12 个绿色LED 灯表示分钟,每隔5 分钟,变化一次。

同一时间仅有两个LED 灯亮,节能、方便、易识别,且富有个性。

一、总体结构

1.主体结构模块

本设计分为核心控制、显示控制和时间调整三大模块,主体结构如图1 所示。

单片机

图1 主体结构模块

2.LED灯模块

该钟表中LED 灯的摆放位置如图2 所示:

单片机

图2(红色LED 灯表示小时,绿色LED 灯表示分钟)

二、硬件电路设计

1.主控电路

主控电路由AT89S51 单片机控制,74LS154(4-16 译码器) 进行I/O 口扩展, 采用11.0952MHz 晶振。AT89S51 有P0、P1、P2 和P3 四组I/O 口线,每组8 个端口,本设计采用P1、P2 和P3 三组线,P1.0~P1.3 口与74LS154 输入口相连,74LS154(0~11) 输出口各自与一个红色LED灯相连,控制小时显示,P2.0~P2.3 口与74LS154输入口相连,74LS154(0~11) 输出口各自与一个绿色LED 灯相连,控制分钟显示。在程序的控制下实现同一时间仅有两个灯亮的双色无表针钟表,其中红色表示小时,绿色表示分钟,例如,当1 :10 时,1 处红色LED 灯亮,2 处绿色LED 灯亮。其主控电路如图3 所示。

单片机

图3 主控电路

2.驱动与LED显示电路

用74LS154(2 个)24 个端口控制24 只LED 发光二极管的亮灭,当端口输出低电平时,LED 灯亮,反之,LED 灯灭。用直流5V 电源给AT89S51 和24 只LED 灯供电,通过程序控制各个LED 灯的亮灭,从而实现时间的显示。其驱动电路如图4 所示。

单片机

三、软件设计

1.工作流程

工作流程如图5 所示。现说明如下:

AT89S51 的T0 工作在定时状态,P1 口控制小时显示,P2 口控制分钟显示,T0 每次定时60ms,循环5000 次,即定时5min,P2 口输出值加1,分钟显示跳一格,分钟每跳12 格(1 小时),P1 口值加1,小时显示跳一格,P2 口送入0,重新开始循环。当小时显示跳12 格时(12 小时),P1 口送入0,重新开始循环。INT0、INT1 中断分别用于小时、分钟调整。

单片机

图5 工作流程示意图

2.系统程序

单片机

单片机

单片机

单片机

单片机

单片机

四、小结

本文所设计的基于单片机的双色无表针钟表,在同一时间仅保持两个LED 灯亮,耗电极低,更节能,双色显示更易辨认。

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分