欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

標題: DS1302使用手冊縮減版 [打印本頁]

作者: 卓zz    時間: 2019-3-8 20:47
標題: DS1302使用手冊縮減版
DS1302使用手冊縮減版,自己整理的,帶例程。

實時時鐘(RTC)計秒、分、時、日期、月、星期和年,并且帶閏年,有效補償到2100年

寬范圍工作電壓

2.0V到5.5V,可選工業級溫度范圍:-40℃到+85℃
二、典型工作電路及外部引腳分布圖

                        

三、引腳描述

注:RST、I/O、SCLK視情況需要上拉電阻

小時寄存器(85h、84h)的位7用于定義 DS1302是運行于12小時模式還是24小時模式。當為高時,選擇12小時模式。在12小時模式時,位5是AM/PM,當為1時,表示 PM。(24小時寫入11:00--0x84,0x11;

12小時寫入11:00--0x84,0x91;

12小時寫入23:00--0x84,0xb1;)

秒寄存器(81h、80h)的位7定義為時鐘暫停標志(CH)當該位置為1時,時鐘振蕩器停止,DS1302處于低功耗狀態;當該位置為 0時,時鐘開始運行。

控制寄存器(8Fh、8Eh)的位7是寫保護位(WP),其它7位均置為0。在任何的對時鐘和 RAM 的寫操作之前,WP 位必須為0。當 WP 位為1時,寫保護位防止對任一寄存器的寫操作。

(write_1302(0x8e,0x00)-----禁止寫保護,就是關閉寫保護功能

write_1302(0x8e,0x00-----打開寫保護功能 )



位7:必須是1,如果它為0,則不能把數據寫入到 DS1302 中;

位5至位1(A4~A0):指示操作單元的地址;

位6:如果為0,則表示存取日歷時鐘數據,為1表示存取 RAM 數據;

位0:為0表示要進行寫操作,為1表示進行讀操作。

注:讀一個字節,SCLK=1,SCLK=0

寫一個字節,SCLK=0,SCLK=1

表中CE為文中的RST;

寫入時需要將十進制轉換成BCD碼

#程序參考#


  1. void write_byte(uchar dat)//寫一個字節
  2. {

  3.               ACC=dat;
  4.               RST=1;
  5.               for(a=8;a>0;a--)

  6.               {
  7.                             IO=ACC0;
  8.                             SCLK=0;
  9.                             SCLK=1;
  10.                             ACC=ACC>>1;
  11.               }
  12. }

  13. uchar read_byte()//讀一個字節

  14. {

  15.               RST=1;

  16.               for(a=8;a>0;a--)

  17.               {

  18.                             ACC7=IO;
  19.                             SCLK=1;
  20.                             SCLK=0;
  21.                             ACC=ACC>>1;



  22.               }

  23.               return (ACC);

  24. }

  25. //-----------------------------------------------------------------------------------------------------------------------

  26. void write_1302(uchar add,uchar dat)//向1302芯片寫數據函數,寫入指定地址、數據

  27. {
  28.               RST=0;
  29.               SCLK=0;
  30.               RST=1;
  31.               write_byte(add);  //寫入地址
  32.               write_byte(dat);  //寫入數據
  33.               SCLK=1;         //視情況決定寫不寫
  34.               RST=0;
  35. }

  36. uchar read_1302(uchar add)//向1302芯片讀數據函數



  37. {
  38.               uchar temp;
  39.               RST=0;
  40.               SCLK=0;
  41.               RST=1;
  42.               write_byte(add);    //讀地址
  43.               temp=read_byte();  //讀數據
  44.               SCLK=1;           //視情況決定寫不寫



  45.               RST=0;
  46.               return(temp);
  47. }
復制代碼

完整的Word格式文檔51黑下載地址:
DS1302使用手冊縮減版.docx (328.51 KB, 下載次數: 11)






歡迎光臨 (http://www.raoushi.com/bbs/) Powered by Discuz! X3.1