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
请问搂主,按下按键,对应的码是0 还是1 ?
谢谢!
楼主是否愿意与我发的手柄贴建立关联?
一周热门 更多>