标题:
单片机控制的红外发射电路 急求助
[打印本页]
作者:
HWX
时间:
2017-4-30 13:53
标题:
单片机控制的红外发射电路 急求助
用STC89C52作为红外遥控器的芯片,发射电路如下,要求一个输入时定时器产生38K方波,另一个是串口输出控制。而接收端的板子是STC89C52板子
20131226102424468.jpg
(25.62 KB, 下载次数: 105)
下载附件
2017-4-30 13:52 上传
作者:
HWX
时间:
2017-4-30 13:56
#include<reg52.h> //52单片机头文件 #define uint unsigned int //宏定义 #define uchar unsigned char //宏定义 sbit P31=P3^1; //串口输出 sbit P34=P3^4; //方波输出 sbit P14=P1^4; //按建设置 sbit P15=P1^5; sbit P16=P1^6; sbit P17=P1^7; void init(); char getkey() { if(!P14)return 1; if(!P15)return 2; if(!P16)return 3; if(!P17)return 4; return 0; } void UartSend(unsigned char buf) { SBUF=buf; while(!TI); TI = 0; } void main() //主函数 { char key; init(); do{ key=getkey(); if(key==1)UartSend(1);//0 if(key==2)UartSend(2);//exit if(key==3)UartSend(3);//+ if(key==4)UartSend(4);//- } while(1); } void timer0() interrupt 1 { TH0=0xFF; TL0=0xE6; P34=~P34; } void init() { //方波产生 TMOD|=0x01; //设置定时器0为工作方式1 TH0=0xFF; //产生38k方波 TL0=0xE6; EA=1; //全局中断允许 ET0 = 1; //打开定时器0中断 TR0=1; //启动定时器0 //串口设置 TMOD|=0x20; //T1定时器工作方式2 TH1=0xfd; //装初值 TL1=0xfd; //装初值 TR1=1; //启动定时器1 SM0=0; //设定串口工作方式1 SM1=1; //同上 }
作者:
HWX
时间:
2017-4-30 13:56
这是发送的自己写的代码
作者:
1074704199
时间:
2017-4-30 18:07
用 51单片机模一个红外发射吗?网上买一个逻辑分析仪,约 45元那种(8位,100M以下足够,便宜),测试准波形就可以了
欢迎光临 (http://www.51hei.com/bbs/)
Powered by Discuz! X3.1