久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费
標題:
采用STC15W408AS驅動pcf8563時鐘模塊,串口輸出數據,數據顯示不對
[打印本頁]
作者:
LZC_action
時間:
2025-4-25 17:01
標題:
采用STC15W408AS驅動pcf8563時鐘模塊,串口輸出數據,數據顯示不對
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,麻煩大佬幫忙解答一下其中原因
作者:
powerdruy
時間:
2025-4-27 19:26
先解決IIC通信的問題,讀8563的ID還是版本寄存器,確認通信正常
歡迎光臨 (http://m.zg4o1577.cn/bbs/)
Powered by Discuz! X3.1
主站蜘蛛池模板:
不卡在线视频
|
日本成人久久
|
精品一区二区三区中文字幕
|
色婷婷香蕉在线一区二区
|
日韩高清在线
|
欧美又大又硬又粗bbbbb
|
免费的黄色小视频
|
国产精自产拍久久久久久蜜
|
亚洲激情久久
|
免费在线观看www
|
日韩网站在线观看
|
一区二区三区在线播放
|
欧美激情在线观看
|
国产精品久久久久久久成人午夜
|
一级黄毛片
|
激情导航
|
亚色网站
|
日日夜夜天天操
|
亚洲精品1区2区
|
亚洲国产精品久久久久久久
|
日韩一区二区免费视频
|
欧美专区第一页
|
欧美激情网
|
日本香蕉视频
|
欧美网站在线观看
|
国产精品高潮呻吟
|
一区在线观看
|
av影片在线观看
|
日韩在线网址
|
日本色婷婷
|
久久九九精品
|
国产999视频
|
久久国产精品视频
|
91久久精品日日躁夜夜躁欧美
|
中文字幕无人区二
|
日本黄色免费视频
|
精品乱子伦一区二区三区
|
成人av资源
|
六月激情
|
久久精品导航
|
日韩欧美精品一区二区
|