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

QQ登錄

只需一步,快速開(kāi)始

搜索
1234
返回列表 發(fā)新帖
樓主: lids
打印 上一主題 下一主題
收起左側(cè)

OLED12864+DS3231的萬(wàn)年歷制作,帶農(nóng)歷,大字體(單片機(jī)源碼+實(shí)物)

  [復(fù)制鏈接]
121#
ID:997051 發(fā)表于 2021-12-26 14:13 | 只看該作者
農(nóng)歷的部分,在那里,
回復(fù)

使用道具 舉報(bào)

122#
ID:997051 發(fā)表于 2021-12-28 00:15 | 只看該作者
OLED 萬(wàn)年歷 (顯示正負(fù)溫度版).rar 已下載完畢,內(nèi)容完美,程序已運(yùn)行,很好,謝謝!
回復(fù)

使用道具 舉報(bào)

123#
ID:894228 發(fā)表于 2021-12-29 11:37 | 只看該作者
有開(kāi)源還是不錯(cuò)的,謝謝了
回復(fù)

使用道具 舉報(bào)

124#
ID:894228 發(fā)表于 2021-12-29 11:39 | 只看該作者
不知道自己能不能做出來(lái)
回復(fù)

使用道具 舉報(bào)

125#
ID:229641 發(fā)表于 2022-2-15 21:49 來(lái)自觸屏版 | 只看該作者
成功了,89c52調(diào)整過(guò)延時(shí)函數(shù)后下載程序的時(shí)候改成雙倍速度按鍵還是反應(yīng)很慢…
回復(fù)

使用道具 舉報(bào)

126#
ID:577622 發(fā)表于 2022-2-16 08:19 | 只看該作者
不錯(cuò)的例程,pic能移植一份嗎?
回復(fù)

使用道具 舉報(bào)

127#
ID:242298 發(fā)表于 2022-11-26 10:28 | 只看該作者
我用STC8G1K的單片機(jī)運(yùn)行就點(diǎn)不亮OLED,單片機(jī)的頻率和程序頻率都調(diào)整為6.000MHZ了,還是不能運(yùn)行。。。求助
回復(fù)

使用道具 舉報(bào)

128#
ID:140489 發(fā)表于 2022-11-28 09:21 | 只看該作者
leezll 發(fā)表于 2022-11-26 10:28
我用STC8G1K的單片機(jī)運(yùn)行就點(diǎn)不亮OLED,單片機(jī)的頻率和程序頻率都調(diào)整為6.000MHZ了,還是不能運(yùn)行。。。求 ...

STC8G1K單片機(jī)要設(shè)置端口的模式才行的
回復(fù)

使用道具 舉報(bào)

129#
ID:140489 發(fā)表于 2022-11-28 09:29 | 只看該作者
leezll 發(fā)表于 2022-11-26 10:28
我用STC8G1K的單片機(jī)運(yùn)行就點(diǎn)不亮OLED,單片機(jī)的頻率和程序頻率都調(diào)整為6.000MHZ了,還是不能運(yùn)行。。。求 ...

仔細(xì)看下STC8G的規(guī)格書(shū)

51hei截圖20221128092655.png (34.79 KB, 下載次數(shù): 523)

51hei截圖20221128092655.png
回復(fù)

使用道具 舉報(bào)

130#
ID:922242 發(fā)表于 2022-12-19 20:33 | 只看該作者
這個(gè)號(hào),剛好可以練練手
回復(fù)

使用道具 舉報(bào)

131#
ID:46220 發(fā)表于 2022-12-19 21:17 | 只看該作者
感謝分享,仿制已經(jīng)成功,稍微做了點(diǎn)修改,加入了生肖顯示,把星期的數(shù)據(jù)也自動(dòng)換算了,但是這兩塊屏幕都是新的,為什么在邊上會(huì)有1個(gè)豎條的斷續(xù)亮點(diǎn)呢?開(kāi)機(jī)的時(shí)候有時(shí)候多有時(shí)候少,搞不懂,難道兩塊屏幕都是次品嗎,便宜是便宜的,1個(gè)8塊1個(gè)17塊,有懂得高手請(qǐng)指點(diǎn)指點(diǎn)

51hei圖片_20221219211225.jpg (100.22 KB, 下載次數(shù): 519)

51hei圖片_20221219211225.jpg

51hei圖片_20221219211217.jpg (112.56 KB, 下載次數(shù): 506)

51hei圖片_20221219211217.jpg

51hei圖片_20221219211210.jpg (105.99 KB, 下載次數(shù): 527)

51hei圖片_20221219211210.jpg

