資源簡介
DS3231官方資料,采用官方的8051微控制器DS2250作為主控芯片,資源中提供官方例程、電路原理圖、中文數據手冊,開發者可以方便的修改程序

代碼片段和文件信息
/***************************************************************************/
/*?DEMO3231.C??????????????????????????????????????????????????????????????*/
/***************************************************************************/
#include???????????????????????/*?Prototypes?for?I/O?functions?*/
#include??????????????????????/*?Register?declarations?for?DS5000?*/
/*************************?bit?definitions?****************************/
sbit????scl?=?P0^0;?????????????/*?I2C?pin?definitions?*/
sbit????sda?=?P0^1;
sbit????E?=?P1^0;???????????????/*?DCM?LCD?module?control?signal?definitions?*/
sbit????RS?=?P1^1;
sbit????RW?=?P1^2;
sbit????CLK?=?P2^5;?????????????/*?DS1267?control?signal?definitions?*/
sbit????RSTb?=?P2^6;
sbit????DQ?=?P2^7;
sbit????int0?=?P3^2;
/****************************?defines?*******************************/
#define?ADDRTC??0xd0????/*?DS3231?slave?address?(write)?*/
#define?ACK?????0
#define?NACK????1
/***********************?Function?Prototypes?**************************/
void????start();
void????stop();
uchar???i2cwrite(uchar?d);
uchar???i2cread(char);
void????wr_dsp_dat(uchar);
void????wr_dsp_ins(uchar);
uchar???rd_dsp_ins();
void????hex2asc(uchar);
void????dsp_adj(uchar?pos);
void????init_dsp();
void????writebyte();
void????initialize_DS3231();
void????disp_regs();
void????rd_temp();
void????frq_out_tog();
void????init_alrm();
void????comm_init();
/*************************?Global?Variables?***************************/
xdata???uchar???sec?min?hr?dy?dt?mn?yr;
/****************************?functions?******************************/
void?start()????????????/*?---------?Initiate?start?condition?----------?*/
{
????????sda?=?1;??scl?=?1;
????????sda?=?0;?
}
void?stop()?????????????/*?----------?Initiate?stop?condition?-----------?*/
{
????????sda?=?0;??sda?=?0;
????????scl?=?1;??scl?=?1;??sda?=?1;
}
uchar?i2cwrite(uchar?d)?????????/*?-----------------------------?*/
{
uchar?i;
????????scl?=?0;
????????for?(i?=?0;i?8;?i++)
????????{
????????????????if?(d?&?0x80)
????????????????????????sda?=?1;?/*?Send?the?msbits?first?*/
????????????????else
????????????????????????sda?=?0;
????????????????scl?=?0;
????????????????scl?=?1;
????????????????d?=?d?<1;?????/*?do?shift?here?to?increase?scl?high?time?*/
????????????????scl?=?0;
????????}
????????sda?=?1;????????/*?Release?the?sda?line?*/
????????scl?=?0;
????????scl?=?1;
????????i?=?sda;
????????if?(i)?printf(“Ack?bit?missing??%02X\n“(unsigned?int)d);
????????scl?=?0;
????????return(i);
}
uchar?i2cread(char?b)???/*?-----------------------------------?*/
{
uchar?i?d;
????????d?=?0;
????????sda?=?1;?????????????/*?Let?go?of?sda?line?*/
????????scl?=?0;
????????for?(i?=?0;?i?8;?i++)?/*?read?the?msb?first?*/
????????{
????????????????scl?=?1;
????????????????d?=?d?<1;
????????????????d?=?d?|?(unsigned?char)sda;
????????????????scl?=?0;
????????}
????????sda?=?b;??????????/*?low?for?ack?high?for?nack?*/
????????scl?=?1;
????????scl?=?0;
????????sda?
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件??????37376??2014-08-17?23:41??應用筆記3506.doc
?????文件?????108638??2014-08-17?23:35??3506Fig02.pdf
?????文件??????15325??2014-08-17?23:32??AN3506_software.c
?????文件????1484415??2014-08-17?23:37??DS3231_cn.pdf
-----------?---------??----------?-----??----
??????????????1645754????????????????????4
評論
共有 條評論