1、 单片机课程设计单片机课程设计 题题 目:目: 数码管数码管电子时钟电子时钟 班班 级:级: 姓姓 名:名: 学学 号:号: 学学 校:校: 时时 间:间:20152015 年年 1010 月月 1818 日日 目录 1 摘要 3 2 设计要求 . 3 2.1 功能需求 3 2.2 设计要求 3 3 硬件设计及描述 . 5 3.1 总体描述 5 3.2 系统总体框图 6 3.3 Proteus 电路图 6 3.4 各部分硬件介绍 . 6 4 软件设计流程及描述 . 9 4.1 程序流程图 9 4.2 函数模块及功能 . 9 5 功能实现(功能介绍+照片) . 19 6 心得体会 19 7 源程
2、序 20 1 摘要 通过本课程设计使学生进一步巩固单片机原理与技术的基本概念、理论,分 析问题的基本方法;增强学生的软件编程实现能力和解决实际问题的能力,使学 生能有效的将理论和实际紧密结合, 拓展学生在工程实践方面的专业知识和相关 技能。 2 设计要求 要求能够熟练的用单片机中定时/计数、中 断、数码管显示等技术参考教或 相关资料,采用 C 语言采用编程实现数字时钟的功能,在数码管上实时显示,并 运 用Proteus软 件 绘 制 电 路 原 理 图 , 进 行 仿 真 验 证 和 误 差 分 析。 2.1 功能需求 1、在数码管上动态显示时间,时钟的工作范围在 00:00:0024:59:
3、59。 2、可对时钟在 00:00:0024:59:59 范围内任意正常的设置。 2.2 设计要求 1、通过数码管动态显示时间信息。 图 2.1 数码管 2、通过独立键盘的 P32 和 P33 接口分别实现开始计时和时间设置功能。 图 2.2 独立键盘 3、通过矩阵键盘实现时间设置功能中时间的更改。 图 2.3 4*4 矩阵键盘 3 硬件设计及描述 3.1 总体描述 1、程序开始后首先显示 00-00-00 等待按键,按 P32 键后开始计时功能。 2、当按下 P33 键后进入时间设置模式,等待用户设置时间。 3、通过矩阵键盘设置时间,可对时间的每一位进行增减操作。 4、限制每一位的数字范围,
4、即秒的个位和分的个位为 0-9,十位为 0-5;当小时 的十位为 0-1 时,其个位 0-9,当十位为 2 时,其个位 0-3。 3.2 系统总体框图 AT89C51 数码管显示器 4*4键盘 独立按键 复位和晶振 模块 图 3.1 总体框图 3.3 Proteus 电路图 R1 R2 R3 R0 R0 C0 C1 C2 C3 R1 R2 R3 C0 C1 C2 C3 XTAL2 18 XTAL1 19 ALE 30 EA 31 PSEN 29 RST 9 P0.0/AD0 39 P0.1/AD1 38 P0.2/AD2 37 P0.3/AD3 36 P0.4/AD4 35 P0.5/AD5 34 P0.6/AD6 33 P0.7/AD7 32 P1.0 1 P1.1 2 P1.2 3 P1.3 4 P1.4 5 P1.5 6 P1.6 7 P1.7 8 P3.0/RXD 10 P3.1/TXD 11 P3.2/INT0 12 P3.3/INT1 13 P3.4/