万年历单片机课程设计报告.docx
- 文档编号:24822964
- 上传时间:2023-06-01
- 格式:DOCX
- 页数:31
- 大小:1.44MB
万年历单片机课程设计报告.docx
《万年历单片机课程设计报告.docx》由会员分享,可在线阅读,更多相关《万年历单片机课程设计报告.docx(31页珍藏版)》请在冰豆网上搜索。
万年历单片机课程设计报告
1任务和设计要求
首先要学会安装软件,要熟悉会使用。
2系统设计
系统框图
3硬件设计
3.1电路原理图
3.2主要单元电路
3.3元件清单
4软件设计
4.1程序流程图
4.2程序清单
TIME_WEEKDATA52H
TIME_YEARDATA5DH
TIME_MONTHDATA5EH
TIME_DATADATA5FH
YEARHDATA36H
YEARDATA35H
MONTHDATA34H
DAYDATA33H
HOURDATA32H
MINUTEDATA31H
SECDATA30H
AAABITP3.0
BBBBITP3.1
AABITP3.3
BBBITP3.4
CCBITP3.5
BLBITP3.2
BZ1BIT21H.0
TIMESDATA20H
COMDATAP1
ORG0000H
LJMPSTART
ORG0003H
RETI
ORG000BH
LJMPINTT0
ORG0013H
RETI
ORG001BH
RETI
ORG0023H
RETI
START:
MOVR0,#30H
MOVR7,#9
CLEETE:
MOV@R0,#00H
INCR0
DJNZR7,CLEETE
MOVTIMES,#00H
MOVTMOD,#01H
MOVTL0,#0C0H
MOVTH0,#63H
MOVSEC,#0
MOVMINUTE,#0H
MOVHOUR,#0H
MOVDAY,#01H
MOVMONTH,#01H
MOVYEAR,#01H
MOVYEARH,#20H
SETBEA
SETBET0
SETBTR0
MOVR4,#19
START1:
CALLDISP
JNBAA,SETMM1
JMPSTART1
SETMM1:
CALLSETMM
JMPSTART1
SETMM:
CALLDISP
CALLDISP
JBAA,SETMM0
SETMM2:
JNBAA,SETMM3
CLRET0
CLRTR0
MOVSEC,#0
MOVTIMES,#01H
MOVR0,#MINUTE
SETMM4:
NOP
INC22:
CALLOFFL
CALLINC11
CALLDISP
JBAA,INC22
CALLDISP
JBAA,INC22
INCR0
MOVA,TIMES
RLA
MOVTIMES,A
JNBTIMES.5,SETMM4
SETMM12:
JNBAA,SETMM11
SETMM0:
SETBTR0
SETBET0
RET
SETMM11:
CALLDISP
JMPSETMM12
SETMM3:
CALLDISP
JMPSETMM2
INC11:
MOVR3,#40
INC111:
MOVA,@R0
JBBB,INC17
ADDA,#1
DAA
CALLINC000
INC13:
JNBBB,INC14
INC17:
MOV@R0,A
CALLDISP
DJNZR3,INC111
RET
INC14:
CALLDISP
JMPINC13
OFFL:
MOV22H,@R0
MOVR6,#10
OFF1:
MOVR7,#10
OFF2:
MOV@R0,#0AAH
CALLDISP
DJNZR7,OFF2
DJNZR6,OFF1
MOV@R0,22H
RET
INC000:
JBTIMES.0,INC001
JBTIMES.1,INC002
JBTIMES.2,INC003
JBTIMES.3,INC004
JBTIMES.4,INC005
JMPINCOUT
INC005:
CJNEA,#99H,INCOUT
MOVA,#00H
JMPINCOUT
INC004:
CJNEA,#13H,INCOUT
MOVA,#01H
JMPINCOUT
INC003:
CJNEA,#32H,INCOUT
MOVA,#01H
JMPINCOUT
INC002:
CJNEA,#24H,INCOUT
MOVA,#00H
JMPINCOUT
INC001:
CJNEA,#60H,INCOUT
MOVA,#00H
INCOUT:
RET
INTT0:
PUSHACC
PUSHPSW
ORLTL0,#0C0H
MOVTH0,#63H
DJNZR4,CLKE111
JMPLOOP11
CLKE111:
JMPCLKE
LOOP11:
MOVR4,#19H
MOVA,SEC
ADDA,#1
DAA
MOVSEC,A
CJNEA,#60H,CLKE99
MOVSEC,#0
MOVA,MINUTE
ADDA,#1
DAA
MOVMINUTE,A
CLK0:
CJNEA,#60H,CLKE
MOVMINUTE,#0
MOVA,HOUR
ADDA,#1
DAA
MOVHOUR,A
CJNEA,#24H,CLKE
MOVHOUR,#0
MOVA,DAY
ADDA,#1
DAA
MOVDAY,A
MOVA,MONTH
INCA
MOVCA,@A+PC
SJMPCLK1
DB31H,28H,31H
DB30H,31H,30H
DB31H,31H,30H
DB00H,00H,00H
DB00H,00H,00H
DB31H,30H,31H
CLK1:
CLRC
SUBBA,DAY
JNCCLKE
MOVA,MONTH
CJNEA,#2,CLK3
MOVA,YEAR
ANLA,#13H
JNBACC.4,CLK2
ADDA,#2
CLK2:
ANLA,#3
JNZCLK3
MOVA,DAY
XRLA,#29H
JZCLKE
CLK3:
MOVDAY,#1
MOVA,MONTH
ADDA,#1
DAA
MOVMONTH,A
CJNEA,#13H,CLKE
MOVMONTH,#1
MOVA,YEAR
ADDA,#1
DAA
MOVYEAR,A
CLKE99:
CALLCONVERT
CLKE:
POPPSW
POPACC
RETI
DISP:
PUSHPSW
PUSHACC
MOV23H,R0
DISP99:
MOVR1,#40H
MOVR0,#30H
MOVR2,#9
DISP1:
MOVA,@R0
ANLA,#0FH
MOV@R1,A
MOVA,@R0
SWAPA
ANLA,#0FH
INCR1
MOV@R1,A
DJNZR2,DISP2
CALLDISPLAY
MOVR0,23H
POPACC
POPPSW
RET
DISP2:
INCR1
INCR0
JMPDISP1
DISPLAY:
MOVR1,#40H
MOVR5,#19
SETBAAA
PLAY:
SETBBBB
NOP
CLRBBB
CLRAAA
MOVA,@R1
MOVDPTR,#TAB
MOVCA,@A+DPTR
MOVCOM,A
CALLDL1MS
MOVCOM,#0FFH
DJNZR5,PLAY1
CLRBBB
SETBAAA
RET
PLAY1:
INCR1
JMPPLAY
TAB:
DB0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H,0FFH,0A3H,8EH,0ABH
DL1MS:
MOV25H,R7
MOV24H,R6
MOVR7,#20
DS1:
MOVR6,#10
DJNZR6,$
DJNZR7,DS1
MOVR7,25H
MOVR6,24H
RET
START_YEAREQU01
CONVERT_YEARDATA5CH
CONVERT_MONTHDATA38H
CONVERT_DATEDATA37H
TEMP_BYTE1DATA57H
TEMP_BYTE2DATA58H
TEMP_BYTE3DATA59H
TEMP_BYTE4DATA5AH
TEMP_BYTE5DATA5BH
CONVERT:
MOVA,YEAR
MOVTIME_YEAR,A
MOVA,MONTH
MOVTIME_MONTH,A
MOVA,DAY
MOVTIME_DATA,A
MOVA,TIME_YEAR
MOVB,#16
DIVAB
MOVCONVERT_YEAR,B
MOVB,#10
MULAB
ADDA,CONVERT_YEAR
MOVCONVERT_YEAR,A
MOVA,TIME_MONTH
JNBACC.4,CON_02
CLRACC.4
ADDA,#10
CON_02:
MOVCONVERT_MONTH,A
MOVA,TIME_DATA
MOVB,#16
DIVAB
MOVCONVERT_DATE,B
MOVB,#10
MULAB
ADDA,CONVERT_DATE
MOVCONVERT_DATE,A
MOVDPTR,#MONTH_DATA
MOVA,CONVERT_YEAR
CON_06:
CLRC
SUBBA,#START_YEAR
MOVB,#3
MULAB
ADDA,DPL
MOVDPL,A
MOVA,B
ADDCA,DPH
MOVDPH,A
MOVA,#2
MOVCA,@A+DPTR
CLRACC.7
MOVB,#32
DIVAB
MOVTEMP_BYTE1,A
MOVTEMP_BYTE2,B
MOVTEMP_BYTE3,#0
MOVA,CONVERT_MONTH
CJNEA,#10,CON_08
CON_08:
JCCON_09
MOVTEMP_BYTE3,#1
CON_09:
MOVA,CONVERT_YEAR
ANLA,#03H
JNZCON_10
MOVA,CONVERT_MONTH
LCALLGET_RUN_DAYS_LOW
SJMPCON_12
CON_10:
MOVA,CONVERT_MONTH
LCALLGET_DAYS_LOW
CON_12:
MOVB,CONVERT_DATE
DECB
ADDA,B
MOVTEMP_BYTE4,A
JNCCON_14
INCTEMP_BYTE3
CON_14:
MOVA,TEMP_BYTE1
LCALLGET_DAYS_LOW
DECA
ADDA,TEMP_BYTE2
MOVTEMP_BYTE5,A
MOVA,CONVERT_MONTH
CJNEA,TEMP_BYTE1,CON_20
MOVA,CONVERT_DATE
CJNEA,TEMP_BYTE2,CON_20
CON_20:
JCCON_22
LJMPCON_60
CON_22:
MOVA,CONVERT_YEAR
JNZCON_24
MOVA,#100
CON_24:
DECA
MOVCONVERT_YEAR,A
MOVA,DPL
CLRC
SUBBA,#3
MOVDPL,A
JNCCON_26
DECDPH
CON_26:
MOVA,TEMP_BYTE5
CLRC
SUBBA,TEMP_BYTE4
MOVTEMP_BYTE3,A
MOVCONVERT_MONTH,#12
CLRF0
CLRA
MOVCA,@A+DPTR
ANLA,#0F0H
SWAPA;
MOVTEMP_BYTE4,A
JZCON_30
MOVA,#2
MOVCA,@A+DPTR
MOVC,ACC.7
MOVA,#1
MOVCA,@A+DPTR
RLCA
SJMPCON_34
CON_30:
MOVA,#1
MOVCA,@A+DPTR
CON_34:
MOVTEMP_BYTE5,A
CON_40:
MOVA,TEMP_BYTE5
RRCA
MOVTEMP_BYTE5,A
JCCON_42
MOVB,#29
SJMPCON_44
CON_42:
MOVB,#30
CON_44:
MOVA,TEMP_BYTE3
CLRC
SUBBA,B
JZCON_46
JNCCON_50
CPLA
INCA
CON_46:
INCA
MOVB,#10
DIVAB
SWAPA
ORLA,B
MOVCONVERT_DATE,A
MOVA,CONVERT_MONTH
MOVB,#10
DIVAB
SWAPA
ORLA,B
MOVCONVERT_MONTH,A
MOVA,CONVERT_YEAR
MOVB,#10
DIVAB
SWAPA
ORLA,B
MOVCONVERT_YEAR,A
CALLWEEK
RET
CON_50:
MOVTEMP_BYTE3,A
JBF0,CON_52
DECCONVERT_MONTH
CON_52:
MOVA,CONVERT_MONTH
CJNEA,TEMP_BYTE4,CON_54
CPLF0
CON_54:
SJMPCON_40
CON_60:
MOVA,TEMP_BYTE4
CLRC
SUBBA,TEMP_BYTE5
MOVTEMP_BYTE4,A
JNCCON_62
DECTEMP_BYTE3
CON_62:
MOVCONVERT_MONTH,#1
CLRA
MOVCA,@A+DPTR
MOVTEMP_BYTE5,A
ANLA,#0F0H
SWAPA
XCHA,TEMP_BYTE5
CLRF0
ANLA,#0FH
MOVTEMP_BYTE1,A
MOVA,#1
MOVCA,@A+DPTR
MOVTEMP_BYTE2,A
ANLA,#0F0H
ORLA,TEMP_BYTE1
SWAPA
MOVTEMP_BYTE1,A
MOVA,#2
MOVCA,@A+DPTR
MOVC,ACC.7
MOVA,TEMP_BYTE2
ANLA,#0FH
SWAPA
MOVACC.3,C
MOVTEMP_BYTE2,A
CON_70:
MOVA,TEMP_BYTE2
RLCA
MOVTEMP_BYTE2,A
MOVA,TEMP_BYTE1
RLCA
MOVTEMP_BYTE1,A
JCCON_72
MOVB,#29
SJMPCON_74
CON_72:
MOVB,#30
CON_74:
MOVA,TEMP_BYTE4
CLRC
SUBBA,B
JNCCON_78
MOVB,A
MOVA,TEMP_BYTE3
JZCON_76
DECTEMP_BYTE3
MOVTEMP_BYTE4,B
SJMPCON_80
CON_76:
MOVA,TEMP_BYTE4
LJMPCON_46
CON_78:
MOVTEMP_BYTE4,A
CON_80:
MOVA,CONVERT_MONTH
CJNEA,TEMP_BYTE5,CON_82
CPLF0
JNBF0,CON_82
SJMPCON_70
CON_82:
INCCONVERT_MONTH
SJMPCON_70
GET_DAYS_LOW:
MOVCA,@A+PC
RET
DB0,31,59,90,120,151,181,212,243,17,48,78
GET_RUN_DAYS_LOW:
MOVCA,@A+PC
RET
DB0,31,60,91,121,152,182,213,244,18,49,79
MONTH_DATA:
DB04DH,04AH,0B8H;2001
DB00DH,04AH,04CH;2002
DB00DH,0A5H,041H;2003
DB025H,0AAH,0B6H;2004
DB005H,06AH,049H;2005
DB07AH,0ADH,0BDH;2006
DB002H,05DH,052H;2007
DB009H,02DH,047H;2008
DB05CH,095H,0BAH;2009
DB00AH,095H,04EH;2010
DB00BH,04AH,043H;2011
DB04BH,055H,037H;2012
DB00AH,0D5H,04AH;2013
DB095H,05AH,0BFH;2014
DB004H,0BAH,053H;2015
DB00AH,05BH,048H;2016
DB065H,02BH,0BCH;2017
DB005H,02BH,050H;2018
DB00AH,093H,045H;2019
DB047H,04AH,0B9H;2020
DB006H,0AAH,04CH;2021
DB00AH,0D5H,041H;2022
DB024H,0DAH,0B6H;2023
DB004H,0B6H,04AH;2024
DB069H,057H,03DH;2025
DB00AH,04EH,051H;2026
DB00DH,026H,046H;2027
DB05EH,093H,03AH;2028
DB00DH,053H,04DH;2029
DB005H,0AAH,043H;2030
DB036H,0B5H,037H;2031
DB009H,06DH,04BH;2032
DB0B4H,0AEH,0BFH;2033
DB004H,0ADH,053H;2034
DB00AH,04DH,048H;2035
DB06DH,025H,0BCH;2036
DB00DH,025H,04FH;2037
DB00DH,052H,044H;2038
DB05DH,0AAH,038H;2039
DB00BH,05AH,04CH;2040
DB005H,06DH,041H;2041
DB024H,0ADH,0B6H;2042
DB004H,09BH,04AH;2043
DB07AH,04BH,0BEH;2044
DB00AH,04BH,051H;2045
DB00AH,0A5H,046H;2046
DB05BH,052H,0BAH;2047
DB006H,0D2H,04EH;2048
DB00AH,0DAH,042H;2049
DB035H,05BH,037H;2050
DB009H,037H,04BH;2051
DB084H,097H,0C1H;2052
DB004H,097H,053H;2053
DB006H,04BH,048H;2054
DB066H,0A5H,03CH;2055
DB00EH,0A5H,04FH;2056
DB006H,0B2H,044H;2057
DB04AH,0B6H,038H;2058
DB00AH,0AEH,04CH;2059
DB009H,02EH,042H;2060
DB03CH,097H,035H;2061
DB00CH,096H,049H;2062
DB07DH,04AH,0BDH;2063
DB00DH,04AH,051H;2064
DB00DH,0A5H,045H;2065
DB055H,0AAH,0BAH;2066
DB005H,06AH,04EH;2067
DB00AH,06DH,043H;2068
DB045H,02EH,0B7H;2069
DB005H,02DH,04BH;2070
DB08AH,095H,0BFH;2071
DB00AH,095H,053H;2072
DB00BH,04AH,047H;2073
DB06BH,055H,03BH;2074
DB00AH,0D5H,04FH;2075
DB005H,05AH,045H;2076
DB04AH,05DH,038H;2077
DB00AH,05BH,04CH;2078
DB005H,02BH,042H;2079
DB03AH,093H,0B6H;2080
DB006H,093H,049H;2081
DB077H,029H,0BDH;2082
DB006H,0AAH,051H;2083
DB00AH,0D5H,046H;2084
DB054H,0DAH,0BAH;2085
DB004H,0B6H,04EH;2086
DB00AH,057H,043H;2087
DB045H,027H,038H;2088
DB00DH,026H,04AH;2089
DB08EH,093H,03EH;2090
DB00DH,052H,052H;2091
DB00DH,0AAH,047H;2092
DB066H,0B5H,03BH;2093
DB005H,06DH,04FH;2094
DB004H,0AEH,045H;2095
DB04AH,04EH,0B9H;2096
DB00AH,04DH,04CH;2097
DB00DH,015H,041H;2098
DB02DH,092H,0B5H;2090
DB00DH,053H,049H;2100
TIME_WEEK1DATA52H
WEEK:
MOVA,TIME_YEAR
MOVB,#16
DIVAB
MOVTEMP_BYTE1,B
MOVB,#10
MULAB
ADDA,TEMP_BYTE1
MOVTEMP_BYTE1,A
MOVA,TIME_MONTH
JBACC.7,GETW02
MOVA,#100
ADDA,TEMP_BYTE1
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 万年历 单片机 课程设计 报告