单片机课程设计报告 (汇编部分) 课程名称: 单 片 机 原 理 与应用课程设计 设计题目: 基于液晶显示的数字时钟设计 姓 名: 指导老师: 课程设计目的 通过课程设计进一步巩固单片机原理与技术的基本概念、基本理论、分析问题的基本方法;增强自身的软件编程实现能力和解决实际问题的能力,并能有效地将理论和实际紧密结合,拓展在工程实践方面的专业知识和相关技能。 课程设计原理 时钟的计时是采用了单片机内的定时器,由于定时器的计时时间达不到1s,于是通过多次中断的方式来实现。如定时器方式1,最大的定时时间只能达到131ms,若每次计时100ms,采用中断溢出次数的累积,计满10 次。在时钟运行时,在RAM 中规定3 个单元作为秒、分、时单元。 从秒到分,从分到时是通过软件累加并进行比较来实现的。要求每满1 秒,则“秒”单元的内容加1;“秒”单元满60,则“分”单元内容加1;“分”单元满60,则“时”单元内容加1;“时”单元满24,则将秒、分、时单元内容请“0”。 显示时,将单元中的内容分为个位和十位,分别送入 LCD 中显示。只要给的命令字合适就可以将数字显示在指定的位置。 时钟的其他功能如:设置时间、日期,闹钟功能,是通过查询的方式进行的,由于计时中断可以中断查询,故不会影响计时。单片机不停地在查询个按键情况,如果查询到某个按键按下则执行相应的功能。闹钟和日期都分别在RAM 中分到单元,记录日期和闹钟,不停比较计时时间和设置的闹钟时间,若达到闹钟时间则会产生声音。 课程设计内容与步骤 问题分析 设计时钟首先要有计时功能,而单片机中用于计时的是定时器,又由于定时器无法直接定时1s,所以采用了中断的方式,同时为了不影响其计时的准确性,其他功能只采用查询方式。于是将各功能分成不同的模块,不同的模块负责执行不同的功能。于是将其分为功能模块和公用模块。 其中显示模块为公用模块 查询模块:查询开始时就要计时并且查询闹钟定时,对各个功能模块的按键进行查询,若查询到某个按键按下就进入相应的模块程序。 时间设置模块:该模块调整时间,当按键 SETUP 按下后进入,此后按键 UP 和DOWN来调整小时,按 OK 键保存进入调分,按 UP 和DOWN 键来调整,按 OK 键保存后进入正常显示。 闹钟时间设置模块:当 SETCLOCK 按下后进入设置程序,此后 UP 和DOWN 来调整时,按 OK 键保存进入调分,用UP 和DOWN 来调整,按 OK 键保存后进入调秒,也用UP...