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

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > PIC單片機在ICD1上做LED燈的循環(huán)閃爍程序

          PIC單片機在ICD1上做LED燈的循環(huán)閃爍程序

          作者: 時間:2011-02-24 來源:網(wǎng)絡(luò) 收藏
          ;*************************************************
          ;* FLASH.ASM *
          ;*************************************************
          ;*************************************************
          ;* 本程序是一個LED燈的循環(huán)閃爍程序,用INT鍵來切換*
          ;* 閃爍模式 *
          ;*************************************************
          include p16f877.inc>
          ;*----
          MODESEL equ 20h
          MODESELB equ 21h
          Count equ 22h
          Count1 equ 23h
          Count2 equ 24h
          PORTDB equ 25h

          ;*-----

          org 0
          goto start
          org 4
          goto ISR

          org 10
          start
          clrf PORTD ;清D口
          movlw 00h
          movwf MODESEL ;初始化模式選擇寄存器
          movwf MODESELB
          movlw b'10010000'
          movwf INTCON ;初始化中斷控制
          bsf STATUS,RP0
          clrf TRISD ;設(shè)D口全為輸出
          movlw b'10111111'
          OPTION ;選擇INT下降沿有效

          bcf STATUS,RP0
          call FMsel
          movwf PORTDB
          movwf PORTD
          main btfsc PORTB,0 ;
          goto $+6 ;
          call Delay ; 按鍵去抖動
          btfsc PORTB,0
          goto $+3 ; /
          call FMsel ;/
          movwf PORTDB
          movf MODESELB,W ;
          movwf MODESEL ;
          call LongDelay
          bcf STATUS,C
          rlf PORTDB,1
          btfsc STATUS,C
          bsf PORTDB,0
          movf PORTDB,W
          movwf PORTD
          goto main

          ;*----------
          Delay ; call指令占用2個指令周期
          clrf Count ; 清 Count占用1個指令周期
          Dloop
          decfsz Count,f ; 這兩行指令將延時
          goto Dloop ; (256 * 3) -1 個指令周期
          return ; return占用2個指令周期

          ;*----------------
          LongDelay
          clrf Count
          clrf Count1
          movlw 0x01
          movwf Count2
          LDloop
          decfsz Count,f
          goto LDloop
          decfsz Count1,f
          goto LDloop
          decfsz Count2,f
          goto LDloop
          return

          ;*---------------
          FMsel
          movf MODESEL,w
          movwf MODESELB
          movf MODESEL,w
          addwf PCL
          retlw b'11111000'
          retlw b'11110000'
          retlw b'11100000'
          retlw b'11000000'
          retlw b'10000000'
          movlw 00h
          movwf MODESELB
          bsf INTCON,GIE
          retlw b'11111000'
          return

          ;*-------------
          ISR
          btfss INTCON,INTF
          goto $+3
          bcf INTCON,INTF
          incf MODESEL
          retfie
          end

          led燈相關(guān)文章:led燈原理




          評論


          相關(guān)推薦

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