;真正的萬年歷:?84?bytes?的?51?ASM
;==SUB_WNL===?萬年歷?==*?Deng?Miao?*??2004-06-01?*****?GuangZhou?******
??????????SJ????DATA???30H?;?世紀??BCD??00?TO?99???
??????????NH????DATA???31H?;?年號??BCD??00?TO?99????0000?TO?9999?年
??????????YF????DATA???32H?;?月份??BCD??01?TO?12
???org?000h
?????MOV?SP,?#40H
?????MOV?SJ,?#21H?;2004-05
?????MOV?NH,?#01H
?????MOV?YF,?#4H???
?????ACALL?SUB_WNL
?????SJMP?$???
;===============SUB_WNL===================
?????;?入口:
????????;??SJ????DATA???30H?;?世紀??BCD??00?TO?99???
????????;??NH????DATA???31H?;?年號??BCD??00?TO?99????0000?TO?9999?年
????????;??YF????DATA???32H?;?月份??BCD??01?TO?12
?????;?出口
????????;?ACC???--??本月天數?BCD?28?to?31
????????;?B?????--??本月1日的星期數?1?to?6?==?星期1?to?星期6
????????;????????????????????????????????0?--?星期日
?????;?使用:??ACC,?B,?R5,?R6?
?????;?STACK:??3?bytes?(不包括調用)
??????ORG?50H
SUB_WNL:
??????PUSH?PSW
??????MOV?A,?SJ?
??????ACALL?BCD2BIN_MOD4??????
??????;?x?400年:?(大周期)?
??????;???????=146097天?=?7?*?20871?+?0?天
??????;?x?100年:?
??????;?000年?=?7?*?0?????+?0?+?1?-?1???????1??=??0?*?2?+?1?****
??????;?100年?=?7?*?5217??+?7?+?1?-?2???????2??=??1?*?2?
??????;?200年?=?7?*?10435?+?7?+?1?-?4???????4??=??2?*?2??
??????;?300年?=?7?*?15653?+?7?+?1?-?6???????6??=??3?*?2?
??????;?????????????????????????????????{1,2,4,6}??????????????
??????MOV?A,?R6??;?A=R6=?SJ_BIN?MOD?4
??????RLC?A???;?A=A*2+C???????A?=???????{1,2,4,6}???????????****
??????XRL?A,?#10000111B?;?????A?=?87H?-?A??;?邊界調整
??????MOV?R5,?A?????????;?????A?=???{86H,?85H,?83H,?81H}?;?R5:?星期??
??????MOV?A,?NH??
??????JZ??WNL_1
????????ACALL?BCD2BIN_MOD4
????????XCH?A,?R5?????
????????SUBB?A,?R5?;?0?年?;??0??=???0?+???0?+?1?+?(-1)?***
????????MOV?R5,?A
WNL_1:
??????MOV?A,?YF
??????ADD?A,?#(WNL_TAB-$-4)
??????MOVC?A,?@A+PC
??????MOV?R6,?A
???????
??????SWAP?A
??????ACALL?WNL_F0;?大年對>=3月調整準備
??????ADDC?A,?R5??;?月調整
??????MOV?B,?#7
??????DIV?AB??????;?B?=?A?MOD?7
??????MOV?A,?R6
??????ACALL?WNL_F0;?大年調整準備
??????ADDC?A,?#28
??????POP?PSW
??????RET
WNL_TAB:
??????DB?3*2?+?5?*?32+0?;1?????BIT?0???:??"2月"?標志
??????DB?0*2+1+1?*?32+0?;2?**??BIT?1..2:?月大小
??????DB?3*2?+?1?*?32+16?;3??????????????00:28?天??
??????DB?2*2?+?4?*?32+16?;4??????????????01:----?
??????DB?3*2?+?6?*?32+16?;5??????????????10:?30?天?
??????DB?2*2?+?2?*?32+16?;6??????????????11:?31?天
??????DB?3*2?+?4?*?32+16?;7????BIT?3:?0?-----?
??????DB?3*2?+?7?*?32+16?;8????BIT?4:??0:?1/2月????????????????
??????DB?2*2?+?3?*?32+16?;9????????????1:?>=3月?
WNL_F0:????????;?6?BYTES?;?大年調整準備
????????RRC?A????????????;0AH?
????????ANL?A,?#07H??????;0BH
?????????????????????????;0CH?
????????ANL?C,?F0????????;0DH
?????????????????????????;0EH
????????RET??????????????;0FH
??????DB?3*2?+?5?*?32+16?;10H??BIT?5..7:??星期調整數??????????
??????DB?2*2?+?1?*?32+16?;11H????????????0:---?????????
??????DB?3*2?+?3?*?32+16?;12H??????????1-7:?調整數?
BCD2BIN_MOD4:
?????;?功能:A.?1?BYTES?BCD?TO?BIN
??????????;??B.?MOD?4
??????????;??C.?MUL?2?
?????;?入口:
????????;??A??:??SJ?OR?NH???
????????;??F0?:??大世紀
?????;?出口
????????;?ACC???--??(BIN(A)?\?4)?*?2?-?(BIN(A)?MOD?4)?-?F0
????????;?R6????--??BIN(A)?MOD?4
????????;??C????--??IIF(?(BIN(A)?MOD?4)=0,?1,?0?)
?????;?使用:??ACC,?B,?R6,?PSW?
?????;?STACK:??0?bytes?(不包括調用)
??????MOV?R6,?A????????;???BCD?==>?BIN?
??????ANL?A,?#0F0H?????;?16X+Y?==>?10X+Y?
??????SWAP?A
??????MOV?B,?#(256-6)??;?(256-6)*X?+?(16X+Y)??
??????MUL?AB???????????;
??????ADD?A,?R6????????;?=?256X?+?(10X+Y)?
??????
??????MOV?R6,?A????????;?MOD4???
??????ANL?A,?#3
??????XCH?A,?R6???????;?R6?=?BIN?MOD?4???=?{0,1,2,3}
?????????????????;?X?4年:3?*?365?+?366?=?7*209?+?(-2)?**
??????XRL?A,?R6??????????????;?A?=?(BIN?\?4)
??????RR?A???????????????????;?A?=?(BIN?\4?)?*??????2??**
??????MOV?C,?F0???;?大世紀調整
??????SUBB?A,?R6?
??????;X?1?年:??????????????????????????
???????????;0?年??0??=???0?+?????????????0?+?1?+?(-1)?***?
???????????;1?年?366?=?7*52?+????????????1?+?1
???????????;2?年?366?+?365?=?7*104?+?????2?+?1
???????????;3?年?366?+?365?+?365?=?7*156+3?+?1
???????????;?????????????????????????{-1,1,2,3}?
??????CJNE?R6,?#1,?$?+?3?;?C?=?IIF(R6>=1,?0,?1)
??????MOV?F0,?C??????????;?C=1?為大年/大世紀??
??????RET?
???????;-----------------------------?
???END?;========?END?OF?FILE
基于單片機的萬年歷匯編語言程序
- 萬年歷(23638)
相關推薦
萬年歷
用單片機做萬年歷過程中,程序調試無錯誤,仿真成功。但是按照電路焊接好之后卻無法正常顯示,表現在:1、要施加很高電壓,大概7.5V時顯示屏才有數字出現2、按鍵調整時,數字會在其位置顯示,數據顯的位置不對3、顯示多個85望高手予以解答,小生不勝感激!
2014-04-04 17:02:50
萬年歷
跪求設計一種多功能萬年歷,該萬年歷可以顯示時間、實時顯示溫度和濕度,同時還具有農歷提示功能,顯示中國傳統節日相關信息,具有整點報時功能,每當整點到來蜂鳴器會發出一聲鳴叫。主要技術指標:溫濕度測量范圍
2013-03-05 14:20:52
萬年歷54單片機,LCD12864,DS1302,18B20
萬年歷54單片機,LCD12864,DS1302,18B20舍棄了鬧鐘和報警溫度,很單純的萬年歷絕對可行,
2014-03-02 20:10:06
萬年歷制作求助
題 目:萬年歷電路設計內容要求:(包括規定閱讀的文獻、應完成的程序、圖紙、實驗、說明書等)一、任務設計并制作一個萬年歷,其組成框圖如圖所示。它是以單片機為主控制器,時間數據是通過AT89C52芯片
2012-10-14 00:12:02
單片機萬年歷
跪求一個萬年歷的設計,能進行陰陽歷轉換,基于52單片機和LCD1602液晶顯示屏,各位大哥大姐,誰幫幫我呀?我真的很感謝!在線等,有代碼最好呀,先謝謝了!!!
2012-05-11 00:06:40
單片機萬年歷設計(含程序和原理圖以及PCB文件)
單片機萬年歷設計(含程序和原理圖以及PCB文件),盡供學習哦。http://www.1cnz.cn/soft/33/2008/200807215380.html
2014-10-30 14:10:34
單片機多功能萬年歷學習合集
平衡式的兩排LED,這除了在旋轉時能較好的保持平衡外,主要能利用兩邊交替顯示方式,比單排要快一倍。 萬年歷-給女友做的生日禮物 純手工打造搖擺LED時鐘——原理圖+程序 【電子diy設計作品
2012-11-13 17:07:34
單片機的萬年歷匯編語言程序
;真正的萬年歷: 84 bytes 的 51 ASM;==SUB_WNL=== 萬年歷 ==******* SJ DATA30H ; 世紀BCD00 TO 99 NH DATA31H ; 年號
2012-08-30 20:58:11
fpga 用VerilogHDL語言及DS1302設計一個萬年歷,將時鐘及萬年歷信息顯示在數碼管上
用VerilogHDL語言及DS1302設計一個萬年歷,將時鐘及萬年歷信息顯示在數碼管上。
2017-04-23 21:02:55
使用51單片機自制電子萬年歷(包含驅動、基本萬年歷、鬧鐘、日程、修改時間等)精選資料分享
歸檔51單片機制作電子萬年歷,以及proteus仿真電路圖,本設計涵蓋蜂鳴器、uart、timer、矩陣掃描、lcd1602顯示、基本萬年歷(年/月/日/時/分/秒)、鬧鐘、日程、修改時間和小游戲等各項功能,基本上覆蓋使用了51單片機內部所有資源。
2021-07-22 06:53:11
關于無字庫12864萬年歷
手頭有個無字庫的12864液晶屏和兩個DS12C887時鐘芯片一個STC89C52單片機,想做一個萬年歷,苦于一直找不到相應的程序,那位好心人給發一個完整的程序啊
2014-01-15 22:15:36
基于51單片機匯編語言的數字鐘課程設計報告(含有鬧鐘萬年歷) PDF文檔
多功能數字鐘,利用匯編語言實現了大部分學校單片機課程設計數字鐘的要求功能,如報時,鬧鐘,萬年歷,生日提醒等,所有項目都是可預置的,還有一些附帶功能,課程設計題目源于李群芳版單片機課本(綠皮的),對本設計有不懂的地方,可以在我的百度主頁留言.附件下載:
2011-02-18 16:10:32
基于51單片機液晶萬年歷設計 精選資料推薦
、鬧鐘等功能。該電子萬年歷主要采用STC89C52單片機作為主控核心,用DS1302時鐘芯片作為時鐘、液晶12864顯示屏顯示。STC89C52單片機是由宏晶公司推出的,功耗小,電壓可選用4~6V電壓供電...
2021-07-19 08:04:59
基于單片機的萬年歷
想做一個基于單片機的萬年歷系統,時鐘芯片為ds1302,max7219驅動八位數碼管,動態顯示年月日,時分秒,哪位大神會此c語言程序啊,,有7219的驅動也行啊,,,,
2013-06-27 11:54:37
基于單片機的液晶多功能萬年歷設計資料分享
單片機實訓之萬年歷(具有時分秒,日期,星期調校功能什么是萬年歷????年歷是中國古代傳說中最古老的一部太陽歷。萬年歷是記錄一定時間范圍內(比如100年或更多)的具體陽歷與陰歷的日期的年歷,方便有需要
2021-11-10 08:04:05
基于C51單片機的萬年歷設計
單片機C51設計萬年歷注:該程序基于普中科技C51 V2.2開發板設計,庫函數和硬件資料均來自普中科技,侵刪。main.c大部分為原創,如有雷同,純屬巧合。名稱:C51萬年歷。硬件:以C51芯片為
2021-07-21 09:07:20
基于FPGA的verilog萬年歷程序_萬年歷設計_明德揚資料
萬年歷工程說明在FPGA設計中,數字萬年歷屬于小規模集成電路。從原理上來講,是典型的數字電路,包括組合邏輯電路和時序電路。基于FPGA開發除設計簡便、開發成本低、電路簡潔等,更具備功能設計靈活方面
2017-08-02 18:05:06
基于stc89c58的萬年歷設計 精選資料分享
小。對于數字電子萬年歷采用直觀的數字顯示,可以同時顯示年、月、日、周日、時、分、秒和溫度等信息,還具有時間校準等功能。該電路采用STC90C516RD+單片機作為核心,功耗小,能在3V的低壓工作,電壓...
2021-07-20 06:30:34
如何做萬年歷?
屏幕是spi串口tft屏,驅動是ST7735,8線。如圖。單片機是iap15l2k61s2,還有一塊ds1302模塊。現在想做成一個萬年歷。弄了好久,都不行。求大神給一個程序,謝謝。
2019-09-12 02:06:19
如何去實現一種基于單片機的電子萬年歷設計
文末下載完整資料?? ?? ?? ?? ?? ??基于51單片機的電子萬年歷的設計?? ?? ?? ?? ?? ?? ?? ?? ??摘要??電子萬年歷是單片機系統的一個應用,由硬件和軟件相配合
2021-11-09 06:37:05
如何在51單片機實現電子萬年歷 精選資料分享
51單片機制作萬年歷的基本功能部分,軟件特性可以在proteus上仿真,使用51單片機定時器T0做萬年歷計時信號源,電子萬年歷計時系統在timer模塊,本模塊主要是將年/月/日/星期/時/分/秒等
2021-07-19 07:44:08
最強萬年歷源碼(支持24節氣、支持所有單片機、ARM)
最強萬年歷源碼(支持24節氣、支持所有單片機、ARM)最強萬年歷源碼V2.0 :1、 支持所有的單片機、ARM、AVR、MSP430、PIC等(支持C開發) 2、可嵌入任何標準C編譯器 BC++
2012-08-15 22:18:41
求單片機做的萬年歷的keil程序和protues仿真圖,要帶陰歷的
求單片機做的萬年歷的keil程序和protues仿真圖,要帶陰歷的,不勝感激郵箱:617559176@qq.com
2015-07-19 19:34:19
求一種基于STC89C52單片機的電子萬年歷設計方案
基于STC89C52單片機的電子萬年歷是由哪些部分組成的?基于STC89C52單片機的電子萬年歷具有哪些功能?怎樣去設計一種基于STC89C52單片機的電子萬年歷?
2021-07-19 08:29:23
電子萬年歷設計
基于STC51單片機的電子萬年歷,有多個595級聯,有呼吸燈設計,60個LED秒燈,按鍵調整,含鬧鐘功能,鬧鐘數據掉電自動保存在單片機內部EEPROM中,希望對51單片機愛好者有幫助。
2013-08-08 10:44:11
跪求 基于單片機的萬年歷設計
基于單片機的萬年歷設計擬實現的基本功能:(1)可顯示公歷年、月、日和時、分、秒。(時鐘芯片DS1302)(2)可顯示公歷所對應的農歷年、月、日。(3)具有較高的精確度,一年的誤差為1s以下。(4
2016-01-07 10:17:34
評論
查看更多