欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136
標題:
NXF8563驅動程序
[打印本頁]
作者:
1qaz2wsx77
時間:
2015-12-3 21:22
標題:
NXF8563驅動程序
在廢電路板上看到一個NXF8563,整下來研究了一下,發現這個論壇上關于這個的資料非常少,現在把整好的發出來,大家共同學習。這個時鐘片應該是和PCF8563是一樣的,只是封裝不同。
nxf8563.rar
2015-12-3 21:18 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
1.83 KB, 下載次數: 23, 下載積分: 黑幣 -5
時鐘驅動
作者:
admin
時間:
2015-12-3 22:34
謝謝樓主分享,我把樓主的主程序貼出來 為大家省點黑幣
#include "nxf8563.h"
#define uchar unsigned char
#define uint unsigned int
//uint year;
//uchar s,hour,min,sec,week,mon,day;
unsigned char time_buf1[8] = {20,15,10,1,8,8,8,6};//空年月日時分秒周
unsigned char time_buf[8] ; //空年月日時分秒周
/*----------------------------
延時微秒函數
-----------------------------*/
void delayus()
{
;
}
/*--------------------------------
NXF8563初始化
--------------------------------*/
void NXF8563_init()
{
sda=1;
delayus();
scl=1;
delayus();
write_add(0x00,0x00);
write_add(0x01,0x00);
write_add(0x02,0x57);
write_add(0x03,0x56);
write_add(0x04,0x09);
write_add(0x05,0x01);
write_add(0x06,0x02);
write_add(0x07,0x12);
write_add(0x08,0x15);
}
/*--------------------------
開始信號
--------------------------*/
void start()
{
sda=1;
delayus();
scl=1;
delayus();
sda=0;
delayus();
}
/*-----------------------
停止
-----------------------*/
void stop()
{
sda=0;
delayus();
scl=1;
delayus();
sda=1;
delayus();
}
/*-----------------------
應答
-------------------------*/
void respons()
{
uchar i;
scl=1;
delayus();
while((sda==1)&&(i<250))i++;
scl=0;
delayus();
}
/*------------------------------------
寫一個字節子函數
------------------------------------*/
void write_byte(uchar date)
{
uchar i,temp;
temp=date;
for(i=0;i<8;i++)
{
temp=temp<<1;
scl=0;
delayus();
sda=CY;
delayus();
scl=1;
delayus();
}
scl=0;
delayus();
sda=1;
delayus();
}
/*------------------------------------
讀一個字節函數
------------------------------------*/
uchar read_byte()
{
uchar i,k;
scl=0;
delayus();
sda=1;
delayus();
for(i=0;i<8;i++)
{
scl=1;
delayus();
k=(k<<1)|sda;
scl=0;
delayus();
}
return k;
}
/*--------------------------------------------------
往一個單元里寫內容函數
---------------------------------------------------*/
void write_add(uchar address,uchar date)
{
start();
write_byte(0xa2);
respons();
write_byte(address);
respons();
write_byte(date);
respons();
stop();
}
/*----------------------------------------------
讀一個單元的內容
---------------------------------------------*/
uchar read_add(uchar address)
{
uchar date;
start();
write_byte(0xa2);
respons();
write_byte(address);
respons();
start();
write_byte(0xa3);
respons();
date=read_byte();
stop();
return date;
}
/*------------------------------------------------
向nxf8563寫入時鐘數據
------------------------------------------------*/
void Write8563(void)
{
unsigned char i,tmp;
for(i=0;i<8;i++)
{ //BCD處理
tmp=time_buf1[i]/10;
time_buf[i]=time_buf1[i]%10;
time_buf[i]=time_buf[i]+tmp*16;
}
// write_add(0x00,0x00); //關閉寫保護
// write_add(0x01,0x00); //暫停
write_add(0x02,time_buf[6]); //秒
write_add(0x03,time_buf[5]); //分
write_add(0x04,time_buf[4]); //時
write_add(0x05,time_buf[3]); //日
write_add(0x06,time_buf[7]); //周
write_add(0x07,time_buf[2]); //月
write_add(0x08,time_buf[1]); //年
// write_add(0x00,0x00); //打開寫保護
}
/*-----------------------------------------
讀出時鐘數據
----------------------------------------*/
void read8563()
{
time_buf[6]=read_add(0x02); //秒
time_buf[5]=read_add(0x03); //分
time_buf[4]=read_add(0x04); //時
time_buf[3]=read_add(0x05); //日
time_buf[7]=read_add(0x06); //周
time_buf[2]=read_add(0x07); //月
time_buf[1]=read_add(0x08); //年
time_buf1[1]=time_buf[1]%16+(time_buf[1]/16)*10;
time_buf1[2]=(time_buf[2]&0x1f)%16+((time_buf[2]&0x1f)/16)*10;
time_buf1[3]=(time_buf[3]&0x3f)%16+((time_buf[3]&0x3f)/16)*10;
time_buf1[4]=(time_buf[4]&0x3f)%16+((time_buf[4]&0x3f)/16)*10;
time_buf1[5]=(time_buf[5]&0x7f)%16+((time_buf[5]&0x7f)/16)*10;
time_buf1[6]=(time_buf[6]&0x7f)%16+((time_buf[6]&0x7f)/16)*10;
time_buf1[7]=(time_buf[7]&0x07)%16+((time_buf[7]&0x07)/16)*10;
}
復制代碼
作者:
1qaz2wsx77
時間:
2015-12-4 07:15
感謝關注。這上面有個time_buf1[] 數組,是輸出十進制時鐘數據用的,可以方便地移植到其它的顯示程序中。感覺還算詳實。
作者:
1qaz2wsx77
時間:
2015-12-9 07:33
更正一下,那個片應該是NXP8563。貼片的,實在是太小,沒看清楚,對不起大家呀。
歡迎光臨 (http://www.raoushi.com/bbs/)
Powered by Discuz! X3.1