




已閱讀5頁(yè),還剩19頁(yè)未讀, 繼續(xù)免費(fèi)閱讀
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
太空大戰(zhàn)小游戲 基于TFT_LCD顯示屏的MSP430單片機(jī)實(shí)驗(yàn) SJTU ME 5120209353基于TFT_LCD的MSP430單片機(jī)實(shí)驗(yàn)-目錄一、實(shí)驗(yàn)硬件11、概述12、 應(yīng)用模塊2A. LCD模塊2B. TM16384二、 實(shí)驗(yàn)程序51、 程序?qū)崿F(xiàn)效果52、 程序封裝模塊51、圖形產(chǎn)生與移動(dòng)52、我方戰(zhàn)機(jī)的控制53、敵機(jī)與獎(jiǎng)勵(lì)的產(chǎn)生及移動(dòng)64、擊落敵機(jī)與獲得獎(jiǎng)勵(lì)75、關(guān)卡升級(jí)76、施放大招:7三、 感想與思考8附頁(yè)(實(shí)驗(yàn)程序代碼)9-太空大戰(zhàn)一、實(shí)驗(yàn)硬件1、概述 本次課程設(shè)計(jì)是在MSP430單片機(jī)液晶屏字符顯示功能的基礎(chǔ)上,編程設(shè)計(jì)游戲。程序的設(shè)計(jì)基于F6638實(shí)驗(yàn)指導(dǎo)手冊(cè)中,“TFT-LCD 實(shí)驗(yàn)-字符顯示”的程序點(diǎn)亮TFT-LCD屏幕,編寫(xiě)游戲程序,與IO控制結(jié)合,實(shí)現(xiàn)游戲的可視化和游戲操作。由于Code Composer Studio v5.5.0難以對(duì)該程序樣例實(shí)現(xiàn)編譯,采用的開(kāi)發(fā)工具為Code Composer Studio v6.0。MSP430系列單片機(jī)是由美國(guó)TI公司生產(chǎn)的新一代16位單片機(jī),因以其集成密度高、運(yùn)算速度快、外設(shè)接口豐富等優(yōu)勢(shì)受到越來(lái)越多的產(chǎn)品開(kāi)發(fā)人員的青睞,是當(dāng)前使用最多的單片機(jī)之一。在很多具體應(yīng)用中,甚至只利用一片MSP430單片機(jī),就可以完成一個(gè)系統(tǒng)的全部功能。下面給出實(shí)驗(yàn)中使用的MSP430F66單片機(jī)的封裝圖和功能框圖。圖1-MSP430F6638封裝圖圖2-MSP430F6638功能框圖2、 應(yīng)用模塊A. LCD模塊本次編寫(xiě)的程序所用的主要模塊為L(zhǎng)CD模塊,在功能框圖中顯示為 LCD_B。硬件電路設(shè)計(jì)如下所示。其中 U21 (TPS75105DSKR)是 LCD 屏背光控制芯片,由 LCD_BL_EN 引腳控制使能端。圖3-MSP430F6638LCD硬件設(shè)計(jì)電路PIN NO. FUNCTION DESCRIPTIONS SYMBOL(模塊引腳定義以及各個(gè)引腳的功能)NO.Symbol Description1, 2GND地3, 4VCC電源(2.8-3.4V)5NC1空腳6NC2空腳7NC3空腳8RESET復(fù)位9A0LCD寄存器選擇段10SDALCD數(shù)據(jù)傳輸線11SCK1LCD CLK 時(shí)鐘線12LCD_CSLCD片選13SCKSD卡CLK時(shí)鐘線14MISOSD卡主輸入,從輸出15MOSISD卡從輸入,主輸出16CS_SDSD卡片選17, 18LED+背光正極19, 20LED-背光負(fù)極 LCD的全稱是Liquid Crystal Display,即液晶顯示器,因功耗低而備受工程師青睞,大規(guī)模應(yīng)用于電子設(shè)備中。而MSP430單片機(jī)中的TFT-LCD則是指薄膜晶體管,Thin-Film Transistor。薄膜晶體管液晶顯示器(TFT-LCD)具有重量輕、平板化、低功耗、無(wú)輻射、顯示品質(zhì)優(yōu)良等特點(diǎn),其應(yīng)用領(lǐng)域正在逐步擴(kuò)大,已經(jīng)從音像制品、筆記本電腦等顯示器發(fā)展到臺(tái)式計(jì)算機(jī)、工程工作站(EWS)用監(jiān)視器。對(duì)液晶顯示器的要求也正在向高分辨率、高彩色化發(fā)展。MSP430F6638所采用的TFT-LCD 液晶屏的工作參數(shù)如下:X320 點(diǎn) TFT 透射式點(diǎn)陣液晶顯示模塊驅(qū)動(dòng)duty:1/240 Duty2.4“ (COG 式)可視角度:12 時(shí)ILI9328 LCD 驅(qū)動(dòng)程序或同等能力邏輯電壓:2.8V數(shù)據(jù)接口:80的系統(tǒng) 8/9/16/18bit 總線接口觸摸面板白色背光B. TM1638在我們所制作的游戲中有一部分用到了矩陣鍵盤(pán)的一個(gè)按鍵,矩陣鍵盤(pán)隸屬于TM1638電路,TM1638是帶鍵盤(pán)掃描接口的LED(發(fā)光二極管顯示器)驅(qū)動(dòng)控制專用電路,內(nèi)部集成有MCU 數(shù)字接口、數(shù)據(jù)鎖存器、LED 高壓驅(qū)動(dòng)、鍵盤(pán)掃描等電路。其對(duì)于矩陣鍵盤(pán)的讀取如下圖所示:圖4-TM1638鍵盤(pán)讀取電路其中A-F分別對(duì)應(yīng)KS1-KS6。一旦有按鍵按下,TM1638中相關(guān)的寄存器的值就會(huì)改變(按鍵按下時(shí)相應(yīng)字節(jié)由0變1)。2、 實(shí)驗(yàn)程序1、 程序?qū)崿F(xiàn)效果在TFT-LCD屏上進(jìn)行飛機(jī)大戰(zhàn)小游戲。規(guī)則如下:1、 擊中敵機(jī)得一分,敵機(jī)觸及底線扣除一點(diǎn)生命值,生命值為零時(shí)游戲結(jié)束。2、 隨機(jī)出現(xiàn)紅黃藍(lán)三種獎(jiǎng)勵(lì),紅色獎(jiǎng)勵(lì)增加攻擊范圍,藍(lán)色獎(jiǎng)勵(lì)增加移動(dòng)速度,黃色獎(jiǎng)勵(lì)增加一點(diǎn)生命值。3、 隨得分增長(zhǎng)游戲難度提升,逐步增加敵機(jī)出現(xiàn)頻率及移動(dòng)速度,共15關(guān)。4、 按“1”鍵可施放大招,消滅屏幕上所有敵機(jī),冷卻30秒后可再次施放。2、 程序封裝模塊1、圖形產(chǎn)生與移動(dòng) 基于示例程序“SPI_LCD_TFT”中所含頭文件,利用其中各函數(shù)進(jìn)行繪圖。在繪制各圖形時(shí)選取其上一點(diǎn)為相對(duì)參考點(diǎn),然后用相對(duì)于它的坐標(biāo)畫(huà)出整個(gè)圖形。需要移動(dòng)圖形時(shí)通過(guò)參量“sp”控制其移動(dòng)距離,移動(dòng)參考點(diǎn),并在新的位置畫(huà)出圖形,同時(shí)將原來(lái)位置圖形用背景色描一遍以擦除。在移動(dòng)我方戰(zhàn)機(jī)時(shí),程序?yàn)橄炔脸笥覂蛇呍瓉?lái)圖形,再顯示即時(shí)位置圖形,這樣可以防止擦除行為影響到新圖形。 如繪制敵機(jī)的函數(shù)為:void Drawenemy(x,y,c)LCD_TFT_FillRectangle(x,y-4,x+2,y-1,c);LCD_TFT_FillRectangle(x,y+1,x+2,y+4,c);LCD_TFT_FillRectangle(x+2,y-5,x+6,y+5,c);LCD_TFT_DrawLine(x+2,y-9,x+2,y+9,c);LCD_TFT_DrawLine(x+2,y-9,x+6,y-5,c);LCD_TFT_DrawLine(x+2,y+9,x+6,y+5,c);LCD_TFT_DrawLine(x+6,y-3,x+9,y,c);LCD_TFT_DrawLine(x+6,y+3,x+9,y,c);2、我方戰(zhàn)機(jī)的控制 參考按鍵消抖示例程序“msp430f6638_Key_debounce”,在按鍵時(shí)將戰(zhàn)機(jī)參考點(diǎn)分別向左或向右移動(dòng)sp個(gè)單元。 如向左移動(dòng)主要語(yǔ)句為: if(Is_sw1_pressed()=1) / is key 1 pressed / yes s=s-sp; void movebird()Drawbird(s-sp,BLACK);LCD_TFT_DrawLine(205,s-sp,1,s-sp,BLACK);Drawbird(s+sp,BLACK);LCD_TFT_DrawLine(205,s+sp,1,s+sp,BLACK);Drawbird(s,YELLOW);3、敵機(jī)與獎(jiǎng)勵(lì)的產(chǎn)生及移動(dòng) 兩次利用隨機(jī)數(shù)函數(shù)rand()。對(duì)于某種顏色的敵機(jī),第一次產(chǎn)生一個(gè)0到1000隨機(jī)數(shù),將其與某數(shù)(sp0)比較以決定是否產(chǎn)生該顏色敵機(jī),改變sp0值即可改變敵機(jī)出現(xiàn)頻率;第二次產(chǎn)生一個(gè)14到305的隨機(jī)數(shù)以決定敵機(jī)出現(xiàn)的位置參考點(diǎn)y坐標(biāo)。獎(jiǎng)勵(lì)的產(chǎn)生同樣如此。 敵機(jī)和獎(jiǎng)勵(lì)的移動(dòng)速度可由兩個(gè)參量改變,即時(shí)間間隔sp1及移動(dòng)距離sp2。 如敵機(jī)向下移動(dòng)的函數(shù)為:void moveenemy(i)if(enemyi=1)if(ttti sp1)ttti+;elseti=ti+sp2;Drawenemy(ti-sp2,ri,BLACK);if(ri500)Drawenemy(ti,ri,enemycolori);ttti=1;4、擊落敵機(jī)與獲得獎(jiǎng)勵(lì) 通過(guò)比較敵機(jī)與我方戰(zhàn)機(jī)的相對(duì)位置來(lái)判斷是否擊落,擊落后將及時(shí)位置圖形描為背景色,并將各參數(shù)重置,由數(shù)組enemy7來(lái)標(biāo)志某顏色敵機(jī)是否存在于畫(huà)面,若不存在則允許產(chǎn)生。獎(jiǎng)勵(lì)的獲得同上,其中加速效果通過(guò)改變sp達(dá)到,增加攻擊范圍效果通過(guò)addweapon()函數(shù)在畫(huà)面上呈現(xiàn),同時(shí)通過(guò)改變?cè)谂袛鄵袈鋾r(shí)所用的參量range來(lái)達(dá)到改變攻擊范圍的效果。詳見(jiàn)程序附頁(yè)。5、關(guān)卡升級(jí) 通過(guò)一系列參量數(shù)組以及判斷是否升級(jí),然后通過(guò)增加sp0與sp2的值分別增加敵機(jī)出現(xiàn)頻率及敵機(jī)移動(dòng)速度完成關(guān)卡升級(jí)。以下為關(guān)卡升級(jí)內(nèi)容的主要函數(shù),其中各個(gè)細(xì)節(jié)因關(guān)系到游戲難度,所以都是由我們多次測(cè)試所得到的。void levelup(i)if(leveli=0)sp0=sp0+30;if(i=1|i=3|i=5|i=7|i=9|i=10|i=11|i=12|i=13|i=14)sp2=sp2+3;buffspeed+;if(i=12|i=13|i=14)sp2=sp2+2;if(i=3|i=7|i=9|i=12|i=13|i=14)possibuff2=possibuff2+70;leveli=1;6、施放大招 參考關(guān)于矩陣鍵盤(pán)的樣例程序“MatrixKeyboard_DigitalTube”,利用內(nèi)置函數(shù)判斷“1”鍵是否按下,爾后通過(guò)循環(huán)語(yǔ)句執(zhí)行函數(shù)kill(i)中部分指令來(lái)消滅所有敵機(jī),同時(shí)通過(guò)drawdazhao()函數(shù)在畫(huà)面上呈現(xiàn)。爾后借用簡(jiǎn)單的循環(huán)語(yǔ)句完成大招冷卻時(shí)間倒計(jì)時(shí)。 詳見(jiàn)程序中dazhao()函數(shù)。附頁(yè)(實(shí)驗(yàn)程序代碼)#include Hardware_Profile.h /處理器硬件配置文件 #include /產(chǎn)生隨機(jī)數(shù)所需頭文件#include #include /#include /按鍵消抖所需函數(shù)void delay_ms(unsigned int duration);unsigned char Is_sw1_pressed(void);unsigned char Is_sw2_pressed(void);void Osccon_Initial(void); /晶振初始化函數(shù):配置相關(guān)晶振參數(shù)void Drawbird(x,c);void movebird();void Drawenemy(x,y,c);void Drawbuff(x,y,c);void produceenemy(i);void producebuff(i);void moveenemy(i);void movebuff(i);void kill(i);void getbuff(i);void addweapon();void levelup(i);void levup();void printlife();void printscore();void printlevel();/#include TM1638.cvoid dazhao();void drawdazhao();void init_port(void);int s=160;int r10=10,10,10,10,10,10,10,10;int possible=0;int enemy7=0,0,0,0,0;int buff3=0,0,0;int y=0;int t10=1,1,1,1,1,1,1,1;int sp0=35;int sp1=3;int sp2=5;int sp=5;int buffspeed=4;int ttt10=1,1,1,1,1,1,1,1;int score=0;int life=5;int range=8;int enemycolor7=RED,BLUE,WHITE,GRAY,OLIVE,BROWN,MAGENTA;int buffcolor3=RED,BLUE,YELLOW;int weapon=1;int level15=1,0,0,0,0,0,0,0,0,0,0,0,0,0,0;int lev=0;int possibuff3=18,21,70;int upscore15=10,20,50,80,130,180,250,350,500,700,900,1100,1300,1500;int dazhaot=0;int dazhaohao=1;u8* printlev10=0,1,2,3,4,5,6,7,8,9;int main(void) mClose_WDT; / 關(guān)閉看門(mén)狗 mDisable_GIE; /關(guān)閉中斷Osccon_Initial(); /晶振初始化函數(shù):定義相關(guān)晶振參數(shù)mEnable_GIE; / 開(kāi)啟總中斷/good 放在初始化最后面 / enable interruptInit_LCD_TFT_ILI9325(); /彩屏LCD_TFT_ILI9325 初使化: 所有相關(guān)資源的初始化volatile unsigned int i;/按鍵消抖初始化volatile unsigned int count=0;WDTCTL = WDTPW+WDTHOLD; / Stop WDTinit_port();init_TM1638();/dazhaoLCD_TFT_Clear(BLACK); while(1) levup(y); levelup(lev); if(life=0) LCD_TFT_ShowString(110,125,GAMEOVER,FONT1608,BLACK,RED); printlife(); printscore(); printlevel(); int m; for(m=0;m=6;m+) produceenemy(m); for(m=0;m=2;m+) producebuff(m); addweapon(); movebird(); for(m=0;m=6;m+) moveenemy(m); kill(m); for(m=0;m=2;m+) movebuff(m); getbuff(m); dazhao(); if(Is_sw1_pressed()=1) / is key 1 pressed / yes s=s-sp; else if(Is_sw2_pressed()=1) / is key 2 pressed / yes s=s+sp; P4DIR &= (BIT2+BIT3);/setting IO for input void produceenemy(i)if (enemyi=0)/enemy1ri=600;possible=rand()%1000;if(possiblesp0)ri=rand()%320;if(ri14)Drawenemy(ti,ri,enemycolori);enemyi=1;elseri=600;void producebuff(i)if (buffi=0)/enemy1ri+7=600;possible=rand()%2000;if(possible=possibuffi)ri+7=rand()%320;if(ri+714)Drawbuff(ti+7,ri+7,buffcolori);buffi=1;elseri+7=600;void moveenemy(i)if(enemyi=1)if(ttti sp1)ttti+;elseti=ti+sp2;Drawenemy(ti-sp2,ri,BLACK);if(ri500)Drawenemy(ti,ri,enemycolori);ttti=1;void movebuff(i)if(buffi=1)if(ttti+7 1)ttti+7+;elseti+7=ti+7+buffspeed;Drawbuff(ti+7-buffspeed,ri+7,BLACK);if(ri+7500)Drawbuff(ti+7,ri+7,buffcolori);ttti+7=1;void kill(i)if(enemyi=1)if(ri-range)=s & s=(ri+range) & ti230)Drawenemy(ti,ri,BLACK);if(life0)life-;ri=600;enemyi=0;ti=0;void getbuff(i)if(ri+7-8)=s & s=200)Drawbuff(ti+7,ri+7,BLACK);ri+7=600;buffi=0;ti+7=0;if(i=2)if(life=99)life+;if(i=1)if(sp=120)sp+;if(i=0)if(weapon230)Drawbuff(ti+7,ri+7,BLACK);ri+7=600;buffi=0;ti+7=0;void levup()if(lev=upscorey)y+;lev+;void levelup(i)if(leveli=0)sp0=sp0+30;if(i=1|i=3|i=5|i=7|i=9|i=10|i=11|i=12|i=13|i=14)sp2=sp2+3;buffspeed+;if(i=12|i=13|i=14)sp2=sp2+2;if(i=3|i=7|i=9|i=12|i=13|i=14)possibuff2=possibuff2+70;leveli=1;void printlife()/LCD_TFT_ShowString(170,260,Life:,FONT1608,WHITE,BLACK);int a,b;a=life/10;b=life%10;LCD_TFT_ShowString(200,300,printleva,FONT1608,WHITE,BLACK);LCD_TFT_ShowString(200,310,printlevb,FONT1608,WHITE,BLACK);void printscore()int a,b,c,d;a=score/1000;b=(score-a*1000)/100;c=(score-a*1000-b*100)/10;d=score%10;LCD_TFT_ShowString(220,280,printleva,FONT1608,WHITE,BLACK);LCD_TFT_ShowString(220,290,printlevb,FONT1608,WHITE,BLACK);LCD_TFT_ShowString(220,300,printlevc,FONT1608,WHITE,BLACK); LCD_TFT_ShowString(220,310,printlevd,FONT1608,WHITE,BLACK);void printlevel()int a,b;a=(lev+1)/10;b=(lev+1)%10;LCD_TFT_ShowString(190,2,LEVEL:,FONT1608,WHITE,BLACK);LCD_TFT_ShowString(190,50,printleva,FONT1608,WHITE,BLACK);LCD_TFT_ShowString(190,60,printlevb,FONT1608,WHITE,BLACK);/void delay_ms(unsigned int duration)unsigned int i;for(i=0;i1)LCD_TFT_DrawLine(100,s-sp-5,110,s-sp-5,BLACK);LCD_TFT_DrawLine(100,s-sp+5,110,s-sp+5,BLACK);LCD_TFT_DrawLine(100,s+sp-5,110,s+sp-5,BLACK);LCD_TFT_DrawLine(100,s+sp+5,110,s+sp+5,BLACK);if(weapon2) LCD_TFT_DrawLine(120,s+sp-10,135,s+sp-10,BLACK); LCD_TFT_DrawLine(120,s+sp+10,135,s+sp+10,BLACK); LCD_TFT_DrawLine(120,s-sp-10,135,s-sp-10,BLACK); LCD_TFT_DrawLine(120,s-sp+10,135,s-sp+10,BLACK); if(weapon3) LCD_TFT_DrawLine(140,s+sp-15,160,s+sp-15,BLACK); LCD_TFT_DrawLine(140,s+sp+15,160,s+sp+15,BLACK); LCD_TFT_DrawLine(140,s-sp-15,160,s-sp-15,BLACK); LCD_TFT_DrawLine(140,s-sp+15,160,s-sp+15,BLACK); if(weapon4) LCD_TFT_DrawLine(155,s+sp-20,175,s+sp-20,BLACK); LCD_TFT_DrawLine(155,s+sp+20,175,s+sp+20,BLACK); LCD_TFT_DrawLine(155,s-sp-20,175,s-sp-20,BLACK); LCD_TFT_DrawLine(155,s-sp+20,175,s-sp+20,BLACK); if(weapon5) LCD_TFT_DrawLine(100,s-25-sp,1,s-25-sp,BLACK); LCD_TFT_DrawLine(100,s-25+sp,1,s-25+sp,BLACK); LCD_TFT_DrawLine(100,s-25,1,s-25,RED); LCD_TFT_DrawLine(100,s+25-sp,1,s+25-sp,BLACK); LCD_TFT_DrawLine(100,s+25+sp,1,s+25+sp,BLACK); LCD_TFT_DrawLine(100,s+25,1,s+25,RED); LCD_TFT_DrawLine(155,s-20,175,s-20,CYAN); LCD_TFT_DrawLine(155,s+20,175,s+20,CYAN); LCD_TFT_DrawLine(140,s-15,160,s-15,BLUE); LCD_TFT_DrawLine(140,s+15,160,s+15,BLUE); LCD_TFT_DrawLine(120,s-10,135,s-10,LBLUE); LCD_TFT_DrawLine(120,s+10,135,s+10,LBLUE); LCD_TFT_DrawLine(100,s-5,110,s-5,WHITE);LCD_TFT_DrawLine(100,s+5,110,s+5,WHITE);void Drawbird(x,c)LCD_TFT_DrawLine(210,x,214,x+4,c);LCD_TFT_DrawLine(210,x,214,x-4,c);LCD_TFT_DrawLine(214,x-4,224,x-5,c);LCD_TFT_DrawLine(214,x+4,224,x+5,c); LCD_TFT_DrawLine(222,x-3,224,x-5,c);LCD_TFT_DrawLine(222,x+3,224,x+5,c);LCD_TFT_DrawLine(225,x-5,230,x-5,c);LCD_TFT_DrawLine(225,x+5,230,x+5,c);LCD_TFT_DrawLine(225,x-5,225,x-8,c);LCD_TFT_DrawLine(225,x+5,225,x+8,c);LCD_TFT_DrawLine(225,x-8,230,x-13,c);LCD_TFT_DrawLine(225,x+8,230,x+13,c);LCD_TFT_DrawLine(230,x-5,230,x-13,c);LCD_TFT_DrawLine(230,x+5,230,x+13,c);LCD_TFT_DrawLine(230,x-5,232,x-3,c);LCD_TFT_DrawLine(230,x+5,232,x+3,c);LCD_TFT_DrawLine(232,x-3,232,x+3,c);LCD_TFT_DrawLine(232,x-2,234,x,c);LCD_TFT_DrawLine(232,x+2,234,x,c);LCD_TFT_FillRectangle(213,x-1,223,x+1,c);void movebird()Drawbird(s-sp,BLACK);LCD_TFT_DrawLine(205,s-sp,1,s-sp,BLACK);Drawbird(s+sp,BLACK);LCD_TFT_DrawLine(205,s+sp,1,s+sp,BLACK);Drawbird(s,YELLOW);LCD_TFT_DrawLine(205,s,1,s,WHITE);void dazhao()if(dazhaohao=1)LCD_TFT_DrawCircle(225,5,3,RED);int i=5,k=5;k=Read_key();if(k=1)for(i=0;i=200)dazhaohao=1;/大招冷卻30秒void drawdazhao()LCD_TFT_DrawLine(210,20,0,20,RED);LCD_TFT_DrawLine(210,40,0,40,YELLOW);LCD_TFT_DrawLine(210,60,0,60,GREEN);LCD_TFT_DrawLine(210,80,0,80,BLUE);LCD_TFT_DrawLine(210,100,0,100,PURPLE);LCD_TFT_DrawLine(210,120,0,120,WHITE);LCD_TFT_DrawLine(210,140,0,140,RED);LCD_TFT_DrawLine(210,160,0,160,YELLOW);LCD_TFT_DrawLine(210,180,0,180,GREEN);LCD_TFT_DrawLine(210,200,0,200,BLUE);LCD_TFT_DrawLine(210,220,0,220,PURPLE);LCD_TFT_DrawLine(210,240,0,240,WHITE);LCD_TFT_DrawLine(210,260,0,260,RED);LCD_TFT_DrawLine(210,280,0,280,YELLOW);LCD_TFT_DrawLine(210,300,0,300,GREEN);/LCD_TFT_DrawLine(210,20,0,20,BLACK);LCD_TFT_DrawLine(210,40,0,40,BLACK);LCD_TFT_DrawLine(210,60,0,60,BLACK);LCD_TFT_DrawLine(210,80,0,80,BLACK);LCD_TFT_DrawLine(210,100,0,100,BLACK); LCD_TFT_DrawLine(210,120,0,120,BLACK); LCD_TFT_DrawLine(210,140,0,140,BLACK);LCD_TFT_DrawLine(210,160,0,160,BLACK);LCD_TFT_DrawLine(210,180,0,180,BLACK);LCD_TFT_DrawLine(210,200,0,200,BLACK);LCD_TFT_DrawLine(210,220,0,220,BLACK);LCD_TFT_DrawLine(210,240,0,240,BLACK);LCD_TFT_DrawLine(210,260,0,260,BLACK);LCD_TFT_DrawLine(210,280,0,280,BLACK);LCD_TFT_DrawLine(210,300,0,300,BLACK);void init_port(void)P3DIR |= BIT5;P3DIR |= BIT4 + BIT2;P1DIR |= BIT0; / ACLK set out to pinsP1SEL |= BIT0;void Osccon_Initial(void) /晶振初始化函數(shù):配置相關(guān)晶振參數(shù)/IO初始化,在放在晶振配置的前面/P1DIR |= BIT0; / ACLK set out to pins/P1SEL |= BIT0; /=care=下面之兩句一定要有,不知道為什么?/P3DIR |= BIT4; / SMCLK set out to pins/P3SEL |= BIT4; /*/SetVCore(PMMCOREV_3); / Set Vcore to accomodate for max. allowed system speedUCSCTL3 |= SELREF_2; / Set DCO FLL reference = REFO_bis_SR_register(SCG0); / Disable the FLL control loopUCSCTL0 = 0x0000; / Set lowest possible DCOx, MODxUCSCTL1 = DCORSEL_5; / Select DCO range 24MHz operationUCSCTL2 = FLLD_1 + 374; / Set DCO Multiplier fo
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 車(chē)輛保險(xiǎn)代理業(yè)務(wù)合作協(xié)議范本
- 股權(quán)投資咨詢及股權(quán)激勵(lì)方案合同
- 電視品牌代理銷(xiāo)售及市場(chǎng)拓展合同
- 金融資產(chǎn)管理公司股權(quán)質(zhì)押業(yè)務(wù)合同模板
- 旅行定制行程策劃方案
- 2025-2030中國(guó)26-二氯苯胺行業(yè)運(yùn)行狀況與投資趨勢(shì)預(yù)測(cè)報(bào)告
- 集團(tuán)防物資儲(chǔ)備方案
- 飾品地?cái)傇O(shè)計(jì)方案
- 防腐工藝評(píng)定方案
- 耕地補(bǔ)償安置方案(3篇)
- 2025年物聯(lián)網(wǎng)技術(shù)在智能養(yǎng)老中的老人健康監(jiān)測(cè)與生活服務(wù)保障報(bào)告
- 2025年7月浙江省普通高中學(xué)業(yè)水平考試化學(xué)試題(原卷版)
- 天臺(tái)保安考試題及答案
- 2025年高考全國(guó)二卷英語(yǔ)高考真題含解析
- 2024年民族出版社招聘事業(yè)編制專業(yè)技術(shù)人員真題
- 2025年食品安全管理員考試試題及答案
- 2025-2030骨科植入器材產(chǎn)業(yè)市場(chǎng)深度分析及發(fā)展趨勢(shì)與投資戰(zhàn)略研究報(bào)告
- 陜西省西工大附中第二次2025屆數(shù)學(xué)八下期末考試試題含解析
- 2025年中央八項(xiàng)規(guī)定精神學(xué)習(xí)教育應(yīng)知應(yīng)會(huì)考試題庫(kù)(含答案)
- 建立有效的風(fēng)險(xiǎn)管理體系試題及答案
- 聯(lián)想電腦展廳設(shè)計(jì)方案
評(píng)論
0/150
提交評(píng)論