找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開始

搜索
查看: 38382|回復(fù): 104
收起左側(cè)

OLED_12864萬年歷+DS3231+紅外或按鍵控制

  [復(fù)制鏈接]
ID:108715 發(fā)表于 2017-2-18 09:55 | 顯示全部樓層 |閱讀模式
前兩個(gè)月淘寶瞎買買,買個(gè)DS3231,查資料知道是個(gè)高精度芯片,官方數(shù)據(jù)說年誤差2分鐘。難怪以前1302才用一個(gè)月就發(fā)現(xiàn)時(shí)間不對(duì),對(duì)晶振要求高。
然后就是找資料,套公式一樣的移植,讓我看時(shí)序圖啥的自己寫,還不如直接殺了我。
資料找了好久,關(guān)于3231的很少,找了好久終于找了個(gè)理想的資料。
然后先是在MAX7219數(shù)碼管上移植用,遙控啥的都挺好,然后沒事干瞎逛逛淘寶,看到OLED挺便宜的,而且小巧,所以入手了一塊。
接著問題又來了。買oled送的資料是靜態(tài)顯示的,不會(huì)動(dòng)態(tài)的,所以再找資料,可是既然找不到,沒辦法,只能花錢淘寶買資料。
整個(gè)淘寶既然只有區(qū)區(qū)三四家賣,而且還是DS1302的,界面也簡(jiǎn)單,最后隨便買了一家,在各種移植,最后再根據(jù)自己需要修改。

現(xiàn)在開源給大家,給大家參考學(xué)習(xí)用。
另外很不明白,3231和1302價(jià)格也差不了多少,3231也早就有了,怎么都沒什么人用,資料很少。
很鄙視在論壇上只傳圖片不傳資料的人,這是論壇,學(xué)習(xí)交流用的,不是裝逼用的。要裝逼去淘寶。

各位裝逼的誤噴,實(shí)話實(shí)說。
對(duì)了,由于3231資料少,手頭只有沒有鬧鐘的資料,上次在本論壇找到的一個(gè)有鬧鐘的資料還是有問題的,只有鬧鐘2響,1沒反應(yīng)的,所以鬧鐘就不移植了。想試試的可以論壇找找,1602顯示的。如果找出毛病了記得說下哦,相互學(xué)習(xí)。

05.png 04.png 03.png 02.png 01.png

OLED 原理圖:
OLED 原理圖.jpg
紅外遙控接收頭  接  P3.3

DS3231 SDA 接 P0.0
DS3231 SCL 接 P0.1


OLED12864 SCL 接 P1.3
OLED12864 SCL 接 P1.3

可根據(jù)具體需要自行更改

