51单片机红外解码
STC12C5410AD单片机使用定时中断红外解码完整源程序,包括实测波形、红外资料。
代码片段和文件信息
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2018-12-21 08:27 51单片机红外解码
文件 140511 2018-12-17 17:59 51单片机红外解码HS0038B.pdf
目录 0 2018-12-21 08:26 51单片机红外解码Infrared_ok
目录 0 2018-12-21 08:26 51单片机红外解码Infrared_okListings
文件 14149 2018-12-20 17:24 51单片机红外解码Infrared_okListingsSTARTUP.lst
文件 6667 2018-12-20 17:24 51单片机红外解码Infrared_okListingscommand.lst
文件 1379 2018-12-20 17:24 51单片机红外解码Infrared_okListingsdelay.lst
文件 13681 2018-12-20 17:24 51单片机红外解码Infrared_okListingsinfrared.m51
文件 5337 2018-12-20 17:25 51单片机红外解码Infrared_okListingsmain.lst
目录 0 2018-12-21 08:26 51单片机红外解码Infrared_okobjects
文件 819 2018-12-20 17:24 51单片机红外解码Infrared_okobjectsSTARTUP.obj
文件 11710 2018-12-20 17:24 51单片机红外解码Infrared_okobjectscommand.obj
文件 994 2018-12-20 17:24 51单片机红外解码Infrared_okobjectsdelay.obj
文件 1210 2018-12-20 17:24 51单片机红外解码Infrared_okobjectsinfrared.build_log.htm
文件 1745 2018-12-20 17:24 51单片机红外解码Infrared_okobjectsinfrared.hex
文件 173 2018-12-20 17:24 51单片机红外解码Infrared_okobjectsinfrared.lnp
文件 9986 2018-12-20 17:25 51单片机红外解码Infrared_okobjectsmain.obj
文件 6376 2015-07-08 16:02 51单片机红外解码Infrared_okSTARTUP.A51
文件 179730 2018-12-21 08:26 51单片机红外解码Infrared_okinfrared.uvgui.jianhuawu
文件 6306 2018-12-13 18:53 51单片机红外解码Infrared_okinfrared.uvopt
文件 14922 2018-12-13 18:56 51单片机红外解码Infrared_okinfrared.uvproj
目录 0 2018-12-21 08:26 51单片机红外解码Infrared_okuser
文件 3623 2018-12-20 17:21 51单片机红外解码Infrared_okusercommand.c
文件 435 2018-12-20 16:23 51单片机红外解码Infrared_okusercommand.h
文件 255 2018-12-13 18:49 51单片机红外解码Infrared_okuserdelay.c
文件 235 2018-12-13 16:21 51单片机红外解码Infrared_okuserdelay.h
文件 2438 2018-12-20 17:36 51单片机红外解码Infrared_okusermain.c
文件 2453 2018-12-20 17:18 51单片机红外解码Infrared_okusersystem.h
文件 12527 2018-12-21 08:25 51单片机红外解码
eadme.docx
目录 0 2018-12-20 23:19 51单片机红外解码实际波形
文件 161895 2018-12-17 17:38 51单片机红外解码实际波形1.jpg
............此处省略5个文件信息
#include
#include
#include
#include
#include
#include “reg52.h“
#include “command.h“
#include “delay.h“
#include “absacc.h“
#include “system.h“
#define Uchar unsigned char
#define Uint unsigned int
#define Ulong unsigned long
//sfr WDT_CONTR = 0xE1;
//send_char:直接发送字符函数
void send_char ( char s_data )
{
SBUF = s_data;
while( TI==0 )
;
TI=0;
}
extern Uint timer_1;
extern Uint timer_2;
#define ONE_SEC 8000
unsigned int run_timer = 0;
extern Uint timer_1;
extern Uint timer_2;
extern char IR_ok;
void TimeOut_ISR (void) interrupt 1 using 3 //12*(0xFFFF+1-0xFFA4)/11059200=250us
{
TH0 = Timer0_Reload / 256;
TL0 = Timer0_Reload % 256;
run_timer ++;
timer_1 ++;
timer_2 ++;
if( run_timer >= ONE_SEC ) //1秒闭烁
{
run_timer = 0;
LED_RUN = !LED_RUN;
}
IR_RX_HT6121();
}
/************* 本地变量声明 **************/
bit P_IR_RX_temp; //Last sample
bit B_IR_Sync; //已收到同步标志
uchar IR_SampleCnt; //采样计数
uchar IR_BitCnt; //编码位数
uchar IR_UserH; //用户码(地址)高字节
uchar IR_UserL; //用户码(地址)低字节
uchar IR_data; //数据原码
uchar IR_DataShit;
/******************** 红外采样时间宏定义 用户不要随意修改 *******************/
#define D_TIMER0 Timer_0 //125us
#if (( D_TIMER0 <= 250 )&&( D_TIMER0 >= 60 ))
#define D_IR_sample D_TIMER0 //定义采样时间,在60us~250us之间
#endif
#define D_IR_SYNC_MAX (15000/D_IR_sample) //SYNC max time
#define D_IR_SYNC_MIN (9700 /D_IR_sample) //SYNC min time
#define D_IR_SYNC_DIVIDE (12375/D_IR_sample) //decide data 0 or 1
#define D_IR_DATA_MAX (3000 /D_IR_sample) //data max time
#define D_IR_DATA_MIN (600 /D_IR_sample) //data min time
#define D_IR_DATA_DIVIDE (1687 /D_IR_sample) //decide data 0 or 1
#define D_IR_BIT_NUMBER 8 //bit number
//*******************************************************************************************
//**************************** IR RECEIVE MODULE ********************************************
void IR_RX_HT6121(void)
{
uchar SampleTime;
IR_SampleCnt++; //Sample + 1
F0 = P_IR_RX_temp; //Save Last sample status //(me:记录上次电平)
P_IR_RX_temp = P_IR_RX; //Read current status //(me:记录当前电平)
if( F0 && !P_IR_RX_temp ) //Last sample is high,and current sample is low so is fall edge //(me:判断下降沿)
{
SampleTime = IR_SampleCnt; //get the sample time //(me:记录进入定时器次数)
IR_SampleCnt = 0; //Clear the sample counter //(me:计数清零)
if( SampleTime > D_IR_SYNC_MAX ) //(me:if采样次数>引导码)
B_IR_Sync = 0; //large the Maxim SYNC time then error //(me:fail,清除引导码标志)
else if( SampleTime >= D_IR_SYNC_MIN ) //SYNC //(me:if采样次数>=9.7ms)
{
if( SampleTime >= D_IR_SYNC_DIVIDE ) //(me:采样次数>=12.375ms,检测到引导码)
{
B_IR_Sync = 1; //has received SYNC //(me:置位引导码标志)
IR_BitCnt = D_IR_BIT_NUMBER; //Load bit number
}
}
else if( B_IR_Sync ) //has received SYNC //(me:if前面已经检测到引导码)
{
if( SampleTime > D_IR_DATA_MAX )
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2018-12-21 08:27 51单片机红外解码
文件 140511 2018-12-17 17:59 51单片机红外解码HS0038B.pdf
目录 0 2018-12-21 08:26 51单片机红外解码Infrared_ok
目录 0 2018-12-21 08:26 51单片机红外解码Infrared_okListings
文件 14149 2018-12-20 17:24 51单片机红外解码Infrared_okListingsSTARTUP.lst
文件 6667 2018-12-20 17:24 51单片机红外解码Infrared_okListingscommand.lst
文件 1379 2018-12-20 17:24 51单片机红外解码Infrared_okListingsdelay.lst
文件 13681 2018-12-20 17:24 51单片机红外解码Infrared_okListingsinfrared.m51
文件 5337 2018-12-20 17:25 51单片机红外解码Infrared_okListingsmain.lst
目录 0 2018-12-21 08:26 51单片机红外解码Infrared_okob
文件 819 2018-12-20 17:24 51单片机红外解码Infrared_okob
文件 11710 2018-12-20 17:24 51单片机红外解码Infrared_okob
文件 994 2018-12-20 17:24 51单片机红外解码Infrared_okob
文件 1210 2018-12-20 17:24 51单片机红外解码Infrared_okob
文件 1745 2018-12-20 17:24 51单片机红外解码Infrared_okob
文件 173 2018-12-20 17:24 51单片机红外解码Infrared_okob
文件 9986 2018-12-20 17:25 51单片机红外解码Infrared_okob
文件 6376 2015-07-08 16:02 51单片机红外解码Infrared_okSTARTUP.A51
文件 179730 2018-12-21 08:26 51单片机红外解码Infrared_okinfrared.uvgui.jianhuawu
文件 6306 2018-12-13 18:53 51单片机红外解码Infrared_okinfrared.uvopt
文件 14922 2018-12-13 18:56 51单片机红外解码Infrared_okinfrared.uvproj
目录 0 2018-12-21 08:26 51单片机红外解码Infrared_okuser
文件 3623 2018-12-20 17:21 51单片机红外解码Infrared_okusercommand.c
文件 435 2018-12-20 16:23 51单片机红外解码Infrared_okusercommand.h
文件 255 2018-12-13 18:49 51单片机红外解码Infrared_okuserdelay.c
文件 235 2018-12-13 16:21 51单片机红外解码Infrared_okuserdelay.h
文件 2438 2018-12-20 17:36 51单片机红外解码Infrared_okusermain.c
文件 2453 2018-12-20 17:18 51单片机红外解码Infrared_okusersystem.h
文件 12527 2018-12-21 08:25 51单片机红外解码
eadme.docx
目录 0 2018-12-20 23:19 51单片机红外解码实际波形
文件 161895 2018-12-17 17:38 51单片机红外解码实际波形1.jpg
............此处省略5个文件信息
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件举报,一经查实,本站将立刻删除。
评论列表(条)