新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 一個(gè)簡單的51單片機(jī)操作系統(tǒng)的實(shí)現(xiàn)

一個(gè)簡單的51單片機(jī)操作系統(tǒng)的實(shí)現(xiàn)

作者: 時(shí)間:2012-08-15 來源:網(wǎng)絡(luò) 收藏

講解一下實(shí)現(xiàn)的內(nèi)容:

task_0是個(gè)空循環(huán)

task_1的作用是提取task_2的等待時(shí)間,顯示在數(shù)碼管上

task_2是在P3口上的跑馬燈(2秒跑一個(gè)燈)

task_3是單純地調(diào)用任務(wù)延時(shí)

task_4在P1口上的跑馬燈(100ms跑一個(gè)燈)


程序使用定時(shí)器2計(jì)數(shù)器產(chǎn)生的中斷作為時(shí)鐘源,時(shí)鐘的節(jié)拍是10ms一次。

當(dāng)然這個(gè)渺小的只實(shí)現(xiàn)了一些相當(dāng)基本的功能:多任務(wù)和系統(tǒng)延時(shí)以及搶占優(yōu)先級。還有信號量、內(nèi)存管理、事件、郵箱等等機(jī)制尚未實(shí)現(xiàn),但是懂了這個(gè)基礎(chǔ)內(nèi)容之后,其它的東西,都是在上面做擴(kuò)充的。

記得在一篇資料里面聽到過這個(gè):會寫狀態(tài)機(jī)的程序員,肯定會寫。這句話到現(xiàn)在覺得相當(dāng)正確。就是一個(gè)另類的狀態(tài)機(jī),人為地干預(yù)了子程序調(diào)用和返回的過程。慶幸當(dāng)年的匯編沒白學(xué),操作系統(tǒng)需要懂得一些基本的硬件結(jié)構(gòu),匯編,C語言,當(dāng)懂得這些之后,再去網(wǎng)上多搜索點(diǎn)相關(guān)的資料,并且自己去用代碼一行行實(shí)現(xiàn),加以時(shí)日,操作系統(tǒng)便能輕松地玩轉(zhuǎn)與手.


在此,感謝黃健昌在網(wǎng)上的發(fā)表的《 建立一個(gè)屬于自己的AVR的RTOS》,這篇文章讓我對RTOS有了一個(gè)淺顯的了解

風(fēng)城少主發(fā)表的《建立一個(gè)屬于自己的51實(shí)時(shí)操作系統(tǒng)》,指導(dǎo)我在熟悉的上實(shí)現(xiàn)這個(gè)操作系統(tǒng)。

芯源老師的《芯源的單片機(jī)教程》為我提供了匯編及其硬件架構(gòu)的深入了解。

感謝http://www.51hei.com/mcu/1111.html這個(gè)作者的激勵與鼓勵

真誠地感謝上面提及的人,讓我能夠入門操作系統(tǒng),進(jìn)而了解到什么是嵌入式操作系統(tǒng),怎么去具體實(shí)現(xiàn)。

linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)

上一頁 1 2 3 下一頁

關(guān)鍵詞: 51單片機(jī) 操作系統(tǒng) 進(jìn)程管理

評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