您的位置 首页 主动

51单片机定时器的使用以及计数初值的核算

#includereg51.h>#defineucharunsignedchar#defineuintunsignedintsbitLED=P0^0;uchart_count=0;intmain

#include

#define uchar unsigned char
#define uint unsigned int
sbit LED=P0^0;
uchar t_count=0;
int main(void)
{
TMOD=0x00;
TH0=(8192-5000)/32;
TL0=(8192-5000)%32;
IE=0x82;
TR0=1;
while(1);
}
void LED_FLASH() interrupt 1
{
TH0=(8192-5000)/32;
TL0=(8192-5000)%32;
if(++t_count==100)
{
LED=~LED; //0.5s开关一次LED
t_count=0;
}
}
——————————————————————————————————————————
现假定单片机晶振为12MHz,在P1.0端输出1ms的方波
选用方法0计数
方法0由低五位和高八位计数器组成 2^5=32 所以文中选用取余和取商的操作方法
(2^13-x)*1us=500us
x=8192-500=7692=1111000001100;
即TH0=78H;TL0=0CH;

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/ziliao/zhudong/274446.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部