?? max1247.asm
字號:
;本程序是用AT89C51的GPIO和MAX1247接口的模擬SPI收發子程序,SPI接口的三根線DO、CLK、DI以及
;片選線CS可選用P1或P3口的任意口線,收發程序實際運行正確。
SEND1247: ;發送命令字子程序(A中為要發送的命令)
MOV ROTCOUNT,#08H
CLR DO
CLR CS ;將CS變低
ROT_NEXT:
NOP
NOP
CLR CLK ;將CLK變低
RLC A ;移出第一位
MOV DI,C
SETB CLK ;發送第一位
DJNZ ROTCOUNT,ROT_NEXT
NOP
CLR CLK ;啟動轉換
SETB CS ;將片選拉高
RET
RECDATA: ;數據接收子程序
CLR DI
CLR CS ;將片選拉低
NOP
NOP
SETB CLK
MOV ROTCOUNT,#08H
REC1_NEXT:
CLR CLK ;發送下降沿
NOP
NOP
MOV C,DO ;移入數據
RLC A
SETB CLK
NOP
DJNZ ROTCOUNT,REC1_NEXT
MOV H8BIT,A ;保存接收到的高位數據
NOP
MOV ROTCOUNT,#08H ;為接收作準備
REC2_NEXT:
CLR CLK ;發下降沿
NOP
NOP
MOV C,DO
RLC A
SETB CLK
NOP
DJNZ ROTCOUNT,REC2_NEXT
SETB CS
MOV B,A
MOV A,H8BIT ;出口:A:存高8位,B:存低8位
MOV ADRAMH,A
MOV ADRAML,B
RET
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -