找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開始

搜索
查看: 3151|回復(fù): 1
打印 上一主題 下一主題
收起左側(cè)

搞定DS1302為什么老是讀出00H 事實(shí)勝于雄辯

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:83710 發(fā)表于 2015-6-23 20:53 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
DS1302為什么老是讀出00H?是寫沒寫進(jìn)去?還是讀沒讀出來?哈哈,如果寫不進(jìn)去會(huì)讀出一串FFH,如果讀出問題的話,也不會(huì)是00H,昨夜編好實(shí)驗(yàn),無果,甚怒!關(guān)機(jī)寬衣,忽覺大事不好,莫非我的循環(huán)太大了?那會(huì)導(dǎo)致一直在寫00H,一直在讀00H正好與實(shí)驗(yàn)結(jié)果吻合,無奈舍友下寢,時(shí)間太晚,不好開機(jī)打擾,意覺明日復(fù)戰(zhàn),遂罷!早至工地,連工示之至東門待人!吾遂往,無事!思昨夜程序,應(yīng)如是!至響歸,開機(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



分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏1 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

沙發(fā)
ID:45963 發(fā)表于 2015-6-24 07:40 | 只看該作者
和我一樣,是新手,那個(gè)地方要循環(huán)都不知道
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表