找回密码
 立即注册

QQ登录

只需一步,快速开始

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

MS51定时器的计数功能

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


今天用到C/T的计数功能,一上午没有搞定,很郁闷。下午才搞明白,51内核C/T的外部脉冲计数功能,原来是不开中断的。晕倒!!!大半天的功夫都浪费了!!记录下来以备忘!

#include <reg52.h>

void timer0Init(void)
{
TMOD &= 0xF0;
TMOD |= 0x05;
TH0 = 0xFF;
TL0 = 0xFD;
TR0 = 1;
}
void timer1Init(void)
{
TMOD &= 0x0F;
TMOD |= 0x50;
TH1 = 0xFF;
TL1 = 0xFD;
TR1 = 1;
}
void SystemInit(void)
{
EA = 0;
P1 = P2 = P3 = P0 = 0xFF;
timer0Init();
timer1Init();
EA = 1;
}

void main(void)
{
// unsigned int temp;
unsigned char count;
SystemInit();
while(1)
{
//  temp = TL0|(TH0<<8);
  if(TF0)
  {
   TF0 = 0;
   TH0 = 0xFF;
   TL0 = 0xFD;
//   P1  = temp;
   if(count++ >= 3)
   {
    count = 0;
    P1 = ~P1;   
   }
  }
  if(TF1)
  {
   TF1 = 0;
   TH1 = 0xFF;
   TL1 = 0xFD;
//   P1  = temp;
   if(count++ >= 3)
   {
    count = 0;
    P0 = ~P0;   
   }
  }
  else
  {
   P2 = count;
  }
}
}


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

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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