实验(六):定时器实验

news/2024/5/5 2:25:29/文章来源:https://blog.csdn.net/qq_61228493/article/details/128129517

一、实验目的与任务

        实验目的:

                1.掌握定时/计数器的中断法工作原理;

                2.熟悉C51编程与调试方法。

        任务:

                1. 运行Keil开发环境,完成定时器软件编程;

                2. 建立Proteus仿真模型;

                3.完成系统仿真与调试。

二、实验内容

        1. 利用片内定时器/计数器进行定时,定时间隔3s;

        2. 选择I/O口接入发光二极管;

        3. 使用AT89S51单片机的定时器/计数器T1控制LED每隔3秒点亮一次(即亮3秒,灭3秒,如此反复)。

三、实验内容

(1)软件实现:

实验步骤:

        1.运行Keil uVision5 开发环境,按照“模块化单片机教学实验平台配套的实验指导书1.2.3 节”介绍的方法建立程esimlab6. uvproj,CPU 为AT89S51,包含启动文件STARTUP.A51。

        2.输入源程序,在Keil uVision5 开发环境中,建立源程序esimlab6.c,将上述程序加入该程序文件。并将该文件加入工程esimlab6.uvproj。

        3.设置工程esimlab6. uvproj 属性,将其晶振频率设置为12MHz,选择输出可执行文件(HEX 文件),仿真方式为“Use Simulator”。

        4.构造(Build)工程esimlab6.uvproj。如果输入有误进行修改,直至构造正确,生成可执行程序 esimlab6.hex 为止。

(2)Proteus仿真:

实验步骤:

        1.运行Proteus 开发环境,建立工程,新建原理图设计文件esimlab6. Pdsprj,参考图一。

 图一 原理图实例

        2.设置单片机属性,将其晶振频率设置为12MHz,载入KEIL生成的文件esimlab6.hex。

        3.运行仿真并观察结果。

四、实验报告

main.c

#include <REGX51.H>void Timer1_Init(void); //中断初始化函数void main(){Timer1_Init();//中断初始化P1_5 = 0;while(1){}
}void Timer1_Init(void)		//1毫秒@12.000MHz
{TMOD &= 0x0F;		//设置定时器模式TMOD |= 0x10;		//设置定时器模式TL1 = 0x18;		//设置定时初值TH1 = 0xFC;		//设置定时初值TF1 = 0;		//清除TF1标志TR1 = 1;		//定时器1开始计时ET1 = 1;		EA = 1;			//中断总允许PT1 = 0;
}void Timer1_Routine() interrupt 3 //定时器1中断函数
{static unsigned int count1 = 0;TL1 = 0x18;		//设置定时初值TH1 = 0xFC;		//设置定时初值	count1++;if(count1 == 3000){ //每三秒转换一次状态count1 = 0;P1_5 = ~P1_5;}}

        TO、T1 都具有定时器和计数器两种工作模式,不论是工作在定时器模式还是计数器模式,实质都是对脉冲信号进行计数,只不过是计数信号的来源不同。计数器模式是对加在T0P3.4)和T1P3.5)两个引脚上的外部脉冲进行计数;而定时器模式是对单片机的系统时钟信号经片内12分频后的内部脉冲信号(脉冲信号周期=机器周期)计数。由于系统时钟频率是定值,所以可根据计数值计算出准确的定时时间。两个定时器/计数器属于增1计数器,即每对一个脉冲计数,则计数器赠1 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_228654.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Flink系列之Flink流式计算引擎基础理论

声明&#xff1a; 文章中代码及相关语句为自己根据相应理解编写&#xff0c;文章中出现的相关图片为自己实践中的截图和相关技术对应的图片&#xff0c;若有相关异议&#xff0c;请联系删除。感谢。转载请注明出处&#xff0c;感谢。 By luoyepiaoxue2014 B站&#xff…

mapbox地图动画一键飞行

最近&#xff0c;Mapbox GL JS 从 v2.9 开始支持将地图显示为 3D 地球。 话不多说&#xff0c;马上看看效果怎么样&#xff1a; mapbox地图动画我们通过设置投影属性projection&#xff1a;globe&#xff0c;即可将地图更改为地球 const map new mapboxgl.Map({container: m…

【Linux初阶】操作系统概念与定位 | 操作系统管理硬件方法、系统调用和库函数概念

&#x1f31f;hello&#xff0c;各位读者大大们你们好呀&#x1f31f; &#x1f36d;&#x1f36d;系列专栏&#xff1a;【Linux初阶】 ✒️✒️本篇内容&#xff1a;操作系统的基础概念、设计OS的目的&#xff0c;操作系统的定位&#xff0c;操作系统管理硬件方法&#xff0c;…

荣誉!InterSystems被独立研究机构Forrester评为“事务分析型数据平台领导者”

2022 年 12 月 1 日&#xff0c;中国&#xff0c;北京——致力于帮助客户解决最关键的可扩展性、互操作性和速度问题的创新数据技术提供商 InterSystems 今天宣布&#xff0c;在Forrester日前公布的《The Forrester Wave™&#xff1a;事务分析型数据平台(2022年第4季度)》报告…

硬件学习路线调研

学习路线 《Verilog传奇》、《Verilog HDL高级数字设计》或者是《用于逻辑综合的VHDL》。不看书也能写出个三段式状态机就可以进入下一阶段了。 此外&#xff0c;你手上必须准备Verilog或者VHDL的官方文档&#xff0c;《verilog_IEEE官方标准手册-2005_IEEE_P1364》、《IEEE …

科研绘图配色方案

