<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > 51單片機匯編語言(一)

          51單片機匯編語言(一)

          作者: 時間:2016-11-24 來源:網絡 收藏
          6.1功能說明:控制單片機P1端口輸出,使P1.0位所接的LED點亮,其他7只燈熄滅。

          程序:JS01.ASM

          本文引用地址:http://www.ex-cimer.com/article/201611/321009.htm

          01: MOV A , #11111110B ; 存入欲顯示燈的位置數(shù)據

          02:MOV P1, A ; 點亮第一只燈

          03: JMP $ ; 保持當前的輸出狀態(tài)

          04: END ; 程序結束

          6.2功能說明:單片機P1端口接8只LED,點亮第1、3、4、6、7、8只燈。

          程序:JS02.ASM

          01:START: MOV A , #00010010B ; 存入欲顯示燈的位置數(shù)據

          02: MOV P1, A ; 點亮燈

          03: JMP START ; 重新設定顯示值

          04: END ; 程序結束

          6.3功能說明:單片機P1端口接8只LED,每次點亮一只,向左移動點亮,重復循環(huán)。

          該程序缺少延時環(huán)節(jié),適合模擬仿真觀察。

          程序:JS03.ASM

          01: START: MOV R0, #8 ;設左移8次

          02: MOV A, #11111110B ;存入開始點亮燈位置

          03: LOOP: MOV P1, A ;傳送到P1并輸出

          04: RL A ;左移一位

          05: DJNZ R0, LOOP ;判斷移動次數(shù)

          06: JMP START ;重新設定顯示值

          07: END ;程序結束

          6.4功能說明:單片機P1端口接8只LED,每次點亮一只,向右移動點亮,重復循環(huán)。

          程序:JS04.ASM

          01: START: MOV R0, #8 ;設右移8次

          02: MOV A, #01111111B ;存入開始點亮燈位置

          03: LOOP: MOV P1, A ;傳送到P1并輸出

          04: ACALL DELAY ;調延時子程序

          05: RR A ;右移一位

          06: DJNZ R0, LOOP ;判斷移動次數(shù)

          07: JMP START ;重新設定顯示值

          08: DELAY: MOV R5,#50 ;

          09: DLY1: MOV R6,#100 ;

          10: DLY2: MOV R7,#100 ;

          11: DJNZ R7,$

          12: DJNZ R6,DLY2 ;

          13: DJNZ R5,DLY1 ;

          14: RET ;子程序返回

          15: END ;程序結束

          6.5功能說明:單片機P1端口接8只LED,每次點亮一只,先把右邊的第一只點亮,0.5秒后點亮右數(shù)的第二只燈,第一只熄滅,再過0.5秒點亮右數(shù)的第三只燈,第二只熄滅,…亮燈按此順序由右向左移動。當亮燈移到左側后,開始與上述反方向移動,即亮燈由左向右移動,重復循環(huán)。

          程序:JS05.ASM

          01: START: MOV R0, #8 ;設左移8次

          02: MOV A,#0FEH ;存入開始亮燈位置

          03: LOOP: MOV P1, A ;傳送到P1并輸出

          04: ACALL DELAY ;調延時子程序

          05: RL A ;左移一位

          06: DJNZ R0, LOOP ;判斷移動次數(shù)

          07: MOV R1, #8 ;設右移8次

          08; LOOP1: RR A ;右移一位

          09: MOV P1, A ;傳送到P1并輸出

          10: ACALL DELAY ;調延時子程序

          11: DJNZ R1,LOOP1 ;判斷移動次數(shù)

          12: JMP START ;重新設定顯示值

          13: DELAY: MOV R5,#25 ;延時0.5秒子程序

          14: DLY1: MOV R6,#100 ;

          15: DLY2: MOV R7,#100 ;

          16: DJNZ R7,$ ;

          17: DJNZ R6,DLY2

          18: DJNZ R5,DLY1 ;

          19: RET ;子程序返回

          20: END ;

          6.6功能說明:單片機P1端口接8只LED,每次點亮兩只,先從右邊向左邊移動點亮;再從左邊向右邊移動點亮,然后閃爍兩次,重復循環(huán)。

          程序:JS06.ASM

          01: START: MOV R0, #7 ;設左移7次

          02: MOV A,#0FCH ;存入開始亮燈位置

          03: LOOP: MOV P1, A ;傳送到P1并輸出

          04: ACALL DELAY ;調延時子程序

          05: RL A ;左移一位

          06: DJNZ R0, LOOP ;判斷移動次數(shù)

          07: MOV R1, #7 ;設右移7次

          08: LOOP1: RR A ;右移一位

          09: MOV P1, A ;傳送到P1并輸出

          10: ACALL DELAY ;調延時子程序

          11: DJNZ R1, LOOP1 ;判斷移動次數(shù)

          12: MOV R2, #3 ;設置閃爍次數(shù)

          13: MOV A, #00H ;設初始值

          14: LOOP2: MOV P1, A ;P1端口燈亮

          15: ACALL DELAY ;調用延時子程序

          16: CPL A ;A取反值

          17: DJNZ R2, LOOP2 ;判斷閃爍次數(shù)

          18: JMP START ;重新設定顯示值

          19: DELAY: MOV R5, #25

          20: DLY1: MOV R6, #100

          21: DLY2: MOV R7, #100

          22: DJNZ R7, $

          23: DJNZ R6, DLY2

          24: DJNZ R5, DLY1

          25: RET ;子程序返回

          26: END ;程序結束



          關鍵詞: 51單片機匯編語

          評論


          技術專區(qū)

          關閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();