找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 2383|回复: 1
打印 上一主题 下一主题
收起左侧

DS1302读取时间问题

[复制链接]
跳转到指定楼层
楼主
ID:125169 发表于 2016-9-9 19:51 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
一个能读到,下一个就读不到了(0xFF),再下一个又能读到了…………到网上搜了相关的信息:21ic上的CSDN上的。这是我的代码,大家看有什么问题吗?


  1. R1302:    CLR           RST
  2.                 NOP
  3.                 CLR          SCLK
  4.                 NOP
  5.                 SETB        RST
  6.                 MOV         A,R2
  7.                 LCALL       WBYTE
  8.                 LCALL       RBYTE
  9.                 MOV         R3,A
  10.                 CLR          RST
  11.                 RET

  12. ;WRITE A BYTE TO DS1302
  13. WBYTE:   MOV        R7,#08H
  14. WNEXT:   CLR         SCLK
  15.                 NOP
  16.                 RRC        A
  17.                 MOV       IO,C
  18.                 SETB       SCLK
  19.                 NOP
  20.                 NOP
  21.                 NOP
  22.                 DJNZ        R7,WNEXT
  23.                 RET

  24. ;READ A BYTE FROM DS1302
  25. RBYTE:     SETB        IO
  26.                 MOV         R7,#08H
  27. RNEXT:    CLR                SCLK
  28.                 NOP
  29.                 MOV         C,IO
  30.                 RRC          A
  31.                 SETB        SCLK
  32.                 NOP
  33.                 NOP
  34.                 NOP
  35.                 DJNZ        R7,RNEXT
  36.                 CLR          IO        ;就这句不能省……
  37.                 RET
复制代码

R2存放地址,R3存放数据,最关键的就是RBYTE子程序里最后那个CLR    IO,去掉了就不行了,什么原因?
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:21069 发表于 2019-2-2 01:57 | 只看该作者
上汇编基本上是见光死

评分

参与人数 6黑币 +147 收起 理由
zhengchong60 + 12 绝世好帖!
Sawardeakar + 15 赞一个!
#include51.h + 15 很给力!
刀刀见红 + 35 很给力!
areyouok + 35
shuisheng + 35 很给力!

查看全部评分

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表