云题海 - 专业文章范例文档资料分享平台

当前位置:首页 > (精品)基于51单片机的红外遥控器解码设计毕业论文

(精品)基于51单片机的红外遥控器解码设计毕业论文

  • 62 次阅读
  • 3 次下载
  • 2025/7/3 22:46:09

图2-16 液晶1602时序图

图2-17 LCD1602显示电路图

图2-18 LCD1602显示效果图

第3章 红外解码程序设计

使用C语言编写程序,调用的库函数多,易于移植,编程简单。

第1节 红外接收电路主程序流程图

主程序是首先初始化红外接收端口,然后检测是否接收红外信号,如果接收到红外信号就调用接收子程序,然后就通过LCD1602显示当前按键的解码值,如图3-1所示。

图3-1 红外接收主程序流程图

第2节 红外接收电路子程序流程图

子程序是首先读取T0定时器的长度,如果是1.125ms就认为是“0”,将其存入缓冲区并且计数器加一,如果是2.25ms就认为是“1”,将其存入缓冲区并且计数器加一。如

果计数器值为32时,就接收结束标志位并且将计数器清0,如果计数器值不为32时,就认为是接收误码,计数器也将清0,此时重新等待读取红外信号。如图3-2所示。

图3-2 红外接收程序流程图

附录1

部分红外解码程序 #include

void irpros(void)数据处理函数 {

uchar k=1,i,j; uchar value;

for(j=0;j<4;j++) {

for(i=0;i<8;i++) { }

ircode[j]=value; }

value=value>>1; if(irdata[k]>6) {

value=value|0x80; } k++;

irprosok=1; }

void irwork(void)数据分离函数 {

display[0]=ircode[0]16; display[1]=ircode[0];

display[2]=ircode[1]16; display[3]=ircode[1]; display[4]=ircode[2]16; display[5]=ircode[2]; display[6]=ircode[3]16; display[7]=ircode[3]; }

void numzh(void)ASCII码转换函数 {

uchar i,j=8,a; for(i=0;i<8;i++)

{

switch(display[i]) { }

case 0 :a=48;break; case 1 :a=49;break; case 2 :a=50;break; case 3 :a=51;break; case 4 :a=52;break; case 5 :a=53;break; case 6 :a=54;break; case 7 :a=55;break; case 8 :a=56;break; case 9 :a=57;break; case 10:a=65;break; case 11:a=66;break; case 12:a=67;break; case 13:a=68;break; case 14:a=69;break; case 15:a=70;break;

table1[j]=a; j++;

} }

void main()主函数 {

timer0init(); int0init(); lcdinit(); play_1();

while(1) 循环检测处理 {

if (irreceok) {

irreceok=0; irpros();

}

if(irprosok) {

irprosok=0;

irwork(); numzh(); play_2();

} } }

void tinmer0() interrupt 1定时器0中断函数 {

irtime++; }

void int0() interrupt 0 外部中断0函数,数据接收

  • 收藏
  • 违规举报
  • 版权认领
下载文档10.00 元 加入VIP免费下载
推荐下载
本文作者:...

共分享92篇相关文档

文档简介:

图2-16 液晶1602时序图 图2-17 LCD1602显示电路图 图2-18 LCD1602显示效果图 第3章 红外解码程序设计 使用C语言编写程序,调用的库函数多,易于移植,编程简单。 第1节 红外接收电路主程序流程图 主程序是首先初始化红外接收端口,然后检测是否接收红外信号,如果接收到红外信号就调用接收子程序,然后就通过LCD1602显示当前按键的解码值,如图3-1所示。 图3-1 红外接收主程序流程图 第2节 红外接收电路子程序流程图 子程序是首先读取T0定时器的长度,如果是1.125ms就认为是“0”,将其存入缓冲区并且计数器加一,如果是2.25ms就认为是“1”,将其存入缓冲区

× 游客快捷下载通道(下载后可以自由复制和排版)
单篇付费下载
限时特价:10 元/份 原价:20元
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:fanwen365 QQ:370150219
Copyright © 云题海 All Rights Reserved. 苏ICP备16052595号-3 网站地图 客服QQ:370150219 邮箱:370150219@qq.com