部分源碼預(yù)覽:
  1. /*****************************************************************************************************
  2. ********************************************頭文件、宏定義********************************************
  3. *****************************************************************************************************/
  4. #include <reg52.h>                //oled_12864_IIC連接+DS3231時(shí)鐘模塊+紅外遙控和按鍵+STC90C516RD+
  5. #include <intrins.h>                //年 月 日 時(shí) 分 秒 星期 溫度顯示  溫度來源DS3231,64S刷新一次
  6. #define uint unsigned int        //年誤差+- 2min
  7. #define uchar unsigned char
  8. /*****************************************************************************************************
  9. **********************************************按鍵定義************************************************
  10. *****************************************************************************************************/
  11. sbit key1=P0^4;        //設(shè)置
  12. sbit key2=P0^5;        //加
  13. sbit key3=P0^6;        //減
  14. sbit key4=P0^7;        //確定
  15. sbit laba=P3^7;        //喇叭
  16. /*****************************************************************************************************
  17. ********************************************紅外遙控定義**********************************************
  18. *****************************************************************************************************/
  19. #define Imax 14000//此處為晶振為11.0592時(shí)的取值,   //時(shí)間計(jì)算          //紅外接口P3.3
  20. #define Imin 8000 //如用其它頻率的晶振時(shí),
  21. #define Inum1 1450//要改變相應(yīng)的取值。
  22. #define Inum3 3000
  23. #define Inum2 700

  24. uchar f;
  25. uchar IrOK;
  26. unsigned long m,Tc;
  27. uchar Im[4]={0x00,0x00,0x00,0x00};
  28. /*****************************************************************************************************
  29. *******************************************DS3231變量定義*********************************************
  30. *****************************************************************************************************/
  31. sbit DS3231_IIC_SDA=P0^0;
  32. sbit DS3231_IIC_SCL=P0^1;
  33. uchar RTC_Data[8];
  34. uchar RTC_Data1[8];
  35. uchar RTC_Set_ID;
  36. code uchar rtc_address[8]={0x00,0x01,0x02,0x04,0x05,0x03,0x06,0x11};//秒分時(shí)日月周年 最低位讀寫位
  37. /*****************************************************************************************************
  38. *******************************************OLED12864定義**********************************************
  39. *****************************************************************************************************/
  40. sbit oled_SCL=P1^3;                                                                  //串行時(shí)鐘
  41. sbit oled_SDA=P1^2;                                                                 //串行數(shù)據(jù)
  42. uchar display_buff[16];                                                         //時(shí)間顯示數(shù)組
  43. /*****************************************************************************************************
  44. *********************************************變量定義*************************************************
  45. *****************************************************************************************************/
  46. bit T0_Flag;                                                                         //定時(shí)器T01ms標(biāo)志位
  47. bit laba_flag;                                                                         //蜂鳴器標(biāo)志位
  48. bit Open_Flag;                                                                         //蜂鳴器標(biāo)志位
  49. bit RTC_Save_Flag;                                                                   //設(shè)置時(shí)間標(biāo)志位
  50. bit shezhi_display_flag;

  51. void delayms(uint x);                                                         //延時(shí)函數(shù)
  52. void display1();                                                                 //顯示函數(shù)
  53. void display2();
  54. void OLED_12864_Write_commomand(uint dat);                 //命令
  55. void OLED_12864_Write_data(uint dat);                         //數(shù)據(jù)
  56. void OLED_12864_Init();                                                         //初始化
  57. void OLED_Fill(uchar bmp_dat);                                         //屏幕填充
  58. void OLED_SetPos(uchar x, uchar y);                                 //起始坐標(biāo)
  59. void OLED_8x16Str(uchar x, uchar y, uchar ch);         //8*16的點(diǎn)陣
  60. void OLED_16x16CN(uchar x, uchar y, uchar N);         //16*16的點(diǎn)陣
  61. void OLED_16x32(uchar x, uchar y, uchar ch);

  62. void Time_Fun();                                                                 //時(shí)基、走時(shí)函數(shù)
  63. void DS3231_Read_time();                                                 //讀取時(shí)間
  64. void DS3231_write_time();                                                 //寫入時(shí)間
  65. void KeyDataProcess();                                                         //鍵值處理函數(shù)
  66. void DS3231_Init();                                                                 //時(shí)間模塊初始化
  67. /*****************************************************************************************************
  68. ******************************************OLED12864點(diǎn)陣數(shù)組*******************************************
  69. *****************************************************************************************************/
  70. uchar code F16x16[]=
  71. {
  72. 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  73. 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,//"不顯示",0
  74.                                                                                                                                                                        
  75. 0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x00,
  76. 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,//"一",1
  77.        
  78. 0x00,0x00,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x00,0x00,0x00,
  79. 0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x00,//"二",2
  80.        
  81. 0x00,0x04,0x84,0x84,0x84,0x84,0x84,0x84,0x84,0x84,0x84,0x84,0x84,0x04,0x00,0x00,
  82. 0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x00,//"三",3

  83. 0x00,0xFC,0x04,0x04,0x04,0xFC,0x04,0x04,0x04,0xFC,0x04,0x04,0x04,0xFC,0x00,0x00,
  84. 0x00,0x7F,0x28,0x24,0x23,0x20,0x20,0x20,0x20,0x21,0x22,0x22,0x22,0x7F,0x00,0x00,//"四",4

  85. 0x00,0x02,0x42,0x42,0x42,0xC2,0x7E,0x42,0x42,0x42,0x42,0xC2,0x02,0x02,0x00,0x00,
  86. 0x40,0x40,0x40,0x40,0x78,0x47,0x40,0x40,0x40,0x40,0x40,0x7F,0x40,0x40,0x40,0x00,//"五",5

  87. 0x20,0x20,0x20,0x20,0x20,0x20,0x21,0x22,0x2C,0x20,0x20,0x20,0x20,0x20,0x20,0x00,
  88. 0x00,0x40,0x20,0x10,0x0C,0x03,0x00,0x00,0x00,0x01,0x02,0x04,0x18,0x60,0x00,0x00,//"六",6

  89. ……………由于篇幅有限…余下源碼請(qǐng)下載附件……
復(fù)制代碼
0.png
全部資料下載:
OLED_12864萬年歷IIC(大字體 溫度 遙控).rar (5.61 MB, 下載次數(shù): 1072)

評(píng)分

參與人數(shù) 6黑幣 +126 收起 理由
51單片機(jī)1234 + 5 很給力!
arther + 6
send + 5 共享資料的黑幣獎(jiǎng)勵(lì)!
luxianjun + 5 很給力!
zhaok2013 + 5 很給力!
admin + 100 共享資料的黑幣獎(jiǎng)勵(lì)!

查看全部評(píng)分

回復(fù)

使用道具 舉報(bào)

ID:478328 發(fā)表于 2022-4-1 14:12 | 顯示全部樓層
電路原理圖,PCB圖都?jí)嚎s在里面了?梢灾苯幽玫侥骋粋(gè)寶上去做印制板。HEX文件也壓縮在里面了。做好電路板可以直接刷程序。PCB和程序都驗(yàn)證過了。能直接用。
樓主師傅,我想拜您為師!您愿意收下我這個(gè)徒弟嗎?謝謝您。請(qǐng)多賜教!謝謝。

