XX公司集团红外遥控解码实验报告.docxVIP

  • 5
  • 0
  • 约4.19千字
  • 约 12页
  • 2019-06-28 发布于山东
  • 举报
嵌入式系统试验报告 1.红外遥控解码实验 1.1 实验目的 了解红外遥控编码并用单片机捕捉信号及解码 熟悉LCD1602的驱动 1.2 实验设备 T1838一体化红外接收头 DT9122D芯片制作 89S51 1.3 实验内容 红外一体化接收头接收到红外遥控发射器所发射的信号,并将此信号进行整形和反相送入单片机端口。经过软件译码,将译码结果(按键代码)昂数码管显示。 1.4 实验预习要求 遥控编码知识 ME850单片机开发实验仪集成有一路一体化红外接收头,并配有红外发射器,能够做红外接收与解码实验 了解简单的单片机的开发的环境 要有一定的C语言基础 1.5 实验原理 所谓解码就是能用单片机把以不同宽度的脉冲区别开来,一种比较好思路就是计算两次下降沿间隔时间,当单片机外部中断1口有下降沿时中断一次,并启动定时器,定时器定50us,当下次下降沿到来时我们计算定时器中断的次数,这样我们就能很好的区分不同宽度的脉冲了。 1.6 实验步骤 将JP21的8个短接子全部用短接帽短接,使DG0-DG7与P2端口接通 将JP22的9个短接子全部用短睫毛短接,使A-DP与P0端口接通,VCC向数码管模块供电 将JP10的短接子用短接帽短接,使红外接头U16的数据线与P3.2端口接通。 将JP24的短接子用短接帽短接,禁止LCD1602显示功能,否则数码管将不能正常显示。 第一次使用遥控器要去下电池盖下的隔离胶片。 1.7 实验电路原理分析 ME850选用T1838一体化红外接收头,接受来自红外遥控器的红外遥控信号。T1838集成红外接收二极管、放大、解调、整形等电路在同一封装上。T1838负责红外遥控信号的解调,将调制在38KHZ上的红外脉冲信号解调并倒相输入到单片机的P3.2引脚,由单片机进行高电平与低电平宽度的测量 T1838的输出端通过JP10与AT89S52的P3.2连接,既可以受用中断的方式也可以使用查询方式来编程 1.8 实验参考程序分析 #includereg52.h #define uint unsigned int #define uchar unsigned char sbit ir=P3^3;//红外端口 sbit dm=P1^4;//数码管段码控制位 sbit wm=P1^5;//数码管位码控制位 sbit led_cs=P1^6;//LED控制位 sbit rs=P3^5;//1602数据命令选择端 sbit en=P3^4;//1602使能信号 uchar num; uchar key_code=0;//遥控键值 uchar new_code=0;//有无新按键 uint buf_key_code=0;//键值暂存 uchar key_bit_count=0;//键编码脉冲计数 uint count=0;//定时中断次数计数 uint buf_count=0;//定时中断计数暂存 uchar common_code_count=0;//前导码脉冲计数 uchar ir_status=0;//脉冲接收器所处的状态,0:无信号,1:系统码接收区,2:数据编码接收区 uchar code table[]=EE01 DEMO:IR; uchar code table1[]=code:; uchar code table2[]={0,1,2,3,4,5,6,7,8,9,}; void delay_10us(unsigned char y)///延时子程序10us { unsigned char x; for(x=y;x0;x--); } void delay_ms(uint z)//延时子程序1ms { uint x,y; for(x=z;x0;x--) for(y=113;y0;y--); } void init(void)/////初始化 { ir=1; //红外端口写1 led_cs=0; //关闭LED EA=1; //开总中断 TMOD=0x02; //定时器0,模式2,8位自动装载模式 TH0=0Xd1; //定时50us TL0=0Xd1; IT1=1; //INT1下降沿触发 ET0=1; //允许定时器中断 EX1=1; //允许外部中断 } /*********************************************** 定时器中断

文档评论(0)

1亿VIP精品文档

相关文档