freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

基于stm32單片機(jī)的觸控功能的設(shè)計(jì)——畢業(yè)設(shè)計(jì)論文-資料下載頁

2025-08-06 08:21本頁面
  

【正文】 ()。函數(shù)中首先被調(diào)用,是OS運(yùn)行的第一個(gè)函數(shù),它完成各初始變量的初始化,建立任務(wù)空閑鍵表OSTCBFreeList, ,以及初始化其它如果有用到的功能 Q,MEM等。OSTaskCreate(start_task,(void*)0,(OS_STK*)amp。START_TASK_STK[START_STK_SIZE1],START_TASK_PRIO )。是創(chuàng)建初始任務(wù),創(chuàng)建的出師任務(wù)里面包括UCOSII的所有任務(wù),創(chuàng)建任務(wù)的工作實(shí)質(zhì)上是創(chuàng)建一個(gè)任務(wù)控制塊,并通過任務(wù)控制塊把任務(wù)代碼和任務(wù)堆棧關(guān)聯(lián)起來形成一個(gè)完整的任務(wù),程序如下:void start_task(void *pdata){ OS_CPU_SR cpu_sr=0。 pdata = pdata。 OSStatInit()。 // app_srand(OSTime)。 gui_init()。 //gui初始化 piclib_init()。 //piclib初始化 OS_ENTER_CRITICAL()。//進(jìn)入臨界區(qū)(無法被中斷打斷) OSTaskCreate(main_task,(void*)0,(OS_STK*)amp。MAIN_TASK_STK[MAIN_STK_SIZE1],MAIN_TASK_PRIO)。OSTaskCreate(usart_task,(void*)0,(OS_STK*)amp。USART_TASK_STK[USART_STK_SIZE1],USART_TASK_PRIO)。OSTaskCreate(music_play_task,(void*)0,(OS_STK*)amp。MUSIC_PLAY_TASK_STK[MUSIC_PLAY_STK_SIZE1],MUSIC_PLAY_TASK_PRIO)。 OSTaskCreate(watch_task,(void*)0,(OS_STK*)amp。WATCH_TASK_STK[WATCH_STK_SIZE1],WATCH_TASK_PRIO)。 OSTaskSuspend(START_TASK_PRIO)。 //掛起起始任務(wù). OS_EXIT_CRITICAL()。 //退出臨界區(qū)(可以被中斷打斷)}本系統(tǒng)中一共用了10個(gè)任務(wù)優(yōu)先級(jí)。其中空閑任務(wù)的優(yōu)先級(jí)最低,其永遠(yuǎn)被設(shè)為最低優(yōu)先級(jí)OS_LOWEST_PRIO,且不能被應(yīng)用軟件刪除??臻e任務(wù)是永遠(yuǎn)處于就緒態(tài)的,故不要在OSTaskIdleHook()中調(diào)用任何可以使任務(wù)掛起的PEND函數(shù)。在這些任務(wù)中最核心的是主任務(wù)main_task,主任務(wù)中是各個(gè)應(yīng)用切換和執(zhí)行的程序,通過觸摸屏雙擊進(jìn)入相應(yīng)的應(yīng)用。在程序的最后是掛起起始任務(wù)。值得注意的是,在這部分程序中可能有中斷插入,所以需要進(jìn)入臨界區(qū)即OS_ENTER_CRITICAL()。來防止在創(chuàng)建任務(wù)的時(shí)候有中斷進(jìn)入而造成系統(tǒng)崩潰或者出現(xiàn)不可預(yù)知的情況,最后需要OS_EXIT_CRITICAL()。來退出臨界區(qū)??紤]到系統(tǒng)中要求音樂播放能后臺(tái)播放同時(shí)也是保證音樂播放的流暢性,所以在開始任務(wù)中又創(chuàng)建了一個(gè)音樂播放的任務(wù)。由于系統(tǒng)在運(yùn)行的過程中可能遇到硬件錯(cuò)誤或者崩潰問題,添加了如下的硬件錯(cuò)誤中斷函數(shù)。void HardFault_Handler(void){ u32 i。 u8 t=0。 u32 temp。 temp=SCBCFSR。 //fault狀態(tài)寄存器(@0XE000ED28)包括:MMSR,BFSR,UFSR printf(CFSR:%8X\r\n,temp)。 //顯示錯(cuò)誤值 temp=SCBHFSR。 //硬件fault狀態(tài)寄存器 printf(HFSR:%8X\r\n,temp)。 //顯示錯(cuò)誤值 temp=SCBDFSR。 //調(diào)試fault狀態(tài)寄存器 printf(DFSR:%8X\r\n,temp)。 //顯示錯(cuò)誤值 temp=SCBAFSR。 //輔助fault狀態(tài)寄存器 printf(AFSR:%8X\r\n,temp)。 //顯示錯(cuò)誤值 LED1=!LED1。 while(t5) { t++。 LED0=!LED0。 //BEEP=!BEEP。 for(i=0。i0X1FFFFF。i++)。 }}系統(tǒng)軟件流程圖如下:開始UCOSII初始化FatFs初始化任務(wù)切換加載主界面各個(gè)模塊初始化GUI初始化創(chuàng)建UCOSII任務(wù)任務(wù)調(diào)用和返回執(zhí)行相應(yīng)任務(wù)出現(xiàn)錯(cuò)誤則返回重新初始化空閑任務(wù)下檢測(cè)是否出現(xiàn)硬件錯(cuò)誤,有則出現(xiàn)相應(yīng)的提示信息MP3任務(wù)實(shí)時(shí)播放 圖45 整體程序框圖第五章 效果圖本畢業(yè)設(shè)計(jì)主要目的是實(shí)現(xiàn)觸控手機(jī)的功能,盡量貼近真是手機(jī)的體驗(yàn)效果,核心的功能是打電話、發(fā)短信、音樂播放器等。系統(tǒng)整體運(yùn)行流暢、穩(wěn)定性良好,具有一定的體驗(yàn)效果! 本系統(tǒng)的控制方法主要是觸屏控制,通過雙擊應(yīng)用圖標(biāo)便可進(jìn)入相應(yīng)的任務(wù),操作方便、快捷。有四個(gè)輔助按鍵位于中心控制板的下方,分別是KEYKEYKEYKEY4和KEY_home中心控制板上。其中KEY_home鍵的作用一直都是回到主界面,相當(dāng)于安卓手機(jī)的HOME鍵。不同的應(yīng)用中KEYKEYKEYKEY4四個(gè)鍵的作用都有所改變,但是例如在MP3的應(yīng)用中,KEYKEY3的作用是左右切歌;KEYKEY4可以調(diào)節(jié)音量的大小。在照相機(jī)應(yīng)用中,可以通過按鍵KEY4進(jìn)行拍照;在發(fā)短信的過程中,在短信內(nèi)容編寫完畢后,通過按鍵KEY4切換到輸入帶你話號(hào)碼的界面。總而言之,按鍵輔助觸摸屏控制達(dá)到對(duì)系統(tǒng)的整體控制。畢業(yè)設(shè)計(jì)演示一共需要如下圖的物件,分別是中心控制板、GSM模塊(SIM900)和一個(gè)小音箱。中心控制板控制整體電路,它包括LCD液晶、OV7670、MP3模塊等等,通過中心控制板控制外圍各個(gè)物件進(jìn)行工作。SIM900A模塊是一款尺寸緊湊的GSM/GPRS模塊,采用SMT封裝,基于STE的單芯片案,采用ARM926EJS架構(gòu),性能強(qiáng)大,可以內(nèi)置客戶應(yīng)用程序??蓮V泛應(yīng)用于車載跟蹤、車隊(duì)管理、無線POS、手持PDA、智能抄表與電力監(jiān)控等眾多方向。在本畢業(yè)設(shè)計(jì)中主要用于打電話和發(fā)短信簡(jiǎn)單的功能,測(cè)試過程中信號(hào)穩(wěn)定,滿足畢業(yè)設(shè)計(jì)的要求。小音箱的作用主要是在音樂播放器和打電話兩個(gè)應(yīng)用中用到,MP3這個(gè)應(yīng)用選用的音樂芯片是VS1053,該芯片處理能力強(qiáng)大,配上一個(gè)小音箱放出的歌曲音質(zhì)良好滿足日常放松的需要。整體效果圖如下:圖51 畢業(yè)設(shè)計(jì)整體效果圖 打電話功能分為撥打電話和接聽電話,其中撥打電話功能通過觸摸按鍵輸入號(hào)碼。撥打電話和接聽電話,LCD液晶屏中都會(huì)顯示提示字符,打電話功能效果圖如下:圖52 打電話界面短信功能支持發(fā)送短信和讀取短信兩個(gè)功能。其中編寫短信支持T9輸入法輸入漢字,可以通過平輸入漢字(大約支持7000多漢字)能滿足日常應(yīng)用。讀取短信時(shí)需要手動(dòng)輸入需要短信的位置數(shù)字才可讀取,短信應(yīng)用效果圖如下:圖53 發(fā)短信界面音樂播放功能也是本設(shè)計(jì)的一個(gè)核心功能,花費(fèi)了不少功夫。它音質(zhì)良好能滿足日常娛樂需要同時(shí)支持同步歌詞顯示,很貼近真實(shí)手機(jī)的應(yīng)用。對(duì)音樂播放的的控制同樣是通過觸摸屏控制,達(dá)到簡(jiǎn)單、高效、人性化的效果!音樂播放的界面如下:圖54 音樂播放器界面參考文獻(xiàn)[1] 高海賓,辛文,胡仁喜.Altium Designer10從入門到精通[M].機(jī)械工業(yè)出版社.[2] 雍陽, Designer Summer09電路設(shè)計(jì)標(biāo)準(zhǔn)教程[M].[3] 劉軍,[M].[4] 劉軍,[M].[5] 任哲. 嵌入式實(shí)時(shí)操作系統(tǒng)μC/OSII原理及應(yīng)用[M].[6] 邵貝貝. 嵌入式實(shí)時(shí)操作系統(tǒng)μC\OSⅡ[M].[7] 童詩白,[M]. P260P280[8] [M]. P62P83[9] 費(fèi)國(guó)忠,王洪.GSMModem及其在遠(yuǎn)程監(jiān)控系統(tǒng)中的應(yīng)用[J].設(shè)計(jì)應(yīng)用,2002(1) [10] 喬俊,汪春,[J]. 農(nóng)業(yè)網(wǎng)絡(luò)信息. 2008年第2期 P101P106 [11] [M].[12] ARM174。based 32bit MCU STM32F103xx Firmware library[DB/OL]. [13] YiBing PointtoPoint Short Message Service[J].International Journal of Wireless Information Networks. Number 4 / 1997,Volume 4 P249P256附 錄 附錄一:核心程序include include include include include include include include include include include include include include include include include include include include include include include include include /////////////////////////UCOSII任務(wù)設(shè)置/////////////////////////////////////START 任務(wù)//設(shè)置任務(wù)優(yōu)先級(jí)define START_TASK_PRIO 10 //開始任務(wù)的優(yōu)先級(jí)設(shè)置為最低//設(shè)置任務(wù)堆棧大小define START_STK_SIZE 64//任務(wù)堆棧,8字節(jié)對(duì)齊 __align(8) static OS_STK START_TASK_STK[START_STK_SIZE]。//任務(wù)函數(shù)void start_task(void *pdata)。 //串口任務(wù)//設(shè)置任務(wù)優(yōu)先級(jí)define USART_TASK_PRIO 7 //設(shè)置任務(wù)堆棧大小define USART_STK_SIZE 64//任務(wù)堆棧,8字節(jié)對(duì)齊 __align(8) static OS_STK USART_TASK_STK[USART_STK_SIZE]。//任務(wù)函數(shù)void usart_task(void *pdata)。 //主任務(wù)//設(shè)置任務(wù)優(yōu)先級(jí)define MAIN_TASK_PRIO 6 //設(shè)置任務(wù)堆棧大小define MAIN_STK_SIZE 512//任務(wù)堆棧,8字節(jié)對(duì)齊 __align(8) static OS_STK MAIN_TASK_STK[MAIN_STK_SIZE]。//任務(wù)函數(shù)void main_task(void *pdata)。//串口監(jiān)視任務(wù)//設(shè)置任務(wù)優(yōu)先級(jí)define WATCH_TASK_PRIO 3 //設(shè)置任務(wù)堆棧大小define WATCH_STK_SIZE 128//任務(wù)堆棧,8字節(jié)對(duì)齊 __align(8) static OS_STK WATCH_TASK_STK[WATCH_STK_SIZE]。//任務(wù)函數(shù)void watch_task(void *pdata)。 //MP3任務(wù)//設(shè)置任務(wù)優(yōu)先級(jí)define MUSIC_PLAY_TASK_PRIO 2 //設(shè)置任務(wù)堆棧大小define MUSIC_PLAY_STK_SIZE 256//任務(wù)堆棧,8字節(jié)對(duì)齊 __align(8) static OS_STK MUSIC_PLAY_TASK_STK[MUSIC_PLAY_STK_SIZE]。//任務(wù)函數(shù)void music_play_task(void *pdata)。////////////////////////////////////////////////////////////////////////////// //外部?jī)?nèi)存測(cè)試(最大支持1M字節(jié)內(nèi)存測(cè)試)//返回值:0,成功。1,失敗.u8 system_exsram_test(u16 x,u16 y){ u32 i=0。 u16 temp=0。 u16 sval=0。 //在地址0讀到的數(shù)據(jù) LCD_ShowString(x,y,239,y+12,12,Ex Memory Test: 0KB)。 //每隔1K字節(jié),寫入一個(gè)數(shù)據(jù),總共寫入1024個(gè)數(shù)據(jù),剛好是1M字節(jié) for(i=0。i1024*1024。i+=1024) { FSMC_SRAM_WriteBuffer((u8*)amp。temp,i,2)。 temp++。 } //依次讀出之前寫入的數(shù)據(jù),進(jìn)行校驗(yàn) for(i=0。i1024*1024。i+=1024) { FSMC_SRAM_ReadBuffer((u8*)amp。temp,i,2)。 if(i==0)sval=temp。 else if(temp=sval)break。//后面讀出的數(shù)據(jù)一定要比第一次讀到的數(shù)據(jù)大.
點(diǎn)擊復(fù)制文檔內(nèi)容
規(guī)章制度相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1