单片机万年历
设计
领导形象设计圆作业设计ao工艺污水处理厂设计附属工程施工组织设计清扫机器人结构设计
_下载9573179
单片机万年历设计 一 教学目标
1.课程设计的性质
本课程是在前导验证性认知实验以及相关的理论课基础上,进行更高层次命
题
快递公司问题件快递公司问题件货款处理关于圆的周长面积重点题型关于解方程组的题及答案关于南海问题
的设计性的教学环节,是学生在教师指导下独立查阅
资料
新概念英语资料下载李居明饿命改运学pdf成本会计期末资料社会工作导论资料工程结算所需资料清单
、设计、安装和编程
对于提高学生的电子
工程
路基工程安全技术交底工程项目施工成本控制工程量增项单年度零星工程技术标正投影法基本原理
素质和科学实验能力非特定功能的电子电路的课程。
常重要。
2.课程设计目的
本课程旨在培养学生综合数字电路和单片机知识,解决电子信息方面常见实际问题的能力,并了解一般电子电路与单片机构成简单系统及较为复杂的编程的方法。促使学生积累单片机系统的开发经验,准备走向更复杂更实用的应用领域,是参加各类大学生电子竞赛前的技能培训课程。目的在于巩固基础、注重设计、培养技能、追求创新、走向实用。
二、课程设计题目(万年历设计)
功能
要求
对教师党员的评价套管和固井爆破片与爆破装置仓库管理基本要求三甲医院都需要复审吗
:
1、显示年、月、日、小时、分钟和秒钟;
2、分钟、小时和年月日可调;
技术要求:采用制作PCB完成该课程设计。
三、程序设计
LCD1TIM1 Ram 0
读写 读 计数器计数,
602显 数据保存于
ram0中 保存数据
示
读写
键盘
调时
1、液晶屏1602初始化
;PB口为数据输入、输出口
#define LCD_DDR PB_DDR
MOV LCD_DDR,#0
MOV PB_CR1,#0FFH
MOV PB_CR2,#0
#define Data_IN PB_IDR
#define Data_Out PB_ODR
;初始化PE5为RS
BSET PE_DDR,#5
BSET PE_CR1,#5
BRES PE_CR2,#5
BSET PE_ODR,#5
#define RS PE_ODR,#5
;初始化PE6为RW
BSET PE_DDR,#6
BSET PE_CR1,#6
BRES PE_CR2,#6
BSET PE_ODR,#6
#define RW PE_ODR,#6
;初始化PE7为E(片选信号)
BSET PE_DDR,#7
BSET PE_CR1,#7
BRES PE_CR2,#7
BRES PE_ODR,#7
#define E PE_ODR,#7
;LCD初始化
MOV R03,#15
CALL Delay
MOV LCD_COM,#38H ;
CALL LCDWR_ND
MOV R03,#05
CALL Delay
MOV LCD_COM,#38H
CALL LCDWR_ND
MOV R03,#05 ;显示关闭
CALL Delay
MOV LCD_COM,#08H
CALL LCDWR_ND
MOV R03,#05 ;显示清屏
CALL Delay
MOV LCD_COM,#01H
CALL LCDWR_ND
MOV R03,#12 ;当读或写一个字符后, 地址指针减一
CALL Delay
MOV LCD_COM,#04H
CALL LCDWR_ND
MOV R03,#15 ;显示开,光标不显示
CALL Delay
MOV LCD_COM,#0CH
CALL LCDWR_ND
MOV R03,#15
CALL Delay
2、子程序LCDWR_ND
.LCDWR_ND.L
BSET RW
BRES RS ;选择命令
;读模式
MOV LCD_DDR,#00H ;0,数据总线处于输入状态
DengDai1.L
BSET E
NOP
NOP
MOV LCD_D1,Data_IN
BRES E
BTJT LCD_D1,#7,DengDai1
;写模式
MOV LCD_DDR,#0FFH
BRES RW
MOV Data_Out,LCD_COM
BSET E
NOP
NOP
BRES E
RET
3、子程序W_CODE
.W_CODE.L ;读数据
BRES RS ;数据命令
BSET RW
MOV LCD_DDR,#00H W_CODE_1.L
BSET E
NOP
NOP
LD A,Data_IN
BRES E
LD R11,A
BTJT R11,#7,W_CODE_1
LCD_DDR,#0FFH MOV
BSET RS
BRES RW
MOV Data_Out,LCD_COM
BSET E
NOP
NOP
BRES E
RET
RET
RET
RET
RET
4、子程序Delay(起延时作用)
(1)TIM3初始化
;计数器初始化
MOV TIM3_PSCR,#01H
MOV TIM3_ARRH,#27H
MOV TIM3_ARRL,#10H
MOV TIM3_CR1,#04H
BRES TIM3_IER,#0
BSET TIM3_CR1,#0
(2)中断程序
interrupt TIM3_Interrupt_Over
TIM3_Interrupt_Over.l
BRES TIM3_SR1,#0
DEC R03
IRET
)主体部分 (3
.Delay.L
BSET TIM3_EGR,#0
BSET TIM3_IER,#0
Delay_1.l
LD A,R03
CP A,#00
JRUGT Delay_1
BRES TIM3_IER,#0
RET
5、计时部分:
(1)TIM1初始化
;计数器初始化
MOV TIM1_SMCR,#00H
BRES TIM1_ETR,#6
MOV TIM1_PSCRL,#01H
MOV TIM1_ARRH,#{HIGH 10000} ;初始化自动重装初值寄存器TIM1_ARR
MOV TIM1_ARRL,#{LOW 10000}
MOV TIM1_RCR,#00H ;初始化重复计数寄存器TIM1_RCR
MOV TIM1_CR1,#05H BSET TIM1_CR1,#0 ;启动定时器TIM1
(2)中断程序
interrupt TIM1_Interrupt_Over
TIM1_Interrupt_Over.l
BRES TIM1_SR1,#0
DEC R19
JRNE TIM1
MOV R19,#100
INC R05 ;R05为秒钟的个位
CLR A
LD A,R05
CP A,#10
JRNE TIM1
CLR R05
INC R06 ;R06为秒钟的十位
LD A,R06
CP A,#6
JRNE TIM1
CLR R06
INC R07 ;R07为分钟的个位
TIM1.L
IRET 6、LCD1602显示部分
(1)年月日显示
infinite_loop1.l
MOV ADDR,#08CH
MOV LCD_COM,ADDR
CALL LCDWR_ND infinite_loop2.l
CLRW X
CLR A
CLRW Y
LDW X,R22
LDW Y,#4
DIVW X,Y
LD A,YL
CP A,#0
JRNE FRN
CLRW Y
CLRW X
CLR A
LDW Y,#100
LDW X,R22
DIVW X,Y
LD A,YL
CP A,#0
JRNE RunNian
CLRW Y
CLRW X
CLR A
LDW Y,#400
LDW X,R22
DIVW X,Y
LD A,YL
CP A,#0
JRNE FRN
RunNian.l
CLR A
LD A,R21
CP A,#2
JRNE AS8
LD A,R20
CP A,#30
JRC SD1
MOV R20,#1
INC R21
JPF AS
FRN.l
CLR A
LD A,R21
CP A,#2
JRNE AS8
LD A,R20
CP A,#29
JRC SD1
MOV R20,#1
INC R21
JPF AS
AS8.L
LD A,R21
CP A,#1
JRNE AS1
LD A,R20
CP A,#32
JRC SD1
MOV R20,#1
INC R21 SD1.L
JPF AS AS1.L
LD A,R21
CP A,#3
JRNE AS2
LD A,R20
CP A,#32
JRC SD2
MOV R20,#1
INC R21 SD2.L
JPF AS AS2.L
LD A,R21
CP A,#5
JRNE AS3
LD A,R20
CP A,#32
JRC SD3
MOV R20,#1
INC R21 SD3.L
JPF AS
AS3.L
LD A,R21
CP A,#7
JRNE AS4
LD A,R20
CP A,#32
JRC SD4
MOV R20,#1
INC R21 SD4.L
JPF AS AS4.L
LD A,R21
CP A,#8
JRNE AS5
LD A,R20
CP A,#32
JRC SD5
MOV R20,#1
INC R21 SD5.L
JPF AS AS5.L
LD A,R21
CP A,#10
JRNE AS6
LD A,R20
CP A,#32
JRC SD6
MOV R20,#1
INC R21 SD6.L
JPF AS AS6.L
LD A,R21
CP A,#12
JRNE AS7
LD A,R20
CP A,#32
JRC SD7
MOV R20,#1
INC R21 SD7.L
JPF AS
AS7.L
LD A,R20
CP A,#31
JRC AS
MOV R20,#1
INC R21 AS.L
CLRW X
CLR A
LD A,R20
LD XL,A
LDW Y,#10
DIVW X,Y
LD A,XL
LD R31,A
LD A,YL
LD R30,A
LD A,R21
CP A,#13
JRNE DF
MOV R21,#1
LDW X,R22
INCW X
LDW R22,X
DF.L
CLRW X
CLR A
LD A,R21
LD XL,A
LDW Y,#10
DIVW X,Y
LD A,XL
LD R33,A
LD A,YL
LD R32,A
CLRW X
CLR A
LDW X,R22
LDW Y,#1000
DIVW X,Y
LD A,XL
LD R37,A
LDW X,Y
LDW Y,#100
DIVW X,Y
LD A,XL
LD R36,A
LDW X,Y
LDW Y,#10
DIVW X,Y
LD A,XL
LD R35,A
LD A,YL
LD R34,A
;日
;个位
LD A,R30
CLRW X
CLR A
LD A,R30
LD XL,A
LD A,(ShuZi,X)
LD LCD_COM,A
CALL W_CODE
;十位
CLRW X
CLR A
LD A,R31
LD XL,A
LD A,(ShuZi,X)
LD LCD_COM,A
CALL W_CODE
CLR A
LD A,{FengGe2+0}
LD LCD_COM,A
CALL W_CODE ;月
;个位
CLRW X
CLR A
LD A,R32
LD XL,A
LD A,(ShuZi,X)
LD LCD_COM,A
CALL W_CODE
;十位
CLRW X
CLR A
LD A,R33
LD XL,A
LD A,(ShuZi,X)
LD LCD_COM,A
CALL W_CODE
CLR A
LD A,{FengGe2+0}
LD LCD_COM,A
CALL W_CODE
LD A,R34
CP A,#10
JRNE Tiao112
CLR R34
INC R35
Tiao112.l
CLRW X
CLR A
LD A,R34
LD XL,A
LD A,(ShuZi,X) ;年的个位
LD LCD_COM,A
CALL W_CODE
LD A,R35
CP A,#10
JRNE Tiao113
CLR R35
INC R36
Tiao113.l
CLRW X
CLR A
LD A,R35
LD XL,A
LD A,(ShuZi,X) ;年的十位
LD LCD_COM,A
CALL W_CODE
LD A,R36
CP A,#10
JRNE Tiao114
CLR R36
INC R37
Tiao114.l
CLRW X
CLR A
LD A,R36
LD XL,A
LD A,(ShuZi,X) ;年的百位
LD LCD_COM,A
CALL W_CODE
CLRW X
CLR A
LD A,R37
LD XL,A
LD A,(ShuZi,X) ;年的千位
LD LCD_COM,A
CALL W_CODE
(2)小时、分钟、秒钟显示部分
.XianShi.l
;秒钟的个位 Tiao1.l
CLRW X
CLR A
LD A,R05
LD XL,A
LD A,(ShuZi,X)
LD LCD_COM,A
CALL W_CODE
;秒钟的十位 Tiao2.l
CLRW X
CLR A
LD A,R06
LD XL,A
LD A,(ShuZi,X)
LD LCD_COM,A
CALL W_CODE
CLR A
LD A,{FengGe+0}
LD LCD_COM,A
CALL W_CODE
;分钟的个位
LD A,R07
CP A,#10
JRNE Tiao3
CLR R07
INC R08
Tiao3.l
CLRW X
CLR A
LD A,R07
LD XL,A
LD A,(ShuZi,X)
LD LCD_COM,A
CALL W_CODE
;分钟的十位
LD A,R08
CP A,#6
JRNE Tiao4
CLR R08
INC R09
Tiao4.l
CLRW X
CLR A
LD A,R08
LD XL,A
LD A,(ShuZi,X)
LD LCD_COM,A
CALL W_CODE
CLR A
LD A,{FengGe+0}
LD LCD_COM,A
CALL W_CODE
;小时的个位
LD A,R10
CP A,#2
JRNE QingLing
LD A,R09
CP A,#4
JRNE Tiao5
CLR R09
CLR R10
INC R20
MOV R24,#0FFH
JRT Tiao5 QingLing.l
LD A,R09
CP A,#10
JRNE Tiao5
CLR R09
INC R10
Tiao5.l
CLRW X
CLR A
LD A,R09
LD XL,A
LD A,(ShuZi,X)
LD LCD_COM,A
CALL W_CODE
;小时的十位
LD A,R10
CP A,#3
JRNE Tiao6
CLR R10
Tiao6.l
CLRW X
CLR A
LD A,R10
LD XL,A
LD A,(ShuZi,X)
LD LCD_COM,A
CALL W_CODE
LD A,{WEL_1+0}
LD LCD_COM,A
CALL W_CODE
CLR A
LD A,R24
CP A,#0FFH
JRNE Q
CLR R24
JPF infinite_loop1 Q.L
JPF infinite_loop
RET
7、键盘调时部分
interrupt TIM3_Interrupt_Over TIM3_Interrupt_Over.l
BRES TIM3_SR1,#0
DEC R03
IRET
IRET
IRET
IRET
IRET
interrupt TIM2_Interrupt_Over TIM2_Interrupt_Over.l
BRES TIM2_SR1,#0
DEC R12
JRNE interrupt_TIM2_Key1
MOV R12,#20
BSET KeySTU,#4 interrupt_TIM2_Key1.l
LD A,KeySTU
AND A,#07H
JRNE interrupt_TIM2_Key_exit
LD A,KeyTIME
CP A,#125
JRNC interrupt_TIM2_Key_exit
INC KeyTIME
interrupt_TIM2_Key_exit.l
SCAN_Key.l
BTJT KeySTU,#4,SCAN_Key_NEXT1
JPF SCAN_Key_EXIT SCAN_Key_NEXT1.L
BRES PG_ODR,#1
NOP
NOP
NOP
LD A,PC_IDR
AND A,#0FEH
CP A,#0FEH
JRNE SCAN_Key_NEXT2
SCF
JRT SCAN_Key_NEXT3 SCAN_Key_NEXT2.L
RCF
SCAN_Key_NEXT3.L
LD A,KeySTU
RLC A
AND A,#07H
LD KeySTU,A
JREQ SCAN_Key_NEXT41
CP A,#010B
JRNE SCAN_Key_NEXT4
BRES KeySTU,#1 SCAN_Key_NEXT41.L
LD A,KeyTIME
CP A,#125
JPF SCAN_Key_EXIT
CLR KeyTIME
JRT SCAN_Key_NEXT6 SCAN_Key_NEXT4.L
CLR KeyTIME
CP A,#101B
JRNE SCAN_Key_NEXT5
BSET KeySTU,#1
JPF SCAN_Key_EXIT
SCAN_Key_NEXT5.L
CP A,#100B
JREQ SCAN_Key_NEXT6
IRET
SCAN_Key_NEXT6.L
CALL Key_Check_Proc
SCAN_Key_EXIT.L
IRET
IRET
IRET
IRET
IRET
.Key_Check_Proc.l
BTJT PC_IDR,#1,Key_Check_Proc_1
INC R18
LD A,R18
CP A,#6
JRNE One
CLR R18
MOV R24,#0FFH
One.l
JPF Key_Check_Proc_6
Key_Check_Proc_1.l
LD A,R18
CP A,#1
JRNE Key_Check_Proc_2
BTJT PC_IDR,#2,JianYi_1
CLR R05
CLR R06
INC R07
JPF Key_Check_Proc_6 JianYi_1.l
BTJT PC_IDR,#6,Key_Check_Proc_1_1
LD A,R07
CP A,#0
JRNE JianYi_1_1
MOV R07,#10
LD A,R08
CP A,#0
JREQ JianYi_1_1
DEC R08
JianYi_1_1.l
CLR R05
CLR R06
DEC R07
Key_Check_Proc_1_1.L
JPF Key_Check_Proc_6
Key_Check_Proc_2.l
LD A,R18
CP A,#2
JRNE Key_Check_Proc_3
BTJT PC_IDR,#2,JianYi_2
INC R09
JPF Key_Check_Proc_6 JianYi_2.l
BTJT PC_IDR,#6,JianYi_2_2
LD A,R09
CP A,#0
JRNE JianYi_2_1
MOV R09,#10
LD A,R10
CP A,#0
JREQ JianYi_2_1
DEC R10
JianYi_2_1.l
DEC R09
JianYi_2_2.l
JRT Key_Check_Proc_6
Key_Check_Proc_3.l
LD A,R18
CP A,#3
JRNE Key_Check_Proc_4
BTJT PC_IDR,#2,JianYi_3
INC R20
MOV R24,#0FFH
JRT Key_Check_Proc_6 JianYi_3.l
BTJT PC_IDR,#6,Key_Check_Proc_6
LD A,R20
CP A,#0
JRNE JianYi_3_1
MOV R20,29
JianYi_3_1.l
DEC R20
MOV R24,#0FFH
JRT Key_Check_Proc_6
Key_Check_Proc_4.l
LD A,R18
CP A,#4
JRNE Key_Check_Proc_5
BTJT PC_IDR,#2,JianYi_4
INC R21
MOV R24,#0FFH
JRT Key_Check_Proc_6 JianYi_4.l
BTJT PC_IDR,#6,Key_Check_Proc_6
LD A,R21
CP A,#1
JRNE JianYi_4_1
MOV R21,#13
JianYi_4_1.l
DEC R21
MOV R24,#0FFH
JRT Key_Check_Proc_6
Key_Check_Proc_5.l
LD A,R18
CP A,#5
JRNE Key_Check_Proc_6
BTJT PC_IDR,#2,JianYi_5
CLRW X
LDW X,R22
INCW X
LDW R22,X
MOV R24,#0FFH
JRT Key_Check_Proc_6 JianYi_5.l
BTJT PC_IDR,#6,Key_Check_Proc_6
CLRW X
LDW X,R22
DECW X
LDW R22,X
MOV R24,#0FFH
JRT Key_Check_Proc_6 Key_Check_Proc_6.l
RET
RET
RET
RET
RET
四、硬件设计
1、总的电路原理图
VDD
Q125V电源插座P3Q2Q3321D1D111V654D11NGSWIMNRST3S1S2S3S4S5S6GND1KR3VDDPG0
D1VDDLED0PC1PC2PC3PC4PC5PC6
R1S8R210KNRST1K
GNDSWIMC1876543210987*44444444433310nFComponent_10123EEEEGND136PG0PPPPPD7PD6PD5PD4PD3PD2PD1PD0NRSTPG1235P1OSCIN/PA1PG0334OSCOUT/PA2PC7433PC6VDDGNDVSSIO_1PC60123456532C21234567891111111VSSVDDIO_21uF631GNDVCAPVSSIO_2C3730PC5VDDPC5PPPPPPPPPPP829PC40.1uFVDDVDDIO_1PC4GNDEEEBBBBBBBB928PC356701234567PA3PC3VDDVDD1027PC2PA4PC2GND1126PC110kPA5PC11225PE5R5PA6PE5GNDVDDAD7654321076DBBBBBBBBEEGNDC5VVSSAPPPPPPPPPP10uFGND3456789012341111111222220.1uFPPPPPPPPPPC6C4BBBBBBBBEE7654321076VDD0.1uFGND
2、LCD1602电路
P1
01234561234567891111111
PPPPPPPPPPPGNDEEEBBBBBBBB56701234567
VDDVDD
10k
R5
GND
GND
3、单片机最小系统
VDD
D1VDDLED0PC1
R1S8R210KNRST1KGNDSWIMC1
876543210987*44444444433310nFComponent_1
0123EEEEGND136PG0PPPPPD7PD6PD5PD4PD3PD2PD1PD0NRSTPG1235OSCIN/PA1PG0334OSCOUT/PA2PC7433PC6VDDGNDVSSIO_1PC6532C2VSSVDDIO_21uF631GNDVCAPVSSIO_2C3730PC5VDDPC5829PC40.1uFVDDVDDIO_1PC4928PC3PA3PC31027PC2PA4PC2GND1126PC1PA5PC11225PE5PA6PE5VDDAD7654321076DBBBBBBBBEEC5VVSSAPPPPPPPPPP10uFGND3456789012341111111222220.1uFPPPPPPPPPPC6C4BBBBBBBBEE7654321076VDD
0.1uFGND
4、PCB图
1
22312311111212221654122
21222001
2121111
11113122222
16151413121110987654321
五、参考资料:
[1] 郑诗卫. 印制电路板排版设计. 北京:科学技术文献出版社,1983 [2] 潘永雄, 沙何等. 电子线路CAD实用教程. 第三版. 西安:西安电子科
7 技大学出版社,200
[3] 潘永雄. 新编单片机原理与应用实验. 西安:西安电子科技大学出版社,2005