单片机课程设计报告:简易电子时钟

0 下载量 140 浏览量 更新于2023-11-24 收藏 1.85MB DOC 举报
《单片机课程设计-简易电子时钟.doc》是一份关于简易电子时钟的单片机课程设计报告。报告首先介绍了设计目的,即利用科技发展的机遇,采用低功耗实时时钟电路DS1302和STC89C51单片机作为核心,设计实现一个功能稳定、显示直观、成本低廉的电子万年历系统。接着,报告详细阐述了设计的目标和要求,包括了解单片微型计算机的发展、学会设计程序和调试软件、掌握C语言程序设计方法、熟悉定时器中断服务程序的设计等。在这些要求下,学生可以全面了解单片机的硬件和软件知识。整篇报告体现了一份系统的单片机课程设计报告,包含了理论基础、硬件结构设计和软件设计,在1500字中文描述中完整展现了整个课程设计的基本内容。
2023-02-27 上传
目录 1.概论 1 2.整体设计思路 2 2.1硬件各部分所能完成的功能 3 2.2系统工作原理 4 2.3时钟各功能分析及图解 4 2.4.1电路各功能图解分析 4 2.4.2电路功能使用说明 7 3. 软件设计思路 8 3.1 主程序模块 8 3.2 数码管动态扫描模块 9 3.3 当前时间计时模块 9 3.4 闹钟输入输出模块 10 3.5 当前时间调整模块 12 3.6复位模块 13 4.系统的调试和性能分析 14 4.1系统的调试方法 14 4.1.1输入按键的调试 14 4.1.2复位电路的调试 14 4.1.3显示电路的调试 14 4.1.4整个系统的联调 14 4.2心得体会 15 参考文献 15 附录 16 附录A 系统原理图 16 附录B 程序源代码 17 电气信息学院课程设计评分表 28 1.概论 单片机系统作为一种典型的嵌入式系统,其系统设计包括硬件电路设计和软件编程设 计两个方面, 其调试过程一般分为软件调试、硬件测试、系统调试3个过程。如果采用单片机系统的虚 拟仿真软件——Proteus,则不用制作具体的电路板也能够完成以上工作。数字钟是采用数 字电路实现对时,分,秒,数字显示的计时装置,由于数字集成电路的发展和石英晶体 振荡器的广泛应用,使得数字钟的精度,远远超过老式钟表,钟表的数字化给人们生产 生活带来了极大的方便,而且大大地扩展了钟表的报时功能。数字钟已成为人们日常生 活中的必需品,广泛应用于家庭、车站、码头、剧院、办公室等场所,给人们的生活、 学习、工作带来极大的方便[4]。不仅如此,在现代化的进程中,也离不开电子钟的相关 功能和原理,比如机械手的控制、家务的自动化、定时自动报警、按时自动打铃、时间 程序自动控制、定时广播、自动起闭路灯、定时开关烘箱、通断动力设备、甚至各种定 时电气的自动启用等,所有这些,都是以钟表数字化为基础的。而且是控制的核心部分 。因此,研究数字钟及扩大其应用,有着非常现实的意义。 电子钟在工业控制和日常生活中是很重要的,它不仅可以用于计时、提醒又可用于对 机器的控制,在自动化的过程中必然有电子钟的参与,因此电子钟的应用会越来越广泛 。而且向着精确、低功耗、多功能发展。基于单片机设计的数字钟精确度较高, 因为在程序的执行过程中, 任何指令都不影响定时器的正常计数,即便程序很长也不会影响中断的时间。从而,使 数字钟的精度仅仅取决于单片机的产生机器周期电路和定时器硬件电路的精确度。另外 ,程序较为简洁,具有可靠性和较好的可读性。如果我们想将它应用于实时控制之中, 只要对上述程序和硬件电路稍加修改,便可以得到实时控制的实用系统,从而应用到实 际工作与生产中去。 数字电子钟的设计方法有多种,例如,可用中小规模集成电路组成电子钟, 也可以利用专用的电子钟芯片配以显示电路及其所需要的外围电路组成电子钟还可以利 用单片机来实现电子钟等等。这些方法都各有特点, 其中,利用单片机实现的电子钟具有编程灵活, 便于功能扩充, 精确度高等特点。 2.整体设计思路 这部分主要介绍工作安排和整体设计的思想。工作过程规划如下: 图2.1 整体设计思路 针对要实现的功能,拟采用AT89C51单片机进行设计,AT89C51 单片机是一款低功耗,高性能CMOS8位单片机,片内含4KB在线可编程(ISP)的可反复擦 写1000次的Flash只读程序存储器,器件采用高密度、非易失性存储技术制造,兼容标准 MCS- 51指令系统及80C51引脚结构[7]。这样,既能做到经济合理又能实现预期的功能。 在程序方面,采用分块设计的方法,这样既减小了编程难度、使程序易于理解,又能 便于添加各项功能。程序可分为显示程序、调时显示运用这种方法,关键在于各模块的 兼容和配合,若各模块不匹配会出现意想不到的错误。 本电子钟设计主要是依照图2.1中的流程做出来的,时间分配比较均匀。首先,在编 程之前必须了解硬件结构尤其是各引脚的用法,以及内部寄存器、存储单元的用法,否 则,编程无从下手,电路也无法设计。这是前期准备工作。第二部分是硬件部分:依据 想要的功能分块设计设计,比如输入需要开关电路,输出需要显示驱动电路和液晶电路 等。第三部分是软件部分:先学习理解C语言的编程方法再根据设计的硬件电路进行分块 的编程调试,最终完成程序设计。第四部分是软件画图部分:设计好电路后进行画图, 包括电路图和仿真图的绘制。第五部分是软件仿真部分:软硬件设计好后将软件载入芯 片中进行仿真,仿真无法完成时检查软件程序和硬件电路并进行修改直到仿真成功。第 六部分是硬件实现部分:连接电路并导入程序检查电路,若与设计的完全一样一般能实 现想要的功能。 2.1硬件各部分所能完成的功能 (1)单片机发送的信号通过程序控制最终在数码管上显示出来。 (2)单片机通