新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 單片機學習之七:基本I/O口試驗三-左右跑馬燈

        單片機學習之七:基本I/O口試驗三-左右跑馬燈

        作者: 時間:2016-09-20 來源:網絡 收藏

          一、 試驗現象:

        本文引用地址:http://www.104case.com/article/201609/297204.htm

          二極管從左至右,然后從右至左作變換,燈光變換的間隔時間是1s。

          二、 試驗目的

           掌握帶進位左、右環移指令rlc,rrc的應用

           進一步熟悉延時程序的應用

          三、 試驗任務分析:

          按照上一個試驗的思路,該程序的編寫思路如下:先作左,然后再作右,然后讓程序不斷循環即可。在這個試驗里,我們給大家介紹另外兩個左、右移指令,先看程序吧。

          四、 試驗程序如下:

          org 0000h

          clr p1.5

          start: mov a,#0ffh ;(1)

          clr c ;(2)

          mov r2,#08h ;(3)

          loop1: rlc a ;(4)

          mov p0,a

          call del1s ;調用1s延時子程序

          djnz r2,loop1 ;如果左移8次,則開始右移,否則,繼續左移

          mov r2,#06h ;(6)

          loop2: rrc a ;(7)

          mov p0,a

          call del1s

          djnz r2,loop2 ;

          ljmp start

          ;以下是延時1s的子程序

          del1s: mov r7,#100

          del1: mov r6,#20h

          del2: mov r5,#0ffh

          del3: djnz r5,del3

          djnz r6,del2

          djnz r7,del1

          ret

          end

          五、注釋

          1、 先看看(4)語句,它的意思是累加器A通過C進行左環移,圖示如下:

          

         

          可見,我們如果想讓燈從左置右發光,就需要給a賦值0ffh,cy清零,然后左環移8次即可。這就是(1)、(2)語句的含義。

          Cy我們以前沒有接觸過,它又是什么呢?

          還記得試驗二中,我們提到程序狀態字psw吧,它的各位圖示如下:可見cy是psw的最高位,是進位標志,表示運算結果是否有進位(或者借位)。如果操作結果在最高位有進位(加法時),或者有借位(減法時),該位為“1”,否則為“0”。

          2、 根據上面的分析,可知(3)語句就是左移的次數

          3、 (6)(7)語句的含義自己分析吧。

          六、課后作業:

          試著用別的方法,完成同樣的功能。



        關鍵詞: I/O 跑馬燈

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 铜川市| 郴州市| 北辰区| 清徐县| 开阳县| 马鞍山市| 乌拉特前旗| 余姚市| 西畴县| 博野县| 如皋市| 仙居县| 衡阳县| 安化县| 深圳市| 麻城市| 淮滨县| 莆田市| 漠河县| 衡水市| 西藏| 九寨沟县| 万宁市| 双城市| 称多县| 福泉市| 深圳市| 邯郸市| 湘乡市| 桓台县| 南汇区| 通海县| 南康市| 刚察县| 郓城县| 香格里拉县| 忻城县| 仪陇县| 宁蒗| 武安市| 休宁县|