|
实验一 数码管显示
一、实验内容
在 4 位数码管上精确地显示时间的分钟秒信息,并且能够每秒自动更新显示内容,以实时反映时间的流逝。通过外部开关的闭合动作,将系统切换至时间设置模式。在此模式下,借助不同的开关操作,实现对当前时间的加 1 和减 1 调整,从而完成时间的设置功能
二、方案设计
(一)硬件设计
选用 AT89C51 单片机作为核心控制单元,充分利用其丰富的内部资源与强大的控制能力。
对于 4 位数码管,采用共阳极连接方式,通过单片机的 P0 口连接数码管的段选线,以实现对数码管各段显示内容的精确控制;利用 P2 口作为位选控制端口,精准地控制每个数码管的显示与否,确保时间信息能够准确无误地在相应数码管上显示。
将时间设置开关分别连接至单片机的 P1.0(断开开关以时间设置),P1.1(用于加 1 操作)和 P1.2(用于减 1 操作)引脚,通过对这些引脚电平状态的监测,及时捕捉开关动作,进而触发相应的时间设置处理程序。
(二)软件设计
单片机定时器经初始化设定,以产生周期为 10ms 的中断信号。在中断服务程序内,设有一计数变量,每次中断发生时,该变量自动累加。当累计次数达 100 时,此即表示已历经 1 秒时长,此刻便对寄存器 R2 予以更新,作为时间更新的关键依据。在主程序循环中,持续监测 R2 值。一旦 R2 大于 10,意味着秒数个位已达进位条件,随即对十位秒缓存值进行更新。同时,系统依照相同逻辑,依次对十位秒、分、十位分的缓存值展开判断与更新操作。例如,当秒数累满 60,分钟缓存值递增;分钟累满 60,则十位分钟缓存值相应改变,以此确保时间数据的准确推进与更新。对于按键控制,当读取到P1.0呈现低电平时,立即暂停定时器运行,P1.1,P1.2用于更新时间。
|
评分
-
查看全部评分
|