【单片机原理及应用】实验:数字秒表显示器

2024-08-30 23:36

本文主要是介绍【单片机原理及应用】实验:数字秒表显示器,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

目录

一、实验目的

二、实验内容

三、实验步骤

四、记录与处理

五、思考

六、成果文件提取链接


一、实验目的

 熟悉中断和定时/计数器工作原理,掌握定时器的C51编程与调试方法。


二、实验内容

参照图表

图A.6

(1)创建一个包含80C51固件,采用Keil for 8051编译器的新项目;

(2)仿照图A.6和表A.5绘制电路原理图;

(3)编写C51源程序,要求实现如下功能:数码管的初始显示值为“00”;当1s产生时,秒计数器加1;秒计数到50+*(*为学号最后1位)时清0,并从“00”重新开始,如此周而复始进行。

(4)完成源程序编译和动态调试,实现实验5的控制功能要求;

(6)完成实验5报告的撰写。


三、实验步骤

(1)创建一个包含80C51固件,采用Keil for 8051编译器的新项目,创建的项目如下图所示;

(2)仿照图A.6和表A.5绘制电路原理图;

图A.6

根据图示中所给出的元件进行选择,输入元件名称,对照元件样式进行选择,添加至画布中,将其全部放置在图纸上。如图所示。

然后按照实验要求的图表进行连线可以得到下图所示的界面。关于总线的连接方法:鼠标左键单击即可,在图中需要的位置,鼠标左键单击一下。如需停止,鼠标左键双击,鼠标左键单击设置断点。

在string中填写net=P0.#(#表示从0开始,每点击以下自动加一),进行自动赋值。

绘制完毕的线路图如下所示:

(3)编写C51源程序,数码管的初始显示值为“00”;当1s产生时,秒计数器加1;秒计数到50+*(*为学号最后1位)时清0,并从“00”重新开始,如此周而复始进行。我的学号最后一位为4,所以到54清零。

void time0() interrupt 1			//使用T0中断
{ TR0=0;	      				 //关闭中断TH0=0x3c;TL0=0xb0;				//初值重载t++;if(t==20)					//若中断20次,相当于1秒{t=0;second++;	}if(second==54) 			//秒计数器清零{second=0;}P0=table[second/10];		//刷新输出P2=table[second%10];TR0=1;					//开中断
}void main()					//主函数
{P0=table[second/10];		//输出显示字模P2=table[second%10];TMOD=0x01;				 //定义中断模式TH0=0x3c;TL0=0xb0;				 //加载溢出初值EA=1;					//开中断T0ET0=1;TR0=1;while(1);					//是循环,等待中断
}

(4)完成源程序编译和动态调试,实现实验5的控制功能要求;

秒计数到54时清0,并从“00”重新开始,如此周而复始进行


四、记录与处理

完成源程序编译和动态调试,实现实验5的控制功能要求;

秒计数到54时清0,并从“00”重新开始,如此周而复始进行


五、思考

1. 中断是CPU对系统发生的某个事件作出的一种反应。这个引起中断的事件被称为中断源。当中断源向CPU提出处理请求时,这个请求就被称为中断请求。当CPU响应这个中断请求时,它会暂停当前正在执行的程序(这个暂停点被称为断点),转而处理中断源所指定的任务。这个过程称为中断响应。

2.定时/计数器是一种用来计量时间间隔的设备,其工作原理主要是通过内部的振荡器或外部的时钟源来提供时间基准。在每个时间单位(如毫秒、微秒等)经过时,计数器会自动加1。

定时/计数器通常包含一个或多个寄存器,其中一个寄存器用于存储当前的计数值,而其他寄存器则用于存储控制信息,如计数模式、计数方向、计数起始值等。当计数器的值达到设定的阈值时,它会触发一个中断信号或产生一个输出信号,用于控制其他设备或执行特定的操作。

3.通过本次实验,我深刻理解了中断和定时/计数器在嵌入式系统中的应用。在编写和调试C51源程序的过程中,我不仅掌握了定时器中断的使用方法和数码管的驱动方式,还提高了自己的编程能力和解决问题的能力。在未来的学习和工作中,我将继续努力提高自己的技能水平和实践能力。


六、成果文件提取链接

链接:https://pan.baidu.com/s/1vih-osSS5LE-I0vk-Imugg?pwd=ugmx 
提取码:ugmx  

