新聞中心

        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 跑馬燈

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 尖扎县| 瑞昌市| 彭阳县| 疏附县| 田阳县| 东莞市| 新沂市| 弥勒县| 连江县| 岳池县| 石景山区| 资阳市| 阿拉善左旗| 子洲县| 渭南市| 鄂托克旗| 虎林市| 丽水市| 射阳县| 乌兰浩特市| 苏州市| 灵川县| 禹州市| 包头市| 江山市| 青浦区| 芒康县| 微博| 昌吉市| 大埔县| 原平市| 城固县| 鄂伦春自治旗| 大同县| 鹤壁市| 荃湾区| 绍兴县| 连州市| 浠水县| 都江堰市| 石景山区|