用單片機(jī)控制蜂鳴器的實(shí)驗(yàn)電路
}
//主程序
voiDMAin(void)
{
TMOD=OxOl;//將定時器0定義為16位定時器
THO=Oxfe://初始化定時器0的計數(shù)寄存器
TLO=OxOC;
ETO=1;//使能定時器0中斷
EA=1;//使能單片機(jī)中斷
TRO=1;//啟動定時器0
//循環(huán)語句,
For(;;){ }
【注1】定時器0被定義為16位定時器,因?yàn)镾TCl2C54lO是8位單片機(jī),所以16位定時器的計數(shù)器高8位存在THO寄存器中,低8位存在TLO寄存器中,初始化時要分別寫入;
【注2】程序中將定時器0的16位計數(shù)器初始化為OxfeOc,累加499次為Oxffff,再加1就會溢出產(chǎn)生中斷,即累加500次產(chǎn)生一次中斷。因?yàn)闀r鐘頻率為12MHz,每12個時鐘周期累加1次,累加1次的時間為1Vs,500次的時間為500μs(0.5ms),所以每0.5ms會產(chǎn)生一次中斷;
【注3】定時器0溢出后的16位計數(shù)器為OxOOOO,如果不重新初始化,要累加65536次才能再次溢出產(chǎn)生中斷,所以要在中斷服務(wù)程序中重新初始化16位計數(shù)器為OxfeOc,以保證累加500次后仍能溢出產(chǎn)生中斷。
手機(jī)電池相關(guān)文章:手機(jī)電池修復(fù)
塵埃粒子計數(shù)器相關(guān)文章:塵埃粒子計數(shù)器原理 蜂鳴器相關(guān)文章:蜂鳴器原理 電流傳感器相關(guān)文章:電流傳感器原理
評論