51hei圖片_20221219211203.jpg (115.42 KB, 下載次數(shù): 516)

51hei圖片_20221219211203.jpg
回復(fù)

使用道具 舉報(bào)

132#
ID:88256 發(fā)表于 2022-12-25 18:18 | 只看該作者
我參考這個(gè)界面用ESP-12F模塊聯(lián)網(wǎng),用ARDUINO拼湊了一個(gè)程序,但是農(nóng)歷遲了一天,不明白是怎么計(jì)算的不好查錯(cuò),特意百度了一下,找到下面的介紹,特意貼出來(lái)大家一起學(xué)習(xí)。


公歷是全世界通用的歷法以地球繞太陽(yáng)的一周為一年一年365 天分為12 個(gè)月1 3 5 7 8 10 12 月為
31 天2 月為28 天其余月份為30 天事實(shí)上地球繞太陽(yáng)一周共365 天5 小時(shí)48 分46 秒比公歷一年多出5 小時(shí)48
分46 秒為使年誤差不累積公歷年用閏年法來(lái)消除年誤差 由于每年多出5 小時(shí)48 分46 秒每4 年累計(jì)多出23
小時(shí)15 分4 秒接近1 天天文學(xué)家就規(guī)定每4 年有一個(gè)閏年把2 月由28 天改為29 天凡是公歷年代能被4 整除
的那一年就是閏年但是這樣一來(lái)每4 年又少了44 分56 秒為了更準(zhǔn)確地計(jì)時(shí)天文學(xué)家又規(guī)定凡能被100 整除
的年份只有能被400 整除才是閏年即每400 年要減掉3 個(gè)閏年經(jīng)過(guò)這樣處理后實(shí)際上每400 年的誤差只有2 小時(shí)
53 分20 秒已相當(dāng)準(zhǔn)確了
農(nóng)歷與公歷不同農(nóng)歷把月亮繞地球一周作為一月因?yàn)樵铝晾@地球一周不是一整天所以農(nóng)歷把月分為大月和小
月大月30 天小月29 天通過(guò)設(shè)置大小月使農(nóng)歷日始終與月亮與地球的位置相對(duì)應(yīng)為了使農(nóng)歷的年份與公歷年
相對(duì)應(yīng)農(nóng)歷通過(guò)設(shè)置閏月的辦法使它的平均年長(zhǎng)度與公歷年相等農(nóng)歷是中國(guó)傳統(tǒng)文化的代表之一并與農(nóng)業(yè)生產(chǎn)聯(lián)
系密切中國(guó)人民特別是廣大農(nóng)民十分熟悉并喜愛(ài)農(nóng)歷
公歷與農(nóng)歷是我國(guó)目前并存的兩種歷法各有其固有的規(guī)律農(nóng)歷與月球的運(yùn)行相對(duì)應(yīng)其影響因素多它的大小
月和閏月與天體運(yùn)行有關(guān)計(jì)算十分復(fù)雜且每年都不一致因此要用單片機(jī)實(shí)現(xiàn)公歷與農(nóng)歷的轉(zhuǎn)換用查表法是最方
便實(shí)用的辦法
51 系列單片機(jī)因其在功能上能滿足大部份對(duì)速度要求不高的應(yīng)用場(chǎng)合的要求且價(jià)格低廉開(kāi)發(fā)工具普及程度高
是目前應(yīng)用最多的單片機(jī)之一本文介紹一種用51 單片機(jī)實(shí)現(xiàn)從1901 年到2099 年2199 年公歷日到農(nóng)歷日及星期
的轉(zhuǎn)換方法并向讀者提供完整的51C程序
二 基本原理
實(shí)現(xiàn)公歷與農(nóng)歷的轉(zhuǎn)換一般采用查表法按日查表是速度最快的方法但51 單片機(jī)尋址能力有限不可能采用
按日查表的方法除按日查外我們可以通過(guò)按月查表和按年查表的方法再通過(guò)適當(dāng)?shù)挠?jì)算來(lái)確定公歷日所對(duì)應(yīng)的
農(nóng)歷日期本文采用的是按年查表法最大限度地減少表格所占的程序空間
對(duì)于農(nóng)歷月來(lái)說(shuō)大月為30 天小月為29 天這是固定不變的這樣我們就可用1 個(gè)BIT 位來(lái)表示大小月信
息農(nóng)歷一年如有閏月為13 個(gè)月否則是12 個(gè)月所以一年需要用13 個(gè)BIT 閏月在農(nóng)歷年中所在的月份并不固定
大部分閏月分布在農(nóng)歷2 8 月但也有少量年份在9 月以后所以要表示閏月的信息至少要4BIT 在這里我們用4BIT
的值來(lái)表示閏月的月份值為0 表示本年沒(méi)有閏月有了以上信息還不足以判斷公歷日對(duì)應(yīng)的農(nóng)歷日因?yàn)檫需要一
個(gè)參照日我們選用農(nóng)歷正月初一所對(duì)應(yīng)的公歷日期作參照日公歷日最大為31 日需要5BIT 來(lái)表示而春節(jié)所在的
月份不是1 月就是2 月用1BIT 就夠了考慮到表達(dá)方便我們用2BIT 來(lái)表示春節(jié)月2BIT 的值直接表示月份這
樣一年的農(nóng)歷信息只用3 個(gè)字節(jié)就全部包括了
計(jì)算公歷日對(duì)應(yīng)的農(nóng)歷日期的方法先計(jì)算出公歷日離當(dāng)年元旦的天數(shù)然后查表取得當(dāng)年的春節(jié)日期計(jì)算出春
節(jié)離元旦的天數(shù)二者相減即可算出公歷日離春節(jié)的天數(shù)以后只要根據(jù)大小月和閏月信息減一月天數(shù)調(diào)整一月農(nóng)
歷月份即可推算出公歷日所對(duì)應(yīng)的農(nóng)歷日期如公歷日不到春節(jié)日期農(nóng)歷年要比公歷年小一年農(nóng)歷大小月取前一
年的信息農(nóng)歷月從12 月向前推算
公歷日是非常有規(guī)律的所以公歷日所對(duì)應(yīng)的星期天可以通過(guò)計(jì)算直接得到理論上公元0 年1 月1 日為星期日
只要求得公歷日離公元0 年1 月1 日的日子數(shù)除7 后的余數(shù)就是星期天為了簡(jiǎn)化計(jì)算采用月校正法根據(jù)公歷的
年月日可直接計(jì)算出星期天其算法是日期年份所過(guò)閏年數(shù)月校正數(shù)之和除7 的余數(shù)就是星期天但如果是在
閏年又不到3 月份上述之和要減一天再除7 其1 12 月的校正數(shù)據(jù)為6 2 2 5 0 3 5 1 4 6 2 4 在
本程序中采用1 個(gè)字節(jié)表示年份閏年數(shù)也只計(jì)算1900 年以后的閏年數(shù)所以實(shí)際校正數(shù)據(jù)也和上述數(shù)據(jù)不同

