資源簡介
這個壓縮包里面包含了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個文件信息
評論
共有 條評論