版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、-. zRTOS Salvo在單片機中的應(yīng)用遙控LED點陣平安天顯示屏什么是RTOS.實時操作系統(tǒng)(real-time operating system)簡稱RTOS。Salvo是什么.Salvo是一個能運行在有限的ROM和RAM的單片機上的強大的、高性能的、只需要很少的RAM而不需要堆棧的實時操作系統(tǒng)。它容易使用,能夠幫助你為嵌入式系統(tǒng)快速開發(fā)出強大的、可靠的且易于維護的應(yīng)用程序。它可裁剪,適應(yīng)能力非常強,幾乎能用于任何處理器,從PIC到奔騰。為什么要使用SalvoSalvo提供一個強大的、彈性的框架,在它上面你能快速地構(gòu)建你的程序。如果你面對一個復(fù)雜的設(shè)計并且性能有限的處理器,Salvo能
2、最大程度地幫助你完成設(shè)計。如果你想:使你的嵌入式產(chǎn)品搶在競爭對手前頭在你的產(chǎn)品已有硬件根底上添加更多的軟件功能改良一個復(fù)雜設(shè)計的運轉(zhuǎn)實時性管理你的越來越復(fù)雜的程序提高你的程序的可靠性使你掌握多任務(wù)RTOS大多數(shù)傳統(tǒng)的單片機程序都是在主函數(shù)局部中構(gòu)建一個超級循環(huán),使用中斷處理臨界事件。這被稱作前后臺或超級循環(huán)系統(tǒng),中斷運行在前臺,當(dāng)沒有中斷產(chǎn)生時主循環(huán)運行在后臺。在對程序的維護上,隨著功能的增加,使得前臺與后臺之間的關(guān)系越來越復(fù)雜,維護越來越困難。RTOS宏觀上是多個任務(wù)同時運行,部任務(wù)之間使用信號量、消息和消息隊列進展通訊和資源共享,增加一個功能只需增加一個任務(wù),任務(wù)的運行由系統(tǒng)核管理,使得維
3、護變得容易。低本錢的單片機是有能力實現(xiàn)實時控制應(yīng)用的,但對它們編程是一個挑戰(zhàn),實時的核能夠簡化復(fù)雜軟件的設(shè)計,然而不幸的是,多數(shù)商業(yè)化的RTOS需要大量的ROM和RAM,Salvo改變了這些,Salvo將使你的程序運行的更快,它提供應(yīng)你一個明白而又容易理解的多任務(wù)程序框架,只用很少的空間完成你的工作。Salvo與其它的RTOS的不同點Salvo是一個并發(fā)式的RTOS,因此必須明確地管理任務(wù)的切換,每個任務(wù)必須至少進展一次上下文切換。只能在任務(wù)中而不能在函數(shù)中進展上下文切換,這是因為單片機的堆棧很小。比照其它需要大量RAM的并發(fā)式或搶占式RTOS,Salvo可能是你唯一的選擇。Salvo需要哪些
4、資源.在單片機上,一個典型的多任務(wù)程序,Salvo代碼可能需要占用大約1K ROM每個任務(wù)大約占用4-12個字節(jié),每個事件3-4個字節(jié)另外需要4-6個字節(jié)去管理所有的任務(wù)、事件和延時。如果你方案使用延時和超時效勞,Salvo需要提供一個中斷信號,但這個中斷信號不必專門給Salvo使用,也同時用于其它方面。任務(wù)和事件的數(shù)量僅僅受存的限制。使用Salvo需要哪些知識.1、C語言的知識,但即使你是一C語言的初學(xué)者,你學(xué)習(xí)Salvo也不應(yīng)該感到很困難。2、一些RTOS的根本知識。下面結(jié)合一個實際進展介紹,本設(shè)計使用一片AVR單片機ATmega16,它是mega系列的主流型號,性價比高,具有16K的fl
5、ash,512字節(jié)的EEPROM,1K字節(jié)的RAM,沒有擴展外部了ROM和RAM便可運行RTOS,完成點陣掃描和紅外線遙控調(diào)整時間、平安天數(shù)。顯示容:今天是:*年*月*日星期* *時*分,當(dāng)前氣溫*.*已平安運行:*天。從右向左流滾動顯示。一、硬件的組成及工作原理1CPU控制板:原理見圖一,以ATmega16為核心,擴展一片416譯碼器CD4514,驅(qū)動ULN2003完成LED的行掃描。實時時鐘由DS1302及3.6V充電電池組成,掉電時時鐘仍能工作。J3是ISP程序下載接口,J4是程序調(diào)試接口,J8是外接調(diào)整按鈕,不用遙控器也能手動調(diào)整參數(shù),J5是一體化紅外線接收頭。ATmega16具有硬件
6、的SPI接口,可直接驅(qū)動串行移位芯片74HC595。2LED顯示板:原理見圖二,由16塊8*8LED點陣拼結(jié)而成,可同時顯示4個漢字,8片74HC595完成顯示屏的列驅(qū)動。兩塊電路板之間用40芯的排線聯(lián)接,在CPU的部RAM開辟一塊顯示緩存區(qū),CPU控制板讀取flash部的漢字點陣編碼,寫入到顯示緩存區(qū),然后讀取顯存中第一行數(shù)據(jù),通過SPI接口驅(qū)動74HC595,將串行數(shù)據(jù)轉(zhuǎn)為并行,然后將接通對應(yīng)的行,顯示1ms后,取下一行的數(shù)據(jù),同樣顯示1ms,直到第16行,完成一次掃描。再把顯存中的數(shù)據(jù)整體左移一位,再掃描一遍。如此把全部的漢字依次移入顯存并顯示,便實現(xiàn)了漢字從右向左移,全部漢字移完后對時
7、間、溫度和平安天數(shù)的存放器刷新一次。二、程序的根本構(gòu)造首先,根據(jù)功能上的獨立性劃分任務(wù),分為:時間讀寫、溫度采集、LED掃描顯示、日期天數(shù)調(diào)整和被調(diào)參數(shù)閃爍等五個任務(wù)。其次確定任務(wù)的優(yōu)先級,時間讀寫、溫度采集8級,日期天數(shù)調(diào)整和被調(diào)參數(shù)閃爍5級,LED掃描顯示3級,任務(wù)的優(yōu)先級還可以在程序運行中動態(tài)的改變。/頭文件*include salvo.h./定義Salvo任務(wù)指針*define TASK_SHOW_P OSTCBP(1)*define TASK_RWTIME_POSTCBP(2)./定義任務(wù)切換標(biāo)簽_OSLabel(TaskAdjust1)./任務(wù)的定義void TaskRWTime(
8、void);/讀寫時間任務(wù)./被調(diào)整的位置閃爍任務(wù)偽代碼void TaskFlash(void)staticconststruct eng0816 *p;p=eng0816_code;for(;)/程序段是一個死循環(huán)if(stop!=8)程序代碼;OS_Delay(50,TaskFlash2);/進展上下文切換,交出CPU的使用權(quán),其它任務(wù)開場運行。任務(wù)等待50個時鐘節(jié)拍500ms后,如果沒有比它優(yōu)先級高的任務(wù)等待執(zhí)行,則此任務(wù)繼續(xù)運行elseOS_Delay(100,TaskFlash3);/讀寫時間任務(wù)void TaskRWTime(void)for(;)ReadTime();/讀DS13
9、02時間CountSafeDay();/計算平安運行的天數(shù),存儲在部EEPROM中OS_Delay(50,TaskRWTime1);/每個任務(wù)必須進展一次上下文切換/主程序void main(void) Initial();/用戶程序初始化 OSInit();/RTOS初始化,必須有/創(chuàng)立任務(wù)并分配優(yōu)先級,括號分別為:任務(wù)名稱,任務(wù)指針,任務(wù)優(yōu)先級OSCreateTask(TaskRWTime,TASK_RWTIME_P,8);. OSEi();/中斷使能for(;) OSSched(); /任務(wù)調(diào)度器,何時哪一個任務(wù)運行,由調(diào)度器來調(diào)度,用戶只需要定義好每個任務(wù)的優(yōu)先級即可 /end從上面的程序片段可以看出,RTOS與一般的前后臺程序的主要不同是每個任務(wù)即子程序都工作在一個無限循環(huán)中,用戶只要做好任務(wù)的一些初始化工作,至于什么時候運行什么任務(wù)這個煩瑣事情交給系統(tǒng)去做就可以了,使CPU的利用率最高。三、使用方法遙控器用的是成品電視機遙控器,工作原理與電子制作2003年第九期遙控電風(fēng)扇一文一樣。按電源鍵,顯示調(diào)年*同時被調(diào)整的位閃爍,按音量相應(yīng)的位向上加,加到9后,回到0。按頻道,則改變被調(diào)整的位,同時對應(yīng)的
溫馨提示
- 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 景德鎮(zhèn)藝術(shù)職業(yè)大學(xué)《配合物化學(xué)》2023-2024學(xué)年第一學(xué)期期末試卷
- 遼寧大學(xué)《嵌入式技術(shù)》2023-2024學(xué)年第一學(xué)期期末試卷
- 江蘇海事職業(yè)技術(shù)學(xué)院《口腔科學(xué)》2023-2024學(xué)年第一學(xué)期期末試卷
- 黑龍江工程學(xué)院昆侖旅游學(xué)院《建筑施工組織》2023-2024學(xué)年第一學(xué)期期末試卷
- 重慶三峽職業(yè)學(xué)院《食品儀器分析原子吸收測定水中鈣(標(biāo)準(zhǔn)曲線法)》2023-2024學(xué)年第一學(xué)期期末試卷
- 浙江越秀外國語學(xué)院《漆畫表現(xiàn)灰料新語言》2023-2024學(xué)年第一學(xué)期期末試卷
- 浙江海洋大學(xué)《GIS氣象應(yīng)用與開發(fā)》2023-2024學(xué)年第一學(xué)期期末試卷
- 中國計量大學(xué)《生物信息學(xué)入門(雙語)》2023-2024學(xué)年第一學(xué)期期末試卷
- 中央財經(jīng)大學(xué)《工程建筑制圖》2023-2024學(xué)年第一學(xué)期期末試卷
- 小學(xué)德育工作的管理制度
- 浙江寧波鄞州區(qū)市級名校2025屆中考生物全真模擬試卷含解析
- 電子招投標(biāo)平臺搭建與運維服務(wù)合同
- IATF16949基礎(chǔ)知識培訓(xùn)教材
- 食品研發(fā)調(diào)研報告范文
- 2024-2030年國家甲級資質(zhì):中國干熱巖型地?zé)豳Y源融資商業(yè)計劃書
- 2024-2030年中國MVR蒸汽機械行業(yè)競爭格局及投資發(fā)展前景分析報告
- 食材配送服務(wù)方案投標(biāo)文件(技術(shù)方案)
- 中國慢性阻塞性肺疾病基層診療指南(2024年)解讀
- 二零二四年度贈與合同:關(guān)于藝術(shù)品捐贈的贈與合同
- 2023年高考真題-化學(xué)(福建卷) 含解析
- 纏繞膜項目實施方案
評論
0/150
提交評論