"单片机电子时钟专业课程设计实验报告总结"

0 下载量 82 浏览量 更新于2024-01-18 收藏 155KB DOC 举报
单片机电子时钟专业课程设计实验报告 本次课程设计的目标是设计和实现一个单片机电子时钟,同时包含秒表功能。设计者为张保江和江润洲。 整体设计框图及整机概述 整体设计框图如下: [图一:系统电路原理图] 该电子时钟主要由以下硬件单元组成:单片机、晶振(时钟源)、LCD液晶显示模块、按键开关电路、蜂鸣器、电源部分等。 各硬件单元电路设计、参数分析及原理说明 1. 单片机:使用STC89C52芯片作为主控制器,具有丰富的IO资源和强大的计算能力。 2. 晶振:采用12MHz晶振作为时钟源,提供稳定的时钟信号。 3. LCD液晶显示模块:采用16x2字符型液晶显示模块,可以显示日期、时间、秒表时间等。 4. 按键开关电路:通过矩阵按键电路实现对时钟设置和操作的控制。 5. 蜂鸣器:用于报时和其他提示音效。 6. 电源部分:使用稳压电源芯片进行电源管理,保证系统正常工作。 软件步骤图和步骤说明 软件步骤图如下: [图二:系统电路 PCB] 软件部分主要由以下步骤组成: 1. 初始化:包括引脚设置、定时器设置,将时钟、日期、秒表初始设置为0。 2. 时钟显示和更新:通过定时器中断实现时钟的显示和更新,包括时、分、秒的显示和自动累加。 3. 日期显示和更新:通过定时器中断实现日期的显示和更新,包括年、月、日的显示和自动累加。 4. 秒表显示和控制:通过按键控制实现秒表的显示和控制,包括开始、暂停、复位功能。 5. 时钟设置:通过按键控制实现时钟的设置,包括时、分、秒的分别设置。 6. 日期设置:通过按键控制实现日期的设置,包括年、月、日的分别设置。 总结设计及调试体会 通过这次单片机电子时钟的设计和实现,我们对单片机的原理和应用有了更深入的了解。通过对硬件单元电路的设计和参数分析,我们解决了各硬件模块之间的连接和通信问题。同时,通过软件部分的步骤图和步骤说明,我们掌握了单片机的编程方法和实践技巧。在实际的调试过程中,我们遇到了一些问题,例如液晶显示不正常、按键失灵等,但通过耐心排查和调整,最终解决了这些问题。 通过这次课程设计,我们不仅加深了对单片机原理和应用的理解,还提高了实践技能和问题解决能力。这对我们今后的专业发展和学习将有着积极的影响。 附录 1. 图一:系统电路原理图 2. 图二:系统电路 PCB 3. 表一:元器件清单 4. 时钟程序源码
2023-02-27 上传
目 录 一、设计要求 …………………………………………2 二、设计方案和论证 …………………………………2 (一)总设计原理图 ………………………………… 2 (二)设计方案的选择 ………………………………2 硬件部分 ………………………………………4 软件部分 ………………………………………8 三、设计总结…………………………………………26 四、参考文献…………………………………………26 一、设计要求 1、准确计时,以数字形式显示时、分、秒的时间。 2、小时以24小时计时形式,分秒计时为60进位。 3、校正时间功能,即能随意设定走时时间。 4、闹钟功能,一旦走时到该时间,能以声或光的形式告警提示。 5、设计5V直流电源,系统时钟电路、复位电路。 6、能指示秒节奏,即秒提示。 7、可采用交直流供电电源,且能自动切换。 二、设计方案和论证 本次设计时钟电路,使用了ATC89C51单片机芯片控制电路,单片机控制电路简单且 省去了很多复杂的线路,使得电路简明易懂,使用键盘键上的按键来调整时钟的时、分 、秒,用一扬声器来进行定时提醒,同时使用汇编语言程序来控制整个时钟显示,使得 编程变得更容易,这样通过四个模块:键盘、芯片、扬声器、LED显示即可满足设计要求 。 (一) 总设计原理框图如下图所示: (二)设计方案的选择 1.计时方案 方案1:采用实时时钟芯片 现在市场上有很多实时时钟集成电路,如DS1287、DS12887、DS1302等。这些实 时时钟芯片具备年、月、日、时、分、秒计时功能和多点定时功能,计时数据的更新 每秒自动进行一次,不需要程序干预。因此,在工业实时测控系统中多采用这一类专 用芯片来实现实时时钟功能。 方案2:使用单片机内部的可编程定时器。 利用单片机内部的定时计数器进行中端定时,配合软件延时实现时、分、秒的计 时。该方案节省硬件成本,但程序设计较为复杂。 2.显示方案 对于实时时钟而言,显示显然是另一个重要的环节。通常LED显示有两种方式: 动态显示和静态显示。 静态显示的优点是程序简单、显示亮度有保证、单片机CPU的开销小,节约CPU的 工作时间。但占有I/O口线多,每一个LED都要占有一个I/O口,硬件开销大,电路复 杂。需要几个LED就必须占有几个并行口,比较适用于LED数量较少的场合。当然当L ED数量较多的时候,可以使用单片机的串行口通过移位寄存器的方式加以解决,但程 序编写比较麻烦。 LED动态显示硬件连接简单,但动态扫描的显示方式需要占有CPU较多的时间,在 单片机没有太多实时测控任务的情况下可以采用。 本系统需要采用6位LED数码管来分别显示时、分、秒,因数码管个数较多,故本 系统选择动态显示方式。 (三)硬件部分 1、STC89C51单片机介绍 STC89C51单片机是由深圳宏晶公司代理销售的一款MCU,是由美国设计生产的一 种低电压、高性能CMOS 8位单片机,片内含8kbytes的可反复写的FlashROM和128bytes的RAM,2个16位定时计 数器[5]。 STC89C51单片机内部主要包括累加器ACC(有时也简称为A)、程序状态字PSW、地 址指示器DPTR、只读存储器ROM、随机存取存储器RAM、寄存器、并行I/O接口P0~P3、 定时器/计数器、串行I/O接口以及定时控制逻辑电路等。这些部件通过内部总线联接 起来,构成一个完整的微型计算机。其管脚图如图所示。 STC89C51单片机管脚结构图 VCC:电源。 GND:接地。 P0口:P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。当P1口的管脚第 一次写1时,被定义为高阻输入。P0能够用于外部程 序数据存储器,它可以被定义为数据/地址的第八位。在FIASH编程时,P0 口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。 P1口:P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电 流。P1口管脚写入1后,被内部上拉为高,可用作 输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在FLASH编 程和校验时,P1口作为第八位地址接收。 P2口:P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电 流,当P2口被写"1"时,其管脚被内部上拉电阻 拉高,且作为输入。并因此作为输入时,P2口的管脚被外部拉低,将输出电流。这是由 于内部上拉的缘故。P2口当用于外部程序存储器或16位地址外部数据存 储器进行存取时,P2口输出地址的高八位。在给出地址"1"时,它利用内部上拉优势,当 对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器 的内容。P2口在FLASH编程和校验时接收高八位地址信号和控制信号。