实验(六):定时器实验

这篇具有很好参考价值的文章主要介绍了实验(六):定时器实验。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一、实验目的与任务

        实验目的:

                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 文章来源地址https://www.toymoban.com/news/detail-459944.html

到了这里,关于实验(六):定时器实验的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • stm32 定时器输入捕获实验

    目录 一,简介 二,配置过程  一,设置输入捕获滤波器​ 二,设置输入极性 三,设置输入捕获映射通道  四,设置输入捕获分频器  五,设置中断  ​三,寄存器 四,库函数 五,一般步骤   六,软件部分 输入捕获模式可以用来测量脉冲宽度或者测量频率 原理图 如图  

    2024年01月21日
    浏览(56)
  • 51单片机定时器实验(汇编)

    基于AT89C51的定时器实验,汇编语言,分享出来是希望各位能共同学习。附上注释希望能认真研究,若有错误请指出,谢谢。 一、实验目的 掌握单片机定时器的使用方法。 掌握中断的使用方法。 二、实验内容 采用中断方式控制定时器。使得单片机P1.0引脚产生周期为1S的方波

    2024年02月11日
    浏览(59)
  • 51单片机 | 定时器中断实验

      这一节介绍51单片机的定时器中断。 STC89C5X 含有 3 个定时器:定时器 0、定时器 1、定时器 2(注意: 51 系列单片机一定有基本的 2 个定时器(定时器 0 和定时器 1),但不全有 3 个中断,需要查看芯片手册,通常我们使用的是基本的 2 个定时器:定时器 0/1)。本节要实现

    2024年02月06日
    浏览(111)
  • @Scheduled定时器 定时任务调度:Unexpected error occurred in scheduled task错误

    目录 一、基本使用 二、参数详解 1. @Scheduled(fixedDelay = 5000) 2. @Scheduled(fixedRate = 5000) 3. @Scheduled(cron = “0 0 2 * * ?”) 4.cron表达式 案例 配置文件 写配置的时候,没有提示,解决方案 三、@Scheduled注意事项 四、 @Scheduled 的执行原理  1、加载使用 @Scheduled 注解的类及方法  2、解析

    2024年02月16日
    浏览(51)
  • 51单片机定时器。实验(六):定时器实验:使用AT89S51单片机的定时器/计数器T1控制LED每隔3秒点亮一次(即亮3秒,灭3秒,如此反复)

    目录 题目: proteus仿真: 代码: 分析题目: 定时器: 工作方式寄存器TMOD设置: 控制寄存器TCON设置: 设定计数初值:  定时器四种工作方式: 实验过程讲解: 配置定时器:设置TMOD寄存器 设定定时器初值:THx和TLx(x=0,1) 设置IE寄存器: 启动定时器: 中断检测: 使用

    2023年04月20日
    浏览(54)
  • STM32——高级定时器输出比较模式实验

    1,配置定时器基础工作参数 HAL_TIM_OC_Init() 2,定时器PWM输出MSP初始化 HAL_TIM_OC_MspInit() 配置NVIC、CLOCK、GPIO等 3,配置PWM模式/比较值等 HAL_TIM_OC_ConfigChannel() 4,使能通道预装载 __HAL_TIM_ENABLE_OCxPRELOAD() 5,使能输出、主输出、计数器 HAL_TIM_OC_Start() 6,修改捕获/比较寄存器的值 _HAL

    2024年02月02日
    浏览(52)
  • 51单片机——定时器中断实验,小白讲解,相互学习

    定时器介绍 1,CPU时序的有关知识 震荡周期:为单片机提供定时信号的震荡源的周期(晶振周期或外加震荡周期)。 状态周期:2个震荡周期为1个状态周期,用S表示。震荡周期又称S周期或时钟周期。 机器周期:1个机器周期含6个状态周期,12个震荡周期 指令周期:完成1条指

    2024年02月03日
    浏览(48)
  • HAL STM32基于系统滴答定时器(SysTick)实现多任务时间片轮询

    📑RTOS(实时操作系统)和定时器时间片轮询是两种不同的任务调度和执行方式的差异简介 🔖 以下部分内容,由AI给出的解答: 🔖RTOS(实时操作系统): 🌿RTOS是一种专门设计用于实时系统的操作系统,它可以有效地管理多个任务,提供任务调度、同步和通信等功能。 🌿

    2024年02月21日
    浏览(47)
  • linuxARM裸机学习笔记(4)----GPIO中断以及定时器中断实验

    这个表里面存放的都是中断向量,中断服务程序的入口地址或存放中断服务程序的首地址成为中断向量。中断向量表是一系列中断服务程序入口地址组成的表,当某个中断触发的时候会自动跳转到中断向量表对应的中断服务程序的入口。 2.NVIC(内嵌向量中断控制器) 在IMU6U的中

    2024年02月14日
    浏览(45)
  • MSP430F5529库函数定时器A——捕获实验

    需提前学习:MSP430F5529库函数学习——串口;MSP430F5529库函数定时器A——硬件PWM 目录 引脚手册获取 实验目的 代码 代码解析 串口数据发送部分 数据捕获部分 定时器部分可选参数 设置定时器部分 捕获部分可选参数 设置捕获引脚部分 中断处理 TA2IV_TACCR2解析 TA2IV_TAIFG解析 主函

    2024年02月13日
    浏览(42)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包