论坛风格切换切换到宽版
发帖 回复
返回列表  提醒:不能用迅雷等P2P下载,否则下载失败标(二级)的板块,需二级才能下载,没二级不要购买,下载不了
  • 2800阅读
  • 2回复

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

上一主题 下一主题
离线2dmin
 

性别:
帅哥
发帖
15760
金币
13894
提示:会员销售的附件,下载积分 = 版块积分 + 销售积分       只看楼主 倒序阅读 使用道具 0楼 发表于: 2012-05-06
作者:吴汉清 5er@)p_  
本文介绍的用单片机AT89C2051制作的计时器,采用倒计时方式,剩余时间一目了然。时间到了还会发出报警声。 a:Q[gF8>  
  一、硬件电路工作原理 v zo4g,Bj  
  电路见附图,由单片机电路和数码显示电路等组成。使用复位和开始两个按钮,用三位数码管分别显示分和秒。 9U_ks[Qa  
  AT89C205l、TX、R1、C1等组成单片机电路。数码管DS1~DS3、VT1~VT3、R3~R12等组成数码显示电路。本机采用动态显示方式,使用共阳数码管,P3.3~P3.5口作数码管的位码输出,通过三极管驱动数码管。P1.0~P1.6口作段码输出,用以驱动数码管的各字段。BL是自带振荡器的讯响器。当P3.0输出低电平时,BL发出报警声。
J%rP$O$  
  二、软件设计 F2I 5q C/  
  程序用C语言编写,由主程序、定时器T0中断服务程序、定时器T1中断服务程序、延时子程序等模块组成。主程序主要完成程序的初始化和对开始按键S1的检测。 MDa7 B +4  
  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秒钟报警声。 [0;buVU.  
  在计时过程中。如果要提前结束计时,只需按一下复位键S2,这时数码显示5:00;当按开始键S1后。倒计时开始。 ]`o!1(GA  
  三、元器件选择与安装 Z*! O:/B  
  DS1~DS3选共阳LED数码管,BL选用内部带振荡器的讯响器。其余元器件的参数见附图。  先将C语言源程序用KEILC51编译成目标文件。即HEX文件。再用编程器将HEX文件写入AT89C205l中。安装时,将表示分的数码管DSI和表示秒的数码管DS2、DS3分开一定的距离。 @tT-JwU  


评价一下你浏览此帖子的感受

精彩

感动

搞笑

开心

愤怒

一般

差劲
离线ask1680

性别:
帅哥
发帖
2836
金币
3416
提示:会员销售的附件,下载积分 = 版块积分 + 销售积分       只看该作者 1楼 发表于: 2021-09-26


在线lf2k2022

性别:
帅哥
发帖
6687
金币
2887
提示:会员销售的附件,下载积分 = 版块积分 + 销售积分       只看该作者 2楼 发表于: 2023-02-21


快速回复
限150 字节
 
上一个 下一个