碧波液压网 欢迎你,游客。 登录 注册

基于单片机的双色无表针钟表的设计

版权信息:站内文章仅供学习与参考,如触及到您的版权信息,请与本站联系。
液压导航网

  本文提出了基于单片机的双色无表针钟表的设计方案。该方案硬件以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 );

  // 延迟子程序,防抖动

你没有登陆,无法阅读全文内容

您需要 登录 才可以查看,没有帐号? 立即注册

标签:
点赞   收藏

相关文章

发表评论

请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。

用户名: 验证码: 看不清?点击更换

最新评论