新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > PIC16F877A單片機led的動態顯示

        PIC16F877A單片機led的動態顯示

        作者: 時間:2011-02-24 來源:網絡 收藏

        list p=16F877A,R=DEC
        include "p16F877A.inc"
        ;;;;;user variables;;;;;;;;
        Count2 equ 23H
        Count3 equ 24H
        data_out1 equ 25H
        data_out2 equ 26H
        ;;;;;;;reset vector;;;;;;;;;
        org 0x00
        goto mainline
        ;;;;;;delay program;;;;;;;
        delay_2ms
        movlw 0x05
        movwf Count2
        lp0 movlw 0xff
        movwf Count3
        lp1 decfsz Count3,F
        goto lp1
        decfsz Count2,F
        goto lp0
        return

        delay_250ms
        movlw 0x41
        movwf Count2
        movlw 0xff
        movwf Count3
        decfsz Count3,F
        goto $-1
        decfsz Count2,F
        goto $-5
        movlw 0xff
        movwf Count2
        movlw 0xff
        movwf Count3
        decfsz Count3,F
        goto $-1
        decfsz Count2,F
        goto $-5
        return
        ;;;;;;main program;;;;;;;;;
        mainline
        banksel TRISA
        movlw 0x00
        movwf TRISA
        movlw 0xff
        movwf TRISB
        movlw 0x00
        movwf TRISC
        movwf TRISD
        movwf TRISE

        banksel PORTA
        movlw 0x00
        movwf PORTA
        movwf PORTB
        movwf PORTC
        movwf PORTD
        movwf PORTE

        banksel INTCON
        bcf INTCON,PEIE
        lp
        btfsc PORTB,0
        goto lp
        call delay_250ms
        wait1
        btfss PORTB,2
        goto led1
        btfss PORTB,3
        goto led2
        goto wait1
        lp2
        movf PORTA,W
        movwf data_out1
        L2
        btfsc PORTB,1
        goto L2
        call delay_250ms
        wait2
        btfss PORTB,2
        goto led3
        btfss PORTB,3
        goto led4
        goto wait2
        led1
        call delay_250ms
        movlw 0x00
        movwf PORTA
        movlw 0x01
        movwf PORTA
        movlw 0xfe
        movwf PORTC
        goto lp2
        led2
        call delay_250ms
        movlw 0x00
        movwf PORTA
        movlw 0x02
        movwf PORTA
        movlw 0xfe
        movwf PORTC
        goto lp2
        led3
        call delay_250ms

        movlw 0x01
        movwf PORTA
        movlw 0xfd
        movwf PORTC
        call delay_2ms

        banksel PORTC
        movlw 0x00
        movwf PORTC
        movlw 0xfe
        movwf PORTC
        movf data_out1,W
        movwf PORTA

        call delay_2ms
        call delay_2ms

        led4
        call delay_250ms

        movlw 0x02
        movwf PORTA
        movlw 0xfd
        movwf PORTC
        call delay_2ms

        banksel PORTC
        movlw 0x00
        movwf PORTC
        movlw 0xfe
        movwf PORTC
        movf data_out1,W
        movwf PORTA

        call delay_2ms

        end



        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 永康市| 手游| 巴青县| 新和县| 连山| 长沙县| 普兰店市| 台中市| 丰城市| 石阡县| 余姚市| 奉新县| 长乐市| 定南县| 汝南县| 会理县| 海丰县| 茂名市| 祁连县| 昌黎县| 昆明市| 宜城市| 德化县| 威宁| 新兴县| 密山市| 米脂县| 阳信县| 游戏| 蒙自县| 房山区| 简阳市| 泊头市| 揭西县| 临洮县| 长子县| 崇义县| 中牟县| 宁明县| 惠来县| 吉安市|