历史上的今天
今天是:2024年12月20日(星期五)
2019年12月20日 | PIC单片机的读写93C46程序
2019-12-20 来源:elecfans
; 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
下一篇:PIC单片机对清洁护理机的设计
史海拾趣
|
摘要:介绍一种新颖的电荷泵直流稳压芯片TPS60101的性能特点和使用方式,结合实例分析其在低功耗单片机系统中的应用。 关键词:TPS60101 电荷泵 低功耗 单片机 随着单片机应用技术的发展,各种应用场合对单片机系统有了更 ...… 查看全部问答> |
|
规则五:高速PCB设计的布线方向规则 相邻两层间的走线必须遵循垂直走线的原则,否则会造成线间的串扰,增加EMI辐射,如下图: 此主题相关图片如下: 相邻的布线层遵循横平竖垂的布线方向,垂直的布线可以抑制线间的串扰。 规则六:高速PCB设计 ...… 查看全部问答> |
|
串口ReadPortThread读到数据后,怎样正确显示出来? DWORD WINAPI ReadPortThread(LPVOID lpvoid) { BYTE Byte; DWORD dwCommModemStatus, dwBytesTransferred; CString tempStr; // Specify a set of events ...… 查看全部问答> |
|
各位有去过华清远见培训过的吗?我说的那个就业班,怎么样啊?给点意见可以吗? 有人了解尚观吗?那怎么样啊?我想去培训,因为嵌入式要是自学可能会走好多弯路,忽忽~~~… 查看全部问答> |
|
液晶1602显示源代码 #include<reg52.h>#define uint unsigned int#define uchar unsigned charsbit en=P2^0;sbit rs=P2^1;uchar code table[]=\"I LOVE YOU\";uchar code table1[]=\"FOREVER MAMA!\";uchar num;void delay(uint z);void write ...… 查看全部问答> |
|
Verilog HDL练习题和Verilog基础知识适合verilog新人.rar Verilog HDL练习题和Verilog基础知识适合verilog新人 Verilog的135个经典设计实例… 查看全部问答> |
|
如何用MSP 430(WIZNET W5200)启动服务器以太网扩充包? $(\'swf_mko\').innerHTML=AC_FL_RunContent(\'width\', \'550\', \'height\', \'400\', \'allowNetworking\', \'internal\', \'allowScriptAccess\', \'never\', \'src\', encodeURI(\'http://player.youku.com/player.php/sid/XNDQ3NDE1NzQw/v.sw ...… 查看全部问答> |




