找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 7757|回复: 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;
  }
        }
}

回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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