导航: 老古网老古论坛XMOS公共讨论区XMOS开源项目区单片机程序设计嵌入式系统广告区域
→; Send all the sequence to the

* 59177: pcf8563的一个小问题,希望能得到答案,谢谢

   baolqkun 
baolqkun发表的帖子 

 
; Send all the sequence to the slave (slave address + data (OUTPUT))

SENDDATA:
              ; send start bit
        CALL    STARTBIT        ; acquire bus and send slave address

              ; send slave address
        MOV     A, WRITEADD  ;写入PCF8563 
        CALL    SENDBYTE        ; sets NOACK if NACK received

        JB      NOACK, STOPSEND ; if no acknowledge send stop

              ; send OUTPUT byte
  MOV  A, SLAVEADD     
  CALL SENDBYTE  

        MOV     A, OUTPUT
        CALL    SENDBYTE        ; sets NOACK if NACK received

STOPSEND:  
        CALL    STOPBIT         ; sends stop bit
        JNB     NOACK, SENDRET  ; if slave sends NACK send error
        SETB    ERR             ; sets the error flag
SENDRET:
        RET
 
;____________________________________________________________________
                                                            ; RCVDATA
; receives one or more bytes of data from an I2C slave device.

RCVDATA:   
              ; send start bit
        CALL    STARTBIT        ; acquire bus and send slave address

              ; send slave address
     MOV     A, READADD  ;读取PCF8563的值
        CALL    SENDBYTE        ; sets NOACK if NACK received

  MOV  A, SLAVEADD
  CALL SENDBYTE 

        JB      NOACK, STOPRCV  ; Check for slave not responding.
        CALL    RCVBYTE         ; Receive next data byte.
        MOV     INPUT,A         ; Save data byte in buffer.

STOPRCV:
        CALL    STOPBIT
        JNB     NOACK, RCVRET   ; if slave sends NACK send error
        SETB    ERR             ; sets the error flag
RCVRET:
        RET

SENDBYTE ; Send 8-bits in ACC to the slave
RCVBYTE; receives one byte of data from an I2C slave device

不知道这样写对不对,但是现在读出的数据都是00
先送起始位,然后是读写地址,然后是从器件内部地址,然后是数据
应该没问题吧
就是搞不定

发表时间:2004年7月28日7:55:13

  
回复该帖

本主题共有 7 帖,分页:>>>>>该主题的所有内容[7]条

 *树形目录 只列出部分跟帖的标题以及简单的摘要信息 该主题的部分跟帖如下:

[上一篇帖子]:没错,一上电,所有寄存器都为0,然后自动开始计时.
[下一篇帖子]:嵌入式activex的问题[求助]研究在单片机中嵌入自己开发的activex,不知高手门有何实现方法