婷婷亚洲天堂影院-国产精品豆花视频www-伊人影院在线观看-日本少妇浓毛bbwbbwbbw-av网站观看-亚州欧美在线-91精品国产乱码久-任我爽精品视频在线播放-日本视频不卡-亚洲国产精品va在线观看香蕉-国产毛片乡下农村妇女-国产成人免费ā片在线观看老同学-欧美日韩免费在线-成人无码视频免费播放-色综合美女-免费毛片av

電子開發網

電子開發網電子設計 | 電子開發網Rss 2.0 會員中心 會員注冊
搜索: 您現在的位置: 電子開發網 >> 電子開發 >> 單片機 >> 正文

51單片機指令系統(3)

作者:佚名    文章來源:網上收集    點擊數:    更新時間:2008-11-4
第二十一課:匯編程序的基本結構
程序編寫做到:
占用存儲空間少;
運行時間短;
程序的編制、調試及排錯所需時間短;
結構清晰,易讀、易于移植。
按結構化程序設計思想,任何復雜程序都可由順序結構、分支結構、循環結構等構成。
如圖1所示。


一、順序程序舉例
例1、設在外RAM的60H單元存有1個字節代碼,要求將其分解成兩個4位字段,高4位存入原單元的低4位,其低4位存入61H單元的低4位,且要求這兩個單元的高4位均為0,試編制完整程序。
解: 字節分解:

核心指令   ANL
           ORL 1000H
   MODE:   MODE:MOV R0,#60H
           MOVX A,@R0
           MOV B,A
           ANL A,#0F0H
           SWAP A
           MOVX @R0,A
           ANL B,#0FH
           MOV A,B
           INC R0
           MOVX @R0,A
           END
二、分支結構與分支程序設計
結構:根據不同的條件,進行相應的處理。
通常用條件轉移指令形成簡單分支結構。
如: 判(A) = Z 或 NZ ,轉移
判(CY)= 1 或 0 ,轉移
判(bit)=1 或 0 ,轉移
CJNE 比較不相等轉移
例3、設a存放在累加器A中,b存放在寄存器B中,要求按下式計算Y值,并將結果Y存于累加器A 中,試編寫程序。

解:本題關鍵是判a是正數,還是負數;由ACC7便知。
          ORG 1000H
      BR: JB ACC7,MINUS
          CLR C
          SUBB A,B
          SJMP DONE
   MINUS: ADD A,B
    DONE: SJMP $
          END
例4、設有兩個16位無符號數NA,NB分別存放在8031單片機內部RAM的40H、41H及50H、51H單元中,當NA > NB時,將內部RAM的42H單元清0;否則,將該單元置成全1,試編程。
解法I:因為無16位數的比較指令,所以,只能用8位數的比較指令。
(畫出流程框圖)
          ORG 2000H
     CMP: MOV A,50H
          CJNE A,40H,CMP1
          MOV A,51H
          CJNE A,41H,CMP1
          SJMP NHIGHE
    CMP1: JC HIGHE
  NHIGHE:MOV 42H,#0FFH
          SJMP DONE
   HIGHE: MOV 42H,#00H
    DONE: SJMP $
          END
上述程序中多次用到SJMP語句,該語句為無條件轉移語句。無條件語句應盡量少用,這樣可使程序結構緊湊而易讀,易理解。

解法II:先假設NA > NB,再來判斷是否NA ≤ NB
          ORG 3000H
    CMP2: MOV R0,#00H
          MOV A,50H
          CJNE A,40H,CMP3
          MOV A,51H
          CJNE A,41H,CMP3
          SJMP NHIGHE
    CMP3: JC HIGHE
          NHIGHE:MOV R0,#0FFH ;不大于標志
   HIGHE: MOV 42H,R0
          SJMP $
          END
循環結構不但使程序簡練,而且大大節省存儲空間。
循環程序包含四部分:
初始化部分
循環處理部分(主體)
循環控制部分(修改地址指針、修改變量、檢測循環結束條件)
循環結束部分(對結果分析、處理,存放結果)

