新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 面向?qū)ο蠹夹g(shù)在單片機(jī)系統(tǒng)設(shè)計(jì)中的應(yīng)用

面向?qū)ο蠹夹g(shù)在單片機(jī)系統(tǒng)設(shè)計(jì)中的應(yīng)用

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

2.2.4 雙向通道類

雙向通道類包括串行通信類和預(yù)留的I/O類。該類可以和類相互交換數(shù)據(jù)。本的串行通信類是RS-232接口,主要由MAX232芯片來完成該項(xiàng)功能。由于的I/O資源有限,所以在中,留出了RAM的0FF00H~0FFFFH的256字節(jié)的地址空間做I/O口,供用戶擴(kuò)展使用。

2.3消息驅(qū)動(dòng)在本的實(shí)現(xiàn)

在某個(gè)事件發(fā)生時(shí),監(jiān)控程序?qū)⒃O(shè)置該事件相對應(yīng)的消息標(biāo)志,監(jiān)控程序?qū)@些標(biāo)志進(jìn)行判斷來決定執(zhí)行請求處理的事件。如外部中斷0請求處理中斷的事件的處理:當(dāng)外部中斷0請求處理時(shí),監(jiān)控程序暫停當(dāng)前任務(wù),判斷當(dāng)前任務(wù)數(shù),如果當(dāng)前任務(wù)數(shù)大于等于MAX_TASK(所允許的最大任務(wù)數(shù)),刪除優(yōu)先級最小的任務(wù)(優(yōu)先級的級數(shù)從0~MAX_TASK-1共有MAX_TASK個(gè),所以不存在優(yōu)先級相同的任務(wù),其中優(yōu)先級級數(shù)為0的優(yōu)先級最高),然后針對 INT0的請求設(shè)置消息標(biāo)志(修改消息隊(duì)列),并判斷它的優(yōu)先級與當(dāng)前任務(wù)優(yōu)先級的高低,以決定是否繼續(xù)當(dāng)前任務(wù)。消息驅(qū)動(dòng)的實(shí)現(xiàn)如圖2所示:

7.gif
圖2 消息驅(qū)動(dòng)的實(shí)現(xiàn)示意圖

2.4 系統(tǒng)

我們將單片機(jī)系統(tǒng)類化,即組合成了一個(gè)通用板,提供了如下資源:64K的RAM和64K的ROM存儲(chǔ)器、4K的flash存儲(chǔ)器、A/D轉(zhuǎn)換芯片 AD574A和ADC0809的接口、D/A轉(zhuǎn)換芯片DAC0832的接口、一個(gè)16鍵的鍵盤接口、8個(gè)外部中斷接口、256個(gè)I/O口、一個(gè)4行16字的字符型液晶顯示器接口、一個(gè)320×240點(diǎn)陣式液晶顯示器接口和一個(gè)RS-232串行通訊口。原理框圖如圖3所示:

8.gif
圖3 系統(tǒng)原理框圖

2.5 監(jiān)控程序

當(dāng)外部設(shè)備象單片機(jī)發(fā)送信號時(shí),監(jiān)控程序必須對鍵盤操作進(jìn)行解釋,然后調(diào)用相應(yīng)的功能模塊,完成預(yù)定的任務(wù),并通過顯示等方式給出執(zhí)行的結(jié)果。

系統(tǒng)投入運(yùn)行的最初時(shí)刻,應(yīng)對系統(tǒng)進(jìn)行自檢和初始化。開機(jī)自檢在系統(tǒng)初始化之前執(zhí)行,如果自檢無誤,則對系統(tǒng)進(jìn)行正常初始化,通常包括硬件初始化和軟件初始化兩個(gè)方面。硬件初始化工作是對系統(tǒng)中的各種硬件資源設(shè)定明確的初始狀態(tài),如對各種可編程芯片進(jìn)行編程、對各I/O端口設(shè)定初始狀態(tài)和為單片機(jī)的硬件資源分配任務(wù)等。軟件初始化包括對中斷的安排、對堆棧的安排、狀態(tài)變量的初始化、各種軟件標(biāo)志的初始化、系統(tǒng)時(shí)鐘的初始化和各種變量存儲(chǔ)單元的初始化等。除自檢和初始化之外,監(jiān)控程序的任務(wù)還有:處理鍵盤命令、處理接口命令、處理?xiàng)l件觸發(fā)、及時(shí)啟動(dòng)輸出和顯示功能等。



評論


相關(guān)推薦

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

關(guān)閉