/* 遺憾的是不能產(chǎn)生標(biāo)準(zhǔn)38kHz頻率的方波,有點誤差*/
#include
#define uchar unsigned char
#define uint unsigned int
sbit Waveout=P1^0; //P1.0口輸出方波
uchar
void main()
{
TMOD=0x01; //定時器0方式1
TH0=0xFF; ///由于晶振是11.0592MHz,每個機器周期約是1.09us,38kHz是26.3us產(chǎn)生一個方波,26.3/1.09需要計數(shù)24次,因而TH0=(65536-24)/256=255,即0xff
TL0=0xE8; //TL0=(65536-24)%256=232,即E8
EA=1;
ET0=1;
TR0=1;
while(1);
}
void T0_time() interrupt 1
{
TH0=0xFF;
TL0=0xE8;
Waveout=!Waveout;
}
上海意泓電子科技有限責(zé)任公司 版權(quán)所有 未經(jīng)授權(quán)禁止復(fù)制或鏡像
CopyRight 2020-2025 qdpvdf.com All rights reserved 滬ICP備2021005866號