ВУЗ:
Составители:
230
SETB SC ;запрет выбора устройства
LCALL Pod_READ_SR ;чтение рег статуса DataFlash
CLR SC ;выбор устройства
MOV ACC,#0D4h ;
LCALL Pod_TX_BYTE ;передача КОПа чтения буфера 1
LCALL Pod_TX_ADRF ;передача абс адреса байта в массиве
LCALL Pod_TX_BYTE ;передача незнач байта
LCALL Pod_TX_BYTE ;прием байта данных из массива
MOV DATASPI_R,ACC ;сохранение принятого байта
SETB SC ;запрет выбора устройсва
RET
;Подпрограмма чтения регистра статуса устройства памяти DataFlahs.
;Содержимое регистра статуса возвращается в ACC.
Pod_READ_SR:
CLR SC ;выбор устройства
MOV ACC,#0D7h ;
LCALL Pod_TX_BYTE ;передача КОПа чтения рег статуса
Re_0: MOV ACC,#0FFh ;
LCALL Pod_TX_BYTE ;чтение регистра статуса
JNB ACC_7,Re_0 ;свободно ли устройство
SETB SC ;запрет выбора устройсва
RET
;Подпрограмма передачи трех байт абсолютного адреса байта в массиве памяти.
;Передача начинается со старшего байта адреса.
Pod_TX_ADRF:
MOV ACC,ADRF_H_R ;передать ст байт адр
LCALL Pod_TX_BYTE ;передача байта
MOV ACC,ADRF_M_R ;передать ср байт адр
LCALL Pod_TX_BYTE ;передача байта
MOV ACC,ADRF_L_R ;передать мл байт адр
LCALL Pod_TX_BYTE ;передача байта
RET
;Подпрограмма записи байта в массив памяти по произвольному адресу.
;Записываемый байт следует предварительно поместить в РОН DATASPI_R.
;Абсолютный адрес байта следует предварительно поместить
;в РОНы ADRF_H_R, ADRF_M_R, ADRF_L_R.
Pod_WRITE_BYTE:
LCALL Pod_READ_SR ;чтение рег статуса DataFlash
CLR SC ;выбор устройства
MOV ACC,#084h ;
LCALL Pod_TX_BYTE ;передача КОПа записи в буфер 1
LCALL Pod_TX_ADRF ;передача абс адреса байта в массиве
MOV ACC,DATASPI_R ;
LCALL Pod_TX_BYTE ;запись байта данных
SETB SC ;запрет выбора устройсва
LCALL Pod_READ_SR ;чтение рег статуса DataFlash
CLR SC ;выбор устройства
MOV ACC,#083h ;
LCALL Pod_TX_BYTE ;передача КОПа записи буфера 1 в стр
LCALL Pod_TX_ADRF ;передача абс адреса байта в массиве
SETB SC ;запрет выбора устройсва
RET
;Подпрограмма передачи в DataFlash по SPI одного байта, который предварительно
; следует поместить в ACC. Одновременно происходит прием байта из DataFlash.
;Принятый байт возвращается в ACC.
Pod_TX_BYTE:
MOV R0,#8 ;уст нач знач ст цикла
Tb_0: MOV C,ACC_7 ;---------------------------
MOV MOSI,C ; передача бита данных
NOP ;
NOP ;---------------------------
SETB SCLOCK ;фронт импульса SCLOCK
NOP ;---------------------------
NOP ; прием бита данных
Страницы
- « первая
- ‹ предыдущая
- …
- 228
- 229
- 230
- 231
- 232
- …
- следующая ›
- последняя »
