毕业论文论文范文课程设计实践报告法律论文英语论文教学论文医学论文农学论文艺术论文行政论文管理论文计算机安全
您现在的位置: 毕业论文 >> 课程设计 >> 正文

AT89S52单片机红外遥控器的设计+源代码+电路原理图+流程图 第4页

更新时间:2010-12-21:  来源:毕业论文
AT89S52单片机红外遥控器的设计+源代码+电路原理图+流程图 第4页
PCON=0x00;//定时器溢出位清零
TH1=0xf3;//40khz初值
TL1=0xf3;
IT0=1;//脉冲触发方式,负跳变有效
EX0=1;//外中断允许
EA=1;//开总中断
}
定义延时1ms子程序
delay1ms(uint t)//1ms延时子程序
{
 for(i=0;i<t;i++)
  for(j=0;j<120;j++);
}
4.3 按键电路设计的实现
通过扫描按键来判断实现的功能,并通过按键进入中断程序
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)//数据为0结束
原文请找腾讯752018766辣,文-论'文"网http://www.751com.cn {
_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++;
}
}
}
4.4 中断程序的实现
4.4.1定时器中断T1的服务程序
定时器中断T1的服务程序,实现控制红外发射灯是否发射。当remoteout为低电平时,红外发射处于工作状态,会发出红外信号;当送入的为高电平时,红外发射不工作。
void time_intt1(void) interrupt 3//定时器中断T1
{
remoteout=~remoteout;
}
4.4.2 外中断0的服务程序
外中断服务程序实现的是接收遥控器发射的红外信号,判断其高低电平,并存入单片机指定的位置,以供当系统处于学习状态时,该红外遥控器进行学习,并控制家电的使用。
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++;
原文请找腾讯752018766辣,文-论'文"网
http://www.751com.cn {
while(remotein==1)
{
_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();
_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();
_nop_();_nop_();_nop_();
remdata++;
}
if(remdata>m)//高电平>5ms退出
{
remotedata[n]=0x00;
EX0=1;EA=1;goto end;
}
remotedata[n]=remdata;
n++;//存高电平脉宽数据
remdata=0x0000;//脉宽计数器清零
while(remotein==0)

上一页  [1] [2] [3] [4] [5] 下一页

AT89S52单片机红外遥控器的设计+源代码+电路原理图+流程图 第4页下载如图片无法显示或论文不完整,请联系qq752018766
设为首页 | 联系站长 | 友情链接 | 网站地图 |

copyright©751com.cn 辣文论文网 严禁转载
如果本毕业论文网损害了您的利益或者侵犯了您的权利,请及时联系,我们一定会及时改正。