微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > 51单片机定时器的应用以及计数初值的计算

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

时间:11-11 来源:互联网 点击:
#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;

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top