OLED+51+DS3231.7z

2.22 MB, 下載次數(shù): 56, 下載積分: 黑幣 -5

程序.rar

68.23 KB, 下載次數(shù): 59, 下載積分: 黑幣 -5

評(píng)分

參與人數(shù) 1黑幣 +20 收起 理由
admin + 20 回帖助人的獎(jiǎng)勵(lì)!

查看全部評(píng)分

回復(fù)

使用道具 舉報(bào)

ID:108715 發(fā)表于 2017-2-18 09:58 | 顯示全部樓層
先搶個(gè)座,圖片拍的時(shí)候正好是秒沒顯示時(shí)候,實(shí)際秒的“:”是隨3231的秒數(shù)閃爍的。1秒顯示1秒不顯示,不會(huì)1秒亮滅一次,會(huì)的高手說一下怎么弄,學(xué)習(xí)學(xué)習(xí)。
回復(fù)

使用道具 舉報(bào)

ID:116826 發(fā)表于 2017-2-18 19:30 | 顯示全部樓層
高手,mark學(xué)習(xí)一下。
回復(fù)

使用道具 舉報(bào)

ID:59279 發(fā)表于 2017-2-19 20:33 | 顯示全部樓層
顯示不錯(cuò),清晰,學(xué)習(xí)學(xué)習(xí)。
回復(fù)

使用道具 舉報(bào)

ID:162689 發(fā)表于 2017-2-23 22:51 | 顯示全部樓層
好東西,學(xué)習(xí),51黑有你更精彩!!!
回復(fù)

使用道具 舉報(bào)

ID:165046 發(fā)表于 2017-2-24 09:49 | 顯示全部樓層
也正準(zhǔn)備學(xué)習(xí)OLED,學(xué)習(xí)學(xué)習(xí)!
回復(fù)

使用道具 舉報(bào)

ID:164850 發(fā)表于 2017-3-9 21:26 | 顯示全部樓層
OLED_12864萬年歷+DS3231+紅外或按鍵控制,我編譯不成功,能不能把帶hex工程上傳上來。謝謝了!非常喜歡你的日歷
回復(fù)

使用道具 舉報(bào)

ID:108715 發(fā)表于 2017-3-13 17:58 | 顯示全部樓層
luxianjun 發(fā)表于 2017-3-9 21:26
OLED_12864萬年歷+DS3231+紅外或按鍵控制,我編譯不成功,能不能把帶hex工程上傳上來。謝謝了!非常喜歡你 ...


編譯不成功是因?yàn)槟愕膋eil軟件沒破解,小程序可以編譯,這個(gè)大的就不行了,你破解下就行了,我給你的附件里是注冊(cè)機(jī)和使用方法,hex文件也在這個(gè)壓縮文件里了。如果還是不成功,你注冊(cè)機(jī)和軟件都鼠標(biāo)右鍵管理員身份運(yùn)行在注冊(cè)

