《基于51单片机的红外遥控编码解码的C语言程序和电路》由会员分享,可在线阅读,更多相关《基于51单片机的红外遥控编码解码的C语言程序和电路(7页珍藏版)》请在金锄头文库上搜索。
1、 更多资料视频下载,学习梦想家园:http:/ 请勿转载!作品功能简介:当学习键按下后,红外接收头便可将接受到的信号存储到单片机中。在接受到通用遥控器发出的信号后,如果按下发射键,单片机将调出刚刚储存的信息,通过红外发射头发射出和遥控器一样的信号来达到控制的作用。#include #include #define uchar unsigned char#define uint unsigned intsbit studylamp=P27; sbit lamp=P26; sbit studykey=P32; sbit remotein=P11; sbit remoteout=P10; sbit
2、txkey=P20; uint i,j,m=255,n,k,s;uchar idata remotedata206; uint head; uint remdata;/一毫秒延时程序delay1ms(uint t)for(i=0;i0;i-); remoteout=0;ET1=0;TR1=0;n=0;while(1) lamp=0; studylamp=1;if(remotedatan=0x00)delay1ms(10);break; for(i=remotedatan;i0;i-)_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();
3、_nop_();_nop_();n+; ET1=1;TR1=1; for(i=remotedatan;i0;i-);remoteout=0;ET1=0;TR1=0;n+;/主函数 更多资料视频下载,学习梦想家园:http:/ void main()clearmen(); /初始化while(1)key_tx(); /按键扫描 /40KHz 发生器 void time_intt1(void) interrupt 3remoteout=remoteout;/外中断 0void intt0(void) interrupt 0ET1=0;TR1=0;EX0=0;EA=0;head=0;while(st
4、udykey=0); studylamp=0;lamp=1;while(remotein=1); head=0; while(remotein=0)_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();head+;n=0;remdata=0x0000;while(1)while(remotein=1)_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();
5、_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();remdata+;if(remdatam) /高电平5 毫秒退出remotedatan=0x00;EX0=1;EA=1;goto end; 更多资料视频下载,学习梦想家园:http:/ remotedatan=remdata;n+; remdata=0x0000; while(remotein=0)_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();remdata+; remotedatan=remdata;n+;remdata=0x00; end: lamp=0;studylamp=0; 电路: 更多资料视频下载,学习梦想家园:http:/ 实物: 更多资料视频下载,学习梦想家园:http:/ 更多资料视频下载,学习梦想家园:http:/ 2009-06-25 12:39