关于C51单片机红外线驱动LED发射和接收问题

请高手帮帮忙,求C语言程序,红外线驱动LED,发射和接收程序,希望给图一样,将程序发送到我的邮箱,我的邮箱是:junjun0013@126.com,在此表示感谢!... 请高手帮帮忙,求C语言程序,红外线驱动LED,发射和接收程序,希望给图一样,将程序发送到我的邮箱,我的邮箱是:junjun0013@126.com,在此表示感谢! 展开
 我来答
yylrhyyl
2012-05-25 · TA获得超过1878个赞
知道大有可为答主
回答量:2013
采纳率:80%
帮助的人:602万
展开全部
最简单的,发送端:按一下键发一个脉冲;接收端:进行脉冲计数,用led显示。
发送端://12M晶体
#include "reg51.h"
#define KeyB P1^6
#define OutPin P1^7
bit Key1,Key2;
//timer init 20ms定时中断
void initTimer(void)
{
TMOD=0x1;
TH0=0x3c;
TL0=0xb0;
}

//timer0/counter0 interrupt
void timer0(void) interrupt 1
{
TH0=0x3c;
TL0=0xb0;
//add your code here.
Key1=Key2;
Key2=KeyB;
}

//the main fun
void main(void)
{
initTimer();
TR0=1;
ET0=1;
EA=1;//开中断
while(1)
{
OutPin=key1||key2;
}
}
接收端:
#include "reg51.h"
char Count
//int0 interrupt
void int0(void) interrupt 0
{
//add your code here
Count++;
}

//the main fun
void main(void)
{
IT0=1; //INT0下降沿中断
EX0=1; //允许INT1中断
EA=1;
Count=0;//初始化计数器
while(1)
{
P1=~Count;//图中的led应该是串电阻公共端接电源,P1口拉低亮,置高灭。
}
}
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式