DS1302時鐘芯片 一、硬件簡介: 1、DS1302是一種高性能、低功耗的實時時鐘芯片,附加31字節靜態RAM,采用SPI三線接口與CPU進行通信,并可采用突發方式一次傳送多個字節的時鐘信號和RAM數據。實時時鐘可提供秒、分、時、日、月、星期和年,一個月小與31天時可以自動調整,且具有閏年補償功能。工作電壓寬達2.5~5.5V。采用雙電源供電(主電源和備用電源),可設置備用電源充電方式,提供了對后備電源進行涓細電流充電的能力。 2、HC6800—ES—V2.0電路圖
1.jpg (28.14 KB, 下載次數: 33)
下載附件
2018-1-14 08:46 上傳
3、芯片管腳說明: 1腳:芯片備用電源,可以用電池或大容量電容供電,在主電源掉電時,仍可以工作計時。 2、3腳:外部晶振接口。芯片就是根據這個晶振的頻率進行計時的。 4腳:接地。 5腳:芯片使能信號,由主機控制,高電平有效。 6腳:與主機的數據交流口。 7腳:數據傳輸時鐘,由主機控制。 8腳:芯片主電源。 二、與控制芯片的相關的知識: 1、SPI總線通訊協議: SPI接口的全稱是“Serial Peripheral Interface”,意為串行外圍接口。SPI接口是在CPU和外圍低速器件之間進行同步串行數據傳輸,在主器件的移位脈沖下,數據按位傳輸,低位在前,高位在后;時鐘上升沿主機發送數據,下降沿從機接收數據(與595類似)。 DS1302時鐘芯片,有1個控制寄存器,12個日歷、時鐘寄存器,31個RAM可以進行讀寫操作,只要能操作上述寄存器,就可以控制這塊芯片了。 2、控制寄存器: 控制寄存器用于存放DS1302的控制命令字節,DS1302的CE引腳回到高電平后寫入的第一個字就為控制命令。它用于對DS1302讀寫過程進行控制,它的格式如下: RAM/CK:1——對RAM操作,0——對時鐘寄存器進行操作。 R/W:1——讀操作,0——寫操作。 A4~A0:地址,如下表: 3、時鐘寄存器: 說明:
2.jpg (15 KB, 下載次數: 50)
下載附件
2018-1-14 08:46 上傳
(1)時鐘數據,都是以BCD碼形式保存。 BCD碼是通過4位二進制碼來表示1位十進制中的0~9這10個數碼。二進制碼轉換為BCD碼的方式為:4位二進制碼大于1001時,加6(即110)。 (2)小時寄存器的D7位為12小時制/24小時制的選擇位,當為1時選12小時制,當為0時選24小時制。當12小時制時,D5位為0是上午,D5位為1是下午,D4為小時的十位。當24小時制時,D5、D4位為小時的十位。 (3)秒寄存器中的CH位為時鐘暫停位,當為1時鐘暫停,為0時鐘開始啟動。 (4)寫保護寄存器中的WP為寫保護位,當WP=1,寫保護,當WP=0未寫保護,當對日歷、時鐘寄存器或片內RAM進行寫時WP應清零,當對日歷、時鐘寄存器或片內RAM進行讀時WP一般置1。
3.jpg (10.22 KB, 下載次數: 28)
下載附件
2018-1-14 08:46 上傳
4.jpg (13.17 KB, 下載次數: 34)
下載附件
2018-1-14 08:46 上傳
(5)慢充電寄存器的TCS位為控制慢充電的選擇,當它為1010才能使慢充電工作。DS為二極管選擇位。DS為01選擇一個二極管,DS為10選擇二個二極管,DS為11或00充電器被禁止,與TCS無關。RS用于選擇連接在VCC2與VCC1之間的電阻,RS為00,充電器被禁止,與TCS無關,電阻選擇情況見表。 三、讀寫數據編程: DS1302是通過SPI串行總線跟單片機通信的,當進行一次讀寫操作時最少得讀寫兩個字節,第一個字節是控制字節,就是一個命令(單字節讀寫時),告訴DS1302是讀還是寫操作,是對RAM還是對CLOK寄存器操作。第二個字節就是要讀或寫的數據了。 1、單字節讀: 單字節讀:只有在SCLK為低電平時,才能將CE置為高電平。所以在進行操作之前先將SCLK置低電平,然后將CE置為高電平,接著開始在IO上面放入要傳送的電平信號,然后跳變SCLK。數據在SCLK上升沿時,DS1302讀取數據,在SCLK下降沿時,DS1302放置數據到IO上 詳見例子程序。 2、單字節寫: 單字節寫:只有在SCLK為低電平時,才能將RST置為高電平。說以在進行操作之前先將SCLK置低電平,然后將RST置為高電平,開始在IO上面放入要傳送的電平信號,然后跳變SCLK。數據在SCLK上升沿時,DS1302讀取數據,在SCLK下降沿時,DS1302放置數據到IO上 詳見例子程序。 3、常見命令、地址集合:
5.jpg (60.41 KB, 下載次數: 42)
下載附件
2018-1-14 08:46 上傳
|