基于89c51的数字电子钟设计内容摘要:

现数码管的显示。 开通定时器 T0 中断来对数码管的查表和 1 秒的准确计时,然后利用 P3口的低三位作为判断程序,判断是否分时秒是否溢出,若无溢出则显示当前值,若溢出则清零实现时分秒的加一。 3 硬件设计 单片机的复位电路 在系统运 行的过程中,有时可能对系统需要进行复位,为了避免对硬件系统经常加电和断电造成的损害,设计了手动的复位电路。 如图 31 所示。 这种电路的设计,在系统的运行过程中需要复位时,只需使开关闭合,在 RST 端就会出现一定时间的高电平信号,从而使单片机实现复位。 电路原理图如图 31 所示: 单片机 系统 课程设计 3 图 31 手动复位电路原理图 单片机系统的晶振电路 单片机必须在时钟的驱动下才能进行工作。 MCS51 系列单片机内部都有一个时钟振荡电路,只需外接晶振源,就能产生一定频率的时钟信号送到单片机的内部的各个单元,决定单片机的工 作速度。 图 32 就是内部时钟工作方式的电路图,这是一种常用的方式。 这种方式是外界振荡源,本设计就采用这种外接晶振的方法。 电路中的两个电容的作用有两个:一是帮助振荡器起振( C1 C2 的值大起振的速度慢;反之,速度快。 );二是对振荡器的频率起到微调的作用( C1 C2的值大,频率略有减少,反之,频率略有提高)。 C1 C2 的值采用 22pF。 其原理图如图 32 所示 : 单片机 系统 课程设计 4 图 32 单片机系统的晶振电路原理图 单片机键盘模块 三个按键分别接 、 、 ,从而实现时、分、秒的 加 1 功能。 其原理图如图 33 所示: 图 33 键盘模块 单片机 系统 课程设计 5 单片机动态数码管显示模块 动态数码管段选端接 AT89C51 的 P0口并接八个的上拉电阻;动态数码管的位选端接 74LS245 锁存器的 B 端, 74LS245 锁存器的 A 端接 AT89C51 的 P2 口,通过段选和位选实现动态数码管的数字显示。 其原理图如图 34 所示: 图 34 动态数码管显示模块 单片机电源电路模块 直流电源的稳定性和输出电源的质量影响单片机系统运行的稳定性,所以一个完整的可靠的电子设计需要可靠的电源供电。 除了用市面上的 干电池供电外,还可以采用市电 220v 变压、整流、滤波、整流和稳压后获得稳定的直流电源。 本设计采用后者输出 5v 直流电压。 图 35 为采用三端集成稳压器 7805 构成的正 5v 直流电源 : 12P10 .3 3 u FC10 .1 u FC21 0 u FC3D1V in V outGND7805T 220VT ra nsVCC1 N 4 0 0 1 图 35 直流电源原理图 单片机 系统 课程设计 6 4 软件设计 软件的设计是设计控制系统的应用程序。 其任务是在整体设计和硬件设计的基础上,确定程序结构,分配内 RAM 资源,划分功能模块,然后进行主程序和各模块程序的设计,最后连接起来成为一个完整应用程序,与硬件相结合完成相应功能。 主程序设计 主程序才用模块化设计,流程图如图 41 所示。 整个程序先给数码管送初值 12_00_00,然后进行初始化工作,包括定时器及其初值设置、开中断等。 程序通过按键扫描程序来确定是否调用中断程序来对时间进行调整,整个程序较为简短,但是时间误差很小。 其流程图如图 41 所示: 开 始送 显 示 初 始 值( 1 2 0 0 0 0 )定 时 器 T 0 送 初始 值( 5 0 M S )调 用 显 示 子程 序启 动 定 时 器T 0中 断 开 启调 用 显 示 程序结 束时 增 一分 增 一秒 增 一调 用 子 程 序I N T T O秒 键 按 下。 分 键 按 下。 时 键 按 下。 NNNYYY 图 41 主程序设计框图 单片机 系统 课程设计 7 键盘子程序设计 通过循环扫描三个按键的电平变化来判断对应按键是否按下,并带有去抖动功能,当某个按键按下时,则对应的进行增一操作。 若分秒增一到底 60 次或者时增一到达 24 次 ,将对其清零,各个操作均实时的通过数码管显示。 其流程图如图 42 所示: 开 始秒 键 按 下。 分 键 按 下。 时 键 按 下。 调 用 去 抖 动 延迟 子 程 序调 用 去 抖 动。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。