这篇关于【单片机原理及应用】实验:数字秒表显示器的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1122255

相关文章

Redis主从/哨兵机制原理分析

《Redis主从/哨兵机制原理分析》本文介绍了Redis的主从复制和哨兵机制,主从复制实现了数据的热备份和负载均衡,而哨兵机制可以监控Redis集群,实现自动故障转移,哨兵机制通过监控、下线、选举和故... 目录一、主从复制1.1 什么是主从复制1.2 主从复制的作用1.3 主从复制原理1.3.1 全量复制

将Python应用部署到生产环境的小技巧分享

《将Python应用部署到生产环境的小技巧分享》文章主要讲述了在将Python应用程序部署到生产环境之前,需要进行的准备工作和最佳实践,包括心态调整、代码审查、测试覆盖率提升、配置文件优化、日志记录完... 目录部署前夜:从开发到生产的心理准备与检查清单环境搭建:打造稳固的应用运行平台自动化流水线:让部署像

Redis主从复制的原理分析

《Redis主从复制的原理分析》Redis主从复制通过将数据镜像到多个从节点,实现高可用性和扩展性,主从复制包括初次全量同步和增量同步两个阶段,为优化复制性能,可以采用AOF持久化、调整复制超时时间、... 目录Redis主从复制的原理主从复制概述配置主从复制数据同步过程复制一致性与延迟故障转移机制监控与维

SpringCloud配置动态更新原理解析

《SpringCloud配置动态更新原理解析》在微服务架构的浩瀚星海中,服务配置的动态更新如同魔法一般,能够让应用在不重启的情况下,实时响应配置的变更,SpringCloud作为微服务架构中的佼佼者,... 目录一、SpringBoot、Cloud配置的读取二、SpringCloud配置动态刷新三、更新@R

Linux中Curl参数详解实践应用

《Linux中Curl参数详解实践应用》在现代网络开发和运维工作中,curl命令是一个不可或缺的工具,它是一个利用URL语法在命令行下工作的文件传输工具,支持多种协议,如HTTP、HTTPS、FTP等... 目录引言一、基础请求参数1. -X 或 --request2. -d 或 --data3. -H 或

在Ubuntu上部署SpringBoot应用的操作步骤

《在Ubuntu上部署SpringBoot应用的操作步骤》随着云计算和容器化技术的普及,Linux服务器已成为部署Web应用程序的主流平台之一,Java作为一种跨平台的编程语言,具有广泛的应用场景,本... 目录一、部署准备二、安装 Java 环境1. 安装 JDK2. 验证 Java 安装三、安装 mys

Python中构建终端应用界面利器Blessed模块的使用

《Python中构建终端应用界面利器Blessed模块的使用》Blessed库作为一个轻量级且功能强大的解决方案,开始在开发者中赢得口碑,今天,我们就一起来探索一下它是如何让终端UI开发变得轻松而高... 目录一、安装与配置:简单、快速、无障碍二、基本功能:从彩色文本到动态交互1. 显示基本内容2. 创建链

Redis主从复制实现原理分析

《Redis主从复制实现原理分析》Redis主从复制通过Sync和CommandPropagate阶段实现数据同步,2.8版本后引入Psync指令,根据复制偏移量进行全量或部分同步,优化了数据传输效率... 目录Redis主DodMIK从复制实现原理实现原理Psync: 2.8版本后总结Redis主从复制实

Node.js 中 http 模块的深度剖析与实战应用小结

《Node.js中http模块的深度剖析与实战应用小结》本文详细介绍了Node.js中的http模块,从创建HTTP服务器、处理请求与响应,到获取请求参数,每个环节都通过代码示例进行解析,旨在帮... 目录Node.js 中 http 模块的深度剖析与实战应用一、引言二、创建 HTTP 服务器:基石搭建(一

电脑显示hdmi无信号怎么办? 电脑显示器无信号的终极解决指南

《电脑显示hdmi无信号怎么办?电脑显示器无信号的终极解决指南》HDMI无信号的问题却让人头疼不已,遇到这种情况该怎么办?针对这种情况,我们可以采取一系列步骤来逐一排查并解决问题,以下是详细的方法... 无论你是试图为笔记本电脑设置多个显示器还是使用外部显示器,都可能会弹出“无HDMI信号”错误。此消息可能