导航: 老古网老古论坛XMOS公共讨论区XMOS开源项目区单片机程序设计嵌入式系统广告区域
→pcf8563设置问题[baolqkun]

 *第24156篇: pcf8563设置问题

  
楼 主:baolqkun 2004年7月27日15:27
 pcf8563设置问题
我想问一下PCF8563,
用之前必须设置时间吗???(包括年月日,时分秒,星期)
还有,
PCF8563是不是接上电
就应该是工作的??
如果不设置
也可以读取到时间
只不过是对不对的问题

  
2楼:baolqkun 2004年7月27日16:49
 ??????
??????
  
3楼:荒原野草 2004年7月28日08:27
 没错,一上电,所有寄存器都为0,然后自动开始计时.
  
4楼:longxiuwei 2004年7月29日13:41
 不对!!上电没设置是时钟不会自动运行的···!!!!!!
  
5楼:longxiuwei 2004年7月29日13:48
 应该自动运行!我发错了!!!!!!
  
6楼:baolqkun 2004年7月28日15:23
 跟PCF8563通信的时序是不是如下:
跟PCF8563通信的时序是不是如下:
发送起始位
发送从器件地址
发送寄存器地址
然后是数据.

我想得到确定的答案

  
7楼:longxiuwei 2004年7月29日12:58
 我就是你说的那过程写的!!
  
8楼:荒原野草 2004年7月29日08:00
 时序
写:
发送起始位
发送从器件地址(写)
发送寄存器地址
然后发送数据.
读:
发送起始位
发送从器件地址(写)
发送寄存器地址
发送起始位
发送从器件地址(读)
然后接受数据.
  
9楼:longxiuwei 2004年7月29日13:02
 现在问题是时序都好着!可第一次读的数据有问题!!断电后在上电!读出来的是正确的!!
  
10楼:baolqkun 2004年7月29日13:10
 你说的是你的程序有问题?
还是我的程序

你说的是你的程序有问题?
还是我的程序有问题?
  
11楼:guest 2004年7月29日11:37
 [quote][b]以下是引用[i]ba
以下是引用baolqkun在2004-7-29 10:32:14的发言:
我的程序,应该没问题吧; 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

               
   MOV A, SLAVEADD      ; PCF8563的内部寄存器地址
   CALL SENDBYTE  
          ; send OUTPUT byte
         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, WRITEADD  ; PCF8563的写地址
         CALL    SENDBYTE        ; sets NOACK if NACK received

   MOV  A, SLAVEADD  ; 寄存器地址
   CALL SENDBYTE 
   
   MOV  A,READADD  ;PCF8563的读地址
   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
 


听朋友说,用汇编的才是高手,可我老觉汇编程序看都看不懂啊

  
12楼:longxiuwei 2004年7月29日13:25
 复位后!状态位位高!其他为0。不设置也可以读出“0”,但时钟不会运行!
  
13楼:longxiuwei 2004年7月29日13:34
 内不自带复位电路!1!!第一次上电读出秒有问题
现在第一次上电读出秒有问题,要马上断电在上电读出来是对的!!!我先设置了时间在去读的1!
  
14楼:longxiuwei 2004年7月29日13:46
 我先设置在读的!!1
是的接的是上电!可我看了资料!但读出的数据秒不对!!!!高位不对!低位是在变动读出来是对的···!!!!
  
15楼:longxiuwei 2004年7月29日13:50
 我在用之前先设置时间!!在去读的!
我在用之前先设置时间!!在去读的!在显示出来!可现在在秒寄存器上有问题!高位错低位对!!!其他寄存器都对的!!接的是上电!!1

>>>>>>对该主题发表你的看法

本主题贴数15,分页: [第1页]


[上一篇主题]:我要跳楼了!!!25045的问题!急死我了!!!!!

[下一篇主题]:24C02的烧写程序该用什么程序打开编辑啊!