|
|
紅外發(fā)射程序
- /*-----------------------------------------------
- 名稱(chēng):紅外發(fā)射原理
- 內(nèi)容:通過(guò)紅外發(fā)射接收閃爍LED,同普通LED顯示程序相同。
- 間歇發(fā)送38K調(diào)制波形。發(fā)射J34(IR2)端子接P3.3,J27(任意端子)接P3.2,
- P1.3接任意LED,正常情況LED閃爍,拔掉發(fā)射或者接收信號(hào)線,led熄滅。
- ------------------------------------------------*/
- #include<reg52.h> //包含頭文件,一般情況不需要改動(dòng),頭文件包含特殊功能寄存器的定義
- #include<INTRINS.H>
- sbit LED=P3^3; //紅外發(fā)射
- sbit LED1=P1^3;
- sbit IR=P3^2; //紅外一體化接收
- bit Flag;
- void Init_Timer0(void)
- {
- TMOD |= 0x01;
- TH0=0xf0; //定時(shí)器值初始化
- TL0=0x00;
- EA=1; //打開(kāi)中斷
- ET0=1;
- TR0=1;
- }
- /*-----------------------------------------------
- 定時(shí)器初始化
- ------------------------------------------------*/
- void Timer0_isr(void) interrupt 1 using 1
- {
- TH0=0x0f; //重新賦值
- TL0=0x00;
- Flag=!Flag;
- }
- /*-----------------------------------------------
- 主函數(shù)
- ------------------------------------------------*/
- main()
- {
- //unsigned int j;
- Init_Timer0(); //定時(shí)器初始化
- while(1)
- {
- LED1=IR; //讀取一體化接收頭數(shù)值
- while(Flag) //循環(huán)取反頻率大約38K
- {
- _nop_();
- _nop_();
- _nop_();
- _nop_();
- _nop_();
- _nop_();
- _nop_();
- _nop_();
- _nop_();
- LED=!LED; //發(fā)射管輸出
- }
- }
- }
復(fù)制代碼 |
|