基于单片机的双色无表针钟表的设计
本文提出了基于单片机的双色无表针钟表的设计方案。该方案硬件以AT89S51单片机为控制核心,采用 74LS154(4—16 线译码器)扩展 I/O 口以控制钟表的显示,并采用 12 个红色 LED 灯表示小时,12 个绿色 LED 灯表示分钟,每隔 5 分钟,变化一次。同一时间仅有两个 LED 灯亮,节能、方便、易识别,且富有个性。
一、总体结构
1.主体结构模块
本设计分为核心控制、显示控制和时间调整三大模块,主体结构如图 1 所示。
2.LED灯模块
该钟表中 LED 灯的摆放位置如图 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 所示。
2.驱动与LED显示电路
用 74LS154(2 个 )24 个端口控制 24 只LED 发光二极管的亮灭,当端口输出低电平时,LED 灯亮,反之,LED 灯灭。用直流 5V 电源给AT89S51 和 24 只 LED 灯供电,通过程序控制各个 LED 灯的亮灭,从而实现时间的显示。其驱动电路如图 4 所示。
三、软件设计
1.工作流程
工作流程如图 5 所示。现说明如下:
图5 工作流程示意图
AT89S51 的 T0 工作在定时状态,P1 口控制小时显示,P2 口控制分钟显示,T0 每次定时 60ms,循环 5000 次,即定时 5min,P2 口输出值加 1,分钟显示跳一格,分钟每跳 12 格 (1 小时 ),P1 口值加 1,小时显示跳一格,P2 口送入 0,重新开始循环。当小时显示跳 12 格时(12 小时),P1 口送入 0,重新开始循环。INT0、INT1 中断分别用于小时、分钟调整。
2.系统程序
#include
#include
Unsighed int wang ;
Unsighed char hour,min ;
void dingshi(void) ;
//t0 赋初值
void delay(int );
// 延迟子程序,防抖动
相关文章
- 2024-09-20吸收式制冷循环系统的热力学分析
- 2024-08-29混合工质在低温制冷中的应用
- 2024-09-30论弹性力学变分原理各类条件的完备性
- 2023-05-12用8031单片机设计的可编程序调节器
- 2022-05-10二级网络技术在转炉控制系统中的应用
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。