自在自线亚洲а∨天堂在线-中文字幕一区视频播放-扒开双腿猛进入喷水高潮叫声-欧美日本亚洲一区二区-老熟妇高潮偷拍一区二区-国产精品高清一区二区不卡-午夜色福利视频一区二区三区-亚洲国产成人精品福利在线观看-亚洲欧美成人一区二区在线电影

機電之家資源網(wǎng)
單片機首頁|單片機基礎(chǔ)|單片機應(yīng)用|單片機開發(fā)|單片機文案|軟件資料下載|音響制作|電路圖下載 |嵌入式開發(fā)
培訓(xùn)信息
贊助商
MCS-51系列單片機結(jié)構(gòu)化程序設(shè)計探討
MCS-51系列單片機結(jié)構(gòu)化程序設(shè)計探討
 更新時間:2008-8-3 15:58:35  點擊數(shù):9
【字體: 字體顏色


    摘 要: 探討了MCS-51系列單片機結(jié)構(gòu)化程序設(shè)計相關(guān)問題,研究了MCS-51系列單片機結(jié)構(gòu)化程序的三種基本結(jié)構(gòu),并給出了程序?qū)崿F(xiàn)方法范例,介紹了MCS-51系列單片機結(jié)構(gòu)化程序設(shè)計步驟及各部分具體設(shè)計要求。
關(guān)鍵詞: 單片機  結(jié)構(gòu)化程序

1 MCS-51系列單片機結(jié)構(gòu)化程序設(shè)計概述
    結(jié)構(gòu)化程序指程序組成結(jié)構(gòu)化、功能模塊化、運行流程化。結(jié)構(gòu)化程序要求將處理特定任務(wù)的代碼和數(shù)據(jù)與程序其余部分隔離,在MCS-51系列單片機結(jié)構(gòu)化程序中,實現(xiàn)隔離的方法是將處理特定任務(wù)的指令和數(shù)據(jù)設(shè)計成子程序或中斷服務(wù)子程序。這些子程序或中斷服務(wù)子程序稱作功能模塊,其具有確定功能,處理特定任務(wù),解決專門問題。
    在MCS-51系列單片機結(jié)構(gòu)化程序設(shè)計時,按照總體規(guī)劃和總體設(shè)計,由若干軟件設(shè)計人員分別編程設(shè)計各功能模塊,再依據(jù)軟件結(jié)構(gòu)和程序流程,由若干功能模塊組成結(jié)構(gòu)化程序,實現(xiàn)應(yīng)用程序整體功能,解決復(fù)雜的實際問題。
    MCS-51系列單片機結(jié)構(gòu)化程序具有結(jié)構(gòu)清晰、邏輯性強、易于維護(hù)、便于共享、運行穩(wěn)定、可靠性高等特點。按照結(jié)構(gòu)化程序設(shè)計要求編程,有助于規(guī)范軟件設(shè)計人員的編程工作,有助于提高軟件設(shè)計人員的編程效率,有助于提升軟件設(shè)計人員的編程水平。
2 三種基本結(jié)構(gòu)及程序?qū)崿F(xiàn)方法
    MCS-51系列單片機結(jié)構(gòu)化程序由若干功能模塊構(gòu)成,功能模塊由三種基本結(jié)構(gòu)組成,即順序結(jié)構(gòu)、選擇結(jié)構(gòu)、循環(huán)結(jié)構(gòu)。由這三種基本結(jié)構(gòu)組成的功能模塊,能實現(xiàn)各種程序算法,解決復(fù)雜實際問題。
2.1 順序結(jié)構(gòu)
    在順序結(jié)構(gòu)程序中,按先后順序,CPU逐條執(zhí)行指令或逐段執(zhí)行程序段。順序結(jié)構(gòu)分為逐條順序結(jié)構(gòu)和逐段順序結(jié)構(gòu)兩種。逐條順序結(jié)構(gòu)如圖1所示,逐段順序結(jié)構(gòu)如圖2所示。


                      
2.2 選擇結(jié)構(gòu)
    在選擇結(jié)構(gòu)程序中,CPU執(zhí)行條件判斷指令(或間接轉(zhuǎn)移指令),依據(jù)條件(或轉(zhuǎn)移目的地址)執(zhí)行對應(yīng)分支程序段。選擇結(jié)構(gòu)分為二分支選擇結(jié)構(gòu)和多分支選擇結(jié)構(gòu)。
