资源简介
这个压缩包里面包含了MSP430F5529LP的资料、官方例程、原理图、datasheet,以及我参加电赛培训第一题的所有工程,里面包含了LCD、红外等驱动。
代码片段和文件信息
#include “infrared.h“
#include “tlv5638_HWSPI.h“
unsigned char irtime;
unsigned char receive_okencode_ok;
unsigned char irdata[33];
unsigned char ircode[4];
/*
将MCLK SMCLK配置为XT2(4MHz)
1.配置IO口5.2(IN)5.3(OUT)为XT2功能
2.清除XT2OFF,
3.在配置SMCLK和MCLK为XT2之前,需要将ACLK和REFCLK的时钟源,
因为ACLK和REFCLK的默认时钟源是XT1,而我们这里并没有配置启动XT1CLK,所以会产生XT1时钟错误,即XT1LFFG,
因此,我们先将ACLK和REFCLK配置为芯片自带的时钟(REFOCLK或VLOCLK)或者即将启动的时钟(XT2),
此外,XT2配置时不需要配置电容
*/
void config_clk()
{
P5SEL |= BIT2 + BIT3; //将IO配置为XT2功能
UCSCTL6 &= ~XT2OFF; //使能XT2
UCSCTL4 = UCSCTL4&(~(SELA_7))|SELA_1; //先将ACLK配置为VLOCLK
UCSCTL3 |= SELREF_2; //将REFCLK配置为REFCLK
while (SFRIFG1 & OFIFG)
{
UCSCTL7 &= ~(XT2OFFG + XT1LFOFFG + DCOFFG); // 清除三类时钟标志位
// 这里需要清除三种标志位,因为任何一种
// 标志位都会将OFIFG置位
SFRIFG1 &= ~OFIFG; // 清除时钟错误标志位
}
UCSCTL4 = UCSCTL4&(~(SELS_7|SELM_7))|SELS_5|SELM_5; //将SMCLK和MCLK时钟源配置为XT2
}
/*定时器0A的初始化及中断函数*/
void time0a_initial()
{
TA0CCTL0 = CCIE; // CCR0 interrupt enabled
TA0CCR0 = 400; //定时0.1ms 0.1*10^-3 * 4*10^6 = 400
TA0CTL = TASSEL_2 + MC_1 + TACLR; // SMCLK upmode clear TAR
__bis_SR_register(GIE); // enable interrupts
}
// Timer0 A0 interrupt service routine
#pragma vector=TIMER0_A0_VECTOR
__interrupt void TIMER0_A0(void)
{
TA0CCTL0 &= ~CCIE;
TA0CCTL0 &= ~CCIFG;
irtime = irtime + 1; // Toggle P1.0
TA0CCTL0 |= CCIE;
}
/*外部接受红外信号端口中断初始化及中断处理函数*/
void irexternal_initial()
{
irDIR_IN ; //把头文件定义的红外输入的端口设置成输入
irIE1;
irIES1;
irIFG0; //清楚中断标志
irOUT1;
irREN1;
_enable_interrupt(); //开总中断
}
#pragma vector=PORT1_VECTOR
__interrupt void PORT1_ir(void) //如果改了IR的输入端口,这个中断向量也需要改
{
static volatile unsigned char i;
static volatile unsigned char startflag; //是否开始处理标志位
irIE0;
irIFG0; //关中断使能,清除中断标志位
if(startflag)
{
if((irtime <= 150) && (irtime >= 120) ) //引导码:9ms + 4.5ms
i=0;
irdata[i] = irtime; //存储每个电平的持续时间,用于以后判断是0还是1
irtime = 0;
i++;
if(i == 33)
{
receive_ok = 1;
startflag = 0;
i = 0;
}
}
else
{
irtime = 0;
startflag = 1;
}
irIE1; //开中断使能
}
/*红外码值编码函数*/
void ir_encode(unsigned char *irdata)
{
unsigned char ijk;
unsigned char tempvalue;
k = 1;
for(i=0;i<4;i++) //处理4个字节
{
for(j=1;j<=8;j++) //处理1个字节8位
{
temp = irdata[k];
if(temp > 18) //大于某值为1,这个和晶振有绝对关系,
value |= 0x80; //先接受最低位
if(j<8)
{
value >>= 1;
}
k++;
}
ircode[i] = value;
value = 0;
}
encode_ok=1; //处理完毕标志位置1
}
/*红外编码转换相应功能的程序 读取编码值,需要不同功能的只需改该函数*/
void ir_work()
{
static volatile float vol;
static volatile unsigned char db;
float temp;
unsigned char highlow;
switch(ircode[2])
{
case 0x45:
lcd_clear();
display_string(30“PRESSED KE
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 272 2014-07-09 10:59 MSP430F5529LP_launchpad\head file\delay.h
文件 7172 2014-07-12 14:45 MSP430F5529LP_launchpad\head file\infrared.c
文件 775 2014-07-10 18:24 MSP430F5529LP_launchpad\head file\infrared.h
文件 5303 2014-07-10 19:36 MSP430F5529LP_launchpad\head file\key_board.c
文件 405 2014-07-10 19:37 MSP430F5529LP_launchpad\head file\key_board.h
文件 4559 2014-07-12 15:42 MSP430F5529LP_launchpad\head file\LCDxc878.c
文件 1079 2014-07-12 13:43 MSP430F5529LP_launchpad\head file\LCDxc878.h
文件 9075 2014-07-12 15:21 MSP430F5529LP_launchpad\head file\LCD_code\ascii.h
文件 1135 2014-07-12 15:41 MSP430F5529LP_launchpad\head file\LCD_code\hanzi.h
文件 5476 2014-07-12 15:23 MSP430F5529LP_launchpad\head file\LCD_code\picture.h
文件 2569 2014-07-11 10:03 MSP430F5529LP_launchpad\head file\tlv5638_HWSPI.c
文件 1355 2014-07-11 06:57 MSP430F5529LP_launchpad\head file\tlv5638_HWSPI.h
文件 65 2014-06-18 10:51 MSP430F5529LP_launchpad\MSP-EXP430F5529LP Hardware Design Files\Documentation\Download the MSP430 USB Developers Package.url
文件 139 2014-06-18 10:51 MSP430F5529LP_launchpad\MSP-EXP430F5529LP Hardware Design Files\Documentation\MSP-EXP430F5529LP Tool Page.url
文件 138 2014-06-18 10:51 MSP430F5529LP_launchpad\MSP-EXP430F5529LP Hardware Design Files\Documentation\MSP-EXP430F5529LP User‘s Guide.url
文件 10086 2014-06-18 10:51 MSP430F5529LP_launchpad\MSP-EXP430F5529LP Hardware Design Files\Hardware\gerber\gerb274x-2la
文件 6290 2014-06-18 10:51 MSP430F5529LP_launchpad\MSP-EXP430F5529LP Hardware Design Files\Hardware\gerber\MSP-EXP430F5529LP.BoardOutline.ger
文件 1051 2014-06-18 10:51 MSP430F5529LP_launchpad\MSP-EXP430F5529LP Hardware Design Files\Hardware\gerber\MSP-EXP430F5529LP.BoardOutline.gpi
文件 892 2014-06-18 10:51 MSP430F5529LP_launchpad\MSP-EXP430F5529LP Hardware Design Files\Hardware\gerber\MSP-EXP430F5529LP.Drill.dri
文件 7259 2014-06-18 10:51 MSP430F5529LP_launchpad\MSP-EXP430F5529LP Hardware Design Files\Hardware\gerber\MSP-EXP430F5529LP.Drill.excellon
文件 189105 2014-06-18 10:51 MSP430F5529LP_launchpad\MSP-EXP430F5529LP Hardware Design Files\Hardware\gerber\MSP-EXP430F5529LP.la
文件 1337 2014-06-18 10:51 MSP430F5529LP_launchpad\MSP-EXP430F5529LP Hardware Design Files\Hardware\gerber\MSP-EXP430F5529LP.la
文件 343391 2014-06-18 10:51 MSP430F5529LP_launchpad\MSP-EXP430F5529LP Hardware Design Files\Hardware\gerber\MSP-EXP430F5529LP.la
文件 2588 2014-06-18 10:51 MSP430F5529LP_launchpad\MSP-EXP430F5529LP Hardware Design Files\Hardware\gerber\MSP-EXP430F5529LP.la
文件 269634 2014-06-18 10:51 MSP430F5529LP_launchpad\MSP-EXP430F5529LP Hardware Design Files\Hardware\gerber\MSP-EXP430F5529LP.SilkscreenBottom.ger
文件 26664 2014-06-18 10:51 MSP430F5529LP_launchpad\MSP-EXP430F5529LP Hardware Design Files\Hardware\gerber\MSP-EXP430F5529LP.SilkscreenBottom.gpi
文件 435968 2014-06-18 10:51 MSP430F5529LP_launchpad\MSP-EXP430F5529LP Hardware Design Files\Hardware\gerber\MSP-EXP430F5529LP.SilkscreenTop.ger
文件 15183 2014-06-18 10:51 MSP430F5529LP_launchpad\MSP-EXP430F5529LP Hardware Design Files\Hardware\gerber\MSP-EXP430F5529LP.SilkscreenTop.gpi
文件 102 2014-06-18 10:51 MSP430F5529LP_launchpad\MSP-EXP430F5529LP Hardware Design Files\Hardware\gerber\MSP-EXP430F5529LP.SolderStencilBottom.ger
文件 969 2014-06-18 10:51 MSP430F5529LP_launchpad\MSP-EXP430F5529LP Hardware Design Files\Hardware\gerber\MSP-EXP430F5529LP.SolderStencilBottom.gpi
............此处省略1632个文件信息
相关资源
- 用8位spi实现16位spi
- 基于MSP430单片机的实时多任务操作系
- MSP430系列单片机例程(msp430f235)
- MSP430控制AD9850产生频率可调的方波及
- msp430f449程序
- 基于MSP430的数控直流电压源
- MSP430F5438A Timer_B 操作实验
- MSP430F5438 UCS 时钟操作实验
- MSP430F5438A Timer_A 操作实验
- MSP430F5438 看门狗实验
- IAR EW430连接仿真器在线仿真
- 初识畅学系列MSP430F149单片机开发板
- 畅学多功能实验箱 MSP430F5438 RTC 操作实
- MSP430F5438A RAM操作实验
- msp430f5438a技术资料
- MSP430 JTAGUSB的和并口的与目标板连接的
- MSP430教程:MSP430单片机ADC12模块
- WIA-PA网络技术在井下人员定位系统中
- 16位MSP430单片机的开关稳压电源设计
- 基于mps430f149的12864液晶显示模块编程
- MSP430F5529移植modbus
- MSP430详细教程
- MSP430信号发生器.rar
- MSP430F5529 例程源码
- msp430驱动fdc2214
- 郭天祥十天学会msp430单片机配套所有
- MSP430中文手册
- 基于MSP430的逐日系统设计
- MSP430F149中文英文用户指南和英文数据
- 基于MSP430和NRF24L01的封闭环境检测系统
评论
共有 条评论