成人午夜视频全免费观看高清-秋霞福利视频一区二区三区-国产精品久久久久电影小说-亚洲不卡区三一区三区一区

單片機(jī)常用芯片總結(jié)(二)——DS1302時(shí)鐘芯片-創(chuàng)新互聯(lián)

目錄
    • 一、芯片介紹
    • 二、芯片引腳定義
    • 三、寄存器定義
    • 四、命令字
    • 五、時(shí)序圖與數(shù)據(jù)讀寫(xiě)
      • 5.1 單字節(jié)寫(xiě)步驟(Write)
      • 5.2 單字節(jié)讀步驟(Read)
    • 六、BCD碼
      • 6.1 問(wèn)題描述
      • 6.2 問(wèn)題原因
      • 6.3 解決方案

讓客戶滿意是我們工作的目標(biāo),不斷超越客戶的期望值來(lái)自于我們對(duì)這個(gè)行業(yè)的熱愛(ài)。我們立志把好的技術(shù)通過(guò)有效、簡(jiǎn)單的方式提供給客戶,將通過(guò)不懈努力成為客戶在信息化領(lǐng)域值得信任、有價(jià)值的長(zhǎng)期合作伙伴,公司提供的服務(wù)項(xiàng)目有:域名與空間、虛擬空間、營(yíng)銷(xiāo)軟件、網(wǎng)站建設(shè)、五通橋網(wǎng)站維護(hù)、網(wǎng)站推廣。一、芯片介紹

DS1302是由美國(guó)DALLAS公司推出的具有涓細(xì)電流充電能力的低功耗實(shí)時(shí)時(shí)鐘芯片。它可以對(duì)年、月、日、周、時(shí)、分、秒進(jìn)行計(jì)時(shí),且具有閏年補(bǔ)償?shù)榷喾N功能。
RTC(Real Time Clock):實(shí)時(shí)時(shí)鐘,是一種集成電路,通常稱為時(shí)鐘芯片。

在這里插入圖片描述

二、芯片引腳定義

DS1302電路圖如下:
在這里插入圖片描述
其內(nèi)部結(jié)構(gòu)框圖如下:
在這里插入圖片描述

引腳名作用
VCC2主電源
VCC1備用電池
GND電源接地
X1,X232.768kHz晶振
CE芯片使能
IO數(shù)據(jù)輸入/輸出
SCLK串行時(shí)鐘
三、寄存器定義

相關(guān)寄存器如下:
在這里插入圖片描述
其中,第一行的CH表示時(shí)鐘暫??刂莆唬?表示時(shí)鐘暫停,置0表示時(shí)鐘靜止;倒數(shù)第二行的WP表示write protect(寫(xiě)保護(hù)),置1表示寫(xiě)入操作無(wú)效;最后一行的TCS用于控制涓流充電,一般不進(jìn)行設(shè)置,其他部分放在第四章進(jìn)行介紹。

四、命令字

命令字如下:
在這里插入圖片描述

  • 第0位表示讀還是寫(xiě)(置1表示讀,置0表示寫(xiě));
  • 第1-5位表示地址(秒地址為0,分鐘地址為10,…);
  • 第6位表示操作RAM還是時(shí)鐘CK(置1表示操作RAM,置0表示操作CK);
  • 第7位:固定為1;

舉個(gè)例子,對(duì)時(shí)鐘操作、秒地址操作、讀:
10000001(0x81)
對(duì)時(shí)鐘操作、秒地址操作、寫(xiě):
10000000(0x80)
這與上方第三章寄存器中的讀地址和寫(xiě)地址是對(duì)應(yīng)的。

五、時(shí)序圖與數(shù)據(jù)讀寫(xiě)

時(shí)序圖:
在這里插入圖片描述
三個(gè)引腳:CE(使能端)、SCLK(時(shí)鐘)和I/O(數(shù)據(jù))。

規(guī)定:在時(shí)鐘的上升沿,I/O口的數(shù)據(jù)將會(huì)被寫(xiě)入,在時(shí)鐘的下降沿,時(shí)鐘芯片的數(shù)據(jù)將會(huì)被讀出。

5.1 單字節(jié)寫(xiě)步驟(Write)

Step1:將CE置1;
Step2:命令字(I/O)發(fā)兩個(gè)字節(jié):第一個(gè)字節(jié)是命令字(先發(fā)最低位R/W),第二個(gè)字節(jié)是數(shù)據(jù);【一位一位依次發(fā)送】
Step3:SCLK給上升沿,將命令字最低位寫(xiě)入單片機(jī);
Step4:將SCLK置回0;
Step5:SCLK給上升沿,將命令字次低位寫(xiě)入單片機(jī);
Step6:將SCLK置回0;
…(依次循環(huán)8次)
Step7:SCLK給上升沿,將數(shù)據(jù)最低位寫(xiě)入單片機(jī);
Step8:將SCLK置回0;
Step9:SCLK給上升沿,將數(shù)據(jù)次低位寫(xiě)入單片機(jī);
Step10:將SCLK置回0;
…(依次循環(huán)8次)
Step11:將CE置0;
(每個(gè)上升沿寫(xiě)入數(shù)據(jù))

代碼示例:

//單字節(jié)寫(xiě),Command為命令字(地址),Data為要寫(xiě)入的數(shù)據(jù)
void DS1302_WriteByte(unsigned char Command,Data){unsigned char i;
	DS1302_CE=1;
	for(i=0;i<8;i++){DS1302_IO=Command&(0x01<DS1302_IO=Data&(0x01<
5.2 單字節(jié)讀步驟(Read)

Step1:將CE置1;
Step2:命令字(I/O)發(fā)兩個(gè)字節(jié):第一個(gè)字節(jié)是命令字(先發(fā)最低位R/W),第二個(gè)字節(jié)是數(shù)據(jù);【一位一位依次發(fā)送】
Step3:SCLK給上升沿,將命令字最低位寫(xiě)入單片機(jī);
Step4:將SCLK置回0;
Step5:SCLK給上升沿,將命令字次低位寫(xiě)入單片機(jī);
Step6:將SCLK置回0;
…(依次循環(huán)8次)
Step7:SCLK給下降沿,將數(shù)據(jù)最低位讀出;
Step8:將SCLK置回0;
Step9:SCLK給下降沿,將數(shù)據(jù)次低位讀出;
Step10:將SCLK置回0;
…(依次循環(huán)8次)
Step11:將CE置0;
Step12:將I/O置0;
(每個(gè)下降沿讀出數(shù)據(jù))

【注意】:需要注意的是,從上述時(shí)序圖中可以看出,單字節(jié)寫(xiě)(Write)有16個(gè)脈沖,而單字節(jié)讀(Read)只有15個(gè)脈沖,因?yàn)楫?dāng)最后一個(gè)命令字的上升沿之后的下降沿?cái)?shù)據(jù)馬上就讀出來(lái)了,如下圖所示。
在這里插入圖片描述
因此這里編寫(xiě)代碼時(shí)需要調(diào)整順序,對(duì)DS1302_SCLK先給0再給1,正好進(jìn)行切分:
在這里插入圖片描述

代碼示例:

//DS1302讀一個(gè)字節(jié),Command為命令字(地址),Data為讀出的數(shù)據(jù)
unsigned char DS1302_ReadByte(unsigned char Command){unsigned char i,Data=0x00;
	DS1302_CE=1;
	for(i=0;i<8;i++){DS1302_IO=Command&(0x01<DS1302_SCLK=1;
		DS1302_SCLK=0;
		if(DS1302_IO){Data=Data|(0x01<
六、BCD碼 6.1 問(wèn)題描述

Question:在利用DS1302進(jìn)行操作時(shí),假設(shè)我們對(duì)秒(0x80)寫(xiě)入初始值1(Data=0x01),每隔一秒它會(huì)進(jìn)行+1,但是當(dāng)它加到9之后,馬上變成16了,這是什么原因呢?
(1——>2——>…——>8——>9——>16——>17——>…)

這里要引入BCD碼的概念。
DS1302寄存器數(shù)據(jù)不是以二進(jìn)制進(jìn)行存儲(chǔ)的,而是以BCD碼進(jìn)行存儲(chǔ)的。
BCD碼(Binary Coded Decimal?),用4位二進(jìn)制數(shù)來(lái)表示1位十進(jìn)制數(shù)。

例:0001 0011表示13,1000 0101表示85,0001 1010不合法(因?yàn)?010無(wú)法表示十進(jìn)制數(shù))

在十六進(jìn)制中的體現(xiàn):0x13表示13,0x85表示85,0x1A不合法

6.2 問(wèn)題原因

現(xiàn)象的原因:在BCD碼中,0000 1001表示數(shù)字9,而0001 0000表示數(shù)字10,而0001 0000轉(zhuǎn)為十進(jìn)制數(shù)字為16,因此才會(huì)在這里造成突變。

再回過(guò)頭來(lái)看一下寄存器,0-3位存的是秒,4-6位存的是10秒。
在這里插入圖片描述

6.3 解決方案

DS1302寫(xiě)數(shù)據(jù)時(shí)需要將十進(jìn)制數(shù)據(jù)轉(zhuǎn)為BCD碼的形式,讀數(shù)據(jù)時(shí)需要將BCD碼轉(zhuǎn)為十進(jìn)制數(shù)據(jù)形式。
BCD碼轉(zhuǎn)十進(jìn)制:DEC=BCD/16*10+BCD%16; (2位BCD)
十進(jìn)制轉(zhuǎn)BCD碼:BCD=DEC/10*16+DEC%10; (2位BCD)

解釋?zhuān)築CD/16表示將數(shù)據(jù)的高四位取出(作為十位),BCD%16表示將低四位取出(作為個(gè)位)。


參考:以上相關(guān)圖片和資源均參考自DS1302時(shí)鐘芯片的數(shù)據(jù)手冊(cè),關(guān)于中英文相關(guān)數(shù)據(jù)手冊(cè)可以參考資源:https://download.csdn.net/download/didi_ya/85170337


ok,以上便是本文的全部?jī)?nèi)容了,如果對(duì)你有所幫助,記得點(diǎn)個(gè)贊喲~

你是否還在尋找穩(wěn)定的海外服務(wù)器提供商?創(chuàng)新互聯(lián)www.cdcxhl.cn海外機(jī)房具備T級(jí)流量清洗系統(tǒng)配攻擊溯源,準(zhǔn)確流量調(diào)度確保服務(wù)器高可用性,企業(yè)級(jí)服務(wù)器適合批量采購(gòu),新人活動(dòng)首月15元起,快前往官網(wǎng)查看詳情吧

當(dāng)前名稱:單片機(jī)常用芯片總結(jié)(二)——DS1302時(shí)鐘芯片-創(chuàng)新互聯(lián)
轉(zhuǎn)載注明:http://jinyejixie.com/article36/ddessg.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站內(nèi)鏈、企業(yè)建站網(wǎng)站設(shè)計(jì)、網(wǎng)站改版網(wǎng)站排名、外貿(mào)網(wǎng)站建設(shè)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

辽中县| 遂溪县| 云安县| 阜南县| 碌曲县| 喀喇| 丘北县| 喀喇| 丘北县| 江油市| 金山区| 晋城| 临夏市| 焦作市| 平阳县| 马关县| 安溪县| 长阳| 连城县| 五指山市| 平湖市| 天柱县| 和龙市| 洛扎县| 托克逊县| 青浦区| 固镇县| 南溪县| 米易县| 盐山县| 兴隆县| 鸡泽县| 武宁县| 深泽县| 辽宁省| 西和县| 石嘴山市| 青海省| 涟源市| 台江县| 建平县|