单片机读取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
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
20条回答
micropower
1楼-- · 2020-02-08 10:57
高手!
bozai
2楼-- · 2020-02-08 13:36
顶一个,好资料,有这个弄游戏机会更好。

请问搂主,按下按键,对应的码是0 还是1 ?
谢谢!
Gorgon_Meducer
3楼-- · 2020-02-08 19:02
……又是PS兼容协议……大家兴趣一样哈
楼主是否愿意与我发的手柄贴建立关联?
ivws
4楼-- · 2020-02-08 20:01
按键手柄内部用的是弱上拉,按下时读出的数据为0。还有关联贴我不怎么明白?
Gorgon_Meducer
5楼-- · 2020-02-09 00:28
 精彩回答 2  元偷偷看……
Gorgon_Meducer
6楼-- · 2020-02-09 02:16
建立关联完毕,注意帖子左上角

一周热门 更多>