我们从2011年坚守至今,只想做存粹的技术论坛。  由于网站在外面,点击附件后要很长世间才弹出下载,请耐心等待,勿重复点击不要用Edge和IE浏览器下载,否则提示不安全下载不了

 找回密码
 立即注册
搜索
查看: 2909|回复: 2

[技术文章] 用单片机AT89C2051制作的倒计时器

[复制链接]

该用户从未签到

1万

主题

1292

回帖

2万

积分

管理员

积分
29577

社区居民最爱沙发原创达人社区明星终身成就奖优秀斑竹奖宣传大使奖特殊贡献奖

QQ
发表于 2012-5-6 10:50:33 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区

您需要 登录 才可以下载或查看,没有账号?立即注册

×
作者:吴汉清
本文介绍的用单片机AT89C2051制作的计时器,采用倒计时方式,剩余时间一目了然。时间到了还会发出报警声。
  一、硬件电路工作原理
  电路见附图,由单片机电路和数码显示电路等组成。使用复位和开始两个按钮,用三位数码管分别显示分和秒。
  AT89C205l、TX、R1、C1等组成单片机电路。数码管DS1~DS3、VT1~VT3、R3~R12等组成数码显示电路。本机采用动态显示方式,使用共阳数码管,P3.3~P3.5口作数码管的位码输出,通过三极管驱动数码管。P1.0~P1.6口作段码输出,用以驱动数码管的各字段。BL是自带振荡器的讯响器。当P3.0输出低电平时,BL发出报警声。
2012415205556501.gif

  二、软件设计
  程序用C语言编写,由主程序、定时器T0中断服务程序、定时器T1中断服务程序、延时子程序等模块组成。主程序主要完成程序的初始化和对开始按键S1的检测。
  TO中断服务程序由动态扫描显示等部分组成。T0的中断时间设置为5ms。采用三位显示,T0每中断一次显示一位,3次中断,即15ms,刷新一次数据。程序中用到三个数组:DisoTab[l0]用来存放字形码;BitTab[3]存放位驱动码;DispBuf[3]存放待显示的数,其中DispBuf[0]存放分钟数,DispBuf[1]、DispBuf[2]分别存放秒的十位和个位。T1中断服务程序用作时间计数。中断时间设置为50ms。为了获得1秒钟的时间。使用了变量n,T1每中断一次n加l。当n=20时即得到1秒的时间。程序中s作秒计数,m作分计数,它们的初始值为s=0。m=5。当n计满20时s减l(当s为0时结果取59):当s计满60个数时m减1:m、s均为0说明5分钟的定时时间到。BL发出1秒钟报警声。
  在计时过程中。如果要提前结束计时,只需按一下复位键S2,这时数码显示5:00;当按开始键S1后。倒计时开始。
  三、元器件选择与安装
  DS1~DS3选共阳LED数码管,BL选用内部带振荡器的讯响器。其余元器件的参数见附图。  先将C语言源程序用KEILC51编译成目标文件。即HEX文件。再用编程器将HEX文件写入AT89C205l中。安装时,将表示分的数码管DSI和表示秒的数码管DS2、DS3分开一定的距离。
回复

使用道具 举报

  • TA的每日心情
    开心
    2024-11-13 15:38
  • 签到天数: 3 天

    [LV.2]偶尔看看I

    103

    主题

    2691

    回帖

    4277

    积分

    PADS-190603高级班

    积分
    4277

    终身成就奖特殊贡献奖优秀斑竹奖

    发表于 2021-9-26 08:56:20 | 显示全部楼层
    回复

    使用道具 举报

  • TA的每日心情
    开心
    半小时前
  • 签到天数: 153 天

    [LV.7]常住居民III

    11

    主题

    7887

    回帖

    5556

    积分

    二级逆天

    积分
    5556

    终身成就奖特殊贡献奖原创先锋奖优秀斑竹奖

    发表于 2023-2-21 08:39:22 | 显示全部楼层
    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    每日签到,有金币领取。


    Copyright ©2011-2024 NTpcb.com All Right Reserved.  Powered by Discuz! (NTpcb)

    本站信息均由会员发表,不代表NTpcb立场,如侵犯了您的权利请发帖投诉

    ( 闽ICP备2024076463号-1 ) 论坛技术支持QQ群171867948 ,论坛问题,充值问题请联系QQ1308068381

    平平安安
    TOP
    快速回复 返回顶部 返回列表