• 159756
    了解作者
  • C51
    开发工具
  • 16KB
    文件大小
  • rar
    文件格式
  • 0
    收藏次数
  • 1 积分
    下载积分
  • 4
    下载次数
  • 2017-06-20 18:03
    上传日期
实用的红外发送功能,使用的红外头型号为CHQB
红外发射.rar
  • 红外发射
  • MS01.pdf
  • 红外发射
    10.9KB
  • 红外发射.Uv2
    2.1KB
  • 红外发射.plg
    356B
  • 红外发射_Opt.Bak
    984B
  • 红外发射_Uv2.Bak
    0B
  • 红外发射.Opt
    982B
  • 红外发射.hex
    2.1KB
  • 红外发射.lnp
    48B
  • 红外发射.LST
    10.8KB
  • 红外发射.c
    4.1KB
  • 红外发射.OBJ
    13.3KB
  • 红外发射.M51
    16.7KB
内容介绍
#include<reg52.h> #define uchar unsigned char #define uint unsigned int uchar aa; sbit out=P1^5; unsigned char code zi[]={0x30,0x18,0x7a,0x10,0x38,0x5a,0x42,0x4a,0x52}; void delay(uint xms) { uint i,j; for(i=xms;i>0;i--) //i=xms即延时约xms毫秒 for(j=112;j>0;j--); } void delay560us(void) //560us延迟函数 { uint j; for(j=63;j>0;j--); } void delay4500us(void) //4.5ms延迟函数 { uint j; for(j=516;j>0;j--); } void maichong(uint num) //38KHZ脉冲 占空比1:2 { for(;num>0;num--) { // _nop_(); out=~out; } } void yindaoma() { maichong(690); out=1; delay4500us(); } void lingfasong() { maichong(42); out=1; delay560us(); } void yifasong() { maichong(42); out=1; delay560us(); delay560us(); delay560us(); } void zijiefasong(uchar aa) { if(aa&0x80){yifasong();} else{lingfasong();} if(aa&0x40){yifasong();} else{lingfasong();} if(aa&0x20){yifasong();} else{lingfasong();} if(aa&0x10){yifasong();} else{lingfasong();} if(aa&0x08){yifasong();} else{lingfasong();} if(aa&0x04){yifasong();} else{lingfasong();} if(aa&0x02){yifasong();} else{lingfasong();} if(aa&0x01){yifasong();} else{lingfasong();} /* if(bb&0x01){yifasong();} else{lingfasong();} if(bb&0x02){yifasong();} else{lingfasong();} if(bb&0x04){yifasong();} else{lingfasong();} if(bb&0x08){yifasong();} else{lingfasong();} if(bb&0x10){yifasong();} else{lingfasong();} if(bb&0x20){yifasong();} else{lingfasong();} if(bb&0x40){yifasong();} else{lingfasong();} if(bb&0x80){yifasong();} else{lingfasong();} */ } void fasongyi() { yindaoma(); zijiefasong(0x00); zijiefasong(0xff); zijiefasong(zi[0]); zijiefasong(zi[0]); } void fasonger() { yindaoma(); zijiefasong(0x00); zijiefasong(0xff); zijiefasong(zi[1]); zijiefasong(zi[1]); } void fasongsan() { yindaoma(); zijiefasong(0x00); zijiefasong(0xff); zijiefasong(zi[2]); zijiefasong(zi[2]); } void fasongsi() { yindaoma(); zijiefasong(0x00); zijiefasong(0xff); zijiefasong(zi[3]); zijiefasong(zi[3]); } void fasongwu() { yindaoma(); zijiefasong(0x00); zijiefasong(0xff); zijiefasong(zi[4]); zijiefasong(zi[4]); } void fasongliu() { yindaoma(); zijiefasong(0x00); zijiefasong(0xff); zijiefasong(zi[5]); zijiefasong(zi[5]); } void fasongqi() { yindaoma(); zijiefasong(0x00); zijiefasong(0xff); zijiefasong(zi[6]); zijiefasong(zi[6]); } void fasongba() { yindaoma(); zijiefasong(0x00); zijiefasong(0xff); zijiefasong(zi[7]); zijiefasong(zi[7]); } void fasongjiu() { yindaoma(); zijiefasong(0x00); zijiefasong(0xff); zijiefasong(zi[8]); zijiefasong(zi[8]); } void anjian() { unsigned char temp; P3=0xfe; temp=P3; temp=temp&0xf0; if(temp!=0xf0) { delay(5); temp=P3; temp=temp&0xf0; if(temp!=0xf0) { temp=P3; switch(temp) { case 0xee: fasongyi();fasongyi();break; case 0xde: fasonger();fasonger();break; case 0xbe: fasongsan();fasongsan();break; case 0x7e: fasongsi();fasongsi();break; } while(temp!=0xf0) { temp=P3; temp=temp&0xf0; } } } P3=0xfd; temp=P3; temp=temp&0xf0; if(temp!=0xf0) { delay(5); temp=P3; temp=temp&0xf0; if(temp!=0xf0) { temp=P3; switch(temp) { case 0xed: fasongwu();fasongwu();break; case 0xdd: fasongliu();fasongliu();break; case 0xbd: fasongqi();fasongqi();break; case 0x7d: fasongba();fasongba();break; } while(temp!=0xf0) { temp=P3; temp=temp&0xf0; } } } P3=0xfb; temp=P3; temp=temp&0xf0; if(temp!=0xf0) { delay(5); temp=P3; temp=temp&0xf0; if(temp!=0xf0) { temp=P3; switch(temp) { case 0xeb: fasongjiu();fasongjiu();break; case 0xdb: fasongjiu();fasongjiu();break; case 0xbb: fasongjiu();fasongjiu();break; case 0x7b: fasongjiu();fasongjiu();break; } while(temp!=0xf0) { temp=P3; temp=temp&0xf0; } } } } void main() { while(1) { anjian(); } }
评论
    相关推荐
    • 红外避障.rar
      通过红外避障程序让led灯亮或者灭,也可以向串口发送测得的数据
    • 红外发送程序 单片机
      这是我写的红外发送程序 经试验可以用 感觉时序不是十分严格 用自己写的接收程序接收不到正确的码 可是用别人写的接收程序却可以接收到 我的接收程序是采用测脉宽的方法写的 要求十分严格 十分可靠 而别人的程序是...
    • 红外控制课设.zip
      红外发射遥控的故事是可怕的,是坑慎入,小朋友们
    • c++触摸按钮红外发送
      C代码,通过触摸方式,发送红外控制的完整代码,使用Holtek芯片
    • 安卓红外发送
      这是安卓与51单片机红外通讯的代码。这是安卓与51单片机红外通讯的代码。
    • 红外时钟接收发送
      两台单片机显示不同的时间,一台是stc89c51单片机,其时钟具有调时调分,闹钟,秒表的功能,能够通过红外控制另一台单片机的时间,含有一键同步,调另一台单片机时钟的时分秒的功能
    • 单片机红外遥控发送接收仿真
      这是一个关于单片机红外遥控的仿真实验 详细的解释了红外发射和接收的原理 里面有详细的程序说明以及重要的红外参考资料 希望大家下载下来认真学习一下红外遥控的单片机知识 qq:1050490123
    • 单片机模拟红外发送程序
      单片机模拟红外发成代码,STM32模拟遥控红外发射,适合38khz的模拟发送
    • 19-红外发射程序(NEC码)-15系列通用PCA0发送.rar
      利用STC15W408AS 单片机做成红外发射程序
    • 红外.zip
      可以利用代码实现80C51的红外传输,其中协议使NEC