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

          新聞中心

          EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 單片機(jī)實(shí)驗(yàn)--跑馬燈

          單片機(jī)實(shí)驗(yàn)--跑馬燈

          作者: 時(shí)間:2016-11-22 來(lái)源:網(wǎng)絡(luò) 收藏
          1.匯編語(yǔ)言的源代碼如下:

          ORG0000H;這個(gè)匯編程序?qū)崿F(xiàn)的是跑馬燈實(shí)驗(yàn)

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

          JMPSTART

          ORG0200H

          DELAY:MOVR1,#50;延時(shí)程序,延時(shí)0.5秒

          DELAY0:MOVR2,#99

          DELAY1:MOVR3,#49

          DJNZR3,$

          DJNZR2,DELAY1

          DJNZR1,DELAY0

          RET

          ZX:MOVA,#0FEH;正序點(diǎn)亮流水燈

          L1:MOVP0,A

          RLA

          CALLDELAY

          MOVP2,#0FFH;把P2口寫1,

          SETBC;置C為1

          MOVC,P2.1;如果P2.1按下,則C的值為0,

          JNCJ2;C的值為0的時(shí)候跳到主程序的J2這個(gè)段

          MOVC,P2.2;讀P2.2的值,賦給C

          JNCJ3;C為0的時(shí)候跳到主程序中J3這個(gè)段

          JMPL1;跳到ZX這里,死循環(huán)實(shí)現(xiàn)燈的流動(dòng)

          NX:MOVA,#7FH;逆序點(diǎn)亮流水燈

          L2:MOVP0,A

          RRA

          CALLDELAY

          MOVP2,#0FFH

          SETBC

          MOVC,P2.0

          JNCJ1

          MOVC,P2.3

          JNCJ3

          JMPL2

          XM:MOVA,#0FFH;熄滅流水燈

          L3:MOVP0,A

          MOVP2,#0FFH

          SETBC

          MOVC,P2.0

          JNCJ1

          MOVC,P2.1

          JNCJ2

          JMPL3

          START:;主程序段,也是程序開(kāi)始的地方

          MOVP2,#0FFH;將P2口寫1

          MOVP0,#0FFH;將P1口寫1

          SETBC;將C的值置1

          J1:MOVC,P2.0;讀P2.0的數(shù)據(jù),賦給C

          JNCZX;如果C的值為0跳轉(zhuǎn)到流水燈正序循環(huán)這個(gè)段

          J2:MOVC,P2.1;讀P2.1的數(shù)據(jù),賦給C

          JNCNX;如果C的值為0,跳轉(zhuǎn)到流水燈逆序循環(huán)這個(gè)段

          J3:MOVC,P2.2;讀P2.2的數(shù)據(jù),賦給C

          JNCXM;如果C的值為0,跳轉(zhuǎn)到流水燈熄滅這個(gè)段

          JMPSTART

          END

          2.C語(yǔ)言源代碼如下:

          #include//C語(yǔ)言我們都比較熟悉,就不做過(guò)多的注釋

          #include

          #defineuintunsignedint

          #defineucharunsignedchar

          sbitk1=P2^0;

          sbitk2=P2^1;

          sbitk3=P2^2;

          uchars1,s2,s3;

          voiddelay(uintt);

          voidf1();

          voidf2();

          voidf3();

          voidmain()

          {

          uchark=0xfe;

          while(1)

          {

          if(k1==0)f1();

          if(k2==0)f2();

          if(k3==0)f3();

          }

          }

          voidf1()//正序點(diǎn)亮流水燈

          {

          uinti=0,k=0xfe;

          while(1)

          {

          P0=k;

          delay(100);

          k=_crol_(k,1);

          if(k2==0)break;

          if(k3==0)break;

          }

          }

          voidf2()//倒序點(diǎn)亮流水燈

          {

          uintk=0x7f;

          while(1)

          {

          P0=k;

          delay(100);

          k=_cror_(k,1);

          if(k1==0)break;

          if(k3==0)break;

          }

          }

          voidf3()//熄滅流水燈

          {

          while(1)

          {

          P0=0xff;

          if(k1==0)break;

          if(k2==0)break;

          }

          }

          voiddelay(uintt)

          {uinti,j;

          for(i=t;i>0;i--)

          for(j=114;j>0;j--);

          }



          評(píng)論


          技術(shù)專區(qū)

          關(guān)閉
          看屁屁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); })();