黃靖嵌入式系統(tǒng)實習(xí)報告_第1頁
黃靖嵌入式系統(tǒng)實習(xí)報告_第2頁
黃靖嵌入式系統(tǒng)實習(xí)報告_第3頁
黃靖嵌入式系統(tǒng)實習(xí)報告_第4頁
黃靖嵌入式系統(tǒng)實習(xí)報告_第5頁
已閱讀5頁,還剩4頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

嵌入式系統(tǒng)實習(xí)報告課題:LCD顯示秒表班級:計本12-3班學(xué)號:3110717215姓名:黃靖指導(dǎo)老師:金紅老師一、緒論嵌入式計算機(jī)的真正發(fā)展是在微處理器問世之后。1971年11月,Intel公司成功地把算術(shù)運(yùn)算器和控制器電路集成在一起,推出了第一款微處理器Intel4004,其后各廠家陸續(xù)推出了許多8位、16位的微處理器,包括Intel8080/8085、8086,Motorola的6800、68000,以及Zilog的Z80、Z8000等。以這些微處理器作為核心所構(gòu)成的系統(tǒng),廣泛地應(yīng)用于儀器儀表、醫(yī)療設(shè)備、機(jī)器人、家用電器等領(lǐng)域。微處理器的廣泛應(yīng)用形成了一個廣闊的嵌入式應(yīng)用市場,計算機(jī)廠家開始大量地以插件方式向用戶提供OEM產(chǎn)品,再由用戶根據(jù)自己的需要選擇一套適合的CPU板、存儲器板以及各式I/O插件板,從而構(gòu)成專用的嵌入式計算機(jī)系統(tǒng),并將其嵌入到自己的系統(tǒng)設(shè)備中。本次試驗課題是基于UC/OS-II嵌入式操作系統(tǒng)進(jìn)行的1602顯示秒表設(shè)計。二、嵌入式概述1、何為嵌入式:何謂嵌入式系統(tǒng),嵌入式系統(tǒng)是用來控制或者監(jiān)視機(jī)器、裝置、工廠等大規(guī)模設(shè)備的系統(tǒng)。國內(nèi)普遍認(rèn)同的嵌入式系統(tǒng)定義為:以應(yīng)用為中心,以計算機(jī)技術(shù)為基礎(chǔ),軟硬件可裁剪,適應(yīng)應(yīng)用系統(tǒng)對功能、可靠性、成本、體積、功耗等嚴(yán)格要求的專用計算機(jī)系統(tǒng).通常,嵌入式系統(tǒng)是一個控制程序存儲在ROM中的嵌入式處理器控制板。事實上,所有帶有數(shù)字接口的設(shè)備,如手表、微波爐、錄像機(jī)、汽車等,都使用嵌入式系統(tǒng),有些嵌入式系統(tǒng)還包含操作系統(tǒng),但大多數(shù)嵌入式系統(tǒng)都是由單個程序?qū)崿F(xiàn)整個控制邏輯。而uC/OS-II由Micrium公司提供,是一個源代碼開放、可移植、可固化、可裁剪、搶先式的多任務(wù)實時操作系統(tǒng)。它主要用于中小型嵌入式系統(tǒng)中,執(zhí)行效率高,占用空間小,可移植性強(qiáng),具有良好的實時性和可擴(kuò)展性。2、嵌入式歷史:從20世紀(jì)七十年代單片機(jī)的出現(xiàn)到各式各樣的嵌入式微處理器,微控制器的大規(guī)模應(yīng)用,嵌入式系統(tǒng)已經(jīng)有了近30年的發(fā)展歷史。嵌入式系統(tǒng)的出現(xiàn)最初是基于單片機(jī)的。70年代單片機(jī)的出現(xiàn),使得汽車、家電、工業(yè)機(jī)器、通信裝置以及成千上萬種產(chǎn)品可以通過內(nèi)嵌電子裝置來獲得更佳的使用性能:更容易使用、更快、更便宜。這些裝置已經(jīng)初步具備了嵌入式的應(yīng)用特點(diǎn),但是這時的應(yīng)用只是使用8位的芯片,執(zhí)行一些單線程的程序,還談不上“系統(tǒng)”的概念。最早的單片機(jī)是Intel公司的8048,它出現(xiàn)在1976年。Motorola同時推出了68HC05,Zilog公司推出了Z80系列,這些早期的單片機(jī)均含有256字節(jié)的RAM、4K的ROM、4個8位并口、1個全雙工串行口、兩個16位定時器。之后在80年代初,Intel又進(jìn)一步完善了8048,在它的基礎(chǔ)上研制成功了8051,這在單片機(jī)的歷史上是值得紀(jì)念的一頁,迄今為止,51系列的單片機(jī)仍然是最為成功的單片機(jī)芯片,在各種產(chǎn)品中有著非常廣泛的應(yīng)用。從80年代早期開始,嵌入式系統(tǒng)的程序員開始用商業(yè)級的“操作系統(tǒng)”編寫嵌入式應(yīng)用軟件,這使得可以獲取更短的開發(fā)周期,更低的開發(fā)資金和更高的開發(fā)效率,“嵌入式系統(tǒng)”真正出現(xiàn)了。確切點(diǎn)說,這個時候的操作系統(tǒng)是一個實時核,這個實時核包含了許多傳統(tǒng)操作系統(tǒng)的特征,包括任務(wù)管理、任務(wù)間通訊、同步與相互排斥、中斷支持、內(nèi)存管理等功能。其中比較著名的有ReadySystem公司的VRTX、IntegratedSystemIncorporation(ISI)的PSOS和IMG的VxWorks、QNX公司的QNX等。這些嵌入式操作系統(tǒng)都具有嵌入式的典型特點(diǎn):它們均采用占先式的調(diào)度,響應(yīng)的時間很短,任務(wù)執(zhí)行的時間可以確定;系統(tǒng)內(nèi)核很小,具有可裁剪,可擴(kuò)充和可移植性,可以移植到各種處理器上;較強(qiáng)的實時和可靠性,適合嵌入式應(yīng)用。這些嵌入式實時多任務(wù)操作系統(tǒng)的出現(xiàn),使得應(yīng)用開發(fā)人員得以從小范圍的開發(fā)解放出來,同時也促使嵌入式有了更為廣闊的應(yīng)用空間。90年代以后,隨著對實時性要求的提高,軟件規(guī)模不斷上升,實時核逐漸發(fā)展為實時多任務(wù)操作系統(tǒng)(RTOS),并作為一種軟件平臺逐步成為目前國際嵌入式系統(tǒng)的主流。這時候更多的公司看到了嵌入式系統(tǒng)的廣闊發(fā)展前景,開始大力發(fā)展自己的嵌入式操作系統(tǒng)。除了上面的幾家老牌公司以外,還出現(xiàn)了PalmOS,WinCE,嵌入式Linux,Lynx,Nucleux,以及國內(nèi)的Hopen,DeltaOs等嵌入式操作系統(tǒng)。隨著嵌入式技術(shù)的發(fā)展前景日益廣闊,相信會有更多的嵌入式操作系統(tǒng)軟件出現(xiàn)。3、現(xiàn)狀:今天嵌入式系統(tǒng)帶來的工業(yè)年產(chǎn)值已超過了1萬億美元,1997年來自美國嵌入式系統(tǒng)大會(EmbeddedSystemConference)的報告指出,未來5年僅基于嵌入式計算機(jī)系統(tǒng)的全數(shù)字電視產(chǎn)品,就將在美國產(chǎn)生一個每年1500億美元的新市場。美國汽車大王福特公司的高級經(jīng)理也曾宣稱,“福特出售的‘計算能力’已超過了IBM”,由此可以想見嵌入式計算機(jī)工業(yè)的規(guī)模和廣度。1998年11月在美國加州舉行的嵌入式系統(tǒng)大會上,基于RTOS的EmbeddedInternet成為一個技術(shù)新熱點(diǎn)。在國內(nèi),“維納斯計劃”和“女鍋計劃”一度鬧得沸沸揚(yáng)揚(yáng),機(jī)頂盒、信息j家電這兩年更成了IT熱點(diǎn),而實際上這些都是嵌入式系統(tǒng)在特定環(huán)境下的一個特定應(yīng)用。據(jù)調(diào)查,目前國際上已有兩百多種嵌入式操作系統(tǒng),而各種各樣的開發(fā)工具、應(yīng)用于嵌入式開發(fā)的儀器設(shè)備更是不可勝數(shù)。在國內(nèi),雖然嵌入式應(yīng)用、開發(fā)很廣,但該領(lǐng)域卻幾乎還是空白,只有三兩家公司和極少數(shù)人員在從事這方面工作。由此可見,嵌入式系統(tǒng)技術(shù)發(fā)展的空間真是無比廣大。三、課題設(shè)計內(nèi)容:1、課題所需材料及工具材料:1062LCD顯示器、電路板、IAP15F2K61S2系統(tǒng)板、數(shù)據(jù)線、三個按鈕、若干電線等工具:USB串口驅(qū)動、Keil_uvision_4、STC_ISPVer6.82B等2、課題設(shè)計要求及總體思路要求秒表可以實現(xiàn)三個功能:秒表的顯示功能,秒表的控制功能:開始、暫停、清零,秒表的LED閃爍功能。總體思路:1、查閱與課題相關(guān)的資料了解uC/OS-II嵌入式系統(tǒng)移植已有的主要技術(shù)方案,應(yīng)用軟件設(shè)計及系統(tǒng)調(diào)試的方法;2、在IAP15F2K61S2單片機(jī)系統(tǒng)板上移植uC/OS-II嵌入式系統(tǒng),完成系統(tǒng)調(diào)試。3、完成對秒表的功能進(jìn)行總體的設(shè)計和規(guī)劃,根據(jù)自己的總體設(shè)計和規(guī)劃進(jìn)行軟件設(shè)計,焊接電路。4、系統(tǒng)功能調(diào)試。3、uC/OS-II嵌入式系統(tǒng)的移植uC/OS-II代碼中大部分都是用C語言寫的,但是涉及到數(shù)據(jù)類型的重定義、堆棧結(jié)構(gòu)的設(shè)計、任務(wù)切換時狀態(tài)的保存和恢復(fù)等問題的大部分代碼由于與處理器有關(guān),是用匯編語言實現(xiàn)的。移植所要做的工作,就是在不同的處理器上用匯編語言來改寫與處理器有關(guān)的代碼及其他與處理器特性相關(guān)的部分。在uC/OS-II移植過程中涉及以上問題的代碼都包含在文件OS_CPU.H、OS_CPU.C、OS_CPU_A.ASM中。因此移植的主要工作也在源代碼的基礎(chǔ)上圍繞著這三個文件的改寫展開。OS_CPU.H的改寫:其中主要定義了一些與編譯器有關(guān)的數(shù)據(jù)類型、堆棧的生長方向、臨界代碼區(qū)的保護(hù)方式。因為不同的處理器有不同的字長,所以O(shè)S_CPU.H中需要針對具體的處理器字長重新定義一系列數(shù)據(jù)類型以確保系統(tǒng)的可移植性。特別需要注意的是MCS-51的棧寬度是8位的,所以將堆棧的數(shù)據(jù)類型聲明為8位無符號字符類型,即unsignedcharOS_STK。第二,為了避免臨界區(qū)代碼被中斷,在臨界區(qū)操作時必須用C語言開放和關(guān)閉中斷。對于51單片機(jī),在中斷控制中使用EA=0關(guān)中斷,EA=1開中斷。由于51堆棧自低地址往高地址生長,所以堆棧增長方向的設(shè)置必須更改。采用語句#defineOS_STK_GROWTH0。最后,由于MCS-51沒有軟中斷指令,所以用程序調(diào)用代替,定義任務(wù)切換宏OS_TASK_SW():#defineOS_TASK_SW()OSCtxSw()。OS_CPU_C.C需要改寫的六個鉤掛函數(shù)分別是OSTaskStkInit()//初始化任務(wù)堆棧函數(shù)OSTaskCreateHook()//任務(wù)創(chuàng)建鉤掛函數(shù)OSTaskDelHook()//任務(wù)刪除鉤掛函數(shù)OSTaskSwHook()//任務(wù)切換鉤掛函數(shù)OSTaskStatHook()//統(tǒng)計任務(wù)鉤掛函數(shù)OSTimeTickHook()//定時鉤掛函數(shù)OS_CPU_A.ASM需要改寫的四個函數(shù)分別是:OSStartHighRdy()//運(yùn)行優(yōu)先級最高的就緒任務(wù)OSCtxSw()//任務(wù)級的切換函數(shù)OSIntCtxSw()//中斷級的任務(wù)切換函數(shù)OSTickISR()//時鐘節(jié)拍中斷服務(wù)函數(shù)移植過程要留意的問題:當(dāng)調(diào)用OSTaskCreate()或OSTaskCreateExt()創(chuàng)建一個新任務(wù)時,需要傳遞的參數(shù)是:任務(wù)代碼的起使地址,參數(shù)指針(pdata),任務(wù)堆棧頂端的地址,任務(wù)的優(yōu)先級。OSTaskCreateExt()還需要一些其他參數(shù),但與OSTask-StkInit()沒有關(guān)系。OSTaskStkInit()只需要以上提到的3個參數(shù)(task,pdata,和ptos)。在這個堆棧初始化函數(shù)中要清楚堆棧中都要保存哪些東西,要留多大的空間,這些都很重要,否則會發(fā)生很嚴(yán)重的錯誤。4、課題程序功能設(shè)計及代碼如下圖所示,整個秒表以STC15為核心,按下停止鍵或啟動鍵控制秒表的停止和開始,清零鍵負(fù)責(zé)清零,同時反映給STC15,再經(jīng)過處理顯示在1602液晶顯示器上,進(jìn)行計時:系統(tǒng)設(shè)計圖:系統(tǒng)總的原理圖如上圖所示,按下暫停、啟動和清零按鍵,秒表開始計時或清零并顯示在LCD1602液晶顯示器上。功能流程圖:主要函數(shù)代碼:voidmain(void)//主函數(shù){ OSInit();//初始化uc/os-|| InitTime0();//定時器初始化 OSTaskCreate(Task1,(void*)0,&Task1Stk[0],4);//任務(wù)1 OSTaskCreate(Task2,(void*)0,&Task2Stk[0],1);//任務(wù)2 OSStart();//開始多任務(wù)調(diào)度}voidTask2(void*ppdata)reentrant//任務(wù)2,LED閃爍,{ ppdata=ppdata; while(1){ P55=~P55; OSTimeDly(OS_TICKS_PER_SEC); }}voidTask1(voidxdata*ppdata)reentrant//任務(wù)1,三個按鍵功能以及字幕的顯示{ ppdata=ppdata; TR1=0; count=0;//中斷次數(shù) while(1) { init();//1602初始化 if(key1==0) //開始 { TR1=1;//定時器開啟 } if(key3==0) //暫停 {TR1=0;//定時器關(guān)閉 } if(key2==0&&TR1==0)//清零 { zong=0;//時間清零 } lcd_pos(0x46);//顯示的地址 Display_int(zong/60);//顯示分鐘 lcd_date(':'); //顯示 Display_int(zong%60);//顯示秒 lcd_pos(0x00);//字符輸出地址 Display_string(time); //輸出”timesstart:”O(jiān)STimeDly(OS_TICKS_PER_SEC/40);}}//中斷函數(shù)voidTime1()interrupt3//定時器T1的中斷編號為1{ TH1=(65536-50000)/256; //定時器T0高8位重新賦初值0.05s TL1=(65536-50000)%256; //定時器T0低8位重新賦初值 count++; if(count%20==0)//調(diào)整數(shù)字變化速度 { zong++;// }}voidDisplay_int(inta){//顯示 inttmp[2]={0,0}; intt=0; while(a!=0){ tmp[t++]=a%10; a=a/10; } t=2; while(t>0){ lcd_date('0'+tmp[--t]); }}voidDisplay_string(char*str){ inti=

溫馨提示

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

評論

0/150

提交評論