keil uv4.zip

23.49 KB, 下載次數(shù): 56, 下載積分: 黑幣 -5

回復(fù)

使用道具 舉報(bào)

ID:164850 發(fā)表于 2017-3-14 07:11 | 顯示全部樓層
萬分感謝,非常非常喜歡你的時(shí)鐘。
回復(fù)

使用道具 舉報(bào)

ID:164850 發(fā)表于 2017-3-17 19:57 | 顯示全部樓層
啦啦啦1234 發(fā)表于 2017-3-13 17:58
編譯不成功是因?yàn)槟愕膋eil軟件沒破解,小程序可以編譯,這個(gè)大的就不行了,你破解下就行了,我給你的附 ...

非常感謝樓主的幫助,我以經(jīng)做好了,就是改不了紅外碼,就是不會(huì)編程,你能不能把編譯的整個(gè)工程上傳上來,萬分感謝,還有就是stc89c516rd+p0口要加上拉,能不能另外改一份用stc15f2k60s2的.
IMG_20170317_192931.jpg
IMG_20170317_193001.jpg
IMG_20170317_193026.jpg
IMG_20170317_193102.jpg
IMG_20170317_193127.jpg
IMG_20170317_193157.jpg
回復(fù)

使用道具 舉報(bào)

ID:108715 發(fā)表于 2017-3-17 22:39 | 顯示全部樓層
luxianjun 發(fā)表于 2017-3-17 19:57
非常感謝樓主的幫助,我以經(jīng)做好了,就是改不了紅外碼,就是不會(huì)編程,你能不能把編譯的整個(gè)工程上傳上來 ...

程序和說明的話太多了,我都分類了,你直接下載附件吧

看你的3231模塊外觀,我淘寶看了下管腳標(biāo)注,應(yīng)該是+  sda  scl  空  -

給你修改了下程序,更適合你的最小系統(tǒng)板,說的你不曉得明不明白,看不懂在問我。

另外玩單片機(jī)的,keil一定要破解了。附件有完整的keil程序和破解軟件,都管理員身份運(yùn)行安裝。

文件20多M,試了兩個(gè)瀏覽器都傳不上,我發(fā)網(wǎng)盤了,你點(diǎn)鏈接下載吧。

回復(fù)luxianjun
回復(fù)

使用道具 舉報(bào)

ID:164850 發(fā)表于 2017-3-18 20:32 | 顯示全部樓層
啦啦啦1234 發(fā)表于 2017-3-17 22:39
程序和說明的話太多了,我都分類了,你直接下載附件吧

看你的3231模塊外觀,我淘寶看了下管腳標(biāo)注,應(yīng) ...

網(wǎng)盤鏈接呢,等著下載呢
回復(fù)

使用道具 舉報(bào)

ID:89286 發(fā)表于 2017-3-19 06:59 | 顯示全部樓層
thanks for sharing
回復(fù)

使用道具 舉報(bào)

ID:170098 發(fā)表于 2017-3-19 10:42 | 顯示全部樓層
想讓跟多的人去了解
回復(fù)

使用道具 舉報(bào)

ID:149167 發(fā)表于 2017-3-19 14:49 | 顯示全部樓層
好東西,學(xué)習(xí)
回復(fù)

使用道具 舉報(bào)

ID:169459 發(fā)表于 2017-3-21 10:32 | 顯示全部樓層
這個(gè)好,下載來改個(gè)12864串口屏的時(shí)鐘去,謝謝分享。下載幣總不夠用啊
回復(fù)

使用道具 舉報(bào)

ID:62289 發(fā)表于 2017-3-21 19:40 | 顯示全部樓層
高手,mark學(xué)習(xí)一下。
回復(fù)

使用道具 舉報(bào)

ID:179705 發(fā)表于 2017-3-25 23:32 | 顯示全部樓層
頂你!
回復(fù)

使用道具 舉報(bào)

ID:164850 發(fā)表于 2017-4-7 21:14 | 顯示全部樓層
樓主能不能幫忙改個(gè)用15f2k60s2的11.0592,紅外用不了,用90c516rd+的那個(gè)秒數(shù)太卡不自然,麻煩幫忙改改。15f2k60s2秒數(shù)自然 . 。
IMG_20170407_204716.jpg
IMG_20170407_205004.jpg
IMG_20170407_205100.jpg
IMG_20170407_205133.jpg
回復(fù)

