1、单片机万年历设计 一一 教学目标教学目标 1.课程设计的性质课程设计的性质 本课程是在前导验证性认知实验以及相关的理论课基础上, 进行更高层次命 题的设计性的教学环节,是学生在教师指导下独立查阅资料、设计、安装和编程 特定功能的电子电路的课程。 对于提高学生的电子工程素质和科学实验能力非 常重要。 2.课程设计目的课程设计目的 本课程旨在培养学生综合数字电路和单片机知识, 解决电子信息方面常见实 际问题的能力, 并了解一般电子电路与单片机构成简单系统及较为复杂的编程的 方法。 促使学生积累单片机系统的开发经验, 准备走向更复杂更实用的应用领域, 是参加各类大学生电子竞赛前的技能培训课程。目的在
2、于巩固基础、注重设计、 培养技能、追求创新、走向实用。 二、二、课程设计题目(万年历设计)课程设计题目(万年历设计) 功能要求功能要求: 1、显示年、月、日、小时、分钟和秒钟; 2、分钟、小时和年月日可调; 技术要求技术要求:采用制作 PCB 完成该课程设计。 三、三、程序设计程序设计 读写读写 读读 读写读写 Ram 0 保存数据 TIM1 计数器计数, 数据保存于 ram0 中 LCD1 602显 示 键盘 调时 1、液晶屏、液晶屏 1602 初始化初始化 ;PB 口为数据输入、输出口 #define LCD_DDR PB_DDR MOV LCD_DDR,#0 MOV PB_CR1,#0F
3、FH 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,
4、#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,
5、#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 L
6、CD_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 MOV LCD_DDR,#0FFH 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