单片机读取FC手柄数据

2020-02-08 09:20发布

PIC16F84A读取数据的源程序,读出8位数据通过B端口的LED输出显示.


(原文件名:PIC16F84A.jpg)


(原文件名:FC1.jpg)

;...............................
LIST P=16F84A
#include <p16F84A.inc>

;PORTA,0 = Data
;PORTA,1 = Clock
;PORTA,2 = Latch

        ORG     00H
;................................
SATRT
        BSF     STATUS,RP0      ;初始程序
        MOVLW   0X00            ;
        MOVWF   TRISB           ;

        MOVLW   0X01            ;
        MOVWF   TRISA           ;

        BCF     STATUS,RP0      ;
        MOVLW   0X0FF           ;
        MOVWF   PORTB           ;
                                       
        MOVLW   0X00            ;
        MOVWF   PORTA           ;

        MOVLW   0X00            ;
        OPTION                  ;
;................................
LOOP
        BCF     STATUS,RP0      ;
        CLRF    20H             ;

        BSF     PORTA,2         ;转换使能
READ
        MOVLW   8               ;读入数据
        MOVWF   21H             ;
RED
        RRF     20H,1           ;

        BSF     PORTA,1         ;发出时钟
        BCF     PORTA,2         ;

        BCF     20H,7           ;
        BTFSC   PORTA,0         ;

        BSF     20H,7           ;
        BCF     PORTA,1         ;结束时钟

        DECFSZ  21H,1           ;
        GOTO    RED             ;
;................................
LED
        MOVF    20H,0           ;输出显示
        MOVWF   PORTB           ;

        CALL    DELAY           ;
        GOTO    LOOP            ;
;................................
DELAY
        MOVLW   200             ;延时程序
        MOVWF   23H             ;
D1
        MOVLW   32              ;
        MOVWF   22H             ;
D2
        DECFSZ  22H,1           ;
        GOTO    D2              ;

        DECFSZ  23H,1           ;
        GOTO    D1              ;

        RETLW   0               ;
;................................
        END
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。