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

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 12. 可預(yù)置可逆4位計數(shù)器

          12. 可預(yù)置可逆4位計數(shù)器

          作者: 時間:2016-11-18 來源:網(wǎng)絡(luò) 收藏
          1.實驗任務(wù)
          利用AT89S51單片機的P1.0-P1.3接四個發(fā)光二極管L1-L4,用來指示當前計數(shù)的數(shù)據(jù);用P1.4-P1.7作為預(yù)置數(shù)據(jù)的輸入端,接四個撥動開關(guān)K1-K4,用P3.6/WR和P3.7/RD端口接兩個輕觸開關(guān),用來作加計數(shù)和減計數(shù)開關(guān)。具體的電路原理圖如下圖所示
          2.電路原理圖

          圖4.12.1

          3.系統(tǒng)板上硬件連線
          (1.把“單片機系統(tǒng)”區(qū)域中的P1.0-P1.3端口用8芯排線連接到“八路發(fā)光二極管指示模塊”區(qū)域中的L1-L4上;要求:P1.0對應(yīng)著L1,P1.1對應(yīng)著L2,P1.2對應(yīng)著L3,P1.3對應(yīng)著L4;
          (2.把“單片機系統(tǒng)”區(qū)域中的P3.0/RXD,P3.1/TXD,P3.2/INT0,P3.3/INT1用導(dǎo)線連接到“四路撥動開關(guān)”區(qū)域中的K1-K4上;
          (3.把“單片機系統(tǒng)”區(qū)域中的P3.6/WR,P3.7/RD用導(dǎo)線連接到“獨立式鍵盤”區(qū)域中的SP1和SP2上;
          4.程序設(shè)計內(nèi)容
          (1.兩個獨立式按鍵識別的處理過程;
          (2.預(yù)置初值讀取的問題
          (3.LED輸出指示
          5.程序框圖















          圖4.12.2

          6.匯編源程序
          COUNTEQU30H
          ORG00H
          START:MOVA,P3
          ANLA,#0FH
          MOVCOUNT,A
          MOVP1,A
          SK2:JBP3.6,SK1
          LCALLDELY10MS
          JBP3.6,SK1
          INCCOUNT
          MOVA,COUNT
          CJNEA,#16,NEXT
          MOVA,P3
          ANLA,#0FH
          MOVCOUNT,A
          NEXT:MOVP1,A
          WAIT:JNBP3.6,WAIT
          LJMPSK2
          SK1:JBP3.7,SK2
          LCALLDELY10MS
          JBP3.7,SK2
          DECCOUNT
          MOVA,COUNT
          CJNEA,#0FFH,NEX
          MOVA,P3
          ANLA,#0FH
          MOVCOUNT,A
          NEX:MOVP1,A
          WAIT2:JNBP3.7,WAIT2
          LJMPSK2
          DELY10MS:MOVR6,#20
          MOVR7,#248
          D1:DJNZR7,$
          DJNZR6,D1
          RET
          END
          7.C語言源程序
          #include
          unsignedcharcurcount;
          voiddelay10ms(void)
          {
          unsignedchari,j;
          for(i=20;i>0;i--)
          for(j=248;j>0;j--);
          }
          voidmain(void)
          {
          curcount=P3&0x0f;
          P1=~curcount;
          while(1)
          {
          if(P3_6==0)
          {
          delay10ms();
          if(P3_6==0)
          {
          if(curcount>=15)
          {
          curcount=15;
          }
          else
          {
          curcount++;
          }
          P1=~curcount;
          while(P3_6==0);
          }
          }
          if(P3_7==0)
          {
          delay10ms();
          if(P3_7==0)
          {
          if(curcount<=0)
          {
          curcount=0;
          }
          else
          {
          curcount--;
          }
          P1=~curcount;
          while(P3_7==0);
          }
          }
          }
          }


          評論


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