单片机红外发射(原理与设计程序)_第1页
单片机红外发射(原理与设计程序)_第2页
单片机红外发射(原理与设计程序)_第3页
单片机红外发射(原理与设计程序)_第4页
单片机红外发射(原理与设计程序)_第5页
已阅读5页,还剩9页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

用用 AT89S51AT89S51 单片机制作红外电视遥控器单片机制作红外电视遥控器 一般红外电视遥控器的输出都是用编码后串行数据对 38 40kHz 的方波进 行脉冲幅度调制而产生的 当发射器按键按下后 即有遥控码发出 所按的键不同遥控编码也不同 这种遥控码具有以下特征 采用脉宽调制的串行码 以脉宽为 0 565ms 间隔 0 56ms 周期为 1 125ms 的组合表示二进制的 0 以脉宽为 0 565ms 间隔 1 685ms 周期 为 2 25ms 的组合表示二进制的 1 上述 0 和 1 组成的 32 位二进制码经 38kHz 的载频进行二次调制 然 后再通过红外发射二极管产生红外线向空间发射 一般电视遥控器的遥控编码 是连续的 32 位二进制码组 其中前 16 位为用户识别码 能区别不同的红外遥 控设备 防止不同机种遥控码互相干扰 后 16 位为 8 位的操作码和 8 位的操作 反码 用于核对数据是否接收准确 根据红外编码的格式 发送数据前需要先发送 9ms 的起始码和 4 5ms 的结 果码 遥控串行数据编码波形如下图所示 接收方一般使用 TL0038 一体化红外线接收器进行接收解码 当 TL0038 接 收到 38kHz 红外信号时 输出端输出低电平 否则为高电平 所以红外遥控器 发送红外信号时 参考上面遥控串行数据编码波形图 在低电平处发送 38kHz 红外信号 高电平处则不发送红外信号 单片机红外电视遥控器电路图如下 C51 程序代码 include static bit OP 红外发射管的亮灭 static unsigned int count 延时计数器 static unsigned int endcount 终止延时计数 static unsigned char flag 红外发送标志 char iraddr1 十六位地址的第一个字节 char iraddr2 十六位地址的第二个字节 void SendIRdata char p irdata void delay void main void count 0 flag 0 OP 0 P3 4 0 EA 1 允许 CPU 中断 TMOD 0 x11 设定时器 0 和 1 为 16 位模式 1 ET0 1 定时器 0 中断允许 TH0 0 xFF TL0 0 xE6 设定时值 0 为 38K 也就是每隔 26us 中断一次 TR0 1 开始计数 iraddr1 3 iraddr2 252 do delay SendIRdata 12 while 1 定时器 0 中断处理 void timeint void interrupt 1 TH0 0 xFF TL0 0 xE6 设定时值为 38K 也就是每隔 26us 中断一次 count if flag 1 OP OP else OP 0 P3 4 OP void SendIRdata char p irdata int i char irdata p irdata 发送 9ms 的起始码 endcount 223 flag 1 count 0 do while count endcount 发送 4 5ms 的结果码 endcount 117 flag 0 count 0 do while count endcount 发送十六位地址的前八位 irdata iraddr1 for i 0 i 8 i 先发送 0 56ms 的 38KHZ 红外波 即编码中 0 56ms 的低电平 endcount 10 flag 1 count 0 do while count endcount 停止发送红外信号 即编码中的高电平 if irdata irdata 2 2 判断二进制数个位为 1 还是 0 endcount 41 1 为宽的高电平 else endcount 15 0 为窄的高电平 flag 0 count 0 do while count 1 发送十六位地址的后八位 irdata iraddr2 for i 0 i 8 i endcount 10 flag 1 count 0 do while count endcount if irdata irdata 2 2 endcount 41 else endcount 15 flag 0 count 0 do while count 1 发送八位数据 irdata p irdata for i 0 i 8 i endcount 10 flag 1 count 0 do while count endcount if irdata irdata 2 2 endcount 41 else endcount 15 flag 0 count 0 do while count 1 发送八位数据的反码 irdata p irdata for i 0 i 8 i endcount 10 flag 1 count 0 do while count endcount if irdata irdata 2 2 endcount 41 else endcount 15 flag 0 count 0 do while count 1 endcount 10 flag 1 count 0 do while count endcount flag 0 void delay int i j for i 0 i 400 i for j 0 j 100 j 制作的实物如下图所示 步进电机 include define uint unsigned int define uchar unsigned char define ms 77 f 12 M define LEDLen 4 define Dj star IE 0 x81 pri dj 0 define Dj stop IE 0 x00 pri dj 1 P1 0 xff shache 0 delay 800ms delay 800ms delay 400ms shache 1 define Chilun Num 8 齿轮数 8 个 define set display num LEDBuf 0 tmp 1000 LEDBuf 1 tmp 100 10 LEDBuf 2 tmp 10 10 LEDBuf 3 tmp 10 uchar LEDBuf LEDLen 0 0 0 0 void read num 读播码盘 到 set round num 8 void display void delay uint delay time uint i for i 0 i set round num Dj stop EA 0 x81 void display uchar i uint tmp 0 tmp round num Chilun Num set display num for i 0 i LEDLen i P0 0 xf0 P0 P0 LEDBuf i if i 0 led 1000 0 P0 4 if i 1 led 100 0 P0 5 if i 2 led 10 0 P0 6 if i 3 led 1 0 P0 7 P0 0 xf0 P0 0 xf0 void read num 读播码盘 到 set round num set pwm width uchar tmp P2 0 xFF P2 0 xEF 1110 1111 delay 1ms tmp P2 0 xF0 P2 0 xDF 1101 1111 delay 1ms tmp P2 0 xF0 10 tmp set round num tmp P2 0 xBF 1011 1111 delay 1ms tmp P2 0 xF0 P2 0 x7F 0111 1111 delay 1ms tmp P2 0 xF0 10 tmp set round num set round num tmp 100 set round num set round num Chilun Num P2 0 xFF P1 0 xbF 0111 1111 delay 1ms tmp P2 0 xF0 P1 0 xFF P2 0 xFF P1 1011 1111 delay 1ms tmp P2 0 xF0 10 tmp set pwm width tmp P1 0 xFF P2 0 xFF void fx run define f Delay

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论