教育资源为主的文档平台

当前位置: 查字典文档网> 所有文档分类> 工程科技> 电子/电路> msp430g2553红外遥控解码

msp430g2553红外遥控解码

上传者:高洪元
|
上传时间:2015-04-25
|
次下载

msp430g2553红外遥控解码

msp430红外遥控解码 mp3发射器

忙了一天多的MSP430单片机的红外通信终于测试成功了!!这也把我自己的USB音乐遥控器改为用红外通信来,因为我手头上刚好有个car MP3的遥控器。当然这其中也出现一些问题以及解决问题的思路,我认为红外通信的主要注意几个方面:430单片机的时钟配置(我选择内部DCO,为了准确的定时器捕获脉冲)、红外通信协议的数据格式(用户数据是从高到低还是从低到高?)、430单片机的一些寄存器配置。

程序如下:

#include "msp430g2452.h"

typedef unsigned int uint;

typedef unsigned char uchar;

uint ir_data[33];//存放解码数据(16位用户码+8位数据码+8位数据反码)

uchar ir_code[4];//存放解码数据

uchar irok=0;//数据接收标志位

uint new_cap=0;

uint old_cap=0;

uint diff_cap=0;

uchar data_sign=0;

void clk_init(void);//时钟初始化

void timera_init (void);

void IR_data_pros (void);

void main( void )

{

uint i;

// Stop watchdog timer to prevent time out reset

WDTCTL = WDTPW + WDTHOLD;

for(i = 0; i < 0xFFFF; i++){};

_BIS_SR(OSCOFF);

if(CALBC1_1MHZ==0xff||CALDCO_1MHZ==0xff)

{

while(1);

}

clk_init();

timera_init(); //定时器初始化

_EINT(); //开总中断开关

while(1)

{

if(irok) //数据接收是否完毕?

{

irok=0; //是、清标志位

IR_data_pros(); //红外数据处理函

//if(ir_code[2]==(~(ir_code[3])))

msp430红外遥控解码 mp3发射器

// P1OUT ^=BIT6;//绿灯

//else P1OUT ^=BIT0;//红灯

P2OUT=ir_code[2]>>4;

}

}

}

/*************************************************************/

void clk_init(void)

{

DCOCTL=CALDCO_8MHZ; /* DCOCTL Calibration Data for 8MHz */

BCSCTL1=CALBC1_8MHZ;//使MCLK=DCOCTL=8MHz

BCSCTL2 |=SELM_0+DIVS_0+DIVM_0; //使MCLK=SMCLK=DCO=8M

}

/*************************************************************/

void timera_init (void)

{

P2DIR=0xff;

P2OUT=0x00;

P1DIR &=~BIT1; //设置P1.1为输入

//P1DIR |=BIT6+BIT0;

//P1OUT &=~BIT6;

//P1OUT &=~BIT0;

P1SEL |= BIT1; //设置P1.1为CCI0A输入

TACTL=TASSEL_2+MC_2+TACLR+ID_3; //timera_clk=SMclk=1MHz、连续计数模式、1分频

CCTL0=CM_2+SCS+CCIS_0+CAP+CCIE;

//下降沿捕获、同步捕获、选择输入为CCI0A、捕获模式、开捕获中断

}

/*********************红外数据处理函数**************************/

void IR_data_pros (void)

{

uchar i,j,count=1,value=0; // count=1 、作用是清除引导码

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

{

value=0;

for(j=0;j<8;j++)

{

value>>=1; //用户码和数据码均是低位在前,高位在后

if(ir_data[count]>1700) //判断捕获时间是否大于1.7MS

value|=0x80; //若 >1.7MS,则为1、若 <1.7MS,则为0

count++;

}

msp430红外遥控解码 mp3发射器

ir_code[i]=value; //存放用户码和数据码

}

}

/********************Timer_A中断服务程序*************************/ #pragma vector=TIMER0_A0_VECTOR

__interrupt void timera (void)

{

static uchar index=0;

new_cap=TACCR0;

if(data_sign==0)

{

data_sign=1;

old_cap=new_cap;

return ;

}

if(new_cap<old_cap)//计数重新开始

diff_cap=65536-old_cap+new_cap;

else diff_cap=new_cap - old_cap;

if(diff_cap>7000) {index=0; } //检测引导码

ir_data[index++]=diff_cap; //存捕获的差异值,既是数据

if(index==33) //数据接收完毕

{

index=0;

data_sign=0;

irok=1; //数据接收标志置位

}

old_cap=new_cap;

}

使用定时器A的捕获模式来计算脉冲宽度,来区分1或者0.

版权声明:此文档由查字典文档网用户提供,如用于商业用途请与作者联系,查字典文档网保持最终解释权!

