基于单片机的电子钟设计(编辑修改稿)内容摘要:
20M 就行,在准许的范围内,晶振越大,单片机运行越快,还有用 12M 的就是好算时间,因为一个机器周期为 1/12 时钟周期,所以这样用 12M 的话,一个时钟周期为 12us,那么定时器计一次数就是 1us 了,电容范围在 2040pF 之间,这里连接的是 30pF 的电容。 单片机复位的条件是:必须使 RST/VPD 或 RST 引( 9)加上持续两个机器周期(即24 个振荡周期)的高电平。 例如,若时钟频率为 12 MHz,每机器周期为 1μ s,则邵阳学院课程设计报 告 9 只需 2μ s 以上时间的高电平,在 RST 引脚出现高电平后的第二个机器周期执行复位。 单片机常见的复位如图所示。 电路为上电复位电路,它是利用电容充电来实现的。 在接电瞬间, RESET 端的电位与 VCC 相同,随着充电电流的减少, RESET 的电位逐渐下降。 只要保证 RESET 为高电平的时间大于两个机器周期,便能正常复位。 该电路除具有上电复位功能外,若要复位,只需按图中的 RESET 键,此时电源 VCC经电阻 R R2 分压,在 RESET 端产生一个复位高电平。 机器周期 =10*晶振周期 =12*系统时钟周期 图 则是单片机 AT89C51 芯片上连接晶振电路后的图 图 晶振电路 控制电路 AT89S51的 P0口和 P2口外接由八个 LED数码管 (LED8~ LED1)构成的显示器,用 P0 口作 LED 的段码输出口, P2 口作八个 LED 数码管的位控输出线, P1 口外接四个按键 A、 B、 C 构成键盘电路。 AT89S51 是一种低功耗,高性能的 CMOS 8 位微型计算机。 它带有 8K Flash 可编程和擦除的只读存 储器( EPROM),该器件采用 ATMEL 的高密度非易失性存储器技术制造,与工业上标准的 80C51 和 80C52 的指令系统及引脚兼容,片内Flash 集成在一个芯片上,可用与解决复杂的问题,且成本较低。 简易电子钟的功能不复杂,采用其现有的 I/O 便可完成,所以本设计中采用此的设计方案。 下图 利用按键开关来校正时钟显示的数字。 当按钮按下时,将在相应的端口输入一个低电平,通过相应的程序来改变时钟显示。 其中 时 按键开关用来调节时间的小时数 ,每按一次时按键,时间增加一小时 ; S2 按键用来调节时间的分钟数 ,每按一邵阳学院课程设计报 告 10 次分按键,时间 增加一分钟 ; S3 按键用来 调节时间的秒数 每按一次秒按键,时间增加一秒钟,该设计最大显示时间为 23:59:59。 图 则为 则是单片机 AT89C51 芯片上连接 控制电路 的图 图 显示电路 就时钟而言,通常可采用液晶显示或数码管显示。 由于一般的段式液晶屏,需要专门的驱动电路,而且液晶显示作为一种被动显示,可视性相对较差;对于具有驱动电路和微处理器接口的液晶显示模块(字符或点阵),一般多采用并行接口,对微处理器的接口要求较高,占用资源多。 另外, 89C2051 本身无专门的液晶驱动接口,因此 ,本时钟采用数码管显示方式。 数码管作为一种主动显示器件,具有亮度高、价格便宜等优点,而且市场上也有专门的时钟显示组合数码管。 对于实时时钟而言,显示显然是另一个重要的环节。 通常 LED 显示有两种方式:动态显示和静态显示。 静态显示的优点是程序简单、显示亮度有保证、单片机 CPU 的开销小,节约CPU 的工作时间。 但占有 I/O 口线多,每一个 LED 都要占有一个 I/O 口,硬件开销大,电路复杂。 需要几个 LED 就必须占有几个并行口,比较适用于 LED 数量较少的场合。 当然当 LED 数量较多的时候,可以使用单片机的串行口通过移位寄存器的方式加以解决,但程序编写比较麻烦。 邵阳学院课程设计报 告 11 LED 动态显示硬件连接简单,但动态扫描的显示方式需要占有 CPU 较多的时间,在单片机没有太多实时测控任务的情况下可以采用。 本系统需要采用 8 位 LED 数码管来分别显示时、分、秒,因数码管个数较多,故本系统选择动态显示方式。 图 则为 则是单片机 AT89C51 芯片上连接 显示电路的图 图 显示电路 各模块拼接组合,电路总体设计图如下: 图 总图 邵阳学院课程设计报 告 12 4 系统 软件设计 设计 系统的软件设计也是工具系统 功能的设计 ,单片机软件的设计主要包括执行软件(完成各种实质性功能)的设计和监控软件的设计。 单片机的软件设计通常要考虑以下几个方面的问题: ( 1)根据软件功能要求,将系统软件划分为若干个相对独立的部分,设计出合理的总体结构,使软件开发清晰、简洁和流程合理; ( 2)培养良好的编程风格,如考虑结构化程序设计、实行模块化、子程序化。 既便于调试、链接,又便于移植和修改; ( 3)建立正确的数学模型,通过仿真提高系统的性能,并选取合适的参数; ( 4)绘制程序流程图; ( 5)合理分配系统资源 ; ( 6)为程序加入注释,提高可 读性,实施软件工程; ( 7)注意软件的抗干扰设计,提高系统的可靠性。 数字钟的原理图 用 PROTUES 软件,根据要求画出数字电子钟的原理图如下所示。 图 数字钟的原理图 邵阳学院课程设计报 告 13 工作原理 :数字电子钟是一个将 “ 时 ” , “ 分 ” , “ 秒 ” 显示于人的视觉器官的计时装置。 它的计时周期为 24 小时,显 时 满刻度为 23 时 59 分 59 秒,另外还有校时功能。 因此,一个基本的数字钟 电路主要由显示器 “ 时 ” , “ 分 ” , “ 秒 ” 和单片机。 8 个数码管的段选接到单片机的 P0 口,位选接到单片机的 P2 口。 数码管按照数码管动态显示的工作原理工 作,将标准秒信号送入 “ 秒单元 ” , “ 秒单元 ” 采用60 进制计数器,每累计 60 秒发出一个 “ 分脉冲 ” 信号,该信号将作为 “ 分单元 ”的时钟脉冲。 “ 分单元 ” 也采用 60 进制计数器,每累计 60 分钟,发出一个 “ 时脉冲 ” 信号,该信号将被送到 “ 时单元 ”。 “ 时单元 ” 采用 24 进制计时器,可实现对一天 24 小时的累计。 显示电路将 “ 时 ” 、 “ 分 ” 、 “ 秒 ” 通过七段显示器显示出来。 系统软件设计流程图 这次的数字电子钟设计用到很多子程序,它们的流程图如下所示。 主程序是先开始,然后启动定时器,定时器启动后在进行按键检测,检测完后,就可以显示时间。 图 开始 启动定时器 按键检测 时间显示 邵阳学院课程设计报 告 14 按键处理是先检测秒按键是否按下,秒按键如果按下,秒就加 1;如果没有按下,就检测分按键是否按下,分按键如果按下,分就加 1;如果没有按下,就检测时按键是否按下,时按键如果按下,时就加 1;如果没有按下,就把时间显示出来。 图 按键处理流程图 定时器中断时是先检测 1 秒是否到, 1 秒如果到,秒单元就加 1;如果没到,就 N Y N Y N Y 时加 1 显示时间 结束 开始 秒按键按下。 秒加 1 分按键按下。 分加 1 时按键按下。 邵阳学院课程设计报 告 15 检测 1 分钟是否到, 1 分钟如果到,分单元就加 1;如果没到,就检测 1 小时是否到 ,1 小时如果到,时单元就 每按一次时按键,就会增加一小时 加 1,如果没到,就显示时间。 N 24 小时到。 分单元清零,时单元加 1 N。基于单片机的电子钟设计(编辑修改稿)
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。
用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。