久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 221|回復: 1
打印 上一主題 下一主題
收起左側

采用STC15W408AS驅動pcf8563時鐘模塊,串口輸出數據,數據顯示不對

[復制鏈接]
跳轉到指定樓層
樓主
ID:1109828 發表于 2025-4-25 17:01 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
sbit SDA=P3^2;   //SDA口設置
sbit SCL=P3^3;   //SCL口設置



void delay()    //略微延時  6us約>4.7us
{
_nop_();
  _nop_();
   _nop_();
    _nop_();
         _nop_();
          _nop_();
}

void iic_start()   //啟動信號
{
  SDA=1;
  SCL=1;
  delay();
  SDA=0;
  delay();
  SCL=0;

}

void iic_stop()  //停止信號
{
SDA=0;
SCL=1;
delay();
SDA=1;
delay();
SCL=0;
}

void iic_ack()   //應答信號
{
uchar i=0;
SCL=1;
delay();
while((SDA==1)&&(i<255))
i++;
SCL=0;
delay();
}

void iic_send_byte(uchar bat)  //發送數據
{
uchar i,temp;
temp=bat;
for(i=0;i<=7;i++)
{
  temp=temp<<1;
  SCL=0;
  SDA=CY;
  delay();
  SCL=1;
  delay();
}
SCL=0;
delay();
SDA=1;
delay();
}

uchar iic_rev()  //接受數據
{
  uchar temp=0,i;
  SCL=0;
  delay();
  SDA=1;
  for(i=0;i<=7;i++)
  {
   SCL=1;
   delay();
   temp=(temp<<1)|SDA;
   SCL=0;
   delay();
  }
  delay();
  return temp;
}

void iic_send_add_byte(uchar add,uchar bat) //向某個地址發送某數據
{
iic_start();
iic_send_byte(0xa2);
iic_ack();
iic_send_byte(add);
iic_ack();
iic_send_byte(bat);
iic_ack();
iic_stop();
}


uchar iic_rec_add_byte(uchar add) //從某個地址讀出數據
{
   uchar temp;
   iic_start();
   iic_send_byte(0xa2);
   iic_ack();
   iic_send_byte(add);
   iic_ack();
   iic_start();
   iic_send_byte(0xa3);
   iic_ack();
   temp=iic_rev();
   iic_stop();
   return temp;
}



//-----------時間預設定值---------
void time_init()
{
                                        iic_send_add_byte(0x02,0x50);         //0秒
                                        iic_send_add_byte(0x03,0x59);         //0分鐘   
                                        iic_send_add_byte(0x04,0x23);          //0小時     
                               
         iic_send_add_byte(0x05,0x26);  //26號
         iic_send_add_byte(0x07,0x05);           //5月  20世紀的
         iic_send_add_byte(0x08,0x14);         //2014年
}


//----------------PCF8563初始化-----------------
void pcf_init()
{
        iic_send_add_byte(0x00,0x00);  //啟動時鐘
}

//----------------BCD轉10進制-----------
uchar bcd_dec(uchar bat)
{
uchar temp1,temp2,tol;
temp1=bat&0x0f;
temp2=(bat&0xf0)>>4;
tol=temp2*10+temp1;
return tol;
}

void Delay1000ms(void)        //@11.0592MHz
{
        unsigned char data i, j, k;

        _nop_();
        _nop_();
        i = 43;
        j = 6;
        k = 203;
        do
        {
                do
                {
                        while (--k);
                } while (--j);
        } while (--i);
}
uchar sec,min,hour,dat,moom,year,sec1,min1,hour1,dat1,moom1,year1;
void main(void) {
       
    Uart_init();
                Timer0_Init();
                    //P3M0 = 0x0c; P3M1 = 0x0c;

                 iic_send_add_byte(0x00,0x20);  // 關閉時鐘
  Delay1000ms();
         time_init();    //時鐘芯片初始時間設置
         pcf_init();
   Delay1000ms();


    while (1) {
                       
                           sec=0x7f&iic_rec_add_byte(0x02);    //讀取秒
         min=0x7f&iic_rec_add_byte(0x03);   //讀取分鐘
         hour=0x3f&iic_rec_add_byte(0x04);  //讀取小時
         dat=0x3f&iic_rec_add_byte(0x05);   //讀取天數
         moom=0x1f&iic_rec_add_byte(0x07);  //讀取月
         year=0xff&iic_rec_add_byte(0x08);    //讀取年
         sec1=bcd_dec(sec);                   //將讀取的BCD碼秒轉換成十進制秒以便運算
         min1=bcd_dec(min);
         hour1=bcd_dec(hour);
         dat1=bcd_dec(dat);
         moom1=bcd_dec(moom);
         year1=bcd_dec(year);
         //display_time(sec1,min1,hour1,dat1,moom1,year1);   //LCD1602顯示時間

                          // printf("%d-%d-%d %d-%d-%d\r\n",year1,moom1,dat1,hour1,min1,sec1);
                        printf("%d-%d-%d\r\n",hour1,min1,sec1);
                                Delay1000ms();
                                //printf("%d-%d-%d %d-%d-%d");
    }
}
執行以上程序輸出如下
5947-15104-0
0-0-0
0-256-0
0-512-0,麻煩大佬幫忙解答一下其中原因
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏1 分享淘帖 頂 踩
回復

使用道具 舉報

沙發
ID:108361 發表于 2025-4-27 19:26 | 只看該作者
先解決IIC通信的問題,讀8563的ID還是版本寄存器,確認通信正常
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 中文字幕av一区 | 97精品视频在线观看 | 日本不卡免费新一二三区 | 黄色片av| 国产在线精品一区 | av中文在线观看 | 久久久蜜臀国产一区二区 | 亚洲 中文 欧美 日韩 在线观看 | 国产亚洲精品久久午夜玫瑰园 | 成人av一区二区三区 | 7777在线视频免费播放 | 国产精品美女www爽爽爽视频 | 日韩一区二区不卡 | 69精品久久久久久 | 99精品视频免费在线观看 | 亚洲精品视频在线看 | 欧美影院 | 91资源在线| 欧美日韩一卡二卡 | 羞羞视频在线观看免费观看 | 精品国产乱码久久久久久丨区2区 | 久久99精品国产自在现线小黄鸭 | 天堂精品视频 | 国产欧美一区二区三区另类精品 | 成人做爰www免费看视频网站 | 瑟瑟视频在线看 | 欧美在线视频一区二区 | 亚洲一区二区三 | 一区二区三区在线 | 欧美精品一区二区三区四区五区 | 看av网 | 亚洲第一在线 | 亚洲一区二区三区免费在线观看 | 韩国久久精品 | 毛片一区二区三区 | 国产精品久久久久久久7777 | 亚洲性网| 亚洲精品9999久久久久 | 超碰97人人人人人蜜桃 | 欧美精品久久 | 丝袜 亚洲 另类 欧美 综合 |