下载文档

热门试卷

2016年四川省内江市中考化学试卷
广西钦州市高新区2017届高三11月月考政治试卷
浙江省湖州市2016-2017学年高一上学期期中考试政治试卷
浙江省湖州市2016-2017学年高二上学期期中考试政治试卷
辽宁省铁岭市协作体2017届高三上学期第三次联考政治试卷
广西钦州市钦州港区2016-2017学年高二11月月考政治试卷
广西钦州市钦州港区2017届高三11月月考政治试卷
广西钦州市钦州港区2016-2017学年高一11月月考政治试卷
广西钦州市高新区2016-2017学年高二11月月考政治试卷
广西钦州市高新区2016-2017学年高一11月月考政治试卷
山东省滨州市三校2017届第一学期阶段测试初三英语试题
四川省成都七中2017届高三一诊模拟考试文科综合试卷
2017届普通高等学校招生全国统一考试模拟试题(附答案)
重庆市永川中学高2017级上期12月月考语文试题
江西宜春三中2017届高三第一学期第二次月考文科综合试题
内蒙古赤峰二中2017届高三上学期第三次月考英语试题
2017年六年级(上)数学期末考试卷
2017人教版小学英语三年级上期末笔试题
江苏省常州西藏民族中学2016-2017学年九年级思想品德第一学期第二次阶段测试试卷
重庆市九龙坡区七校2016-2017学年上期八年级素质测查(二)语文学科试题卷
江苏省无锡市钱桥中学2016年12月八年级语文阶段性测试卷
江苏省无锡市钱桥中学2016-2017学年七年级英语12月阶段检测试卷
山东省邹城市第八中学2016-2017学年八年级12月物理第4章试题(无答案)
【人教版】河北省2015-2016学年度九年级上期末语文试题卷(附答案)
四川省简阳市阳安中学2016年12月高二月考英语试卷
四川省成都龙泉中学高三上学期2016年12月月考试题文科综合能力测试
安徽省滁州中学2016—2017学年度第一学期12月月考​高三英语试卷
山东省武城县第二中学2016.12高一年级上学期第二次月考历史试题(必修一第四、五单元)
福建省四地六校联考2016-2017学年上学期第三次月考高三化学试卷
甘肃省武威第二十三中学2016—2017学年度八年级第一学期12月月考生物试卷

网友关注视频

冀教版小学英语四年级下册Lesson2授课视频
二年级下册数学第二课
外研版英语七年级下册module3 unit2第二课时
3月2日小学二年级数学下册(数一数)
【部编】人教版语文七年级下册《逢入京使》优质课教学视频+PPT课件+教案,安徽省
沪教版牛津小学英语(深圳用) 四年级下册 Unit 2
冀教版英语五年级下册第二课课程解读
人教版历史八年级下册第一课《中华人民共和国成立》
人教版二年级下册数学
《小学数学二年级下册》第二单元测试题讲解
30.3 由不共线三点的坐标确定二次函数_第一课时(市一等奖)(冀教版九年级下册)_T144342
【部编】人教版语文七年级下册《过松源晨炊漆公店(其五)》优质课教学视频+PPT课件+教案,辽宁省
沪教版八年级下册数学练习册21.4(1)无理方程P18
冀教版小学英语五年级下册lesson2教学视频(2)
化学九年级下册全册同步 人教版 第22集 酸和碱的中和反应(一)
二次函数求实际问题中的最值_第一课时(特等奖)(冀教版九年级下册)_T144339
冀教版小学数学二年级下册第二单元《租船问题》
外研版英语三起5年级下册(14版)Module3 Unit1
第五单元 民族艺术的瑰宝_16. 形形色色的民族乐器_第一课时(岭南版六年级上册)_T3751175
《空中课堂》二年级下册 数学第一单元第1课时
第五单元 民族艺术的瑰宝_15. 多姿多彩的民族服饰_第二课时(市一等奖)(岭南版六年级上册)_T129830
沪教版牛津小学英语(深圳用) 四年级下册 Unit 7
沪教版八年级下册数学练习册20.4(2)一次函数的应用2P8
19 爱护鸟类_第一课时(二等奖)(桂美版二年级下册)_T3763925
第4章 幂函数、指数函数和对数函数(下)_六 指数方程和对数方程_4.7 简单的指数方程_第一课时(沪教版高一下册)_T1566237
苏科版数学 八年级下册 第八章第二节 可能性的大小
外研版英语七年级下册module3 unit1第二课时
外研版英语三起6年级下册(14版)Module3 Unit1
【部编】人教版语文七年级下册《泊秦淮》优质课教学视频+PPT课件+教案,广东省
化学九年级下册全册同步 人教版 第25集 生活中常见的盐(二)