91欧美超碰AV自拍|国产成年人性爱视频免费看|亚洲 日韩 欧美一厂二区入|人人看人人爽人人操aV|丝袜美腿视频一区二区在线看|人人操人人爽人人爱|婷婷五月天超碰|97色色欧美亚州A√|另类A√无码精品一级av|欧美特级日韩特级

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

STC單片機控制DS1302程序 (C程序)

算法&編程學(xué)院 ? 來源:網(wǎng)絡(luò)整理 ? 2018-02-03 03:14 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

#include"REG51.H"

#include"INTRINS.H"

typedefunsignedcharBYTE;

sbitSCLK=P1^0;//DS1302時鐘口P1.0

sbitIO=P1^1;//DS1302數(shù)據(jù)口P1.1
sbitRST=P1^2;//DS1302片選口P1.2

//秒分時日月星期年
BYTEcodeinit[]={0x00,0x00,0x20,0x01,0x01,0x05,0x10};
BYTEdatanow[7];

voidDS1302_Initial();
voidDS1302_SetTime(BYTE*p);
voidDS1302_GetTime(BYTE*p);

voidmain()
{
DS1302_Initial();//初始化DS1302
DS1302_SetTime(init);//設(shè)置初始時間

DS1302_GetTime(now);//讀取當(dāng)前時間
while(1);
}

/**************************************
延時X微秒(STC12C5A60S2@12M)
不同的工作環(huán)境,需要調(diào)整此函數(shù)
此延時函數(shù)是使用1T的指令周期進行計算,與傳統(tǒng)的12T的MCU不同
**************************************/
voidDelay()
{
_nop_();
_nop_();
}

/**************************************
從DS1302讀1字節(jié)數(shù)據(jù)
**************************************/
BYTEDS1302_ReadByte()
{
BYTEi;
BYTEdat=0;

for(i=0;i>=1;//數(shù)據(jù)右移一位
if(IO)dat|=0x80;//讀取數(shù)據(jù)
SCLK=1;//時鐘線拉高
Delay();//延時等待
}

returndat;
}

/**************************************
向DS1302寫1字節(jié)數(shù)據(jù)
**************************************/
voidDS1302_WriteByte(BYTEdat)
{
chari;

for(i=0;i>=1;//移出數(shù)據(jù)
IO=CY;//送出到端口
SCLK=1;//時鐘線拉高
Delay();//延時等待
}
}

/**************************************
讀DS1302某地址的的數(shù)據(jù)
**************************************/
BYTEDS1302_ReadData(BYTEaddr)
{
BYTEdat;

RST=0;
Delay();
SCLK=0;
Delay();
RST=1;
Delay();
DS1302_WriteByte(addr);//寫地址
dat=DS1302_ReadByte();//讀數(shù)據(jù)
SCLK=1;
RST=0;

returndat;
}

/**************************************
往DS1302的某個地址寫入數(shù)據(jù)
**************************************/
voidDS1302_WritEDAta(BYTEaddr,BYTEdat)
{
RST=0;
Delay();
SCLK=0;
Delay();
RST=1;
Delay();
DS1302_WriteByte(addr);//寫地址
DS1302_WriteByte(dat);//寫數(shù)據(jù)
SCLK=1;
RST=0;
}

/**************************************
寫入初始時間
**************************************/
voidDS1302_SetTime(BYTE*p)
{
BYTEaddr=0x80;
BYTEn=7;

DS1302_WriteData(0x8e,0x00);//允許寫操作
while(n--)
{
DS1302_WriteData(addr,*p++);
addr+=2;
}
DS1302_WriteData(0x8e,0x80);//寫保護
}

/**************************************
讀取當(dāng)前時間
**************************************/
voidDS1302_GetTime(BYTE*p)
{
BYTEaddr=0x81;
BYTEn=7;

while(n--)
{
*p++=DS1302_ReadData(addr);
addr+=2;
}
}

