找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 127|回复: 0
打印 上一主题 下一主题
收起左侧

51单片机时钟,汇编代码

[复制链接]
跳转到指定楼层
楼主
实验一 数码管显示
一、实验内容
在 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用于更新时间。

51hei2.png (125.82 KB, 下载次数: 0)

51hei2.png

51hei1.png (96.79 KB, 下载次数: 0)

51hei1.png

c51.zip

44.52 KB, 下载次数: 0, 下载积分: 黑币 -5

代码

fz.zip

42.17 KB, 下载次数: 0, 下载积分: 黑币 -5

PROTEUS仿真

评分

参与人数 1黑币 +50 收起 理由
admin + 50 共享资料的黑币奖励!

查看全部评分

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表