📄 main.c
字号:
//S52单片机红外线编解码遥控源程序
/*******************************************
* 程序描述:红外遥控NEC/SHARP码解码程序,经串口发送
* 目标cpu:at89s52
* 晶振:12M
* 硬件描述:一体化接收头接P3.2.指示LED接P1.0,P1.1
* 编译器:KEIL 7.05
* 日期:2008/1/24
* 作者:汤文平(inr999@163.com)
* 其它:实现波特率2400(系统时钟12.000MHZ)
*******************************************/
#include <reg51.h>
#include <stdio.h>
#include <main_define.h>
extern uint IR_RECEIVE_COMMAND;
extern bit IR_STATS;// static bit IR_STATS;
main()
{
uint IR_SEND_COMMAND;
init_mcu();
delay_xms(200);
printf("init_ok\n");
while(1)
{
delay_xms(200);
while(1)//IR_STATS// send ir
{
EA=1;
#if 0 //
switch(IR_RECEIVE_COMMAND)
{
case 0xf4:
case 0x0b: printf("back\n");IR_COMMAND=0;printf("send_ok\n");break;
case 0x80:
case 0x7f: printf("1\n");IR_COMMAND=0;printf("send_ok\n");break;
default : break ;
}
#endif
#if 1 // send ir to tv board
if(IR_STATS) //IR_STATS
{
EA=0;
switch(IR_RECEIVE_COMMAND)
{
case 0xf4: case 0x0b: IR_SEND_COMMAND=0x03;break; //back
case 0x68: case 0x97: IR_SEND_COMMAND=0x0a;break; //power
case 0xc8: case 0x37: IR_SEND_COMMAND=0x1b;break; //video
case 0x88: case 0x77: IR_SEND_COMMAND=0x1f;break; //ch+
case 0x48: case 0xb7: IR_SEND_COMMAND=0x5c;break; //ch-
case 0x50: case 0xaf: IR_SEND_COMMAND=0x1a;break; //digital_0
case 0x80: case 0x7f: IR_SEND_COMMAND=0x0e;break; //digital_1
case 0x40: case 0xbf: IR_SEND_COMMAND=0x06;break; //digital_2
case 0xc0: case 0x3f: IR_SEND_COMMAND=0x0f;break; //digital_3
case 0x20: case 0xdf: IR_SEND_COMMAND=0x12;break; //digital_4
case 0xa0: case 0x5f: IR_SEND_COMMAND=0x07;break; //digital_5
case 0x60: case 0x9f: IR_SEND_COMMAND=0x13;break; //digital_6
case 0xe0: case 0x1f: IR_SEND_COMMAND=0x16;break; //digital_7
case 0x10: case 0xef: IR_SEND_COMMAND=0x02;break; //digital_8
case 0x90: case 0x6f: IR_SEND_COMMAND=0x17;break; //digital_9
default :
printf("ERRER_IR\n");break;
}
IR_STATS=ir_send( IR_SEND_COMMAND);
//delay_xms(100);
EA=1;
}
#endif
//EA=1;
//IR_STATS=IR_SEND_END;
}
LED_GREEN=0;
LED_RED=0;
delay_xms(200);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -