分析测试百科网

搜索

喜欢作者

微信支付微信支付
×

浅析红外遥控解码(三)

2020.10.05
头像

王辉

致力于为分析测试行业奉献终身

void UART_Initial();

void DELAY_Us(unsigned int Us)

unsigned int x;

for(x = 0; x <= (Us/200-1); x++);

void DELAY_Ms(unsigned int Ms)

unsigned int x,y;

for(x = 0; x <= (Ms-1); x++)

for(y = 0; y <= 120; y++);

void main()

unsigned char i;

UART_Initial();

IR_Out = 1;

while(1)

START_Flag = START_Judge();

BOOT_REPEATING_CODE_Flag = BOOT_REPEATING_CODE_Judge();

if ( START_Flag && !BOOT_REPEATING_CODE_Flag )

for(i =0;i<4; i++)

B0 = H_L_LEVEL_Judge();

B1 = H_L_LEVEL_Judge();

B2 = H_L_LEVEL_Judge();

B3 = H_L_LEVEL_Judge();

B4 = H_L_LEVEL_Judge();

B5 = H_L_LEVEL_Judge();

B6 = H_L_LEVEL_Judge();

B7 = H_L_LEVEL_Judge();

DATA[i] = TEMP_BIT;

for(i =0;i<4; i++)

SBUF = DATA[i];

while( TI == 0 );

TI = 0;

void UART_Initial()

SCON = 0x50;            // SCON: 模式 1, 8-bit UART, 使能接收

TMOD |= 0x20;           // TMOD: timer 1, mode 2, 8-bit reload

TH1 = 0xFD;             // TH1: reload value for 9600 baud @

// 11.0592MHz

TR1 = 1;                // TR1: timer 1 run

EA = 0;                 // 关闭总中断

ES = 0;                 // 关闭串口中断

1、红外遥控的编码不只NEC,还有很多也有广泛应用如RC-5,RC-6等。

2、上面的代码所用指令是STC 89C52单片机,如需用其它芯片请另行更改。


互联网
文章推荐