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