新聞中心

        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



        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 大安市| 佛坪县| 西乌珠穆沁旗| 永川市| 堆龙德庆县| 华安县| 靖江市| 翁牛特旗| 高台县| 吉水县| 会同县| 印江| 瑞昌市| 亚东县| 资讯 | 万年县| 平陆县| 翁源县| 临清市| 横山县| 盐津县| 阿克陶县| 墨竹工卡县| 沂源县| 肥东县| 拜泉县| 共和县| 郎溪县| 陈巴尔虎旗| 呼伦贝尔市| 淮安市| 馆陶县| 汕头市| 波密县| 濉溪县| 资阳市| 屯门区| 南溪县| 乌拉特中旗| 陆丰市| 宁夏|