×
单片机 > 单片机程序设计 > 详情

PIC单片机的读写93C46程序

发布时间:2021-03-18 发布时间:
|

; THIS ROUTE IS USED FOR 93C46 (Configue as
; 16 bits organizaTIo) READ & WRITE ROUTE


RA EQU 5
RB EQU 6

BIT-COUNT EQU


DATA_HI EQU 10H ; HI half of words
DATA_LO EQU 11H ; LO half of words
ROM_AD EQU 12H ; the address of 93c46

TEMR EQU 13H ;
BIT_COUNT EQU 14H
;
CM_EWEN EQU 30H
CM_EWDS EQU 0H
;RA
CS EQU 0
SK EQU 1
DI EQU 2


;---------------
;used transmiTIng the first bits in commands
START_BITS
 BCF RA,SK
 NOP
 BSF RA,CS
 NOP
 BSF RA,DI
 NOP
 BSF RA,SK
 NOP
 BCF RA,SK
 RETLW 0
;------------------
;the route of transmitTIng a byte
TRMIT   ;
 MOVLW 8
 MOVWF BIT_COUNT
TRM0
 BCF 3,0
 BCF RA,SK
 RLF TEMR
 BTFSS 3,0
 GOTO ^+3
 BSF RA,DI
 GOTO ^+2
 BCF RA,DI
 NOP
 BSF RA,SK
 DECFSZ BIT_COUNT
 GOTO TRM0
 RETLW 0H
;---------------------
;the route of receiving a byte
RECEIVE
 MOVLW 8H
 MOVWF BIT_COUNT
 CLRF TEMR
RV0
 BSF RA,SK
 NOP
 NOP
 BSF 3,0
 BCF RA,SK
 NOP
 BTFSS RA,DO
 BCF 3,0
 RLF TEMR
 DECFSZ BIT_COUNT
 GOTO RV0
 RETLW 0H
;=============================
; read a word data.
; the data in ROM_AD is the address of
; the word, which come from main route
RD_ROM
 MOVLW 080H
 IORWF ROM_AD
 MOVFW ROM_AD
 MOVWF TEMR

 CALL START_BITS
 CALL TRMIT
RC_DA
 NOP
 BCF RA,SK
 NOP
 BTFSC RA,DO
 RETLW 0FFH
 CALL RECEIVE
 MOVFW TEMR
 MOVWF DATA_HI

 CALL RECEIVE
 MOVFW TEMR
 MOVWF DATA_LO
 BCF RA,CS
 RETLW 0
;=============================
; write a word data.
; the data in ROM_AD is the address of
; the word, which come from main route
WRT
 MOVLW 40H
 IORWF ROM_AD
 MOVFW ROM_AD
 MOVWF TEMR

 CALL START_BITS
 CALL TRMIT

 MOVFW DATA_HI
 MOVWF TEMR
 CALL TRMIT
 MOVFW DATA_LO
 MOVWF TEMR
 BCF RA,CS
 RETLW 0H

;-----------------------------
EWEN
 MOVLW CM_EWEN
 GOTO EWDS+1
EWDS
 MOVLW CM_EWDS
 MOVWF ROM_AD
 MOVFW ROM_AD
 MOVWF TEMR

 CALL START_BITS
 CALL TRMIT
 BCF RA,CS
 RETLW 0H



『本文转载自网络,版权归原作者所有,如有侵权请联系删除』

热门文章 更多
ARM基础知识八