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

          新聞中心

          EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 基于SPCE061A單片機(jī)匯編語(yǔ)實(shí)現(xiàn)的流水燈

          基于SPCE061A單片機(jī)匯編語(yǔ)實(shí)現(xiàn)的流水燈

          作者: 時(shí)間:2016-11-23 來源:網(wǎng)絡(luò) 收藏
          //====================================================================//

          //名稱:流水燈
          //功能描述:發(fā)光二極管單向循環(huán)點(diǎn)亮。SPCE061A單片機(jī)匯編語(yǔ)言實(shí)現(xiàn)

          //===================================================================//

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

          .include SPCE061A.inc //包含頭文件
          .ram
          .var R_LEDControl //定義LED控制變量
          .var R_DaleyControl //定義延時(shí)程序控制變量
          .code
          .public _main

          //===================================================================//
          //函數(shù)名:主函數(shù)
          //功能描述:控制發(fā)光二極管單向循環(huán)點(diǎn)亮
          //===================================================================//

          _main:
          r1=0x00ff //定義IOA口為同向輸出,并輸出低電平
          [P_IOA_Dir]=r1
          [P_IOA_Attrib]=r1
          r1=0x0000
          [P_IOA_Data]=r1 //IO口電平初始化,如果是接共陽(yáng)極的LED,則選用高電平輸出
          r1=0x0001
          [R_LEDControl]=r1
          L_MAINloop: //通過循環(huán)左移實(shí)現(xiàn)LED單向循環(huán)點(diǎn)亮程序段
          r1=[R_LEDControl]
          [P_IOA_Data]=r1 //點(diǎn)亮第一個(gè)LED
          r1=r1 LSL 1 //循環(huán)左移語(yǔ)句
          CMP r1,0x0100 //控制點(diǎn)亮的LED在IOA低八位之內(nèi)。CMP指令進(jìn)行做差比較
          JNE NoOver //該指令的意思為:不等于轉(zhuǎn)接到后邊的程序段
          r1=0x0001 //如果等于的話,則對(duì)IOA口的輸出初始化
          NoOver:
          [R_LEDControl]=r1
          r1=0x0000 //給延時(shí)函數(shù)的計(jì)數(shù)賦初值
          [R_DaleyControl]=r1
          CALL L_Daleyloop //轉(zhuǎn)到延時(shí)子函數(shù)
          JMP L_MAINloop //循環(huán)控制LED的點(diǎn)亮

          //===================================================================//
          //函數(shù)名:延時(shí)函數(shù)
          //功能描述:通過計(jì)數(shù)實(shí)現(xiàn)延時(shí),不精確延時(shí)
          //===================================================================//

          L_Daleyloop:
          r1=0x0001
          [P_Watchdog_Clear]=r1 //清看門狗
          r1=[R_DaleyControl]
          r1+=1 //延時(shí)計(jì)數(shù)加1
          [R_DaleyControl]=r1
          JNZ L_Daleyloop //JNZ指令標(biāo)示“非0則轉(zhuǎn)到loop”。該語(yǔ)句的意思是“R_DaleyControl的值不為0則轉(zhuǎn)到L_Daleyloop”。
          RETF //一般情況下,循環(huán)加法的值到65535時(shí)為最大值,超過該值時(shí)則會(huì)從0算起,及65536標(biāo)示0




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