红外接收遥控车程序

本文档详细介绍了红外接收遥控车的程序实现,包括初始化设置、音乐播放控制、中断处理和红外信号检测。通过红外信号,实现了车辆的远程控制,并提供了关键变量和函数的定义。
摘要由CSDN通过智能技术生成

#include “extern.h”
#include “register.h”
//music
uint8_t music_time = 0;
uint8_t music_data = 0;
uint8_t music_data_cnt = 0;
uint8_t music_interval_time = 0;//音乐间隔时间
uint8_t R_music_buffer = 0;
uint8_t MOTOR_MUSIC_STARE = 0;
uint8_t music_order = 0;
uint8_t IR_TX_FLAG = 0;
uint8_t timer500UsCnt = 0;
uint8_t key_music_flag = 0;
uint8_t music_hearh = 0;

void inti_roll(void)
{
call _SYS(ADR.ROLL);
roll_data[0] = A;
call _SYS(ADR.ROLL)+1;
roll_data[1] = A;

tx_data[0] = roll_data[0] + roll_data[1];
tx_data[1] = roll_data[0]; 
tx_data[2] = roll_data[1]; 

tx_data[5] = 16;
while (tx_data[5] != 0) {
	 tx_data[6] = tx_data[1];   
	 
	 tx_data[1] >>= 1;
	 if (tx_data[2] & 0x01) {
	 	tx_data[1] |= 0xB0;
	 }    
	 
	 tx_data[2] >>= 1;
	 if (tx_data[6] & 0x01) {   
	 	tx_data[1] ^= 0x05;
	 	tx_data[2] ^= 0x8B; 
	 }
	 
	 tx_data[5]--;
}
tx_data[4]  = tx_data[2] >> 4;
tx_data[4] += 0x80; 
tx_data[3]  = tx_data[2] & 0x0F;
tx_data[3] += 0x50;
tx_data[2]  = tx_data[1] >> 4;
tx_data[2] += 0xB0;
tx_data[1] &= 0x0F;
tx_data[1] += 0xC0;

tx_data[6]  = tx_data[0]; 
tx_data[7]  = tx_data[1];
tx_data[8]  = tx_data[2];
tx_data[9]  = tx_data[3];
tx_data[10] = tx_data[4];
   
tx_data[0]  = 0xA0;
tx_data[1]  = 0x00;  
tx_data[2]  = 0xFF;   
tx_data[3]  = 0xFF;  
tx_data[4]  = roll_data[0];
tx_data[5]  = roll_data[1];   

tx_data[11] = 0x00;

}
/*
void RF_INIT_SETING(void)
{
if((RF_PAIR_FLAG)&&(!rf_reinit_cnt))
{
RF_PAIR_FLAG=0;
// speed_flag =0;
// inti_roll();
tx_data[6] = tx_data[0];
tx_data[7] = tx_data[1];
tx_data[8] = tx_data[2];
tx_data[9] = tx_data[3];
tx_data[10] = tx_data[4];

tx_data[0]  = 0xA0;
tx_data[1]  = 0x00;  
tx_data[2]  = 0xFF;   
tx_data[3]  =
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值