标题:
MS51定时器的计数功能
[打印本页]
作者:
51黑黑黑
时间:
2016-2-13 03:03
标题:
MS51定时器的计数功能
今天用到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;
}
}
}
欢迎光临 (http://www.51hei.com/bbs/)
Powered by Discuz! X3.1