嵌入式實習報告_第1頁
嵌入式實習報告_第2頁
嵌入式實習報告_第3頁
嵌入式實習報告_第4頁
嵌入式實習報告_第5頁
已閱讀5頁,還剩3頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

..XX:XX:班級:學號:信息科學與工程學院2014-01-15引言1、嵌入式的概述:隨著信息化技術(shù)的開展和數(shù)字化產(chǎn)品的普及,以計算機技術(shù)、芯片技術(shù)和軟件技術(shù)為核心的嵌入式系統(tǒng)再度成為當前研究和應用的熱點,通信、計算機、消費電子技術(shù)〔3C〕合一的趨勢正在逐步形成,無所不在的網(wǎng)絡(luò)和無所不在的計算〔everythingconnecting,everywhereputing〕正在將人類帶入一個嶄新的信息社會。2、嵌入式的歷史與現(xiàn)狀:雖然嵌入式系統(tǒng)是近幾年才開場真正風行起來的,但事實上嵌入式這個概念卻很早就已經(jīng)存在了,從上個世紀70年代單片機的出現(xiàn)到今天各種嵌入式微處理器、微控制器的廣泛應用,嵌入式系統(tǒng)少說也有了近30年的歷史??v觀嵌入式系統(tǒng)的開展歷程,大致經(jīng)歷了以下四個階段:2.1、無操作系統(tǒng)階段嵌入式系統(tǒng)最初的應用是基于單片機的,大多以可編程控制器的形式出現(xiàn),具有監(jiān)測、伺服、設(shè)備指示等功能,通常應用于各類工業(yè)控制和飛機、導彈等武器裝備中,一般沒有操作系統(tǒng)的支持,只能通過匯編語言對系統(tǒng)進展直接控制,運行完畢后再去除存。這些裝置雖然已經(jīng)初步具備了嵌入式的應用特點,但僅僅只是使用8位的CPU芯片來執(zhí)行一些單線程的程序,因此嚴格地說還談不上"系統(tǒng)"的概念。2.2、簡單操作系統(tǒng)階段20世紀80年代,隨著微電子工藝水平的提高,IC制造商開場把嵌入式應用中所需要的微處理器、I/O接口、串行接口以及RAM、ROM等部件統(tǒng)統(tǒng)集成到一片VLSI中,制造出面向I/O設(shè)計的微控制器,并一舉成為嵌入式系統(tǒng)領(lǐng)域中異軍突起的新秀。與此同時,嵌入式系統(tǒng)的程序員也開場基于一些簡單的"操作系統(tǒng)"開發(fā)嵌入式應用軟件,大大縮短了開發(fā)周期、提高了開發(fā)效率。2.3、實時操作系統(tǒng)階段20世紀90年代,在分布控制、柔性制造、數(shù)字化通信和信息家電等巨大需求的牽引下,嵌入式系統(tǒng)進一步飛速開展,而面向?qū)崟r信號處理算法的DSP產(chǎn)品那么向著高速度、高精度、低功耗的方向開展。隨著硬件實時性要求的提高,嵌入式系統(tǒng)的軟件規(guī)模也不斷擴大,逐漸形成了實時多任務(wù)操作系統(tǒng)〔RTOS〕,并開場成為嵌入式系統(tǒng)的主流。2.4、面向Internet階段21世紀無疑將是一個網(wǎng)絡(luò)的時代,將嵌入式系統(tǒng)應用到各種網(wǎng)絡(luò)環(huán)境中去的呼聲自然也越來越高。目前大多數(shù)嵌入式系統(tǒng)還孤立于Internet之外,隨著Internet的進一步開展,以及Internet技術(shù)與信息家電、工業(yè)控制技術(shù)等的結(jié)合日益嚴密,嵌入式設(shè)備與Internet的結(jié)合才是嵌入式技術(shù)的真正未來。3、學習目的:以培養(yǎng)培養(yǎng)實際的嵌入式系統(tǒng)軟件設(shè)計能力和創(chuàng)新為主要目的,通過實習,根本掌握嵌入式系統(tǒng)應用系統(tǒng)的設(shè)計方法、調(diào)試技術(shù)及創(chuàng)新能力等技能。課題設(shè)計嵌入式系統(tǒng)嵌入式系統(tǒng)的概述根據(jù)IEEE的定義:嵌入式系統(tǒng)是"用于控制、監(jiān)視或者輔助操作機器和設(shè)備的裝置。〞通俗定義:嵌入式系統(tǒng)是以應用為中心,以計算機技術(shù)為根底,并且軟硬件可裁剪,適用于應用系統(tǒng)對功能、可靠性、本錢、體積、功耗有嚴格要求的專用計算機系統(tǒng)。嵌入式操作系統(tǒng)嵌入式操作系統(tǒng)〔EmbeddedOperatingSystem,簡稱:EOS〕是指用于嵌入式系統(tǒng)的操作系統(tǒng)。嵌入式操作系統(tǒng)是一種用途廣泛的系統(tǒng)軟件,通常包括與硬件相關(guān)的底層驅(qū)動軟件、系統(tǒng)核、設(shè)備驅(qū)動接口、通信協(xié)議、圖形界面、標準化瀏覽器等。嵌入式操作系統(tǒng)負責嵌入式系統(tǒng)的全部軟、硬件資源的分配、任務(wù)調(diào)度,控制、協(xié)調(diào)并發(fā)活動。它必須表達其所在系統(tǒng)的特征,能夠通過裝卸某些模塊來到達系統(tǒng)所要求的功能。目前在嵌入式領(lǐng)域廣泛使用的操作系統(tǒng)有:嵌入式Linux、WindowsCE、μC/OS-II、VxWorks等,以及應用在智能手機和平板電腦的Android、iOS等。STC15F2K60S2硬件平臺STC15系列最小系統(tǒng)板,以宏景STC15F2K60S2單片機為核心,STC15F2K60S2功能簡介如下,具體可參考相關(guān)數(shù)據(jù)手冊[2]。1)、STC15為1T單片機即晶振速度既是主頻速度2)、工作電壓STC15F2K60S25V單片機5.5v-3.8v3)、60Kflash存儲空間4)、2048字節(jié)即2KSRAM5)、1KEEPROM存儲空間6)、共8通道10位高速ADC速度可達30萬次/秒3路PWM還可當3路D/A使用7)、共3通道捕獲/比擬單元〔CCP/PWM/PCA〕8)、部高可靠復位8級可選擇復位門檻電壓可省去外部復位電路9)、支持部高精度R/C時鐘,可選擇〔5.5296MHz、11.0592MHz、22.1184MHz、33.1776MHz〕10)、兩組高速異步串行通信端口〔可同時使用〕即雙串口可在5組管腳之間進展切換分時復用可當5組串口使用!11)、一組高速異步串行SPI總線在讀SD卡NRF24L01flash芯片即擴展IO等均可使用12)、低功耗設(shè)計:低速模式,空閑模式,掉電模式/停機模式13)、共6個定時器/計數(shù)器3個16位可重裝載定時器/計數(shù)器〔T0/T1/T2其中T0/T1兼容普通8051的定時器/計數(shù)器〕,并均可獨立實現(xiàn)對外可編程時鐘輸出〔3通道〕,3路CPP/PWM/PCA還可再實現(xiàn)3個定時器。14)、可編程時鐘輸出功能〔對部系統(tǒng)時鐘或?qū)ν獠抗苣_的時鐘輸入進展時鐘分頻輸出〕15)、硬件看門狗〔WDT〕16)、先進的指令集構(gòu)造兼容普通8051指令集有硬件乘法/除非指令17)、42個通用I/O口復位后為:準雙向口/弱上拉〔普通8051傳統(tǒng)I/O口〕可設(shè)置四種模式。μC/OS-II操作系統(tǒng)μC/OS-Ⅱ是一個源代碼開放、可剪裁、構(gòu)造小巧、搶先式的實時操作系統(tǒng),主要用于中小型嵌入式系統(tǒng)中,執(zhí)行效率高、占用空間小、可移植性強,具有良好的實時性能和可擴展性,最多支持64個任務(wù),可運行在大局部嵌入式微處理器上。μC/OS操作系統(tǒng)的特點μC/OS是一個完成的,可移植、可固化、可裁減的搶占式實時多任務(wù)操作系統(tǒng)核。主要用ANSI的C語言編寫,少局部代碼是匯編語言。μC/OS主要有以下特點:1)、可移植性可以移植到多個CPU上,包括三菱單片機。2)、可固化可以固化到嵌入式系統(tǒng)中3〕、可裁減可以定制μC/OS,使用少量的系統(tǒng)效勞4)、可剝奪性μC/OS是完全可剝奪的實時核,μC/OS總是運行優(yōu)先級最高的就緒任務(wù)。5〕、多任務(wù)運行μC/OS可以管理最多64個任務(wù)。不支持時間片輪轉(zhuǎn)調(diào)度法,所以要求每個任務(wù)的優(yōu)先級不一樣。6)、可確定性μC/OS的函數(shù)調(diào)用和系統(tǒng)效勞的執(zhí)行時間可以確定。7〕、任務(wù)棧每個任務(wù)都有自己的單獨的棧,而且每個任務(wù)棧空間的大小可以不一樣。8)、系統(tǒng)效勞μC/OS有很多系統(tǒng)效勞,如信號量、時間標志、消息、消息隊列、時間管理等等。基于STC15F2K60S2單片機的μC/OSII的移植μC/OS-II可以大致分成核心、任務(wù)處理、時間處理、任務(wù)同步與通信,CPU的移植等5個局部。1)核心局部(OSCore.c)是操作系統(tǒng)的處理核心,包括操作系統(tǒng)初始化、操作系統(tǒng)運行、中斷進出的前導、時鐘節(jié)拍、任務(wù)調(diào)度、事件處理等多局部。能夠維持系統(tǒng)根本工作的局部都在這里。2)任務(wù)處理局部(OSTask.c)任務(wù)處理局部中的容都是與任務(wù)的操作密切相關(guān)的。包括任務(wù)的建立、刪除、掛起、恢復等等。因為μC/OS-II是以任務(wù)為根本單位調(diào)度的,所以這局部容也相當重要。3)時鐘局部(OSTime.c)μC/OS-II中的最小時鐘單位是timetick〔時鐘節(jié)拍〕。任務(wù)延時等操作是在這里完成的。4)任務(wù)同步和通信局部為事件處理局部,包括信號量、、隊列、事件標志等局部;主要用于任務(wù)間的互相聯(lián)系和對臨界資源的訪問。5)與CPU的接口局部是指μC/OS-II針對所使用的CPU的移植局部。由于μC/OS-II是一個通用性的操作系統(tǒng),所以對于關(guān)鍵問題上的實現(xiàn),還是需要根據(jù)具體CPU的具體容和要求作相應的移植。這局部容由于牽涉到SP等系統(tǒng)指針,所以通常用匯編語言編寫。主要包括中斷級任務(wù)切換的底層實現(xiàn)、任務(wù)級任務(wù)切換的底層實現(xiàn)、時鐘節(jié)拍的產(chǎn)生和處理、中斷的相關(guān)處理局部等容。μC/OS-II應用軟件設(shè)計此次應用軟件設(shè)計我們設(shè)計了三個應用,分別是:1、閃爍運行指示燈2、1602顯示3、串口通訊收發(fā)流程圖閃爍運行指示燈開場開場輸出"輸出"1〞,熄滅延時延時輸出"輸出"0〞,點亮延時延時1602顯示LCD初始化延時開場LCD初始化延時開場顯示第一行內(nèi)容設(shè)置第一行顯示位置顯示第一行內(nèi)容設(shè)置第一行顯示位置設(shè)置第二行顯示位置顯示第二行內(nèi)容設(shè)置第二行顯示位置顯示第二行內(nèi)容③串口通訊收發(fā)串口:接收線程從串口獲取數(shù)據(jù)接收線程:將數(shù)據(jù)打包放入緩存并通知處理線程串口:接收線程從串口獲取數(shù)據(jù)接收線程:將數(shù)據(jù)打包放入緩存并通知處理線程緩存緩存處理線程收到通知后,從Wait處理線程收到通知后,從Wait〔〕中醒來,然后讀取緩存中數(shù)據(jù)數(shù)據(jù)處理線程數(shù)據(jù)處理線程代碼附錄&main.c代碼:#include"includes.h"http://運行燈sbitLED1=P3^2;sbitLED2=P5^5;//定義任務(wù)堆棧OS_STKTask1Stk[MaxStkSize+1]; //注意:我在ASM文件中設(shè)置"STACK空間為40H即64OS_STKTask2Stk[MaxStkSize+1];OS_STKTask3Stk[MaxStkSize+1];//變量//OS_EVENT*FirstSem;INT8Uerr;voidInitTime0(void)reentrant{TMOD&=0xF0; TMOD|=0x01;//定時器0:模式1(16位定時器),僅受TR0控制;定時器1:波特率發(fā)生器//TH0=0xDC;//定義Tick=100次/秒(即0.01秒/次),TH,TL值與CPU的頻率有關(guān)(11.0592M)//TL0=0x00; //OS_CPU_C.C中定時器中斷響應也要設(shè)置,OS_CFG.H中OS_TICKS_PER_SEC也有關(guān)系TR0=1; //必須啟動}//喂狗硬件看門狗voidFeed_WDT(void)reentrant{ WDT_CONTR=0x3f;//EN_WDT=1,CLR_WDT=1,IDLE_WDT=0,PS2=0,PS1=0,PS0=0 H_DOG=~H_DOG;}voidTask1(void*ppdata)reentrant{ ppdata=ppdata; ET0=1;//根任務(wù)開時鐘節(jié)拍中斷重要?。。。。。。。。。。。。。。。。。。。。。。。or(;;){LED1=~LED1;OSTimeDly(OS_TICKS_PER_SEC);//延時1s//OSSemPost(FirstSem); }}voidTask2(void*ppdata)reentrant{ ppdata=ppdata; while(1){ Process_Uart();LED2=~LED2;OSTimeDly(OS_TICKS_PER_SEC/20); Feed_WDT();}}voidTask3(void*ppdata)reentrant{ ppdata=ppdata; for(;;) {// OSTimeDlyHMSM(0,0,10,0); LCD1602_write_string(LCD1602_LINE1,0,"ZHOUJIE&");LCD1602_write_string(LCD1602_LINE2,0,"TANGQILUO"); OSTimeDly(OS_TICKS_PER_SEC);}}voidmain(void){initial_lcd1602(); OSInit(); InitTime0(); InitSerial(); Feed_WDT();// FirstSem=OSSemCreate(0);//定義一個信號量OSTaskCreate(Task1,(void*)0,&Task1Stk[0],0);//優(yōu)先級OSTaskCreate(Task2,(void*)0,&Task2Stk[0],1); OSTaskCreate(Task3,(void*)0,&Task3Stk[0],4); OSStart();}串口通信關(guān)鍵代碼:voidProcess_Uart(void) reentrant{ INT8UCMD=0xff; //Feed_WDT(); if(gRec_Flag1) { OSTimeDly(OS_TICKS_PER_SEC/10); //100ms Send_Str_Uart1(RxBuf,20); Clear_Buf(RxNum); gRec_Flag1=0; RxNum=0; }}結(jié)論實習中的經(jīng)歷教師上課講的實驗時必須注意的幾點非常重要,例如電路板和手掌的靜電,啟動電源開關(guān)對端口的

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論