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

正文內(nèi)容

基于單片機(jī)的嵌入式實(shí)時(shí)os平臺(tái)的研究與實(shí)現(xiàn)畢業(yè)論文-wenkub

2023-05-12 21:48:56 本頁面
 

【正文】 供系統(tǒng)初始化管理以及簡單的實(shí)時(shí)時(shí)鐘管理。而對于嵌入式開發(fā)人員來說,他們也能夠?qū)W⒂趹?yīng)用系統(tǒng)的開發(fā),不再進(jìn)行控制 CPU的繁雜工作和控制硬件的工作。硬件只要發(fā)生簡單的變化 ,軟件就要作大量的改動(dòng),應(yīng)用程序?qū)τ布囊?賴性很強(qiáng)。hardware of puter, munication, and so on. It has been used in aviation, spaceflight, instrument, industrialcontrol and so is a important method of science and technology innovation. Embedded operationsystem has its advantage of programme mode than tradition39。在最后一個(gè)章節(jié)中,完成了實(shí)時(shí)溫度控制系統(tǒng)的設(shè)計(jì)。而 RTOS(RealTime Operating System)使得在嵌入式操作系統(tǒng)上編程比在傳統(tǒng)意義上編程有著更大的優(yōu)勢,隨著不斷的發(fā)展在更多的場合能夠發(fā)揮其優(yōu)勢和作用。進(jìn)行嵌入式實(shí)時(shí)操作系統(tǒng)開發(fā)平臺(tái)的討論和研究具有非凡的現(xiàn)實(shí)意義。 關(guān)鍵詞: 嵌入式實(shí)時(shí)操作系統(tǒng) 。s owing to RTOS(RealTime Operating System). The article first talks about the conception of RTOS and introduces the current situation of the development of RTOS and development trend. In the second chapter,the article talks about the kernel particularly of the realtime operation system μC/OSⅡ , for instance, task, clock and interrupt. In third chapter, the article designs 2 the platform of embedded operation system, which regards STC89C52 as control object, reaving kernel μC/OSⅡ as operation system, Keil C51 as code warrior. In last chapter the article pletes the design of realtime temperature control system. Key Words: embedded RealTime Operation System。而操作系統(tǒng)的出現(xiàn) ,使得硬件與軟件在一定程度上分離開來,這為嵌入式軟件開發(fā)人員節(jié)省了大量的時(shí)間。 實(shí)時(shí)操作系統(tǒng)的發(fā)展與現(xiàn)狀 實(shí)時(shí)操作系統(tǒng)( RTOS)是指當(dāng)外界事件或數(shù)據(jù)產(chǎn)生時(shí),能夠接受并以足夠快的速度予以處理,其處理的結(jié)果又能在規(guī)定的時(shí)間之內(nèi)來控制生產(chǎn)過程或?qū)μ幚硐到y(tǒng)作出快速響應(yīng),并控制所有實(shí)時(shí)任務(wù)協(xié)調(diào) 3 一致運(yùn)行的操作系統(tǒng)。這個(gè)時(shí)間應(yīng)用較簡單 ,實(shí) 時(shí)性也要求不高 ,應(yīng)用程序、實(shí)時(shí)監(jiān)控程序和硬件運(yùn)行平臺(tái)往往是緊密聯(lián)系在一起的。而 RTOS 的開發(fā)者為了滿足這種快速發(fā)展的應(yīng)用需求 ,開發(fā)了與之相符合的專有 的實(shí)時(shí)操作系統(tǒng)。這使得 4 用戶可以根據(jù)不同的實(shí)時(shí)應(yīng)用要求及硬件環(huán)境選擇不同的組件 ,也使得實(shí)時(shí)操作 系統(tǒng)開發(fā)商在開發(fā)的過程中減少重復(fù)性工作。 選題的背景與意義 在嵌入式實(shí)時(shí)操作系統(tǒng)開發(fā)平臺(tái)之上 ,開發(fā)人員不需要對操作系統(tǒng)的內(nèi)核實(shí)現(xiàn)有詳細(xì)的了解就能夠進(jìn)行一些嵌入式控制 器的開發(fā)工作。這樣的開發(fā)平臺(tái) ,勢必對嵌入式系統(tǒng)在工業(yè)控制領(lǐng)域內(nèi)的應(yīng)用起到促進(jìn)作用。該操作系統(tǒng)結(jié)構(gòu)簡潔精練 ,可讀性強(qiáng) ,并具有較強(qiáng)的可 擴(kuò)展性。 ② 以 STC89C52 為嵌入式處理器 ,以 Keil C51 為編譯環(huán)境 ,完成 μ C/OSⅡ嵌入式實(shí)時(shí)操作系統(tǒng)的移植。 μ C/OSⅡ的主要特點(diǎn)有 : ①源代碼開放 全部源代碼約 5500行,清晰易讀,結(jié) 構(gòu)協(xié)調(diào)。 ⑤多任務(wù) μ C/OSⅡ可以管理 64 個(gè)任務(wù),留給用戶的應(yīng)用程序最多可有56 個(gè)任務(wù),賦予每個(gè)任務(wù) 不同的優(yōu)先級(jí)。如果優(yōu)先級(jí)更高的任務(wù)被該中斷喚醒,則高優(yōu)先級(jí)的任務(wù)在中斷嵌套全部退出后立即執(zhí)行,中斷嵌套層數(shù)可達(dá) 255 層。關(guān)中斷使得 μ C/OSⅡ能夠避免同時(shí)有其他任務(wù)或中斷服務(wù)進(jìn)入臨界段代碼。 任務(wù) μ C/OSⅡ可以管理多達(dá) 64個(gè)任務(wù),有 2個(gè)任務(wù)已經(jīng)被系統(tǒng)占用。 任務(wù)狀態(tài) 下圖是 μ C/OSⅡ任務(wù)狀態(tài)轉(zhuǎn)換圖,在任 一給定的時(shí)間,任務(wù)狀態(tài)一定是在以下 5 種狀態(tài)之一 : 圖 任務(wù)狀態(tài) ①睡眠態(tài) 9 指任務(wù)駐留在程序空間,還沒有交給 μ C/OSⅡ來管理。 ⑤中斷服務(wù)態(tài) 正在運(yùn)行的任務(wù)被中斷,進(jìn)入中斷服務(wù)子程序。當(dāng)任務(wù)的 CPU 使用權(quán)被剝奪時(shí), μ C/OSⅡ用它來保存該任務(wù)的狀態(tài),當(dāng)任務(wù)重新得到 CPU的使用權(quán)時(shí),任務(wù)控制塊能確保任務(wù)從斷點(diǎn)處繼續(xù)執(zhí)行下去。 OS_STK *OSTCBStkBottom。 endif struct os_tcb *OSTCBNext。(OS_MAX_QS0))||(OS_MBOX_EN0)|| (OS_SEM0)||(OS_MUTEX_EN0) OS_EVENT *OSTCBEventPtr。 endif if (OS_VERSION=251)amp。(OS_MAX_FLAGS0) if OS_TASK_DEL_EN0 OS_FLAG_NODE *OSTCBFlagNode。 INT8U OSTCBPrio。 INT8U OSTCBBitY: if OS_TASK_DEL_EN0 BOOLEAN OSTCBDelReq。任務(wù)進(jìn)入就緒態(tài)時(shí),就緒表 OSRdyTb1[]中的相應(yīng)元素的相應(yīng)位也置為 1。μ C/OSⅡ有兩種調(diào)度器一種是任務(wù)及的調(diào)度器;另一種是中斷級(jí)的調(diào)度器。操作系統(tǒng)通過時(shí)鐘中斷來確定時(shí)間間隔,實(shí)現(xiàn)時(shí)間延時(shí)及確定超時(shí)。如果在之前調(diào)用,時(shí)鐘節(jié)拍中斷可能在μ C/OSⅡ啟動(dòng)第一個(gè)任務(wù)之前發(fā)生,此時(shí)μ C/OSⅡ是處在一個(gè)不確定的狀態(tài)之中,用戶應(yīng)用程序可能崩潰??臻e任務(wù)的優(yōu)先級(jí)為最低,即為 OS_LOWST_PRIO。 μ C/OSⅡ多任務(wù)的啟動(dòng)是用戶通過調(diào)用 OSStart()實(shí)現(xiàn)的,在啟動(dòng)之前,用戶至少要建立一個(gè)應(yīng)用任務(wù)。全球各單片機(jī)生產(chǎn)廠商在 MCS51 內(nèi)核基礎(chǔ)上,派生了大量的 51 內(nèi)核系列單片機(jī),是極大地豐富了 MCS51的種群。其主要特性如下: ① 增強(qiáng)型 6 時(shí)鐘 /機(jī)器周期, 12 時(shí)鐘 /機(jī)器周期 8051 核心處理單 元。 ⑩ SPI(串行外圍接口 )和增強(qiáng)型 UART。 ① 文件主要功能是實(shí)現(xiàn)操作系統(tǒng)的裁剪功能。使用 的好處是所有的 .C 文件都只包含一個(gè)頭文件,程序簡潔,可讀性強(qiáng)。處理器不同,這部分代碼也不同。 ② 文件中共定義了 10個(gè)函數(shù)在該文件中。這樣就可以用中斷返回指令使就緒的任務(wù)運(yùn)行起來。OSCtxSw()函數(shù)實(shí)在任務(wù)級(jí)切換函數(shù)中調(diào)用的。 typedef unsigned char INT8U。 typedef unsigned long INT32U。 typedef unsigned char OS_STK。 /*********************************************/ endif 首先,文件先定義了整型數(shù)據(jù)類型。 其次, OS_CRITICAL_METHOD 的值意味著 OS_ENTER_CRITICAL()和 OS_EXIT_CRITICAL()兩個(gè)宏調(diào)用的實(shí)現(xiàn)方法。而聲明函數(shù) OSCtxSw(),是用子程序調(diào)用來代替中斷調(diào)用;聲明 InitHardware(),該函數(shù)用來實(shí)現(xiàn)初始化硬件時(shí)鐘中斷等系統(tǒng)初始化工作。 ppdata = ppdata。 //用戶堆棧長度 *stk++ = (INT16U)task amp。 //ACC *stk++ = 0x0B。 //PSW *stk++ = 0x00。 //R2 *stk++ = 0x01。 //R6 *stk++ = 0x07。 return ((void *)ptos)。 部分代碼如下 : EXTRN DATA (?C_XBP) EXTRN IDATA (OSTCBCur) EXTRN IDATA (OSTCBHighRdy) EXTRN IDATA (OSRunning) EXTRN IDATA (OSPrioCur) EXTRN IDATA (OSPrioHighRdy) EXTRN CODE (_?OSTaskSwHook) EXTRN CODE (_?OSIntEnter) EXTRN CODE (_?OSIntExit) EXTRN CODE (_?OSTimeTick) 22 在 的首部,聲明了引用的全局變量和外部子程序。 該函數(shù)是由于執(zhí)行進(jìn)入任務(wù)切換宏 OS_TASK_SW 而進(jìn)入的,它是一個(gè)任務(wù)級(jí)的切換函數(shù),它的主要任務(wù)是保存當(dāng)前任務(wù)的 CPU現(xiàn)場并恢復(fù)最高優(yōu)先級(jí)任務(wù)的 CPU 現(xiàn)場。 μ C/OSⅡ在 STC89C52 上的移植 Keil C51 編譯器簡介 大部分的 μ C/OSⅡ代碼是用 C 語言寫的。 原則上我們不用修改與處理器無關(guān)的代碼,但是由于 Keil C51編譯器的特殊性,這些代碼仍要多出改動(dòng)。本測試程序主要測試 μ C/OSⅡ內(nèi)核在 STC89C52運(yùn)行的正確性。 OSTimeDly(4*OS_TICKS_PER_SEC)。 OSTimeDly(2*OS_TICKS_PER_SEC)。 OSTimeDly(1*OS_TICKS_PER_SEC)。TaskStartStk1[0],4)。TaskStartStk3[0],6)。此時(shí)系統(tǒng)的 執(zhí)行開始形成一個(gè)循環(huán):首先運(yùn)行空閑任務(wù)直到 1秒過去以后, Task3 恢復(fù),點(diǎn)亮 Q3(此次點(diǎn)亮 Q3 即為上述實(shí)現(xiàn)數(shù)據(jù)中第一個(gè)標(biāo)注出來的 Q3),延時(shí) 1 秒。再過去 1秒, Task Task Task3同時(shí)恢復(fù),依次點(diǎn)亮 Q Q Q3,至此循環(huán)體結(jié)束。 此移植的成功表示著今后應(yīng)用程序的編寫就可以在 μ C/OSⅡ的系統(tǒng)環(huán)境下編寫了,而不像以前要編寫大量的針對處理器的匯編程序。 基于 μ C/OSⅡ內(nèi)核擴(kuò)展的 RTOS的軟件整體框圖如圖 : 27 圖 RTOS整體框圖 ①外圍的硬件系統(tǒng)。 ②驅(qū)動(dòng)程序。在操作系統(tǒng)中提供的標(biāo)準(zhǔn)的應(yīng)用程序接口函數(shù),刻意加速用戶應(yīng)用程序的開發(fā),同意應(yīng)用程序的標(biāo)準(zhǔn),同時(shí) 28 也給操作系統(tǒng)版本的升級(jí)帶來了方便。用戶應(yīng)用程序主要通過調(diào)用系統(tǒng)的 API函數(shù)對系統(tǒng)進(jìn)行操作,完成用戶的要求。首先,進(jìn)行一個(gè)整體性的需求分析: ①實(shí)時(shí)采集室內(nèi)溫度。根據(jù)不同的情況對室內(nèi)溫度進(jìn)行制 冷或制熱的調(diào)整。其中制熱系統(tǒng)模塊和制冷系統(tǒng)模塊比其他 3模塊更龐大、更復(fù)雜。 在用戶任務(wù)程序中,具體設(shè)計(jì)的任務(wù)及其各自優(yōu)先級(jí)如下: 讀取鍵盤輸入任務(wù),任務(wù)優(yōu)先級(jí)為 4; 實(shí)時(shí)溫度采集任務(wù),任務(wù)優(yōu)先級(jí)為 5; 制熱系統(tǒng)控制任務(wù),任務(wù)優(yōu)先級(jí)為 6; 制冷系統(tǒng)控制任務(wù),任務(wù)優(yōu)先級(jí)為 7; 溫度顯示任務(wù),任務(wù)優(yōu)先級(jí)為 8; 30 整個(gè)實(shí)時(shí)溫度控制系統(tǒng)的執(zhí)行流程如圖 : 圖 實(shí)時(shí)溫度控制系統(tǒng)流程圖 ①讀取鍵盤輸入任務(wù) 這里要 用到 μ C/OSⅡ掛起任務(wù)和恢復(fù)任務(wù)的函數(shù)。 31 ②實(shí)時(shí)溫度采集任務(wù) 此任務(wù)在系統(tǒng)中任務(wù)優(yōu)先級(jí)第二高,用于實(shí)現(xiàn)實(shí)時(shí)溫度的采集。 ③制熱系統(tǒng)控制任務(wù) 在此任務(wù)中,進(jìn)行實(shí)際溫度與設(shè)定溫度的比較,然后根據(jù)比較結(jié)果對制熱系統(tǒng)進(jìn)行控制。 μ C/OSⅡ可以管理多打 56個(gè)任務(wù),每個(gè)任務(wù)優(yōu)先級(jí)不同;它使得實(shí)時(shí)應(yīng)用程序的設(shè)計(jì)和擴(kuò)展變得容易。 在移植 μ C/OSⅡ的過程中,本人通過理論學(xué)習(xí)和動(dòng)手實(shí)踐,充分了解到了實(shí)時(shí)操作系統(tǒng)的特點(diǎn),也對 μ C/OSⅡ的內(nèi) 核代碼有了系統(tǒng)的認(rèn)識(shí)。 參考文獻(xiàn) : [1]Jean 實(shí)時(shí)操作系統(tǒng) μ C/OSⅡ (第二版) [M],邵貝貝譯 .北京:北京航空航天大學(xué)出版社, 2020
點(diǎn)擊復(fù)制文檔內(nèi)容
研究報(bào)告相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1