0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

单片机AT89C2051制作计时器

电子设计 来源:xx 2019-02-14 16:40 次阅读

本文介绍的用单片机AT89C2051制作的计时器,采用倒计时方式,剩余时间一目了然。时间到了还会发出报警声。

一、硬件电路工作原理
电路见附图,由单片机电路和数码显示电路等组成。使用复位和开始两个按钮,用三位数码管分别显示分和秒。

AT89C205l、TX、R1、C1等组成单片机电路。数码管DS1~DS3、VT1~VT3、R3~R12等组成数码显示电路。本机采用动态显示方式,使用共阳数码管,P3.3~P3.5口作数码管的位码输出,通过三极管驱动数码管。P1.0~P1.6口作段码输出,用以驱动数码管的各字段。BL是自带振荡器的讯响器。当P3.0输出低电平时,BL发出报警声。

二、软件设计
程序用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分开一定的距离。

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

    关注

    6001

    文章

    43973

    浏览量

    620838
  • AT89C2051
    +关注

    关注

    7

    文章

    170

    浏览量

    66043
  • 计时器
    +关注

    关注

    1

    文章

    395

    浏览量

    32156
收藏 人收藏

    评论

    相关推荐

    at89c2051实用程序集

    at89c2051实用程序集这个包中提供了一些有实际应用价值的子程序供参考选用SUB1----X25045/43 看门狗/存储89C2051接口子程序 源程序/原理图(21K
    发表于 10-14 17:04

    AT89C2051烧写程序问题

    怎么用RF910烧写AT89C2051啊,引脚怎么连,比如单片机1脚链烧写的那个脚啊
    发表于 09-14 09:09

    AT89C2051单片机1智能充电器

    AT89C2051单片机1智能充电器
    发表于 04-10 18:38

    基于AT89C2051的频率计

    要求是利用AT89C2051制作一个简易频率计,测100HZ到1MHZ的正弦波的频率,我的想法是用脉冲计数法,信号发生产生信号,经过整形电路,与单片机交互,最后显示出来。但是我只有4
    发表于 07-18 22:04

    AT89C2051单片机控制实现的32×16的矩阵交换

    AT89C2051单片机控制实现的32×16的矩阵交换
    发表于 11-07 18:53

    怎么用RF910烧写AT89C2051

    怎么用RF910烧写AT89C2051啊,引脚怎么连,比如单片机1脚链烧写的那个脚啊
    发表于 06-18 09:02

    AT89C2051的中文数据资料

      AT89C2051是美国ATMEL公司生产的低电压,高性能CMOS 8位单片机,片内含2k bytes 的可反复擦写的只读程序存储(PEROM)和128 bytes的随机存取数据存储
    发表于 07-20 17:23

    AT89C2051单片机制作的数字电容表

    AT89C2051单片机制作的数字电容表:AT89C2051作为AT89C51的简化版虽然去掉了P0、P2等端口,使I/O口减少了,但是却增加了一个电压比较器,因此其功能在某些方面反
    发表于 06-09 14:18 139次下载

    基于AT89C2051单片机的数字电容表设计

    基于AT89C2051单片机的数字电容表设计:AT89C2051单片机的P1.0、P1.1的模拟输入阻抗很低,被测信号进行阻抗变换后,才能送入P1.0(电容积分信号)、P1.1(参考电
    发表于 09-13 16:52 145次下载

    AT89C2051单片机时钟程序源代码

    AT89C2051单片机时钟程序源代码:AT89C2051组成的时钟电路原理图
    发表于 03-06 10:14 203次下载

    AT89C2051单片机引脚图,引脚说明

    AT89C2051高性能8位单片机AT89C2051引脚图)  
    发表于 04-29 22:06 1.5w次阅读
    <b class='flag-5'>AT89C2051</b><b class='flag-5'>单片机</b>引脚图,引脚说明

    AT89C2051单片机的比较器的应用

    AT89C2051单片机的比较器的应用 AT89C2051的一个特殊应用,用它的比较器做一个光强调节器,应用
    发表于 09-13 16:28 2493次阅读

    AT89c2051单片机介绍

    AT89c2051单片机是ATMEL公司出产的低电压,高性能COMS八位单片机。本文为您提供了 AT89c2051 单片机的主要性能参数,功
    发表于 08-11 15:26 381次下载
    <b class='flag-5'>AT89c2051</b><b class='flag-5'>单片机</b>介绍

    AT89C2051单片机制作的数字电容表

    AT89C2051单片机制作的数字电容表
    发表于 01-04 14:16 19次下载

    利用单片机AT89C2051制作的电子琴电路

    电子发烧友网站提供《利用单片机AT89C2051制作的电子琴电路.pdf》资料免费下载
    发表于 10-10 11:13 0次下载
    利用<b class='flag-5'>单片机</b><b class='flag-5'>AT89C2051</b><b class='flag-5'>制作</b>的电子琴电路