久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

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

QQ登錄

只需一步,快速開始

搜索
查看: 7333|回復(fù): 9
打印 上一主題 下一主題
收起左側(cè)

51單片機(jī)可否實(shí)現(xiàn)上下五千年農(nóng)歷計(jì)算(非查表法)

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:67796 發(fā)表于 2014-12-6 11:39 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
本帖最后由 exv 于 2014-12-6 12:58 編輯

看了論壇中幾個(gè)有農(nóng)歷的時(shí)鐘程序,無一例外使用查表法實(shí)現(xiàn)的,且只能查上下100年(因?yàn)镈S1302只有上下一百年)。

看過莆田第十中學(xué)許劍偉老師的農(nóng)歷算法,可實(shí)現(xiàn)上下五千年農(nóng)歷的計(jì)算(含節(jié)氣),
與主函數(shù)直接相關(guān)的C代碼就有6000余行;
關(guān)于日月星辰軌道計(jì)算的代碼有數(shù)十組,
每一組換算往往涉及幾十個(gè)64位double。

不知道51單片機(jī)在 合理 配置的情況下,能否實(shí)現(xiàn)這樣的計(jì)算?

如果不行,實(shí)現(xiàn)這一功能的最低配置是?

許劍偉老師的代碼這兒就不貼了(估計(jì)也貼不下),百度下 莆田第十中學(xué)許劍偉老師 即可。

51hei人才濟(jì)濟(jì),下面這段計(jì)算圓周率的代碼大家應(yīng)該非常熟悉,古人幾十本書還沒說清的一兩行就搞定了:
  1. long a=10000,b,c=2800,d,e,f[2801],g;
  2. void main(){for(;b-c;)f[b++]=a/5;for(;d=0,g=c*2;c-=14,cout<<e+d/a,e=d%a)for(b=c;d+=f[b]*a,f[b]=d%--g,d/=g--,--b;d*=b);}
復(fù)制代碼


古人制農(nóng)歷最多也就是算盤,難道 51單片機(jī) 真敵不過古人算盤?

另外,許老師的日歷程序除了可定農(nóng)歷日期/節(jié)氣,還可依此結(jié)合設(shè)定的經(jīng)緯度換算出每天的日落日出,非常實(shí)用。

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏2 分享淘帖 頂 踩

相關(guān)帖子

回復(fù)

使用道具 舉報(bào)

沙發(fā)
ID:67992 發(fā)表于 2014-12-6 12:25 來自手機(jī) | 只看該作者
不會(huì),太高深了。算盤結(jié)果可暫記紙上,記多少都可以,容量無限大,今天記不完明天接著記,速度可以無限慢。如果比這些,51單片機(jī)還真拍馬莫及。

評(píng)分

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

查看全部評(píng)分

回復(fù)

使用道具 舉報(bào)

板凳
ID:67796 發(fā)表于 2014-12-6 12:45 | 只看該作者
dgahz 發(fā)表于 2014-12-6 12:25
不會(huì),太高深了。算盤結(jié)果可暫記紙上,記多少都可以,容量無限大,今天記不完明天接著記,速度可以無限慢。 ...

程序本身并不高深,有高中水平即能看懂(不然 莆田第十中學(xué)的學(xué)生們可就悲催了),也就是些牛頓方程什么的。

只是這么大的計(jì)算量,放在RAM有限的51單片機(jī)確實(shí)是一個(gè)麻煩,也難怪目前能見到的都是查表法實(shí)現(xiàn)的。

不知如果借助一個(gè)2M的EEPROM能否解決這個(gè)問題?

評(píng)分

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

查看全部評(píng)分

回復(fù)

使用道具 舉報(bào)

地板
ID:67992 發(fā)表于 2014-12-6 13:40 來自手機(jī) | 只看該作者
農(nóng)歷是怎么算出來的我真搞不懂,和牛頓有關(guān)?印象中牛頓是力學(xué)噸
回復(fù)

使用道具 舉報(bào)

5#
ID:67992 發(fā)表于 2014-12-6 13:41 來自手機(jī) | 只看該作者
出社會(huì)太久,知識(shí)都丟了。
回復(fù)

使用道具 舉報(bào)

6#
ID:69706 發(fā)表于 2014-12-6 16:31 | 只看該作者
應(yīng)該是不管用吧
回復(fù)

使用道具 舉報(bào)

7#
ID:67796 發(fā)表于 2014-12-6 16:40 | 只看該作者
本帖最后由 exv 于 2014-12-6 16:46 編輯

還是貼一些莆田十中許老師的代碼給大家溫習(xí)下相關(guān)知識(shí):

1.算出太陽/月亮/地球的位置(牛頓力學(xué))
2.反算太陽月亮視黃經(jīng),相等時(shí)刻定月初一
3.根據(jù)各個(gè)月初一導(dǎo)出整個(gè)農(nóng)歷,節(jié)氣可從太陽黃經(jīng)直接導(dǎo)出。