公歷年對(duì)應(yīng)的農(nóng)歷數(shù)據(jù),每年三字節(jié),
格式第一字節(jié)BIT7-4 位表示閏月月份,值為0 為無(wú)閏月,BIT3-0 對(duì)應(yīng)農(nóng)歷第1-4 月的大小
第二字節(jié)BIT7-0 對(duì)應(yīng)農(nóng)歷第5-12 月大小,第三字節(jié)BIT7 表示農(nóng)歷第13 個(gè)月大小
月份對(duì)應(yīng)的位為1 表示本農(nóng)歷月大(30 天),為0 表示小(29 天)
第三字節(jié)BIT6-5 表示春節(jié)的公歷月份,BIT4-0 表示春節(jié)的公歷日期
回復(fù)

使用道具 舉報(bào)

133#
ID:88256 發(fā)表于 2022-12-25 23:34 | 只看該作者
經(jīng)過(guò)對(duì)比多個(gè)程序(幾乎都是抄來(lái)抄去的),發(fā)現(xiàn)有個(gè)程序在公歷轉(zhuǎn)農(nóng)歷上有標(biāo)注輸入輸出參數(shù)都是BCD碼(這個(gè)程序之前也是不對(duì)),而另外一個(gè)程序起始有BCD到hex的處理,但是因?yàn)槎ㄎ粩?shù)據(jù)表地址的語(yǔ)句放置在這之后,所以運(yùn)行起來(lái)也是不對(duì),把該行往前移,就好了,輸出也不需要BCD碼的轉(zhuǎn)換。
回復(fù)

使用道具 舉報(bào)

134#
ID:46220 發(fā)表于 2023-1-2 10:54 | 只看該作者
調(diào)整了一下偏移量,兩個(gè)屏幕都可以正常顯示了

51hei圖片_20230102105210.jpg (122.41 KB, 下載次數(shù): 531)

51hei圖片_20230102105210.jpg

51hei圖片_20230102105202.jpg (120.71 KB, 下載次數(shù): 522)

51hei圖片_20230102105202.jpg
回復(fù)

使用道具 舉報(bào)

