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

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > 試驗7--------流水燈數字顯示綜合練習

          試驗7--------流水燈數字顯示綜合練習

          作者: 時間:2011-02-25 來源:網絡 收藏
          程序運行結果為個位數碼管輪流現(xiàn)實0,12,3,4,5,6,7,8,然后十位數碼管輪流現(xiàn)實01,2,3,4,5,6,7,8反復循環(huán),P1.0,P1.1, P1.2,P1.3, P1.4,P1.5, P1.6,P1.7, 依次點亮然后輪流點亮,小喇叭不停發(fā)出滴答聲:

          數碼管顯示數字

          注意0為點亮 1 為滅

          顯示數字

          p0.7

          p0.6

          p0.5

          p0.4

          p0.3

          p0.2

          p0.1

          p0.0

          16進制代碼

          0

          0

          0

          1

          0

          1

          0

          0

          0

          28H

          1

          0

          1

          1

          1

          1

          1

          1

          0

          7EH

          2

          1

          0

          1

          0

          0

          0

          1

          0

          A2H

          3

          0

          1

          1

          0

          0

          0

          1

          0

          62H

          4

          0

          1

          1

          1

          0

          1

          0

          0

          74H

          5

          0

          1

          1

          0

          0

          0

          0

          1

          61H

          6

          0

          0

          1

          0

          0

          0

          0

          1

          21H

          7

          0

          1

          1

          1

          1

          0

          1

          0

          7AH

          8

          0

          0

          1

          0

          0

          0

          0

          0

          20H

          9

          0

          1

          1

          0

          0

          0

          0

          0

          60H

          代碼表的意思和方法參照前面的教程;注意0為點亮 1 為滅然后我們可以把代碼送到P0口,就可以是數碼管顯示需要的數字;當然,必須有位選,因為我們的實驗板是動態(tài)掃描數碼管,兩個8的位選分別是P2.6 P2.7.

          LOOP: ;標號

          CLR P2.6 ;選中p2.6 數碼管左邊的8字使能

          SETB P2.7 ;p2.7不使能。右邊的數碼管消隱

          MOV P0,#28H ;把28hp0口;數碼管顯示0

          LCALL DELAY ;延時

          MOV P0,#0FFH ;0ffh p0口,數碼管清除

          CLR P1.0 ;點亮p1.0發(fā)光管

          MOV P0,#7EH ;把7ehp0口;數碼管顯示1

          LCALL DELAY

          MOV P0,#0FFH

          CLR P1.1 ;點亮p1.0發(fā)光管

          CLR P1.0 ;點亮p1.0發(fā)光管

          MOV P0,#0A2H ;數碼管顯示2

          LCALL DELAY

          MOV P0,#0FFH

          CLR P1.2

          CLR P1.1

          CLR P1.0

          MOV P0,#62H ;數碼管顯示3

          LCALL DELAY

          MOV P0,#0FFH

          CLR P1.3

          CLR P1.2

          CLR P1.1

          CLR P1.0

          MOV P0,#74H ; ;數碼管顯示4

          LCALL DELAY

          MOV P0,#0FFH

          CLR P1.4

          CLR P1.3

          CLR P1.2

          CLR P1.1

          CLR P1.0

          MOV P0,#61H ;數碼管顯示5;

          LCALL DELAY

          MOV P0,#0FFH

          CLR P1.5

          CLR P1.4

          CLR P1.3

          CLR P1.2

          CLR P1.1

          CLR P1.0

          MOV P0,#21H ; 數碼管顯示6

          LCALL DELAY

          MOV P0,#0FFH

          CLR P1.6

          CLR P1.5

          CLR P1.4

          CLR P1.3

          CLR P1.2

          CLR P1.1

          CLR P1.0

          MOV P0,#7AH ; 數碼管顯示7

          LCALL DELAY

          MOV P0,#0FFH

          CLR P1.7

          CLR P1.6

          CLR P1.5

          CLR P1.4

          CLR P1.3

          CLR P1.2

          CLR P1.1

          CLR P1.0

          MOV P0,#20H ; 數碼管顯示8

          LCALL DELAY

          MOV P0,#0FFH

          LCALL DELAY

          MOV P0,#0FFH

          MOV P1,#0FFH

          ;程序到此結果為左邊的數碼管顯示01,23,4,56,7,8;p1.0------------p1.7指示燈依次點亮

          SETB P2.6 左邊的8消隱

          CLR P2.7 ;選中p2.7 數碼管右邊的8字使能,;

          MOV P0,#28H

          LCALL DELAY

          MOV P0,#0FFH

          MOV P1,#0FFH

          CLR P1.0

          MOV P0,#7EH

          LCALL DELAY

          MOV P0,#0FFH

          MOV P1,#0FFH

          CLR P1.1

          MOV P0,#0A2H

          LCALL DELAY

          MOV P0,#0FFH

          MOV P1,#0FFH

          CLR P1.2

          MOV P0,#62H

          LCALL DELAY

          MOV P0,#0FFH

          MOV P1,#0FFH

          CLR P1.3

          MOV P0,#74H

          LCALL DELAY

          MOV P0,#0FFH

          MOV P1,#0FFH

          CLR P1.4

          MOV P0,#61H

          LCALL DELAY

          MOV P0,#0FFH

          MOV P1,#0FFH

          CLR P1.5

          MOV P0,#21H

          LCALL DELAY

          MOV P0,#0FFH

          MOV P1,#0FFH

          CLR P1.6

          MOV P0,#7AH

          LCALL DELAY

          MOV P0,#0FFH

          MOV P1,#0FFH

          CLR P1.7

          MOV P0,#20H

          LCALL DELAY

          MOV P0,#0FFH

          MOV P1,#0FFH

          MOV P0,#0FFH

          MOV P1,#0FFH

          ;這一段和上一段基本相同,不同的是右邊的數碼管依次顯示012345678,左邊的不亮;;同時p1口的燈流動顯示:

          AJMP LOOP注意:程序運行到此跳轉到開始標號,重復執(zhí)行:

          DELAY: ;延時子程序;參考前面的教程:

          CLR P3.3 ;注意小喇叭在3.3口,這里可以使小喇叭發(fā)出嗒,嗒聲

          MOV R7,#255

          NOP

          NOP

          D1:MOV R6,#255

          setb p3.3

          D2: DJNZ R6,D2

          clr p3.3

          DJNZ R7,D1

          SETB P3.3

          RET

          END



          評論


          相關推薦

          技術專區(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); })();