循環有:單循環、多重循環。
循環次數已知,可用計數器控制循環次數;
循環次數未知,按問題條件控制循環是否結束。
一、單循環程序
1、循環次數是已知的程序
例1、已知片外RAM的10H單元存放8位二進制數,要求將其轉移成相應的ASCII碼,并以高位在前,低位在后的順序,依次存放到片外RAM以11H為首地址的連續單元中,試編程。

解:先將中間單元置成30H,然后判欲轉換位是否為1,
若是,則將中間單元內容加1;否則,中間單元內容保持不變。
通過左移指令實現由高到低的順序進行轉換。
         ORG 1000H    
  START: MOV R2,#08H    ;循環計數初值(循環次數已知)
         MOV R0,#10H    ;地址指針初值
         MOVX A,@R0     ;取數
         MOV B,A        ;暫存B中
   LOOP: MOV A,#30H     ;將中間單元(A)置成30H
         JNB B.7,NA     ;判斷轉換的二進制位為0否?
                         ;若是轉NA
         INC A           ;1的ASCII碼“31H”
     NA: INC R0          ;修改地址指針
         MOVX @R0,A     ;存放轉換的結果
         MOV A,B  
         RL A,B         ;作好準備,判斷下一位
         MOV B,A        ;暫存
         DJNZ R2,LOOP   ;判斷轉換結束否?未完繼續
         SJMP $  
         END  
2)循環次數未知的程序
例2、設用戶用鍵盤輸入長度不超過100字節的字符串放在8031單片機外部RAM以20H為首地址的連續單元,該字符串用回車符CR(‘CR’= 0DH)作為結束標志,要求統計此字符串的長度并存入內部RAM的1FH單元中。
解:從首單元開始取數,每取一數判斷其是否為‘CR’,是則結束。
         ORG 1000H
   STADA DATA 20H
   SLANG DATA 1FH
         MOV R0,#STADA-1
  CMCR2: MOV B,#0FFH
         INC R0
  CRLOP: INC B
         MOVX A,@R0
         CJNE A,#0DH,CRLOP
         MOV SLANG,B
         SJMP $
         END
2、多重循環設計
循環體中還包含著一個或多個循環結構,即雙重或多重循環。
例3、設8031使用12MHz晶振,試設計延遲100ms的延時程序。
解:延時程序的延遲時間就是該程序的執行時間,通常采用MOV和DJNZ二指令。
T = 12 / fosc = 12 / (12×106)= 1us

內循環延時:
(1 + 2 × CTR)T = 500us(假設)
則CTR = 250
實際延時:[1 + 2 × 250] × 1us = 501us

外循環延時:T +(501 + 2T)× CTS = 100ms = 100 000us
所以 , CTS = 198.8 取 199
實際延時:[1 + (501 + 2)×199] = 1000.98ms

例4、設在8031內部RAM中存一無符號數的數組,其長度為100,起始地址是30H,要求將它們從大到小排序,排序后仍存放在原區域中,試編者按程。

這就是所畏的“冒泡法”。
實際上大多情況,用不到99次循環,排序就結束。為了提高排序速度,程序中可設一交換標志位,如10H位,
每次循環中:若有交換則 SETB 10H
若無交換則 CLR 10H
每次循環結束時,測10H位,判斷排序是否結束。
          ORG 1000H
          MOV R0,#30H
  BUBBLE: MOV B,#64H
          CLR 10H
          DEC B
          MOV A,@R0           ;長度計數
    LOOP: MOV 20H,A           ;暫存,為交換作準備
          INC R0
          MOV 21H,@R0
          CJNE A,21H,BUEU    ;若(20H)≠(21H)轉移
          JNC BUNEXT           ;(20H)≥(21H)轉移
    BUEU: MOV A,@R0           ;若(20H)< (21H)則交換
          MOV @R0,20H
          DEC R0               ;使R0退格指向小地址
          MOV @R0,A
          INC R0               ;恢復R0指向大地址
          SETB 10H             ;置交換標志
          DJNZ B,LOOP
  BUNEXT: JB 10H,BUBBLE       ;判斷標志位為1否?若為1,則繼續
          END