科研绘图配色方案 在撰写论文的时候&#xff0c;美观&#xff0c;大气&#xff0c;上档次的图表能够很好地给自己的论文加分。但是在绘制图表的时候往往会面临色彩搭配的问题&#xff0c;选择合适的色彩搭配能够有效地展示自己的方法&#xff0c;但是色彩搭配选择不当的话往往…

2021-02-01

oracle设置定期修改密码 --通过如下sql查询用户密码有效期配置 SELECT username,PROFILE FROM dba_users; --上述sql查询结果一般为default --使用如下sql可以查询到default的默认值 select * from dba_profiles where profile DEFAULT and resource_name PASSWORD_LI…

Express 7 指南 - 开发中间件

Express Express 中文网 本文仅用于学习记录&#xff0c;不存在任何商业用途&#xff0c;如侵删 文章目录Express7 指南 - 开发中间件7.1 概述7.2 例子7.2.1 中间件函数 myLogger7.2.2 中间件函数 requestTime7.2.3 中间件函数 validateCookies7.3 可配置的中间件7 指南 - 开发…

数据结构与算法 -二叉树

二叉树相关算法 1. 二叉树基本知识 &#xff08;1&#xff09;二叉树结构 public class Node {V value;Node left;Node right; }left和right只能往下指&#xff0c;没有节点就为空。 &#xff08;2&#xff09;创建二叉树 对于一个完全二叉树&#xff0c;父节点为i, 左子节点…

Unity3d bounds包围盒 和collider碰撞器区别

Bounds 外包围盒 Bounds 叫作外包围盒、边界框、外扩矩形.是struct 结构体。而我们获得Bounds的主要途径有三种&#xff1a;Render,Collider,Mesh。 Render.bounds 世界坐标 Collider.bounds 世界坐标 Mesh.bounds 本地坐标 var m GetComponent<MeshFilter>().bound…

【数据结构】图的实现

文章目录图1.图的基本概念2.图的存储结构3.邻接矩阵3.1邻接矩阵的优缺点3.2邻接矩阵的实现4.邻接表4.1邻接表的实现5.图的遍历5.1广度优先遍历5.2深度优先遍历5.3如何遍历不连通的图&#xff1f;图 1.图的基本概念 图是由顶点集合及顶点间的关系组成的一种数据结构&#xff1…

BERT-of-Theseus

最近了解到一种称为"BERT-of-Theseus"的BERT模型压缩方法&#xff0c;源自论文《BERT-of-Theseus: Compressing BERT by Progressive Module Replacing》。这是一种以"可替换性"为出发点所构建的模型压缩方案&#xff0c;相比常规的剪枝、蒸馏等手段&#…

streptavidin-PEG-6-FAM 链霉亲和素-聚乙二醇-6-羧甲基荧光素

产品名称&#xff1a;链霉亲和素-聚乙二醇-6-羧甲基荧光素 英文名称&#xff1a;streptavidin-PEG-6-FAM 纯度&#xff1a;95% 存储条件&#xff1a;-20C&#xff0c;避光&#xff0c;避湿 外观:固体或粘性液体&#xff0c;取决于分子量 PEG分子量可选&#xff1a;350、550、75…

自助建站工具

每用一次自助建站工具&#xff0c;就有一个程序员失业。 作为企业老板的你&#xff0c;要为公司的获客&#xff0c;企业推广发愁&#xff0c;但是预算有限&#xff0c;招人也很困难&#xff0c;不仅要面试程序员&#xff0c;后续还要检验这个程序员的功力&#xff0c;实在是太…

谷歌浏览器

引言&#xff1a;众所周知&#xff0c;一个好的浏览器可以提高我们的工作效率&#xff0c;那么今天教大家如何安装超 nice 的浏览器 —— 谷歌浏览器 文章目录一、安装谷歌浏览器二、修改谷歌浏览器搜索引擎三、修改谷歌浏览器默认下载位置一、安装谷歌浏览器 打开&#x1f5b…

GJB 5000B二级-II实施基础

本实践域为新增实践域   思想:以GJB5000A的共用过程域中不乏实践为基础进行提炼并提升,结合各个行业的优秀实践和行业特点,坚持问题导向,使标准更具有指导性和可操作性;充分借鉴GJB9001C中:“4组织环境”、“7支持”的相关内容,形成实施基础实践域。本实践域强调突出重…

0111 栈与队列Day1

剑指offer09.用两个栈实现队列 用两个栈实现一个队列。队列的声明如下&#xff0c;请实现它的两个函数 appendTail 和 deleteHead &#xff0c;分别完成在队列尾部插入整数和在队列头部删除整数的功能。(若队列中没有元素&#xff0c;deleteHead 操作返回 -1 ) 示例 1&#x…

Java ArrayLIst与顺序表

什么是集合类&#xff1f; Java当中的集合类&#xff0c;其实就是封装号的数据结构 原始的数据结构——>Java当中封装成的集合对应的那个原始的数据结构——>用Java封装的集合对应的。 集合类所在的包&#xff1a;java.util这个包底下 顺序表的底层是一个数组&#xff0…

结构力学常用公式表,早晚用得到!

来源&#xff1a;360个人图书馆 常用截面几何与力学特征表​​​​​​​ 注&#xff1a; I 称为截面对主轴&#xff08;形心轴&#xff09;的截面惯性矩 (mm4)。基本计算公式如下&#xff1a; W称为截面抵抗矩 (mm)&#xff0c;它表示截面抵抗弯曲变形能力的大小&#xff0c…

皕杰报表之隐藏处理

第一步&#xff0c;新建报表&#xff0c;然后新建参数 参数type设置成中文描述为统计类型、数据类型为字符串。 参数year设置成中文描述为年、数据类型为日期、时间日期格式为yyyy。 参数month设置成中文描述为月、数据类型为日期、时间日期格式为MM。 参数day设置成中文描…