C51單片機(jī)的定時(shí)器計(jì)數(shù)器怎么用?
掃描二維碼
隨時(shí)隨地手機(jī)看文章
方法有很多的,給你一個(gè),你可以調(diào)試一下,你可以通過(guò)不同的晶振去計(jì)算定時(shí)器初值,如果你懂定時(shí)器這部分很好調(diào)通的
#include
sbit p1_0=P1^0;
int i; //全局變量
void timing(void)//晶振為3.6864M
{
TMOD|=0x01; //定時(shí)器T0,工作方式1
TH0=0xC3;
TL0=0xC7; //這兩個(gè)寄存器存的是計(jì)數(shù)器的計(jì)數(shù)開(kāi)始的值,這兩個(gè)值累加至溢出后正好是50ms
ET0=1; //使T0中斷可以溢出
EA=1; //開(kāi)啟總中斷
TF0=0; //溢出位清零
TR0=1; //開(kāi)啟T0
}
/********定時(shí)中斷函數(shù)*********/
void time0_int () interrupt 1 //定時(shí)中斷函數(shù)
{
TH0=0xC3;
TL0=0xC7;
i++;
}
main()
{
i=0;
timing();
while(;)
{
if(i==20)
{
p1_0=~p1_0; //p1.0口狀態(tài)翻轉(zhuǎn)
i=0;
}
}
}