|
這好像是ahshmj版主的大作 我從別處轉(zhuǎn)來的.
我不想賺什么電阻——這東西對我來說也沒什么用。
也不需要回復(fù)無聊的帖子以后再看,浪費時間、資源。隨便看。
只要對朋友們有幫助,比什么都好。
上午看里本論壇一個帖子,大概是說說怎么學(xué)的單片機?
我忘記是怎么學(xué)的單片機,也不知道什么叫做“學(xué)會”,也許現(xiàn)在還不算會。
我前段時間想做一個電子鐘,全部自己寫程序,按自己的思路寫。作好了以后,
又改稱串口的(沒有原因,就是看網(wǎng)上這樣的東西少,加上使用的口線少,便于連接。一共4根線,2根電源,1根時鐘、1根數(shù)據(jù))
又想加上日歷,公歷的也加上了,也有星期,
又想加上紀念日,也成了。
進一步,又加了上農(nóng)歷轉(zhuǎn)換,——有點費腦筋,但是也于昨天調(diào)試成了。
在進一步,又添上農(nóng)歷干、支紀年和生肖,
還有農(nóng)歷節(jié)日(可以屏蔽閏月的“節(jié)日”,可以正確顯示臘月二十九的除夕)。。。
想再加上24節(jié)氣,可是12864沒地方寫了,想分時顯示,但是也不滿意,準備換一個大一點的。
以上程序從2000年測試到2049年,無誤。
——以上的程序全是自己寫的,匯編的4k多,完全是原創(chuàng),和別人的絕不雷同。
——因為想讀懂別人的、沒有較詳細注釋的4k以上的匯編程序,比自己寫還難�。。ㄒ驗樾枰e人的思路)。
大概學(xué)習(xí)就是這樣循序漸進的吧?從小程序到一點點加大,一個個模塊堆積木一樣的搭起來。
化整為零,模塊化有許多好處。一次做完一個小的項目,思路順暢,一氣呵成。免得再次坐下來時,有的從頭整理思路�!苍S對小程序還不明顯,對稍大一些的程序影響就大了。
“;1.這個程序是串口通訊,和網(wǎng)上其他的不一樣,比較實用,占用機器時間少。
;2.紀念日程序簡單,添加容易,續(xù)上紀念日的內(nèi)容,然后在對應(yīng)的日期
; 填上編號即可。方法別出心裁。
;3.農(nóng)歷的轉(zhuǎn)換也很新穎,網(wǎng)上現(xiàn)有的匯編的只找到一款,思路大不相同。
;4.網(wǎng)上的C語言的也很少,而且有些不準,比如臘月29和臘月30除夕的判別
;5.簡練,盡量簡化,減少語句。程序中多采用模塊式,可讀性強。
;6.為了程序簡練、易讀,農(nóng)歷信息使用了4個字節(jié),從2000年開始,到2100年。
; 1901年到2000年的數(shù)據(jù)表中保留了,如果需要可以使用。
;7.農(nóng)歷節(jié)日,排除了閏月,有判斷除夕是29或30的功能
;8.加上了足夠詳細的注釋,便于閱讀、理解和引用。
;9.由于12864已經(jīng)寫滿,所以24節(jié)氣程序?qū)懞煤�,沒有添加。
; 準備換一個大的后再加。
;10.農(nóng)歷紀念日可以合并到一塊兒,序號加公歷紀念日最后一行
; 的行號,把改后的編號填入農(nóng)歷編號表即可
;為了測試,可以改動定時器初裝值、秒20次中斷、最大值表
;本程序4019(1013H)個字節(jié),所以如果使用89s51類,4000字節(jié)的MCU時,
;可刪去最5年的農(nóng)歷數(shù)據(jù),減少幾個字節(jié)即可。
;最后修正日期:2009年12月22日23:02 ,從2000年開始到2049年;測試核對無誤�!�
最近拿上來給大家看看。不知道達到這樣算不算入門了?
原來編制程序時,使用的《萬年歷》有誤,今天剛剛發(fā)現(xiàn)。2012年3月22日對應(yīng)的應(yīng)是農(nóng)歷3月1日,由于原萬年歷把2月份印成大月,4月份印成小月。
使用時,請把“TAB_NO_SHU: ”中的2012年數(shù)據(jù)更正一下,把這一行替換掉“ DB 0AEH, 0A8H, 004H, 088H ;2012(原數(shù)據(jù)表第一字節(jié)是0BAH,錯的)”(不要引號),抱歉!!
匯編語言程序:
自編農(nóng)歷串口OK.rar
(74.8 KB, 下載次數(shù): 241)
2013-6-19 03:32 上傳
點擊文件名下載附件
自編農(nóng)歷節(jié)日串口OK.rar
(74.18 KB, 下載次數(shù): 216)
2013-6-19 03:32 上傳
點擊文件名下載附件
|
評分
-
查看全部評分
|