|
一個能讀到,下一個就讀不到了(0xFF),再下一個又能讀到了…………到網(wǎng)上搜了相關(guān)的信息:21ic上的,CSDN上的。這是我的代碼,大家看有什么問題嗎?
- R1302: CLR RST
- NOP
- CLR SCLK
- NOP
- SETB RST
- MOV A,R2
- LCALL WBYTE
- LCALL RBYTE
- MOV R3,A
- CLR RST
- RET
- ;WRITE A BYTE TO DS1302
- WBYTE: MOV R7,#08H
- WNEXT: CLR SCLK
- NOP
- RRC A
- MOV IO,C
- SETB SCLK
- NOP
- NOP
- NOP
- DJNZ R7,WNEXT
- RET
- ;READ A BYTE FROM DS1302
- RBYTE: SETB IO
- MOV R7,#08H
- RNEXT: CLR SCLK
- NOP
- MOV C,IO
- RRC A
- SETB SCLK
- NOP
- NOP
- NOP
- DJNZ R7,RNEXT
- CLR IO ;就這句不能省……
- RET
復(fù)制代碼
R2存放地址,R3存放數(shù)據(jù),最關(guān)鍵的就是RBYTE子程序里最后那個CLR IO,去掉了就不行了,什么原因?
|
|