/**************************************
初始化DS1302
**************************************/
voidDS1302_Initial()
{
RST=0;
SCLK=0;
DS1302_WriteData(0x8e,0x00);//允許寫操作
DS1302_WriteData(0x80,0x00);//時鐘啟動
DS1302_WriteData(0x90,0xa6);//一個二極管+4K電阻充電
DS1302_WriteData(0x8e,0x80);//寫保護
}

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 單片機
    +關(guān)注

    關(guān)注

    6076

    文章

    45501

    瀏覽量

    670638
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點推薦

    PIC單片機控制時鐘芯片DS1302匯編程序

    PIC單片機控制時鐘芯片DS1302匯編程序
    發(fā)表于 05-24 09:56 ?1957次閱讀

    單片機制作RTC實時時鐘(DS1302)程序C語言版】

    單片機制作RTC實時時鐘(DS1302)程序C語言版】,感興趣的可以看看。
    發(fā)表于 12-30 13:48 ?0次下載

    基于單片機的綜合應(yīng)用程序ds1302送1602【C語言】

    基于單片機的綜合應(yīng)用程序ds1302送1602【C語言】
    發(fā)表于 01-06 14:22 ?6次下載

    基于單片機的綜合應(yīng)用程序ds1302送1602【C語言】顯示時

    基于單片機的綜合應(yīng)用程序ds1302送1602【C語言】 顯示時間
    發(fā)表于 01-06 14:21 ?4次下載

    基于單片機的綜合應(yīng)用程序ds1302送1602_C語言_顯示日期

    基于單片機的綜合應(yīng)用程序ds1302送1602【C語言】 顯示日期和時間
    發(fā)表于 01-06 14:20 ?7次下載

    51單片機DS1302實時時鐘驅(qū)動程序

    本文首先闡述了ds1302引腳及功能,其次介紹了DS1302控制字節(jié)及電路圖,最后詳細介紹了51單片機DS1302實時時鐘驅(qū)動
    發(fā)表于 05-15 08:45 ?1w次閱讀
    51<b class='flag-5'>單片機</b><b class='flag-5'>DS1302</b>實時時鐘驅(qū)動<b class='flag-5'>程序</b>

    使用單片機應(yīng)用DS1302的時鐘程序免費下載

    本文檔的主要內(nèi)容詳細介紹的是使用單片機應(yīng)用DS1302的時鐘程序免費下載。
    發(fā)表于 08-20 17:31 ?8次下載
    使用<b class='flag-5'>單片機</b>應(yīng)用<b class='flag-5'>DS1302</b>的時鐘<b class='flag-5'>程序</b>免費下載

    51單片機DS1302時鐘驅(qū)動程序免費下載

    本文檔的主要內(nèi)容詳細介紹的是51單片機DS1302時鐘驅(qū)動程序免費下載。
    發(fā)表于 07-10 17:40 ?16次下載
    51<b class='flag-5'>單片機</b>的<b class='flag-5'>DS1302</b>時鐘驅(qū)動<b class='flag-5'>程序</b>免費下載

    使用51單片機DS1302芯片設(shè)計的LED時鐘的C語言程序和工程文件

    本文檔的主要內(nèi)容詳細介紹的是使用51單片機DS1302芯片設(shè)計的LED時鐘的C語言程序和工程文件免費下載。
    發(fā)表于 09-03 08:00 ?8次下載
    使用51<b class='flag-5'>單片機</b>和<b class='flag-5'>DS1302</b>芯片設(shè)計的LED時鐘的<b class='flag-5'>C</b>語言<b class='flag-5'>程序</b>和工程文件

    基于51單片機多功能時鐘DS1302仿真設(shè)計(包含源程序及仿真)

    基于51單片機多功能時鐘DS1302仿真設(shè)計,資料包含源程序及仿真文件
    發(fā)表于 04-20 16:28 ?32次下載

    基于單片機控制DS1302時鐘帶VB上位包含proteus仿真

    基于單片機控制DS1302時鐘帶VB上位包含proteus仿真源程序
    發(fā)表于 04-20 15:40 ?3次下載

    基于89C51單片機的1602液晶顯示DS1302時鐘源程序

    基于89C51單片機的1602液晶顯示DS1302時鐘源程序
    發(fā)表于 05-16 10:27 ?7次下載

    基于89C51單片機DS1302時鐘原理源程序

    基于89C51單片機DS1302 時鐘原理源程序
    發(fā)表于 05-16 10:05 ?11次下載

    基于89C51單片機DS1302可調(diào)時鐘源程序

    基于89C51單片機DS1302可調(diào)時鐘源程序
    發(fā)表于 05-16 10:05 ?3次下載

    基于89C51單片機DS1302時鐘串口自動更新時間源程序

    基于89C51單片機DS1302時鐘串口自動更新時間源程序
    發(fā)表于 05-16 10:04 ?1次下載