找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 7014|回复: 0
打印 上一主题 下一主题
收起左侧

用定时器实现精确延时一分钟

[复制链接]
跳转到指定楼层
楼主
ID:1 发表于 2010-1-2 19:13 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

/*-----------------------------------------------
注:1.硬件应使用12MHz晶振;
    2.程序使用定时器0,溢出周期50ms,然后通过软件计数器
一分钟后发光管灯灭,然后一分钟又亮周而复始
-------------------------------------------------*/

#include<reg52.h>

sbit P00=P0^0;
sbit P14=P1^4;

unsigned char Count=0;
unsigned char Half_Min=0;

void main()
{
P00=0;
 P14=0;
 TMOD=0x01;
 TH0=0x3C;
 TL0=0xB0;
 ET0=1;
 EA=1;
 TR0=1;
 
 while(1);
}


void timer_0() interrupt 1
{
 TH0=0x3C;
 TL0=0xB0;
 
 Count++;

 if(Count>19)     //大于19则为1s
    {Half_Min++;
     Count=0;

 

    if(Half_Min>=60) //60秒
  {
      P00=~P00;
  Half_Min=0;
  }
        }
}

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏1 分享淘帖 顶 踩
回复

使用道具 举报

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

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表