135#
ID:1059989 發(fā)表于 2023-1-10 21:25 | 只看該作者
感謝分享。準(zhǔn)備用大點(diǎn)的屏幕做一個(gè)。單片機(jī)用不帶AD的就可以了。
回復(fù)

使用道具 舉報(bào)

136#
ID:55479 發(fā)表于 2023-1-11 21:41 | 只看該作者
樓主用的是什么型號(hào)的單片機(jī)?
回復(fù)

使用道具 舉報(bào)

137#
ID:1059989 發(fā)表于 2023-1-20 12:12 | 只看該作者
我仿制了一個(gè) KS0108 12864+DS3231的萬(wàn)年歷制作,單片機(jī)用STC89C52,12864是KS0108的,感覺(jué)很好。感謝樓主分享!
回復(fù)

使用道具 舉報(bào)

138#
ID:34298 發(fā)表于 2023-7-14 21:50 | 只看該作者
都別用OLED屏,一年就衰減了 亮度也暗了 我的就是 還是LCD屏耐用 屏幕也大
回復(fù)

使用道具 舉報(bào)

139#
ID:282557 發(fā)表于 2023-7-29 13:47 | 只看該作者
做了一個(gè),沒(méi)有你的好看,看看你的程序,學(xué)習(xí)一下
回復(fù)

使用道具 舉報(bào)

140#
ID:1091136 發(fā)表于 2023-9-8 08:14 | 只看該作者
我這提示缺少51.h文件,不知道怎么回事
回復(fù)

使用道具 舉報(bào)

141#
ID:1040201 發(fā)表于 2023-9-8 16:21 | 只看該作者
灰常漂亮,感謝分享
回復(fù)

使用道具 舉報(bào)

142#
ID:929517 發(fā)表于 2023-9-9 16:53 來(lái)自觸屏版 | 只看該作者
請(qǐng)問(wèn)群主 3231模塊哪家店買的,怕買到假的,精度不行
回復(fù)

使用道具 舉報(bào)

143#
ID:611626 發(fā)表于 2023-10-6 19:53 | 只看該作者
仿真不顯示,好像I2C驅(qū)動(dòng)不行,換驅(qū)動(dòng)才能顯示和計(jì)時(shí)
回復(fù)

使用道具 舉報(bào)

144#
ID:965040 發(fā)表于 2024-1-9 10:21 | 只看該作者
不錯(cuò),有空自己照著做一個(gè)
回復(fù)

使用道具 舉報(bào)

145#
ID:1110897 發(fā)表于 2024-3-8 11:19 | 只看該作者
代碼非常詳細(xì),直接編譯通過(guò),感謝分享。
回復(fù)

使用道具 舉報(bào)

146#
ID:1112603 發(fā)表于 2024-3-29 19:53 | 只看該作者
轉(zhuǎn)換成STC8G1K單片機(jī)用不知可行不,下載看看,謝謝分享!
回復(fù)

使用道具 舉報(bào)

147#
ID:884031 發(fā)表于 2024-4-1 14:47 | 只看該作者
打算用51改一下,謝謝樓主無(wú)私提供
回復(fù)

使用道具 舉報(bào)

148#
ID:117047 發(fā)表于 2024-6-3 20:57 | 只看該作者
源碼學(xué)習(xí)下,感謝樓主
回復(fù)

使用道具 舉報(bào)

149#
ID:667692 發(fā)表于 2024-7-23 17:09 | 只看該作者
非常不錯(cuò),可惜是51程序,要是Arduino程序就漂亮了,不過(guò)還是要感謝作者無(wú)私的分享。
回復(fù)

使用道具 舉報(bào)

150#
ID:92810 發(fā)表于 2024-11-6 00:36 | 只看該作者
贊一個(gè)!正是我準(zhǔn)備做的!
回復(fù)

使用道具 舉報(bào)

151#
ID:430492 發(fā)表于 2025-2-19 20:50 | 只看該作者
這個(gè)小設(shè)計(jì)很實(shí)用啊,樓主厲害!
回復(fù)

使用道具 舉報(bào)

152#
ID:1028227 發(fā)表于 2025-5-15 06:10 來(lái)自觸屏版 | 只看該作者
謝謝分享了學(xué)習(xí)一下
回復(fù)

使用道具 舉報(bào)

153#
ID:673647 發(fā)表于 2025-5-20 08:08 | 只看該作者
謝謝分享,學(xué)習(xí)一下
回復(fù)

使用道具 舉報(bào)

1234
返回列表 發(fā)新帖

本版積分規(guī)則

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

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

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