許老師的代碼雖然多,有相當(dāng)部分是固定不變的天文/地理參數(shù),包括一大堆校正因子集,故而前面的帖子提出使用EEPROM作存儲(chǔ)輔助。

既然圓周率求算都能從幾十本書變?yōu)閮尚写a,農(nóng)歷又是極為常用的東西,必定有非常多人去研究,一個(gè)簡潔高效能在單片機(jī)上運(yùn)行的代碼應(yīng)該是已經(jīng)有人寫出過的。

下面代碼是通過地球軌道方程反算太陽黃經(jīng),從而計(jì)算出各個(gè)節(jié)氣。
(51hei只見到一個(gè)歷法程序有節(jié)氣,只是人家沒給代碼,不知道是不是用下面方法算出的)


  1. double qi_low(double W)
  2. {
  3.         //最大誤差小于30分鐘,平均5分
  4.         double t,L,v= 628.3319653318;
  5.         t =  ( W - 4.895062166 )/v; //第一次估算,誤差2天以內(nèi)
  6.         t -= ( 53*t*t + 334116*cos( 4.67+628.307585*t) + 2061*cos( 2.678+628.3076*t)*t )/v/10000000; //第二次估算,誤差2小時(shí)以內(nèi)
  7.         
  8.         L = 48950621.66 + 6283319653.318*t + 53*t*t //平黃經(jīng)
  9.                 +334166 * cos( 4.669257+  628.307585*t) //地球橢圓軌道級(jí)數(shù)展開
  10.                 +3489 * cos( 4.6261  + 1256.61517*t ) //地球橢圓軌道級(jí)數(shù)展開
  11.                 +2060.6 * cos( 2.67823 +  628.307585*t ) * t  //一次泊松項(xiàng)
  12.                 - 994 - 834*sin(2.1824-33.75705*t); //光行差與章動(dòng)修正
  13.         
  14.         t -= (L/10000000 -W )/628.332 + (32*(t+1.8)*(t+1.8)-20)/86400/36525;
  15.         return t*36525 + (double)8/24;
  16. }
復(fù)制代碼


評(píng)分

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

查看全部評(píng)分

回復(fù)

使用道具 舉報(bào)

8#
ID:74921 發(fā)表于 2015-3-20 11:26 | 只看該作者
好高深的有沒有?反正我是看迷糊了
回復(fù)

使用道具 舉報(bào)

9#
ID:67796 發(fā)表于 2015-3-20 17:48 | 只看該作者
a719563181 發(fā)表于 2015-3-20 11:26
好高深的有沒有?反正我是看迷糊了

其實(shí),是有的問題被復(fù)雜化了。

農(nóng)歷本來是用來指導(dǎo)一年的農(nóng)時(shí),大多數(shù)時(shí)候也不需要精確到分秒。
如同買鞋子的時(shí)候最多用皮尺之類的工具量量尺寸,沒人會(huì)去用游標(biāo)卡尺。

這一步
1.算出太陽/月亮/地球的位置(牛頓力學(xué))

為了得到精確的值,使用近代天文學(xué)算法(多體),耗費(fèi)了大量計(jì)算資源。
現(xiàn)代算法是從《史記歷書》演化而來,只是司馬遷直接把太陽月亮假設(shè)為勻速圓周運(yùn)動(dòng),通過這樣一個(gè)近似,計(jì)算量極大減小,所得的歷法也滿足指導(dǎo)農(nóng)時(shí)之用。

當(dāng)然,現(xiàn)代算法也是一種學(xué)問上的嚴(yán)謹(jǐn)。日月食的時(shí)間能精確到秒(參看許老師代碼)。

評(píng)分

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

查看全部評(píng)分

回復(fù)

使用道具 舉報(bào)

10#
ID:199295 發(fā)表于 2017-5-11 11:01 | 只看該作者
很好的資料
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

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

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

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 国产精品96久久久久久 | 亚洲人成一区二区三区性色 | 国产欧美日韩视频 | 一区二区三区欧美 | 欧美激情在线精品一区二区三区 | 国产精品美女一区二区三区 | 视频在线一区二区 | 91精品国产高清久久久久久久久 | 日本精品在线播放 | 中文字幕丁香5月 | 日干夜干 | 日本韩国电影免费观看 | 国产精品久久久久久一级毛片 | 一区二区电影 | 丝袜久久| 久久伊人青青草 | 午夜丰满寂寞少妇精品 | 国内精品久久久久久久影视简单 | 国产高清久久久 | 毛片一区二区三区 | 国产成人精品网站 | 日本精品网站 | 日本精品一区二区三区在线观看 | 国产精品污www一区二区三区 | 一区二区三区免费 | 国产在线色 | 亚洲精品成人 | 91视在线国内在线播放酒店 | 久久精品综合 | 欧美国产精品一区二区三区 | 在线日韩| 久久在线 | 浴室洗澡偷拍一区二区 | 伊人网国产 | 日韩精品一区二区三区中文在线 | 网站一区二区三区 | 中文字幕黄色大片 | 亚洲三区在线观看 | 国产日韩欧美在线观看 | 不卡在线一区 | 欧美在线a |