使用道具 舉報(bào)

ID:110780 發(fā)表于 2017-4-12 17:45 | 顯示全部樓層
好東西,感謝分享。。。。。。。。。。。。
回復(fù)

使用道具 舉報(bào)

ID:189476 發(fā)表于 2017-4-14 11:29 | 顯示全部樓層
謝謝分享
回復(fù)

使用道具 舉報(bào)

ID:171746 發(fā)表于 2017-4-16 18:00 | 顯示全部樓層
請(qǐng)問:紅外接口能改嗎? 系統(tǒng)版P3.3被占了,能改到P3.2嗎?其他的正常。謝謝
回復(fù)

使用道具 舉報(bào)

ID:171746 發(fā)表于 2017-4-16 18:16 | 顯示全部樓層
請(qǐng)問:紅外接口怎么改?謝謝
回復(fù)

使用道具 舉報(bào)

ID:158835 發(fā)表于 2017-5-5 15:05 | 顯示全部樓層
救命恩人,樓主威武
回復(fù)

使用道具 舉報(bào)

ID:200657 發(fā)表于 2017-5-15 11:21 | 顯示全部樓層
樓主 這個(gè)適合剛學(xué)不到1年的人嗎??
回復(fù)

使用道具 舉報(bào)

ID:113193 發(fā)表于 2017-5-17 15:05 | 顯示全部樓層
網(wǎng)盤在哪里?想下載找不到地方
回復(fù)

使用道具 舉報(bào)

ID:35873 發(fā)表于 2017-5-28 00:19 | 顯示全部樓層
這個(gè)不錯(cuò)  支持樓主開源精神
回復(fù)

使用道具 舉報(bào)

ID:127220 發(fā)表于 2017-5-28 12:14 | 顯示全部樓層
多謝!小弟學(xué)習(xí)了。
回復(fù)

使用道具 舉報(bào)

ID:227832 發(fā)表于 2017-8-16 01:22 | 顯示全部樓層

好東西,學(xué)習(xí)了。
回復(fù)

使用道具 舉報(bào)

ID:91165 發(fā)表于 2017-8-16 08:41 | 顯示全部樓層
有機(jī)會(huì)買個(gè)OLED試試
回復(fù)

使用道具 舉報(bào)

ID:227842 發(fā)表于 2017-8-16 09:34 | 顯示全部樓層
學(xué)習(xí)學(xué)習(xí) 謝謝樓主
回復(fù)

使用道具 舉報(bào)

ID:231488 發(fā)表于 2017-10-3 07:54 | 顯示全部樓層
膜拜樓主
回復(fù)

使用道具 舉報(bào)

ID:68515 發(fā)表于 2017-11-14 10:52 | 顯示全部樓層
太好了,
回復(fù)

使用道具 舉報(bào)

ID:227321 發(fā)表于 2017-11-14 12:01 | 顯示全部樓層
I need it. Thanks for help.
回復(fù)

使用道具 舉報(bào)

ID:242544 發(fā)表于 2017-11-17 15:34 | 顯示全部樓層
這個(gè)很有用啊,我也在搞這個(gè)萬年歷,找的資料了,謝謝
回復(fù)

使用道具 舉報(bào)

ID:242544 發(fā)表于 2017-11-17 16:54 | 顯示全部樓層
謝謝樓主,非常有用
回復(fù)

使用道具 舉報(bào)

ID:255508 發(fā)表于 2017-11-30 08:47 | 顯示全部樓層
感覺很牛的樣子 學(xué)習(xí) 學(xué)習(xí)!
回復(fù)

使用道具 舉報(bào)

ID:257351 發(fā)表于 2017-12-4 19:29 | 顯示全部樓層
feichanghao ,好好好
回復(fù)

使用道具 舉報(bào)

ID:258770 發(fā)表于 2017-12-16 12:08 | 顯示全部樓層
厲害厲害,程序借鑒下
回復(fù)

使用道具 舉報(bào)

ID:64532 發(fā)表于 2017-12-17 22:05 | 顯示全部樓層
也正準(zhǔn)備學(xué)習(xí)OLED,學(xué)習(xí)學(xué)習(xí)!
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

手機(jī)版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表