《電子技術應用》
您所在的位置:首頁 > 嵌入式技術 > 業界動態 > 基于單片機的BSMA法在求取農歷節氣中的應用研究

基于單片機的BSMA法在求取農歷節氣中的應用研究

2009-08-14
作者:曾慶化1, 劉建業1, 林雪原1

  摘? 要: 基于農歷節氣的內在規律提出了一種新型實用列表算法——按位列表法(BSMA),利用單片機Tm8706實現了電子萬年歷的研究和開發。
  關鍵詞: 節氣? 列表法? 微處理器? 單片機? 算法

?

  農歷24節氣是我國民間傳統節令,對于農事活動有廣泛的應用價值。因而帶有24節氣的電子萬年歷在農村有廣泛的市場。

本文通過分析24節氣,找出了其中內在的隱含規律,并且根據這種規律提出了一種最新的查表方法。由于這種查表方法是基于位查詢的,所以稱之為按位列表法(Bit Schedule Method Arithmetic,BSMA)。

1? 陰歷節氣的隱含規律

  為了便于考察50年中無規律的陰歷節氣分布時間,本文利用C語言在計算機中實現了50年(2000~2049年)的陽歷和陰歷節氣分布時間表。由于數據龐大,所以僅列出其中部分陽歷年對應的前6個節氣日期,見表1。

?

  表1中,每年的節氣具體日期雖然都在一定的范圍內變動,但是變動的趨勢毫無規律可尋,每個月的具體節氣日期有時候推前一、二天,有時候推后一、二天。但是,從這張復雜表格中的眾多數據中可以發現一個規律:雖然,無法獲得這些節氣變化的具體日期,但是,這些日期的變化總是在3天之內發生。例如:每年的第1個節氣(小寒)出現在1月的5日、6日2天中的某一天;每年的第2個節氣(大寒)出現在1月的19日、20日、21日3天中的某一天。這樣,只要固定每個節氣的基本日期,然后專門針對這二、三天編制一個相對日期的表格就可以了??紤]到最多變化范圍是3天,所以這個相對日期可以取值為1、0和-1。

  選定的基本日期是:1月到3月的節氣基本日期:6/20、4/19、6/21;4月到6月的節氣基本日期:5/20、6/21、6/21;6月到9月的節氣基本日期:7/23、8/23、8/23;10月到12月的節氣基本日期:8/24、8/22、7/22。

  根據以上的思路,可得到表2所示的相對值表。

  仔細觀察表2,可以得到以下關于節氣日期相對值的規律性結論:

  (1)只有4個節氣(大寒、夏至、寒露、小雪)是3個相對值(1,-1和0)同時出現。

  (2)其他的20個節氣中僅僅出現了0和-1這2個相對值。

  (3)在有3個相對值的4個節氣(大寒、夏至、寒露、小雪)中,2044年以前,出現的非零相對值都是1;而2044年以及2044年以后,出現的非零相對值都是-1;

?

  也就是說在50年內,大寒(2)、夏至(12)、寒露(19)和小雪(22)這4個節氣日期變化相對較多,一共有3天,它們的日期相對值可能需要使用3個狀態值來表示。

  圖1是以上4條農歷節氣日期規律的相對值分布簡圖。

?

  根據表2和圖1所示的農歷節氣日期排布規律和形式,就可以構造一個表格,并且結合相應的算法來計算某個陽歷日期所對應的陰歷節氣了。

2?按位列表法(BSMA)及其編碼方法

  利用上節分析結果,設想使用最少的字節來編制1個表格,使其包含了50年內的所有相對值分布信息。由于1年包含農歷的24個節氣,也就是說共有24個日期相對值狀態量。

  為了能夠盡量減少存儲空間,可以使用1個位來代表1個農歷的節氣日期相對值。這樣一年的24個節氣就可以用24個位來表示,也就是3個字節(每個字節8個位)表示。這就是所說的按位列表法。

  由于農歷節氣日期相對值最多有3種狀態:-1、0和1,而1個位僅僅有2種狀態:0和1。為了能夠把3種狀態融合進2種狀態中,本文根據上節中節氣日期相對值的規律性結論,采取了具有條件的二值狀態來表示三值狀態,制定了如表3所示的編碼規則。

