打印

1302读数据问题

[复制链接]
1382|0
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
hjsandh|  楼主 | 2008-11-25 15:44 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
请教:
使用DS1302时钟,对读数据的子程序(画引号""的部分)有些疑惑,请看一下:

BITCNT DATA 30H        ;数据位计数器
BYTECNT    DATA 31H             ;数据字节计数器
COMMAND    data 32H             ;命令字节地址
RCVDAT DATA 40H        ;接受数据缓冲区
XMTDAT    DATA 50H             ;发送数据缓冲区

RST BIT P1.5       ;复位总线
IO BIT P1.6    ;数据传送总线
SCLK BIT P1.7    ;时钟控制总线

RECEIVE:/*读数据子程序*/
    CLR RST
    NOP
    CLR SCLK
    NOP
    SETB RST
    NOP
    MOV A,COMMAND
    MOV BITCNT,#08H
  R_B0:             ;写命令
      RRC A
    MOV IO,C
    NOP
    SETB SCLK  ;时钟上升沿发送
    NOP
    CLR SCLK
    DJNZ BITCNT,R_B0
    NOP
  R_B1:          ;准备接受数据
    CLR A
    CLR C
    MOV BITCNT,#08H
  R_B2:             ;接收数据
      NOP
    
         "MOV C,IO "   ;数据总线上的数据传给C
    "RRC A    "    ;从最低位接收 
    "SETB SCLK"    ;时钟总线置高
    "NOP      "
    "CLR SCLK "     ;时钟下降沿接受数据
    
         DJNZ BITCNT,R_B2  ;8位接收未完继续
    MOV @R1,A
    INC R1
    DJNZ BYTECNT,R_B1
    NOP
    CLR RST
    RET
         
   请教:      MOV C,IO  
         RRC A 
       这两句数据传送指令,是否应该放到 CLR SCLK,时钟下降沿的后面,才能接收数据? 

相关帖子

发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

20

主题

36

帖子

0

粉丝