单片机万年历设计说明.doc

上传人:知****量 文档编号:43170930 上传时间:2022-09-17 格式:DOC 页数:22 大小:84.50KB
返回 下载 相关 举报
单片机万年历设计说明.doc_第1页
第1页 / 共22页
单片机万年历设计说明.doc_第2页
第2页 / 共22页
点击查看更多>>
资源描述

《单片机万年历设计说明.doc》由会员分享,可在线阅读,更多相关《单片机万年历设计说明.doc(22页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、 . . . 单片机万年历设计一 教学目标1.课程设计的性质本课程是在前导验证性认知实验以与相关的理论课基础上,进行更高层次命题的设计性的教学环节,是学生在教师指导下独立查阅资料、设计、安装和编程特定功能的电子电路的课程。 对于提高学生的电子工程素质和科学实验能力非常重要。2.课程设计目的本课程旨在培养学生综合数字电路和单片机知识,解决电子信息方面常见实际问题的能力,并了解一般电子电路与单片机构成简单系统与较为复杂的编程的方法。促使学生积累单片机系统的开发经验,准备走向更复杂更实用的应用领域,是参加各类大学生电子竞赛前的技能培训课程。目的在于巩固基础、注重设计、培养技能、追求创新、走向实用。二

2、、 课程设计题目(万年历设计)功能要求: 1、显示年、月、日、小时、分钟和秒钟; 2、分钟、小时和年月日可调;技术要求:采用制作PCB完成该课程设计。三、 程序设计Ram 0保存数据TIM1计数器计数,数据保存于ram0中LCD1602显示键盘调时 读写 读 读写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

3、 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,#3

4、8H ; 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

5、MOV LCD_COM,#0CH CALL LCDWR_ND MOV R03,#15 CALL Delay2、子程序LCDWR_ND.LCDWR_ND.L BSET RWBRES RS ;选择命令;读模式MOV LCD_DDR,#00H ;0,数据总线处于输入状态DengDai1.L BSET ENOPNOPMOV LCD_D1,Data_INBRES EBTJT LCD_D1,#7,DengDai1;写模式MOV LCD_DDR,#0FFHBRES RW MOV Data_Out,LCD_COMBSET ENOPNOP BRES E RET3、子程序W_CODE.W_CODE.L;读数据 B

6、RES RS ;数据命令 BSET RWMOV LCD_DDR,#00HW_CODE_1.LBSET ENOPNOP LD A,Data_INBRES E LD R11,ABTJT R11,#7,W_CODE_1 MOVLCD_DDR,#0FFH BSET RS BRES RW MOV Data_Out,LCD_COM BSET E NOP NOP BRES E RETRETRETRETRET4、子程序Delay(起延时作用)(1)TIM3初始化 ;计数器初始化 MOV TIM3_PSCR,#01HMOV TIM3_ARRH,#27HMOV TIM3_ARRL,#10HMOV TIM3_CR1

7、,#04HBRES TIM3_IER,#0BSET 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 RET5、 计时部分: (1)TIM1初始化 ;计数器初始化MOV TIM1_SMCR,#00H BRES TIM1_ETR,

8、#6 MOV TIM1_PSCRL,#01H MOV TIM1_ARRH,#HIGH 10000 ;初始化自动重装初值寄存器TIM1_ARR MOV TIM1_ARRL,#LOW 10000 MOV TIM1_RCR,#00H ;初始化重复计数寄存器TIM1_RCRMOV 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为

9、秒钟的个位 CLR ALD A,R05 CP A,#10 JRNE TIM1CLR R05 INC R06 ;R06为秒钟的十位 LD A,R06 CP A,#6 JRNE TIM1CLR R06 INC R07 ;R07为分钟的个位 TIM1.L IRET6、 LCD1602显示部分 (1)年月日显示infinite_loop1.l MOV ADDR,#08CH MOV LCD_COM,ADDR CALL LCDWR_NDinfinite_loop2.l CLRW X CLR A CLRW Y LDW X,R22 LDW Y,#4 DIVW X,Y LD A,YL CP A,#0 JRNE

10、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 FRNRunNian.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 ASFRN.l CLR A LD A,R21 CP A,#2 JRNE AS8 LD A,R20 CP

11、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 R21SD1.L JPF ASAS1.L LD A,R21 CP A,#3 JRNE AS2 LD A,R20 CP A,#32 JRC SD2 MOV R20,#1 INC R21SD2.L JPF ASAS2.L LD A,R21 CP A,#5 JRNE AS3 LD A,R20 CP A,#32 JRC SD3 MOV R20,#1 INC R21SD3.L JP

12、F ASAS3.L LD A,R21 CP A,#7 JRNE AS4 LD A,R20 CP A,#32 JRC SD4 MOV R20,#1 INC R21SD4.L JPF ASAS4.L LD A,R21 CP A,#8 JRNE AS5 LD A,R20 CP A,#32 JRC SD5 MOV R20,#1 INC R21SD5.L JPF ASAS5.L LD A,R21 CP A,#10 JRNE AS6 LD A,R20 CP A,#32 JRC SD6 MOV R20,#1 INC R21SD6.L JPF ASAS6.L LD A,R21 CP A,#12 JRNE AS

13、7 LD A,R20 CP A,#32 JRC SD7 MOV R20,#1 INC R21SD7.L JPF ASAS7.L LD A,R20 CP A,#31 JRC AS MOV R20,#1 INC R21AS.L CLRW XCLR A LD A,R20 LD XL,A LDW Y,#10 DIVW X,Y LD A,XL LD R31,A LD A,YL LD R30,ALD A,R21CP A,#13JRNE DFMOV R21,#1LDW X,R22INCW XLDW R22,XDF.L CLRW XCLR A LD A,R21 LD XL,A LDW Y,#10 DIVW X

14、,Y LD A,XLLD R33,ALD A,YLLD 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

15、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 L

16、D A,R34 CP A,#10 JRNE Tiao112 CLR R34 INC R35Tiao112.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 R36Tiao113.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 R3

17、6 INC R37Tiao114.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

18、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 R08Tiao3.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 R09Tiao4.l CLR

19、W 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 Tiao5QingLing.l LD A,R09 CP A,#10 JRNE Tiao5 CLR R09 INC R10Tiao5.l CLRW X CLR A

20、 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 R10Tiao6.l CLRW X CLR A LD A,R10 LD XL,A LD A,(ShuZi,X) LD LCD_COM,A CALL W_CODELD A,WEL_1+0LD LCD_COM,ACALL W_CODE CLR A LD A,R24 CP A,#0FFH JRNE Q CLR R24 JPF infinite_loop1Q.L JPF infinite_loop RET7、

21、键盘调时部分 interrupt TIM3_Interrupt_OverTIM3_Interrupt_Over.l BRES TIM3_SR1,#0 DEC R03 IRET IRET IRET IRET IRET interrupt TIM2_Interrupt_OverTIM2_Interrupt_Over.l BRES TIM2_SR1,#0 DEC R12 JRNE interrupt_TIM2_Key1 MOV R12,#20 BSET KeySTU,#4interrupt_TIM2_Key1.l LD A,KeySTU AND A,#07H JRNE interrupt_TIM2_

22、Key_exit LD A,KeyTIME CP A,#125 JRNC interrupt_TIM2_Key_exit INC KeyTIMEinterrupt_TIM2_Key_exit.lSCAN_Key.l BTJT KeySTU,#4,SCAN_Key_NEXT1 JPF SCAN_Key_EXITSCAN_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_NEXT3SCAN_Key_NEXT2.L RCFSCAN

23、_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,#1SCAN_Key_NEXT41.L LD A,KeyTIME CP A,#125 JPF SCAN_Key_EXIT CLR KeyTIME JRT SCAN_Key_NEXT6SCAN_Key_NEXT4.L CLR KeyTIME CP A,#101B JRNE SCAN_Key_NEXT5 BSET KeySTU,#1 JPF SCAN_Key_EXI

24、TSCAN_Key_NEXT5.L CP A,#100B JREQ SCAN_Key_NEXT6 IRETSCAN_Key_NEXT6.L CALL Key_Check_ProcSCAN_Key_EXIT.L IRET IRET IRET IRET IRET.Key_Check_Proc.l BTJT PC_IDR,#1,Key_Check_Proc_1INC R18LD A,R18CP A,#6JRNE OneCLR R18MOV R24,#0FFHOne.lJPF Key_Check_Proc_6Key_Check_Proc_1.l LD A,R18CP A,#1JRNE Key_Chec

25、k_Proc_2BTJT PC_IDR,#2,JianYi_1CLR R05CLR R06INC R07JPF Key_Check_Proc_6JianYi_1.l BTJT PC_IDR,#6,Key_Check_Proc_1_1LD A,R07CP A,#0JRNE JianYi_1_1MOV R07,#10LD A,R08CP A,#0JREQ JianYi_1_1DEC R08JianYi_1_1.lCLR R05CLR R06DEC R07Key_Check_Proc_1_1.LJPF Key_Check_Proc_6 Key_Check_Proc_2.lLD A,R18CP A,#

26、2JRNE Key_Check_Proc_3BTJT PC_IDR,#2,JianYi_2INC R09JPF Key_Check_Proc_6JianYi_2.l BTJT PC_IDR,#6,JianYi_2_2LD A,R09CP A,#0JRNE JianYi_2_1MOV R09,#10LD A,R10CP A,#0JREQ JianYi_2_1DEC R10JianYi_2_1.lDEC R09JianYi_2_2.lJRT Key_Check_Proc_6Key_Check_Proc_3.lLD A,R18CP A,#3JRNE Key_Check_Proc_4BTJT PC_I

27、DR,#2,JianYi_3INC R20MOV R24,#0FFHJRT Key_Check_Proc_6JianYi_3.l BTJT PC_IDR,#6,Key_Check_Proc_6LD A,R20CP A,#0JRNE JianYi_3_1MOV R20,29JianYi_3_1.lDEC R20MOV R24,#0FFHJRT Key_Check_Proc_6Key_Check_Proc_4.lLD A,R18CP A,#4JRNE Key_Check_Proc_5BTJT PC_IDR,#2,JianYi_4INC R21MOV R24,#0FFHJRT Key_Check_P

28、roc_6JianYi_4.l BTJT PC_IDR,#6,Key_Check_Proc_6LD A,R21CP A,#1JRNE JianYi_4_1MOV R21,#13JianYi_4_1.lDEC R21MOV R24,#0FFHJRT Key_Check_Proc_6Key_Check_Proc_5.lLD A,R18CP A,#5JRNE Key_Check_Proc_6BTJT PC_IDR,#2,JianYi_5CLRW XLDW X,R22INCW XLDW R22,XMOV R24,#0FFHJRT Key_Check_Proc_6JianYi_5.l BTJT PC_IDR,#6,Key_Check_Proc_6CLRW XLDW X,R22DECW XLDW R22,XMOV R24,#0FFHJRT Key_Check_Proc_6Key_Check_Proc_6.l RETRETRETRETRET四、硬件设计 1、总的电路原理图2、 LCD1602电路3、 单片机最小系统4、 PCB图五、参考资料:1 诗卫. 印制电路板排版设计. :科学技术文献,19832 永雄, 沙何等. 电子线路CAD实用教程. 第三版. :电子科技大学,20073 永雄. 新编单片机原理与应用实验. :电子科技大学,200522 / 22

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 应用文书 > 工作计划

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知得利文库网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com