Tags:單片機,指令系統,指令學習,電子設計  
責任編輯:admin
相關文章列表
51單片機指令系統(2)
請文明參與討論,禁止漫罵攻擊,不要惡意評論、違禁詞語。 昵稱:
1分 2分 3分 4分 5分

還可以輸入 200 個字
[ 查看全部 ] 網友評論
關于我們 - 聯系我們 - 廣告服務 - 友情鏈接 - 網站地圖 - 版權聲明 - 在線幫助 - 文章列表
返回頂部
刷新頁面
下到頁底
晶體管查詢
婷婷亚洲天堂影院-国产精品豆花视频www-伊人影院在线观看-日本少妇浓毛bbwbbwbbw-av网站观看-亚州欧美在线-91精品国产乱码久-任我爽精品视频在线播放-日本视频不卡-亚洲国产精品va在线观看香蕉-国产毛片乡下农村妇女-国产成人免费ā片在线观看老同学-欧美日韩免费在线-成人无码视频免费播放-色综合美女-免费毛片av
<button id="4i884"></button>
  • <abbr id="4i884"><source id="4i884"></source></abbr>
  • <code id="4i884"><tr id="4i884"></tr></code>
  • <rt id="4i884"></rt>
    <li id="4i884"></li>
  • <rt id="4i884"><tr id="4i884"></tr></rt>
  • 久久人人爽av| 日本熟妇人妻中出| 91九色国产ts另类人妖| 大胆欧美熟妇xx| 日韩精品―中文字幕| 久久久久久香蕉| 国产青青在线视频| 国产小视频精品| 精品久久久久久久久久中文字幕| 999精品网站| 农民人伦一区二区三区| 小泽玛利亚视频在线观看| 懂色av粉嫩av蜜臀av| 久久人妻精品白浆国产| 国产精品自拍合集| 超碰免费在线公开| 久久久久xxxx| 最近中文字幕一区二区| 日韩免费高清在线| 亚洲人精品午夜射精日韩| 黄色污污在线观看| 高潮一区二区三区| jizz18女人| 欧美一级黄色影院| 日本xxxx黄色| 日本美女久久久| 国产视频在线观看网站| 日韩中文在线字幕| av动漫在线免费观看| 国产免费一区二区三区四在线播放| 五月天婷婷影视| 看一级黄色录像| 黄页免费在线观看视频| 少妇高潮喷水久久久久久久久久| 国产综合av在线| 亚洲欧美国产中文| 亚洲欧美日韩不卡| a级黄色小视频| 午夜免费看视频| 妞干网视频在线观看| 日韩中文字幕组| 国产免费裸体视频| 欧美一级特黄a| 日韩欧美国产免费| 亚洲午夜精品一区| 9久久婷婷国产综合精品性色| 亚洲一级片免费| 超碰网在线观看| 亚洲 自拍 另类小说综合图区| 人人干人人干人人| 三级4级全黄60分钟| 97国产精东麻豆人妻电影| 女女同性女同一区二区三区按摩| 手机在线成人免费视频| 国产一区二区网| 欧妇女乱妇女乱视频| 中文字幕精品在线播放| 天天干在线影院| 久热在线视频观看| 一级日本黄色片| 一级黄色片在线免费观看| 天天碰免费视频| the porn av| 一本—道久久a久久精品蜜桃| 五月天视频在线观看| 国产成人三级视频| 亚洲AV无码成人精品一区| 少妇高潮大叫好爽喷水| 我的公把我弄高潮了视频| 国产69精品久久久久999小说| 国产亚洲黄色片| 亚洲欧美另类动漫| 97超碰在线视| av动漫在线看| 99精品一级欧美片免费播放| 国产一二三区在线播放| 婷婷激情5月天| 黄色一级视频在线播放| 午夜免费看毛片| 欧美日韩国产精品激情在线播放| 久久久久久久少妇| 缅甸午夜性猛交xxxx| 91免费网站视频| 天天视频天天爽| 日日碰狠狠躁久久躁婷婷| av电影一区二区三区| jizz大全欧美jizzcom| 熟女少妇在线视频播放| 蜜桃视频一区二区在线观看| 欧美日韩一区二区三区69堂| 无码日韩人妻精品久久蜜桃| 国产欧美在线一区| 国产一区二区三区精彩视频 | 各处沟厕大尺度偷拍女厕嘘嘘| 激情在线观看视频| 黄频视频在线观看| a级黄色片网站| 菠萝蜜视频在线观看入口| 久久婷婷中文字幕| 裸体大乳女做爰69| 大伊香蕉精品视频在线| 欧美三级一级片| 成人免费毛片播放| 老司机av福利| 亚洲熟女乱色一区二区三区| 久久久久久久久久久久久久国产| wwwwww.色| 日韩一级特黄毛片| 簧片在线免费看| 亚洲视频在线不卡| 日韩精品一区二区三区久久| 手机看片一级片| 日韩精品一区二区三区四| 美女福利视频在线| 中文字幕在线乱| 欧美婷婷精品激情| 国产av熟女一区二区三区| 色戒在线免费观看| 激情网站五月天| 91麻豆天美传媒在线| 久久久国产欧美| 欧美视频免费看欧美视频| 国产又爽又黄ai换脸| 国产v亚洲v天堂无码久久久| 久久综合久久网| 日本午夜激情视频| 久久综合九色综合88i| 亚洲精品久久久久久久蜜桃臀| 91 视频免费观看| 蜜桃福利午夜精品一区| 污污的视频免费| 爱爱爱爱免费视频| 97超碰人人爱| 2021国产视频| 国产精品秘入口18禁麻豆免会员| 国产一线二线三线女| 波多野结衣之无限发射| 女人和拘做爰正片视频| 麻豆av免费在线| 在线观看免费黄网站| 成人免费黄色av| 亚洲色成人www永久在线观看| 九色自拍视频在线观看| 男人天堂999| 自拍偷拍视频在线| 成人综合视频在线| 免费观看国产视频在线| 北条麻妃在线视频观看| 一女二男3p波多野结衣| youjizz.com在线观看| 黄www在线观看| 91精品一区二区三区四区| 日韩少妇内射免费播放18禁裸乳| 亚洲欧洲日本精品| www.av蜜桃| 中文字幕制服丝袜在线| 成年人视频在线免费| 日本一道在线观看| 一区二区在线免费看| 日韩在线xxx| 韩日视频在线观看| 免费看日b视频| 国产精品igao激情视频 | 精品国产一区二区三区在线| 亚洲黄色a v| caoporm在线视频| 日本77777| 色一情一乱一乱一区91| 国产精品视频一二三四区| 神马午夜伦理影院| 免费特级黄色片| 欧美啪啪免费视频| 91成人在线观看喷潮教学| 在线观看17c| 免费高清在线观看免费| 国产原创精品在线| 三日本三级少妇三级99| 日韩成人三级视频| 青青草精品视频在线| 色噜噜狠狠一区二区| 精品一区二区成人免费视频 | 簧片在线免费看| 男人j进女人j| 色www免费视频| 免费毛片小视频| 青青在线视频免费观看| 日日鲁鲁鲁夜夜爽爽狠狠视频97 | 国产免费内射又粗又爽密桃视频| 亚洲少妇第一页| 97xxxxx| 精品欧美一区免费观看α√| 一本色道久久亚洲综合精品蜜桃| 青春草在线视频免费观看| 日日摸日日碰夜夜爽av| 菠萝蜜视频在线观看入口| youjizz.com亚洲| 亚洲欧美日本一区二区| 免费一区二区三区在线观看 | 日本免费a视频| 欧美成人手机在线视频|