?

  利用以上的規則就可對50年的24個節氣進行編碼,得到如表4所示的編碼表。

?

  由此看出,使用這種按位編碼的方式對農歷日期相對值進行編碼時,一年24個節氣的日期只需要3個字節就可以明確表示了。50年的節氣表,只需要150個字節的存儲空間。年份越多,這種編碼發方式能夠節約的存儲空間越大,優勢越明顯。

3?BSMA法在單片機中的實現

  本文使用的單片機是十速公司的4位機,型號為Tm8706。這種單片機的結構與8位機類似,但是功能遠遜于8位計算機。選此機型的原因是它具有結構簡單、成本低的優勢,同時還包括了普通單片機的基本功能。它包含了256個字節的RAM、2KB的ROM、定時器、外部中斷、內部中斷,此外,還有省電功能和驅動LED的功能。

  由于其他的功能程序已經占用了較大的存儲空間。所以能夠用于農歷節氣查詢的程序的空間不大,僅僅有0.5KB的容量。也就是說表格和查表程序一共只有0.5KB的空間。表格占用的空間越大,可寫程序的空間就越小。

  如果使用表1所示的50年農歷24節氣日期表,僅僅表格就需要使用50×24個字節=1200個字節的存儲空間,其要求空間遠遠超出了0.5KB的容量。而使用LBA編碼方法得到的表格,只需要150個字節,存儲空間僅僅是表1所需存儲空間的1/8,其余部分可以供查表程序使用。

  在單片機中,查表程序是使用匯編程序完成的,實現起來也很容易。為了便于理解,這里把查表程序用C語言實現的部分介紹如下:

  輸入參數是陽歷的年月日:day、month、year,要求查表尋找它附近的農歷節氣和農歷節氣的日期。

  if(day>=15) half_mon=1;     //判斷是否是上半月

  else half_mon=0;

  col=(month-1)*2+half_mon;    //獲得節氣順序標號(0~23)

  kc_byte=col/8;          //獲得節氣日期的相對值所在的

                   //字節位置(0~2)

  kc_bit=col%8;          //獲得節氣日期的相對值在字節中的

                   //位位置(0~7)

  tmp_modi=modi_datas[year-2000][kc_byte];

                  //獲得節氣日期相對值所在字節

  value=( (tmp_modi<

                      //日期相對值狀態

  if(value!=0){          //判斷年份,以決定節氣相對值1代表1

                   //還是-1。

  if( (col==1 || col==11 || col==18 || col==21) &&

  year<2044)

????????????? J_qi=days[col]+1;   //年份<2044的4個特定

                   //月份中,取+1。

  else

????????????? J_qi=days[col]-1;    //其他情況下,取-1。

  }

  else

  J_qi=days[col];        //狀態為0,節氣日期相對值

                  //為節氣基本日期值。

  由此程序即可獲得所輸入陽歷日期(年、月、日)附近的農歷節氣準確日期值。

  通過上面的BSMA列表編碼和查詢的方法,實現了基于四位單片機的萬年歷的研制和實現。它用匯編程序方便地實現了陰歷24節氣功能,同時還可以方便地算出某年的某天距離下一個節氣的天數。

  從上面可以看出,按位列表法(BSMA)思路清晰明了,實現起來非常方便,同時節省了大量的ROM空間。所做萬年歷的時間跨度越大,LBA算法在節省ROM空間的優勢就越明顯。

?

參考文獻

1? 李勇,許邦信.太陽黃經和節氣時間的近似推算與Newcomb太陽表.南京大學學報,1995;31(3)

2? 張培瑜,黃洪峰.中歷及二十四節氣時刻計算.廣西科學,1994;1(3)

本站內容除特別聲明的原創文章之外,轉載內容只為傳遞更多信息,并不代表本網站贊同其觀點。轉載的所有的文章、圖片、音/視頻文件等資料的版權歸版權所有權人所有。本站采用的非本站原創文章及圖片等內容無法一一聯系確認版權者。如涉及作品內容、版權和其它問題,請及時通過電子郵件或電話通知我們,以便迅速采取適當措施,避免給雙方造成不必要的經濟損失。聯系電話:010-82306118;郵箱:aet@chinaaet.com。
热re99久久精品国产66热_欧美小视频在线观看_日韩成人激情影院_庆余年2免费日韩剧观看大牛_91久久久久久国产精品_国产原创欧美精品_美女999久久久精品视频_欧美大成色www永久网站婷_国产色婷婷国产综合在线理论片a_国产精品电影在线观看_日韩精品视频在线观看网址_97在线观看免费_性欧美亚洲xxxx乳在线观看_久久精品美女视频网站_777国产偷窥盗摄精品视频_在线日韩第一页
  • <strike id="ygamy"></strike>
  • 
    
      • <del id="ygamy"></del>
        <tfoot id="ygamy"></tfoot>
          <strike id="ygamy"></strike>
          亚洲精品偷拍| 免费久久99精品国产自在现线| 亚洲精品综合精品自拍| 欧美大片一区二区| 国产精品一区久久| 在线欧美小视频| 99精品欧美一区二区三区| 一二三区精品| 99re6热在线精品视频播放速度| 国产主播一区二区| 国产一区二区三区久久悠悠色av| 欧美日本在线看| 欧美日韩日韩| 午夜精品亚洲| 国产酒店精品激情| 美女主播视频一区| 欧美日韩在线直播| 国产精品国产自产拍高清av王其| 亚洲免费小视频| 亚洲欧美色婷婷| 久久久亚洲高清| 亚洲男人的天堂在线观看| 午夜欧美理论片| 国内在线观看一区二区三区| 欧美日韩1区2区| 香蕉精品999视频一区二区| 一区二区视频在线观看| 久久九九国产精品怡红院| 国产精品三区www17con| 亚洲激情欧美激情| 91久久精品一区二区三区| 亚洲人成欧美中文字幕| 国产精品久久久久av免费| 性欧美超级视频| 亚洲免费在线看| 国内精品久久久久久影视8| 美女视频网站黄色亚洲| 亚洲久久一区| 国产在线精品一区二区夜色| 亚洲天堂久久| 性欧美1819性猛交| 欧美va天堂va视频va在线| 亚洲激情在线观看| 亚洲精品少妇30p| 亚洲欧美区自拍先锋| 国产精品第2页| 久久视频这里只有精品| 欧美日韩在线看| 黑人巨大精品欧美一区二区| 久久一二三区| 国产精品久久久久一区二区| 在线免费高清一区二区三区| 亚洲国产精品精华液网站| 国产日韩欧美一二三区| 伊人久久久大香线蕉综合直播| 一区二区国产精品| 欧美日韩成人综合天天影院| 亚洲视频视频在线| 在线观看成人一级片| 欧美日韩亚洲综合一区| 亚洲小视频在线| 99精品99久久久久久宅男| 欧美大学生性色视频| 葵司免费一区二区三区四区五区| 9人人澡人人爽人人精品| 国产日本欧美一区二区| 欧美激情2020午夜免费观看| 一区二区不卡在线视频 午夜欧美不卡在| 亚洲精品四区| 欧美r片在线| 欧美女主播在线| 国产一区二区黄色| 尤物精品国产第一福利三区| 欧美国产精品久久| 一区二区三区免费网站| 在线观看视频日韩| 欧美激情一二三区| 亚洲伊人一本大道中文字幕| 亚洲欧美日韩综合| 亚洲国产成人久久| 亚洲欧美日韩国产成人精品影院| 亚洲视频免费看| 亚洲综合色激情五月| 国产日韩精品一区二区三区在线| 久久久久综合一区二区三区| 亚洲永久视频| 国产网站欧美日韩免费精品在线观看| 久久久www免费人成黑人精品| 一区二区三区在线观看视频| 美女网站久久| 国产精品亚洲视频| 国产精品激情av在线播放| 在线观看视频亚洲| 国产伦精品一区二区三区照片91| 怡红院av一区二区三区| 久久精彩免费视频| 一区在线免费观看| 亚洲日韩中文字幕在线播放| 欧美专区中文字幕| 欧美有码在线观看视频| 亚洲天堂男人| 国产精品女主播| 国产亚洲欧美一区二区三区| 国产又爽又黄的激情精品视频| 欧美日本国产在线| 日韩视频永久免费| 欧美色道久久88综合亚洲精品| 国产一区二区福利| 久久精品人人做人人综合| 国内精品伊人久久久久av一坑| 久久视频这里只有精品| 一区二区三区精品国产| 欧美日韩一区二区在线观看| 欧美fxxxxxx另类| 亚洲人成网站777色婷婷| 蜜臀99久久精品久久久久久软件| 亚洲黄色一区| 亚洲人成网站999久久久综合| 91久久夜色精品国产网站| 亚洲美女诱惑| 欧美劲爆第一页| 一色屋精品亚洲香蕉网站| 国产精品久久777777毛茸茸| 在线视频中文亚洲| 国产亚洲欧美色| 香蕉成人啪国产精品视频综合网| 国产精品免费观看视频| 亚洲自拍三区| 亚洲天堂av在线免费观看| 欧美日韩中文字幕综合视频| 国产精品视频观看| 国产伦精品一区二区三区| 一区二区在线不卡| 亚洲欧美在线播放| 亚洲综合好骚| 亚洲在线网站| 亚洲一区二区三区四区五区午夜| 亚洲国产精品成人| 在线亚洲观看| 欧美日韩亚洲综合一区| 国产精品每日更新在线播放网址| 欧美日本国产视频| 99re66热这里只有精品3直播| 最新国产乱人伦偷精品免费网站| 免费欧美在线| 亚洲毛片在线免费观看| 久久se精品一区二区| 亚洲视频在线一区观看| 一区二区三区日韩欧美| 亚洲尤物视频在线| 久久婷婷一区| 亚洲图片欧洲图片日韩av| 亚洲国产精品成人va在线观看| 亚洲一区二区三区国产| 国产伦精品一区二区三区在线观看| 蜜桃av久久久亚洲精品| 99在线观看免费视频精品观看| 亚洲国产欧美一区| 久久久国际精品| 裸体一区二区三区| 欧美日韩国产欧| 欧美日韩国产色视频| 禁久久精品乱码| 亚洲欧美在线免费| 亚洲一区二区三区在线观看视频| 欧美日韩国产另类不卡| 午夜久久电影网| 欧美亚洲尤物久久| 久久不射电影网| 欧美一二三区精品| 欧美一区二区三区在线看| 欧美精选在线| 久久久久久久综合色一本| 欧美久久电影| 狠狠色丁香婷婷综合久久片| 欧美综合二区| 一区二区三区波多野结衣在线观看| 欧美成人黄色小视频| 欧美1区2区| 亚洲国产精品123| 亚洲一区二区精品视频| 免费成人av在线看| 国产精品日韩二区| 欧美午夜精品| 欧美一区二区福利在线| 亚洲一区免费看| 中文一区二区在线观看| 国产日本欧美视频| 一本综合精品| 韩国av一区二区三区在线观看| 免费永久网站黄欧美| 亚洲私人黄色宅男| 亚洲第一在线综合网站| 国产酒店精品激情| 久久婷婷国产综合尤物精品| 欧美国产亚洲精品久久久8v| 午夜视频在线观看一区二区三区| 亚洲福利视频网| 另类欧美日韩国产在线| 国产婷婷色一区二区三区四区| 久久午夜羞羞影院免费观看| 亚洲国产日韩欧美| 久久精品视频在线| 欧美亚洲一级片| 亚洲精品永久免费精品| 免费在线看成人av| 一本久久青青| 国产精品久久久久久久久久久久久| 久久久久看片| 国产午夜精品理论片a级探花| 国产日韩一区在线| 一本色道久久综合亚洲精品高清| 亚洲一区999| 久久久综合精品| 亚洲欧美视频在线观看| 亚洲午夜视频在线| 欧美三级中文字幕在线观看| 欧美国产乱视频| 欧美激情自拍| 欧美在现视频| 欧美韩国日本一区| 免费成人小视频| 在线观看91久久久久久| 欧美色图麻豆| 国产精品久久久久秋霞鲁丝| 国产亚洲成av人片在线观看桃| 国产日韩高清一区二区三区在线| 一区在线观看| 激情五月***国产精品| 激情综合电影网| 亚洲国产视频一区二区| 国产精品videossex久久发布| 国产日韩欧美亚洲一区| 日韩亚洲视频| 欧美午夜激情在线| 在线观看成人一级片| 激情伊人五月天久久综合| 午夜免费电影一区在线观看| 亚洲精品综合在线| 一区二区毛片| 91久久国产综合久久蜜月精品| 另类av一区二区| 欧美性猛交xxxx乱大交蜜桃| 国产精品国产三级欧美二区| 国产综合色精品一区二区三区| 在线国产日韩| 亚洲成人在线网| 每日更新成人在线视频| 亚洲国产另类久久精品| 亚洲一区二区成人| 国产精品免费区二区三区观看| 国产精品wwwwww| 欧美三日本三级三级在线播放| 亚洲国产另类精品专区| 噜噜噜躁狠狠躁狠狠精品视频| 午夜精品久久久久久久99水蜜桃| 欧美日韩精品一区二区三区四区| 亚洲综合精品一区二区| 最新日韩欧美| 韩国av一区二区三区四区| 欧美日韩综合在线| 伊人久久综合97精品| 欧美激情视频在线免费观看 欧美视频免费一| 一区二区高清在线观看| 欧美精品久久久久久久久老牛影院| 日韩视频一区二区三区在线播放免费观看| 久久精品国产96久久久香蕉| 久久九九有精品国产23| 1024欧美极品| 久久亚洲精品视频| 亚洲黄色小视频| 国产一区二区三区四区老人| 欧美一区二粉嫩精品国产一线天| 欧美日韩在线视频一区| 麻豆av一区二区三区久久| 久久精品一本久久99精品| 欧美国产一区视频在线观看| 欧美专区中文字幕| 一本久久精品一区二区| 久久精品国产久精国产一老狼| 欧美尤物一区| 国产精品都在这里| 欧美一级淫片aaaaaaa视频| 久久精品导航| 国产精品三级久久久久久电影| 亚洲日本欧美天堂| 欧美日韩精品综合| 亚洲毛片网站| 91久久久久久久久| 国产伦精品一区二区三区高清版| 亚洲三级视频在线观看| 亚洲欧美日韩电影| 欧美激情精品久久久久久免费印度| 一区二区三区 在线观看视| 欧美在线观看你懂的| 性做久久久久久久免费看| 欧美激情亚洲一区| 欧美人与禽猛交乱配| 91久久精品一区二区三区| 欧美日韩综合另类| 国产欧美精品国产国产专区| 国产乱理伦片在线观看夜一区| 欧美成人a视频| 欧美影院在线播放| 亚洲激情专区| 老司机免费视频一区二区三区| 国产精品亚洲综合| 香蕉国产精品偷在线观看不卡| 国产欧美综合一区二区三区| 久久久久国产一区二区| 国产精品女主播一区二区三区| 国产一区二区日韩精品欧美精品| 欧美大片第1页| 亚洲国产日韩在线一区模特| 国产区亚洲区欧美区| 欧美激情在线| 巨胸喷奶水www久久久免费动漫| 国产亚洲欧美另类一区二区三区| 国产欧美日韩亚洲精品| 亚洲二区在线观看| 亚洲午夜在线视频| 国产精品三区www17con| 日韩亚洲欧美成人| 欧美自拍丝袜亚洲| 欧美主播一区二区三区美女 久久精品人| 欧美人交a欧美精品| 99精品久久免费看蜜臀剧情介绍| 欧美午夜精品一区|