资源简介
包括完整proteus仿真。。。。。。。。

代码片段和文件信息
#include “reg51.h“
#include “intrins.h“ //延时函数用
#define uchar unsigned char
#define uint unsigned int
sbit studylamp=P1^6; //学习状态指示灯
sbit lamp=P1^7; //发射指示灯
sbit studykey=P3^2; //学习键(中断口)
sbit remotein=P3^4; //遥控信号输入口
sbit remoteout=P3^5; // 遥控输出口
sbit txkey=P1^0 ; //发射键
uint ijm=255nks;
uchar idata remotedata[206];//存肪冲宽度数据用
uint head; //存起始位用
uint remdata;
delay1ms(uint t) //1毫秒延时程序
{
for(i=0;i for(j=0;j<120;j++)
;
}
clearmen()//初始化函数
{
studylamp=0; //关学习灯
lamp=0; //关发射指示
remoteout=0; //关遥控输出
remotein=1; //
for(i=0;i<206;i++) //清内存
{remotedata[i]=0x00;}
IE=0x00;
IP=0x01;
TMOD=0x22; //8位自动重装模式
PCON=0X00;
TH1=0xf3; //40KHZ初值
TL1=0xf3;
IT0=1;
EX0=1; //外中断允许
EA=1; //开总中断
}
keywork()//键功能函数
{
if(txkey==0)
{
while(txkey==0); //等待键释放
ET1=1;TR1=1; //发起始位
for(i=head;i>0;i--){;}
remoteout=0;ET1=0;TR1=0;
n=0;
while(1)
{
if(remotedata[n]==0x00){delay1ms(10);break;}//数据为0结束
for(i=remotedata[n];i>0;i--){_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();}
lamp=~lamp;n++;//偶地址不发脉冲
//
ET1=1;TR1=1; //奇地址发调制脉冲
for(i=remotedata[n];i>0;i--){;}
remoteout=0;ET1=0;TR1=0;n++;
}
}
}
main()//主函数
{
clearmen(); //初始化
while(1)
{
keywork(); //按键扫描
}
}
void time_intt1(void) interrupt 3 //定时中断T1
{
remoteout=~remoteout;
}
void intt0(void) interrupt 0 //外中断0
{
ET1=0;TR1=0;EX0=0;EA=0;
head=0;studylamp=1;lamp=0;
while(studykey==0); //等待键释放
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_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();remdata++;}
if(remdata>m) //高电平>5毫秒退出
{remotedata[n]=0x00;EX0=1;EA=1;goto end;}
remotedata[n]=remdata;n++; //存高电平脉宽数据
remdata=0x0000; //脉宽计数器清零
while(remotein==0){_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();remdata++;} //低电平计数
remotedata[n]=remdata;n++;remdata=0x00;//存低电平脉宽数据
}
end: lamp=1;studylamp=0;
}
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 1205 2009-03-24 23:56 项目17 基于AT89S52学习型红外线遥控器的设计\学习型红外线遥控器
文件 1917 2009-03-24 23:56 项目17 基于AT89S52学习型红外线遥控器的设计\学习型红外线遥控器.hex
文件 92 2009-03-24 23:56 项目17 基于AT89S52学习型红外线遥控器的设计\学习型红外线遥控器.lnp
文件 2903 2009-03-24 23:56 项目17 基于AT89S52学习型红外线遥控器的设计\学习型红外线遥控器.M51
文件 1085 2009-03-27 18:05 项目17 基于AT89S52学习型红外线遥控器的设计\学习型红外线遥控器.Opt
文件 246 2009-03-27 18:05 项目17 基于AT89S52学习型红外线遥控器的设计\学习型红外线遥控器.plg
文件 2078 2009-03-24 23:56 项目17 基于AT89S52学习型红外线遥控器的设计\学习型红外线遥控器.Uv2
文件 1077 2009-03-24 23:56 项目17 基于AT89S52学习型红外线遥控器的设计\学习型红外线遥控器_Opt.Bak
文件 0 2009-03-24 23:55 项目17 基于AT89S52学习型红外线遥控器的设计\学习型红外线遥控器_Uv2.Bak
文件 2815 2009-03-06 21:05 项目17 基于AT89S52学习型红外线遥控器的设计\项目17 基于AT89S52学习型红外线遥控器的设计.c
文件 5312 2009-03-24 23:56 项目17 基于AT89S52学习型红外线遥控器的设计\项目17 基于AT89S52学习型红外线遥控器的设计.LST
文件 2524 2009-03-24 23:56 项目17 基于AT89S52学习型红外线遥控器的设计\项目17 基于AT89S52学习型红外线遥控器的设计.OBJ
目录 0 2011-06-23 19:27 项目17 基于AT89S52学习型红外线遥控器的设计
----------- --------- ---------- ----- ----
21254 13
- 上一篇:基于52单片机LED点阵显示电子钟的设计
- 下一篇:ros单线固定IP 一分钟搞定
相关资源
- 基于52单片机的直流电压测量
- 基于AT89S52单片机简易计算器的设计
- ·基于AT89S52单片机的太阳能环境
- 基于52单片机的打地鼠报告
- [Altium_Designer]_STC89C52单片机最小系统原
- 基于STC89C52单片机的数字时钟
- 基于STC89C52单片机空气PM2.5系统设计资
- 学习型红外线遥控器设计单片机
- 基于STC89C52单片机智能温控风扇设计资
- 单片机指纹识别系统的实现毕业设计
- 基于AT89S52单片机的nRF2401无线模块开发
- 常用红外线遥控信号协议详解(完整
- spring boot+mybatis+thymeleaf+apache shiro开发
- 基于STC89C52单片机温度系统控制资料
- 红外线遥控系统课程设计
- spring boot+mybatis+thymeleaf+apache shiro开发
- GY-82 GY-302资料
- 万能学习型红外遥控器设计
- gps模块仿真52单片机+proteus模拟
- AT89s52单片机程序
- AT89C52单片机原理及接口技术PPT
- 智能窗帘控制系统的设计
- 89c52单片机modbus源码
- 基于52单片机的智能时钟系统(课程设
- 基于51单片机的数字秒表课程设计、毕
- stc89c52单片机倒计时报警
- 基于51单片机水量检测c代码+proteus仿真
- 基于STC89C52单片机的宿舍智能防火报警
- 基于52单片机自动空调加PROTEUS仿真
- 基于stc89c52单片机的节拍音乐器设计
评论
共有 条评论