单片机电子倒计时器设计:60分钟精确到0.1秒报警

版权申诉
5星 · 超过95%的资源 1 下载量 22 浏览量 更新于2024-06-27 1 收藏 254KB DOC 举报
电子信息工程课程设计报告聚焦于倒计时器的设计,主要应用于单片机原理与应用的学习。设计目标是构建一个能够接收小键盘设定,最大倒计时60分钟,精确到0.1秒的倒计时器,显示格式为XX:XX.X,当计时结束时通过蜂鸣器报警。设计内容包括: 1. **单片机定时系统原理**:利用单片机的外部石英晶体振荡器提供稳定频率,经过12分频后作为定时器的基准。设定定时器工作在中断模式,通过连续计数实现秒、分、时的计时。定时器0以每100ms产生一次中断,通过编程控制秒、分、时的计数器。 2. **电路设计**:核心采用AT89C51单片机,内置存储器无需额外扩展。系统配置有5位LED显示用于显示时间,3*4键盘用于设定时间,P3口用于接口电路,P2口作为LED显示的位选通口,P0口用于驱动数码管。通过74LS245驱动芯片连接数码管,实现位选和段选。 3. **系统工作流程**: - 主程序启动后,设置中断入口地址并初始化相关寄存器。 - 初始化LED显示状态,扫描键盘并显示下一个数字。 - 进行倒计时,判断是否到达设定时间。 - 到达后清零处理,未到则继续倒计时直到清零。 4. **程序设计**: - 主程序负责初始化和键盘监控,定时器0中断服务子程序负责刷新计时缓冲区。 - 显示模块负责动态显示5位LED时间。 - 键盘扫描模块检测按键并识别键号。 - 包括键盘设置在内的辅助功能程序。 设计中特别强调了定时器溢出中断响应时间和时间转换问题的处理,通过调整定时器0初值来补偿计时误差,确保精度。此外,系统还涉及时间的二进制到十进制转换,以及时间校准功能。 本项目不仅锻炼了学生的硬件设计技能,如绘制硬件接线图和系统仿真,也考验了他们的软件编程能力,如编写程序实现功能并处理各种异常情况。通过这个项目,学生将深入理解单片机的工作原理,掌握基本的硬件连接和软件开发流程。
2023-02-27 上传
通信与信息工程学院 2015/2016 学年 第 1 学期 课程设计II 实验报告 " " " "设计题目 "电子秒表 " " "基本要求 " "任务要求 "A.设计秒表功能,精度为0.01秒。 " " "B.可同时记录和存储10个秒表数据(连续记录并显示已存储记 " " "录数,秒表记录数据查询和清除功能)。 " " "发挥部分: " " "A.设计PC和430之间的串行口通信程序(参考USB通信 " " "实验)和通信协议,通过USB串行口向PC机上报秒表数据。 " " " " "实验设备及" " "软件 "计算机;MSP-EXP430F5529开发板;IAR开发软件 " "同组人员学" " "号及姓名 " " " " " "参考文献 " " 目 录 一.设计要求和原理说明 1.1 设计要求 A.设计秒表功能,精度为0.01秒。 B.可同时记录和存储10个秒表数据(连续记录并显示已存储记录数,秒表记录数据查询和 清除功能)。 1.2 原理说明 本次课程设计利用430单片机的定时器/计数器定时和计数原理,实现电子秒表的精确 计时。利用中断系统实现计数开始和数据记录,并在LED显示屏上显示。当接通电源即对 开发板、按键和定时器初始化。初始状态下计时器显示00.00,当按下S2键时,外部中断 INT1向CPU发出中断请求,CPU转去执行外部中断1服务程序,即开启定时器。计时采用定 时器T中断完成,秒表要求的精度为0.01秒,故设定定时溢出中断周期为10ms,当一处中 断后向CPU发出溢出中断请求,每发出一次中断请求就对毫秒计数单元进行加一,达到1 0次就对十毫秒位进行加一。依次类推,直到99.99秒重新复位。 当按下S1键,停止内部中断,执行外部中断处理程序,即记录当前计时结果,并显示 在LCD显示屏上。记录完成才允许其他中断。LCD屏一次允许显示十个数据,当记满十组 数据时回到第一行继续显示后面的数据。 当再次按下S2键,数据清零。 二.系统硬件设计 2.1按键输入模块设计 本次设计具有三个功能:启动定时器,计时和清零。对S2键设计实现启动定时器和清 零功能。对S1键设计实现计时功能。 当按下S2键时,外部中断INT1向CPU发出中断请求,CPU转去执行外部中断1服务程序 ,即开启定时器。计时采用定时器T中断完成,秒表要求的精度为0.01秒,故设定定时溢 出中断周期为10ms,当一处中断后向CPU发出溢出中断请求,每发出一次中断请求就对毫 秒计数单元进行加一,达到10次就对十毫秒位进行加一。依次类推,直到99.99秒重新复 位。 当按下S1键,停止内部中断,执行外部中断处理程序,即记录当前计时结果,并显示 在LCD显示屏上。记录完成才允许其他中断。LCD屏一次允许显示十个数据,当记满十组 数据时回到第一行继续显示后面的数据。 当再次按下S2键,数据清零。 2.2点阵LCD液晶显示模块 在该电路中,液晶为102×64点阵LCD,采用SPI模式实现数据的传输,在该电路中数据 传输是单向的,数据只允许写入。在初始化时,调节命令中PM(0~63)的数值就可调节 液晶显示对比度;该液晶背光为LED背光,通过在LCD_BL_EN(P7.6)上输出PWM信号进行 调节背光亮度。 本次设计要求能够同时记录和存储10组数据。根据LCD液晶屏的点阵格式我们进行如 下设计,即除去按键功能标记行和定时器同步显示行,记录的十组数据分五行显示,每 行显示两组数据。当记满十组数据,重新回到数据记录的首行进行下一组数据的显示。 三.流程图设计 四.程序设计 LCD液晶模块,定时器及按键初始化 当S1键被按下时,禁止外部中断并记录当前时间,调用timeshow()函数在LCD显示 屏上显示。再返回执行中断处理前的程序。 当S2键被按下,首先判断是否处于计时状态或清零状态。若处于计时状态,则定时器 开始工作。此次设计要求时间精度为10ms,故对定时器的设计中断溢出时间为0.01s。从 零时刻开始计时,因此采用增计数方式工作。并调用timeshow()函数实时显示当前时 刻。 定时器工作方式设定 首先初始化时钟;使用了MSP430F5529芯片的32KHz低频晶体振荡器作为时钟;定时溢出 中断周期为10ms,当一处中断后向CPU发出溢出中断请求,每发出一次中断请求就对十毫 秒计数单元进行加一,达到10次就对百毫秒位进行加一,依次类推,直到99.99秒重新复 位。 五.设计小结 此次设计一开始我们首先从对430单片机的功能学习开始入手,学习掌握单片机的编程方 法。然后分析课程设计的功能要求,电子秒表要求的数据记录、显示和清零等功能需要 我们对开发板初始化,设定按键功能,并且要正确设定系统的中断时间才能达到0.01s的 精度。根据不同模块的功能要求,我们按照模块编程
2023-02-27 上传
电子秒表 摘 要 电子秒表是一种用数字电路技术实现时、分、秒计时的装置,无机械装置,具有较长的 使用寿命,因此得到了广泛的使用。它从原理上讲是一种典型的数字电路,其中包括了 组合逻辑电路和时序电路。本次实验所做电子式秒表由信号发生系统和计时系统构成,并 具有清零,暂停功能。由于需要比较稳定的信号,所以信号发生系统555定时器与电阻和 电容组成的多谐振荡器构成,信号频率为100HZ。计时系统由计数器、译码器、显示器组 成。计数器由74 LS160构成,由十进制计数器组成了一百进制和六十进制计数器,采用异步进位方式。译 码器由74LS48构成,显示器由数码管构成。清零,暂停功能由RS触发器构成防抖动开关。 具体过程为:由晶体震荡器产生100HZ脉冲信号先进入计数器,然后传入译码器,将4位 信号转化为数码管可显示的7位信号,结果以"分"、"秒"、"10毫秒"依次在数码管显示出 来。该秒表最大计时值为59分59.99秒, "10毫秒"为一百进制计数器组成,"分"和"秒"为六十进制计数器组成。 关键词:计时 精度 计数器 显示器 Abstract Electronic stopwatch is the realization of a digital circuit technology,.It can realize the hour, minute, second timer.It does not have mechanical means and has a longer life, so it has been widely used. The principle is a typical digital circuit, which includes a combination logic circuit and a timing circuit. The experiments can be done by electronic stopwatch constituted by the signal system and timing system, and has cleared pause function. Due to the need of a more stable signal, the signal generating system is constituted by the 555 Timer with the resistors and capacitors, and the signal frequency is 100Hz. Timing system contains the counter, decoder, display. Counter 74 LS160 constituted by the decimal counter the decimal and sexagesimal counter, which uses asynchronous binary. The decoder from 74LS48 constitute display digital tube constitute Cleared, the pause function by the RS flip-flop. Its specific process: the 100Hz pulse signal generated by the crystal oscillator and first into the counter, and then the incoming decoder, a 4-bit signal is converted to 7- bit signal of the digital control can be displayed, the result by "minute", "second", "10 milliseconds" turn on the digital display. The stopwatch timing is 59 minutes, 59.99 seconds, 10 milliseconds is the 150 binary counter, "minute" and "second" is the six decimal counter. Keyword:Timing accuracy counter display 目 录 一 设计任务与要求 1 二 方案设计与论证 1 三 单元电路设计与参数计算 6 (1)信号发生器单元电路 6 (2)计数器单元……………………………………………………..9 (3)显示及译码单元电路…………………………………………12
2023-02-27 上传
课程设计电子秒表 课程设计电子秒表全文共9页,当前为第1页。课程设计电子秒表全文共9页,当前为第1页。 课程设计电子秒表全文共9页,当前为第1页。 课程设计电子秒表全文共9页,当前为第1页。 通信与信息工程学院 2015/2016 学年 第 1 学期 课程设计II 实验报告 设计题目 电子秒表 任务要求 基本要求 A.设计秒表功能,精度为0.01秒。 B.可同时记录和存储10个秒表数据(连续记录并显示已存储记录数,秒表记录数据查询和清除功能)。 发挥部分: A.设计PC和430之间的串行口通信程序(参考USB通信实验)和通信协议,通过USB串行口向PC机上报秒表数据。 实验设备及软件 计算机;MSP-EXP430F5529开发板;IAR开发软件 课程设计电子秒表全文共9页,当前为第2页。课程设计电子秒表全文共9页,当前为第2页。同组人员学号及姓名 课程设计电子秒表全文共9页,当前为第2页。 课程设计电子秒表全文共9页,当前为第2页。 参考文献 课程设计电子秒表全文共9页,当前为第3页。课程设计电子秒表全文共9页,当前为第3页。目 录 课程设计电子秒表全文共9页,当前为第3页。 课程设计电子秒表全文共9页,当前为第3页。 一.设计要求和原理说明 1.1 设计要求 A.设计秒表功能,精度为0.01秒。 B.可同时记录和存储10个秒表数据(连续记录并显示已存储记录数,秒表记录数据查询和清除功能)。 1.2 原理说明 本次课程设计利用430单片机的定时器/计数器定时和计数原理,实现电子秒表的精确计时。利用中断系统实现计数开始和数据记录,并在LED显示屏上显示。当接通电源即对开发板、按键和定时器初始化。初始状态下计时器显示00.00,当按下S2键时,外部中断INT1向CPU发出中断请求,CPU转去执行外部中断1服务程序,即开启定时器。计时采用定时器T中断完成,秒表要求的精度为0.01秒,故设定定时溢出中断周期为10ms,当一处中断后向CPU发出溢出中断请求,每发出一次中断请求就对毫秒计数单元进行加一,达到10次就对十毫秒位进行加一。依次类推,直到99.99秒重新复位。 当按下S1键,停止内部中断,执行外部中断处理程序,即记录当前计时结果,并显示在LCD显示屏上。记录完成才允许其他中断。LCD屏一次允许显示十个数据,当记满十组数据时回到第一行继续显示后面的数据。 当再次按下S2键,数据清零。 二.系统硬件设计 2.1按键输入模块设计 本次设计具有三个功能:启动定时器,计时和清零。对S2键设计实现启动定时器和清零功能。对S1键设计实现计时功能。 当按下S2键时,外部中断INT1向CPU发出中断请求,CPU转去执行外部中断1服务程序,即开启定时器。计时采用定时器T中断完成,秒表要求的精度为0.01秒,故设定定时溢出中断周期为10ms,当一处中断后向CPU发出溢出中断请求,每发出一次中断请求就对毫秒计数单元进行加一,达到10次就对十毫秒位进行加一。依次类推,直到99.99秒重新复位。 当按下S1键,停止内部中断,执行外部中断处理程序,即记录当前计时结果,并显示在LCD显示屏上。记录完成才允许其他中断。LCD屏一次允许显示十个数据,当记满十组数据时回到第一行继续显示后面的数据。 当再次按下S2键,数据清零。 2.2点阵LCD液晶显示模块 在该电路中,液晶为102×64点阵LCD,采用SPI模式实现数据的传输,在该电路中数据传输是单向的,数据只允许写入。在初始化时,调节命令中PM(0~63)的数值就可调节液晶显示对比度;该液晶背光为LED背光,通过课程设计电子秒表全文共9页,当前为第4页。课程设计电子秒表全文共9页,当前为第4页。在LCD_BL_EN(P7.6)上输出PWM信号进行调节背光亮度。 课程设计电子秒表全文共9页,当前为第4页。 课程设计电子秒表全文共9页,当前为第4页。 本次设计要求能够同时记录和存储10组数据。根据LCD液晶屏的点阵格式我们进行如下设计,即除去按键功能标记行和定时器同步显示行,记录的十组数据分五行显示,每行显示两组数据。当记满十组数据,重新回到数据记录的首行进行下一组数据的显示。 三.流程图设计 开发板初始化开发板初始化 开发板初始化 开发板初始化 设置中断,每中断一次计数加一设置中断,每中断一次计数加一 设置中断,每中断一次计数加一 设置中断,每中断一次计数加一 链接键盘链接键盘 链接键盘 链接键盘 按下S2按下S2 按下S2 按下S2 YYFLAG=1?FLAG=1? Y Y FLAG=1? FLAG=1? 按 S1按下S1 按 S1 按下S1 NN N N 关闭计时器,清零关闭计时器,清零打开计时器打开计时器 关闭计时器,清零 关闭计时器,清零 打开计时器 打开计时器 LCD显示屏LCD显示屏 LCD显示屏 L