單片機(jī)軟件結(jié)構(gòu)設(shè)計(jì)--麗晶微定時IC、定時芯片
合理的軟件結(jié)構(gòu)是設(shè)計(jì)出一個性能優(yōu)良的單片機(jī)應(yīng)用系統(tǒng)軟件的基礎(chǔ),必須給予足夠的重視。由問題的定義,
系統(tǒng)的整個工作可分解為幾個相對獨(dú)立的操作,根據(jù)這些操作的相互聯(lián)系的時間關(guān)系,設(shè)計(jì)出一個合理的軟件結(jié)
構(gòu),使CPU并行地有條不紊地完成這些操作。
對于簡單的單片機(jī)應(yīng)用系統(tǒng)通常采用順序設(shè)計(jì)方法,這種系統(tǒng)軟件由主程序和若干個中斷服務(wù)程序所構(gòu)成。
根據(jù)系統(tǒng)各個操作的性質(zhì),指定哪些操作由中斷服務(wù)程序完成,哪些操作由主程序完成,并指定各個中斷的優(yōu)先
級。中斷服務(wù)程序?qū)?shí)時時間請求作必要的處理,使系統(tǒng)能實(shí)時地并行地完成各個操作。中斷處理程序必須包括
現(xiàn)場保護(hù)、中斷服務(wù)、現(xiàn)場恢復(fù)、中斷返回等4個部分。中斷的發(fā)生是隨機(jī)的,他可能在任意地方打斷主程序的
運(yùn)行,無法預(yù)知這時主程序執(zhí)行的狀態(tài)。因此,在執(zhí)行中斷服務(wù)程序時,必須對原有程序狀態(tài)進(jìn)行保護(hù)?,F(xiàn)場保
護(hù)的內(nèi)容應(yīng)是中斷服務(wù)程序所使用的有關(guān)資源。中斷服務(wù)程序是中斷處理程序的主體,它由中斷所要完成的功能
所確定,如輸入或輸出一個數(shù)據(jù)等?,F(xiàn)場恢復(fù)與現(xiàn)場保護(hù)相對應(yīng),恢復(fù)被保護(hù)的有關(guān)寄存器狀態(tài),中斷返回使
CPU回到被該中斷所打斷的地方繼續(xù)執(zhí)行原來的程序。
主程序是一個順序執(zhí)行和無限循環(huán)程序,不停地順序查詢各種軟件標(biāo)志,以完成對日常事務(wù)的處理,主程序
和中斷服務(wù)之間的信息交換一般采用數(shù)據(jù)緩沖器和軟件標(biāo)志方法。例如:定時中斷到1秒后置位標(biāo)志SS,以通知主
程序?qū)θ諝v時鐘進(jìn)行計(jì)數(shù),主程序查詢到SS=1時,清0該標(biāo)志并完成時鐘計(jì)數(shù)。又如:A/D中斷服務(wù)程序在讀到一個
完整數(shù)據(jù)時將數(shù)據(jù)存入約定的緩沖器,并置位標(biāo)志以通知主程序?qū)Υ藬?shù)據(jù)進(jìn)行處理。再如,若要打印,主程序判斷
到打印機(jī)空時,將數(shù)據(jù)裝配到打印緩沖器,并啟動打印機(jī)和允許打印中斷。打印中斷服務(wù)程序?qū)⒁粋€個數(shù)據(jù)輸出
打印,打印完后關(guān)機(jī),并置位打印結(jié)束標(biāo)志,以通知主程序打印機(jī)已空。
因?yàn)轫樞虺绦蛟O(shè)計(jì)方法容易理解和掌握,也能滿足大多數(shù)簡單的應(yīng)用系統(tǒng)對軟件功能的要求,因此是一種用
的很廣的方法。順序程序設(shè)計(jì)的缺點(diǎn)是軟件的結(jié)構(gòu)不夠了清晰、軟件的修改擴(kuò)充比較困難、實(shí)時性差。這是因?yàn)?br />
功能復(fù)雜的時候,執(zhí)行中斷服務(wù)程序要花費(fèi)較多的時間,CPU執(zhí)行中斷服務(wù)程序時不響應(yīng)低級或同級的中斷,這可
能導(dǎo)致某些實(shí)時中斷請求得不到及時的響應(yīng),甚至?xí)G失中斷信息。如果多采用一些緩沖器和標(biāo)志,讓大多數(shù)工
作由主程序完成,中斷服務(wù)程序只完成一些必需的操作,從而中斷服務(wù)程序的執(zhí)行時間,這在一定程度上可以提
高系統(tǒng)實(shí)時性,但是眾多的軟件標(biāo)志會使軟件結(jié)構(gòu)變亂,容易發(fā)生錯誤,給調(diào)試帶來困難。對于復(fù)雜的應(yīng)用系統(tǒng),
可采用實(shí)時多任務(wù)操作系統(tǒng)。
深圳市麗晶微電子科技有限公司,專業(yè)從事半導(dǎo)體器行業(yè)的設(shè)計(jì)和銷售,專注于蠟燭IC,蠟燭芯片,閃燈
IC,閃燈芯片,音樂IC,音樂芯片,觸摸IC芯片,電子禮品PCBA,電子玩具PCBA定制。提供有大量標(biāo)準(zhǔn)品IC和客
戶委托開發(fā)設(shè)計(jì)的IC芯片定制,聯(lián)系電話:0755-29100085。
深圳市麗晶微電子科技有限公司 備案號:粵ICP備14018692號
全國服務(wù)熱線: 0755-29100085 QQ:481892642
傳真: 0755- 29100092 郵箱:szecm@163.com
公司地址:廣東省深圳市寶安區(qū)沙井新橋街道上星路萬科星城
商業(yè)中心2棟寫字樓402-405室
工廠地址:深圳市寶安區(qū)福永鎮(zhèn)福海工業(yè)區(qū)A區(qū)A4棟3樓
