|
单片机C语言实例-256-红外收发演示
/*-----------------------------------------------
名称:99秒计时器
公司:上海浩豚电子科技有限公司
网站:www.doflye.cn
编写:师访
日期:2009.5
修改:无
内容:
*红外测试程序,用单片机通过发射管发射38K的调制频率码,由一体化接收并解码由发光管显示。
*正常情况下,由于反射和高灵敏度接收,LED4(P1.3)一直闪烁,可以用黑色纸片完全遮挡接收头使
*之不能接收到发射管的信号,这是LED4熄灭。说明功能性正常
------------------------------------------------*/
#include<reg52.h> //包含头文件,一般情况不需要改动,头文件包含特殊功能寄存器的定义
sbit LED=P3^3; //红外发射
sbit LED1=P1^3;
sbit IR=P3^2; //红外一体化接收
bit Flag;
void Init_Timer0(void)
{
TMOD |= 0x01;
TH0=0xf0; /* Init value */
TL0=0x00;
EA=1; /* interupt enable */
ET0=1; /* enable timer0 interrupt */
TR0=1;
}
/******************************************************************/
/* 定时器0初始化 */
/******************************************************************/
void Timer0_isr(void) interrupt 1 using 1
{
TH0=0x0f; /* Init value */
TL0=0x00;
Flag=!Flag;
}
/******************************************************************/
/* 主函数 */
/******************************************************************/
main()
{
unsigned int j;
Init_Timer0(); //定时器初始化
while(1)
{
LED1=IR; //读取一体化接收头数值
if(Flag)
{
for(j=0;j<27;j++)//大约38KHz
{
LED=!LED; //发射管输出
}
}
}
}
更多详情参考附件文档
|
|