標(biāo)題:
搞定DS1302為什么老是讀出00H 事實(shí)勝于雄辯
[打印本頁(yè)]
作者:
hongniu
時(shí)間:
2015-6-23 20:53
標(biāo)題:
搞定DS1302為什么老是讀出00H 事實(shí)勝于雄辯
DS1302為什么老是讀出00H?是寫沒(méi)寫進(jìn)去?還是讀沒(méi)讀出來(lái)?哈哈,如果寫不進(jìn)去會(huì)讀出一串FFH,如果讀出問(wèn)題的話,也不會(huì)是00H,昨夜編好實(shí)驗(yàn),無(wú)果,甚怒!關(guān)機(jī)寬衣,忽覺(jué)大事不好,莫非我的循環(huán)太大了?那會(huì)導(dǎo)致一直在寫00H,一直在讀00H正好與實(shí)驗(yàn)結(jié)果吻合,無(wú)奈舍友下寢,時(shí)間太晚,不好開(kāi)機(jī)打擾,意覺(jué)明日復(fù)戰(zhàn),遂罷!早至工地,連工示之至東門待人!吾遂往,無(wú)事!思昨夜程序,應(yīng)如是!至響歸,開(kāi)機(jī),改小循環(huán),波特率9600寫入,果如是!大喜!遂作此篇!曰:事實(shí)勝于雄辯!
;美國(guó)達(dá)拉斯的實(shí)時(shí)時(shí)鐘DS1302
ORG 0000H
CE EQU P3.5
IO EQU P3.3
SCLK EQU P3.4
AJMP MAIN
ORG 0030H
MAIN:
LCALL WRITE1302
ppp: LCALL READ1302 ;注意,這里是第一遍寫入,循環(huán)不能調(diào)到main,否則,一直在寫你永遠(yuǎn)讀不出時(shí)鐘哈哈哈,終于成功了!
MOV P0,A
SJMP ppp
WRITE1302:MOV R1,#8
CLR CE
CLR SCLK
SETB CE
NOP
NOP
NOP
NOP ;復(fù)位1302
MOV A,#80H ;寫控制指令
LCALL WRITE
MOV A,#00H
MOV R1,#8
LCALL WRITE
RET
WRITE: RRC A
MOV IO,C
NOP
NOP
SETB SCLK
NOP
NOP
NOP
CLR SCLK
NOP
NOP
DJNZ R1,WRITE
RET
READ1302:MOV R1,#8
CLR CE
CLR SCLK
SETB CE
NOP
NOP
NOP
NOP
MOV A,#81H
LCALL WRITE
LCALL READ
RET
READ: MOV R1,#8
SETB SCLK
NOP
NOP
NOP
RED: CLR SCLK
NOP
MOV C,IO
RRC A
NOP
NOP
SETB SCLK
NOP
NOP
DJNZ R1,RED
RET
END
作者:
amchina
時(shí)間:
2015-6-24 07:40
和我一樣,是新手,那個(gè)地方要循環(huán)都不知道
歡迎光臨 (http://www.torrancerestoration.com/bbs/)
Powered by Discuz! X3.1