2.2.1 二分支選擇結(jié)構(gòu)
    在二分支選擇結(jié)構(gòu)程序中,CPU執(zhí)行條件判斷指令,判斷轉(zhuǎn)移條件。當(dāng)條件滿足時,CPU執(zhí)行程序段1;當(dāng)條件不滿足時,CPU執(zhí)行程序段2,實現(xiàn)了二分支選擇功能。條件轉(zhuǎn)移類指令、比較不相等轉(zhuǎn)移類指令均可作為條件判斷指令。二分支選擇結(jié)構(gòu)如圖3所示。程序?qū)崿F(xiàn)方法參見范例1。
                                    


范例1:
    CJNE A,# DATA,PGM2
PGM1:{程序段1}
    LJMP EXIT
PGM2:{程序段2}
EXIT:┇
2.2.2 多分支選擇結(jié)構(gòu)
    在多分支選擇結(jié)構(gòu)程序中,CPU執(zhí)行間接轉(zhuǎn)移指令,計算多分支轉(zhuǎn)移目標(biāo)地址,依據(jù)多分支轉(zhuǎn)移目標(biāo)地址,CPU執(zhí)行對應(yīng)分支程序段,實現(xiàn)了多分支選擇功能。在多分支選擇結(jié)構(gòu)程序?qū)崿F(xiàn)方法范例2中,A中保存有多分支選擇條件值n,多分支選擇結(jié)構(gòu)如圖4所示。程序?qū)崿F(xiàn)方法參見范例2。


                       
范例2:
PGM:   MOV R1,A
        RL A
        ADD A,R1
        MOV DPTR,# PGMTB
        JMP @A+DPTR
PGMTB: LJMP PGM0
        LJMP PGM1
         ┇
        LJMP PGMn
         ┇
PGM0:  {程序段0}
        LJMP EXIT
PGM1:  {程序段1}
        LJMP EXIT
         ┇
PGMn:  {程序段n}
        LJMP EXIT
EXIT:   ┇
2.3 循環(huán)結(jié)構(gòu)
    在循環(huán)結(jié)構(gòu)程序中,CPU執(zhí)行條件轉(zhuǎn)移指令,依據(jù)條件決定是否繼續(xù)執(zhí)行循環(huán)體。循環(huán)結(jié)構(gòu)分為當(dāng)型循環(huán)結(jié)構(gòu)和直到型循環(huán)結(jié)構(gòu)兩種,下面分別介紹。
2.3.1 當(dāng)型循環(huán)結(jié)構(gòu)
    在當(dāng)型循環(huán)結(jié)構(gòu)程序中,CPU首先執(zhí)行條件轉(zhuǎn)移指令,判斷循環(huán)條件。當(dāng)條件滿足時,CPU繼續(xù)執(zhí)行循環(huán)體程序;當(dāng)條件不滿足時,CPU退出循環(huán)結(jié)構(gòu)程序,接著執(zhí)行后續(xù)程序。當(dāng)型循環(huán)結(jié)構(gòu)如圖5所示,程序?qū)崿F(xiàn)方法參見范例3、范例4。


                                    

  • 上一篇: D類放大器背后的奧秘
  • 下一篇: 基于SOPC的DSP系統(tǒng)的設(shè)計與實現(xiàn)
  • 發(fā)表評論   告訴好友   打印此文  收藏此頁  關(guān)閉窗口  返回頂部
    熱點文章
     
    推薦文章
     
    相關(guān)文章
    網(wǎng)友評論:(只顯示最新5條。)
    關(guān)于我們 | 聯(lián)系我們 | 廣告合作 | 付款方式 | 使用幫助 | 機電之家 | 會員助手 | 免費鏈接

    點擊這里給我發(fā)消息66821730(技術(shù)支持)點擊這里給我發(fā)消息66821730(廣告投放) 點擊這里給我發(fā)消息41031197(編輯) 點擊這里給我發(fā)消息58733127(審核)
    本站提供的機電設(shè)備,機電供求等信息由機電企業(yè)自行提供,該企業(yè)負(fù)責(zé)信息內(nèi)容的真實性、準(zhǔn)確性和合法性。
    機電之家對此不承擔(dān)任何保證責(zé)任,有侵犯您利益的地方請聯(lián)系機電之家,機電之家將及時作出處理。
    Copyright 2007 機電之家 Inc All Rights Reserved.機電之家-由機電一體化網(wǎng)更名-聲明
    電話:0571-87774297 傳真:0571-87774298
    杭州濱興科技有限公司提供技術(shù)支持

    主辦:杭州市高新區(qū)(濱江)機電一體化學(xué)會
    中國行業(yè)電子商務(wù)100強網(wǎng)站

    網(wǎng)站經(jīng)營許可證:浙B2-20080178-1