题外话:因半导体价格涨幅较大和国外形势,开始考虑尽量使用国产芯片(支持国货),先从单片机开始,目前暂定要求不高的场合选择应用较多的STC系列,其中STC8G和STC8H系列为STC主推的型号。
注:程序大部分来源于网络,并做了较大幅度的修改,原因是不是用于红外数据传输,而是作为光电开关来用。
参考NEC编码做了简化,便于延长发射管寿命。
发射管为IR204、接收头为IRM-H638T/TR2、单片机为STC8G1K08A。
#include "STC8.h"
#include "intrins.h" //使用nop()函数需引用此文件
#define u8 uint8_t
#define u16 uint16_t
#define u32 uint32_t
typedef unsigned char uint8_t;
typedef unsigned int uint16_t;
typedef unsigned long uint32_t;
//280us @11.0592MHz
#define T1_START() TL1 = 0xE7; \
TH1 = 0xF3; \
ET1 = 1; \
TR1 = 1
//引脚定义
sbit LED=P5^4; //指示灯
sbit IR_IO=P3^3; //红外发射
//sbit KEY=P5^5; //按键
//数据定义
bit IR_Flag=0; //红外数据接收完成标志位
u8 IR_time=0; //下降沿之间的时间计数值
u8 IR_data[9]; //引导码+8个位数据各自占用的时间
bit IR_TimeFlag; //红外发射延时到标志
unsigned char count; //280us
#define IR_SENDDATA 0X05 //红外发射的数据
static u8 IR_bit; //

因半导体价格和国外形势,考虑使用国产芯片,先从单片机开始,在要求不高场合选用应用多的STC系列,主推STC8G和STC8H。程序源于网络并大幅修改,用于光电开关。参考NEC编码简化,发射管为IR204、接收头为IRM - H638T/TR2、单片机为STC8G1K08A。

1075

被折叠的 条评论
为什么被折叠?



