c51单片机的定时器计数器怎么用?

如题所述

//用定时器T0查询方式P0口8位控制LED闪烁
#include // 包含52单片机寄存器定义的头文件
#define uchar unsigned char
#define uint unsigned int
/**************************************************************
函数功能:主函数
**************************************************************/
void main(void)
{

TMOD=0x01; //使用定时器T0的模式1
TH0=(65536-50000)/256; //定时器T0的高8位赋初值
TL0=(65536-50000)%256; //定时器T0的高8位赋初值
TR0=1; //启动定时器T0
TF0=0; //溢出标志位 先清零
P0=0xff; //关闭LED灯
while(1)//无限循环等待查询
{
while(TF0==1)
{
TF0=0;
P0=~P0;
TH0=(65536-50000)/256; //定时器T0的高8位赋初值否则会从0开始计数
TL0=(65536-50000)%256; //定时器T0的高8位赋初值
}
}
}
温馨提示:答案为网友推荐,仅供参考
相似回答