利用定时器中断方式控制led灯的闪烁速度_项目四 定时器和中断概念的基本认识...-程序员宅基地

技术标签: 定时器工作方式0初值除32  利用定时器中断方式控制led灯的闪烁速度  单片机定时器一1ms12MHz  汇编语言利用定时器中断方式控制led灯的闪烁速度  

(一)项目任务

ü 任务1:用定时方式控制LED

n 子任务1.1 两种定期器的认识

n 子任务1.2 掌握定期器的定时原理和计算方法

n 子任务1.3 采用定时器方法实现点亮LED功能

ü 任务2:采用按键扫描控制LED

n 子任务2.1 C语言---swtich语句认识

n 子任务2.2 中断系统的认识

n 子任务2.3 采用定时和中断方式驱动按键

(二)相关知识点

2.1、定时器的基本概念

标准的51单片机有T0和T1两个定时器,52单片机多一个T2定时器,其余跟51单片机一样,有细心的读者会发现项目中用的是52单片机,名称却为51单片机,通常情况下把51和52单片机统称为51单片机。

举个例子说明定时器工作的基本原理,假设一个水瓶的容量为65536ml,现在以1ml/s的速度往水瓶里滴水,那么需要65536s才能将水瓶滴满,再滴一滴水就会溢出。从中得到的启发是只要速度一定,可以根据滴的次数可以知道时间。假设现在需要定时30000s,只需往空瓶子里滴30000滴水即可,但是这样的话需要一直盯着水滴数。其实还有更好的办法,可以预先往水瓶里滴35536ml的水,再往水瓶里滴水,只要发现水瓶里的水溢出表示30000s的时间到了,定时器的工作方式亦是如此,使用定时器前首先了解相关寄存器。

c5513123e6e1c4aa173b7ecdff387d52.png

章项目都以配置定时器T0为例,首先看下TCON寄存器各个位的含义。

6cae5faf417ee1da0b2f17353a078de0.png

TF1:定时器/计数器T1溢出标志。T1被允许计数以后,从初值开始加1计数。当最高位产生溢出时由硬件置“1”,向CPU请求中断,一直保持到CPU响应中断时,才由硬件清“0”(TF1也可由程序查询清“0”)。

TR1:定时器T1的运行控制位。该位由软件置位和清零。TR1=1时就允许T1开始计数,TR1=0时禁止T1计数。

TF0:同理与TF1,TF1是针对定时器/计数器T1,TF0是针对定时器/计数器T0。

TR0:同理与TR1,TR1是针对定时器T1,TF0是针对定时器T0。

1bb09208781c96f87b6060d4afa6e7e5.png
表3 寄存器TMOD各位功能描述(不可位寻址)

c27645b5958786a742e27cb74e789a7b.png

常用的模式有模式1和模式2,模式2常用在串口通信中,本项目中以模式1为主。注意寄存器TCON可以寻址,寄存器TMOD不可位寻址。寻址的意思是可以单独操作寄存器中的某一位,例如寄存器TCON中的第四位TR0可以取出来单独赋值,进行TR0 = 1或者TR0 = 0操作,但寄

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_39975486/article/details/110250148

智能推荐

KEIL文件移动脚本--网关脚本_nrfutil' 不是内部或外部命令,也不是可运行的程序-程序员宅基地

文章浏览阅读650次。上面是效果原因 每次都是编译在大文件里面我希望只有BIN文件在一个干净的地方写一个.BAT在任何地方都是可以执行的 最后挂在KEIL里面内容 mv.batFOR /F %%I IN ('DIR /B /S "D:\TSBrowserDownloads\DA145xx_SDK_for_handover\DA145xx_SDK\old\projects\Izar\src\Node_Dialog_DA14531_SHENNONG\Keil_5\out_DA14531\Ob..._nrfutil' 不是内部或外部命令,也不是可运行的程序

全面解析并解决计算机缺失msvcp80.dll文件的问题-程序员宅基地

文章浏览阅读427次,点赞24次,收藏17次。在使用计算机过程中,有时会遇到“计算机缺失msvcp80.dll文件”的错误提示,这直接影响了部分应用程序的正常运行。msvcp80.dll是Microsoft Visual C++ 2005 redistributable runtime library(即VC++ 2005运行时库)的一部分,对于基于VC++ 2005编译的应用程序至关重要。本文将深入探究此问题产生的原因,并提出切实可行的解决方案。_msvcp80.dll

<读书笔记>《JS DOM编程艺术》-程序员宅基地

文章浏览阅读54次。2016/03/04 12:00第一二章:JS的简史以及基本语法1.P112.variable3.P13 等于4.P135.P14 转义字符6.关联数组不是一个好习惯7.P18 对象8.P31firefox和chrome的兼容性;+1900,IE好着呢;第三章:强大的DOM编程1.DOM:Document O..._dom编程艺术第3版下载

高级信息系统项目管理师—论文—进度管理_信息系统集成项目管理工程师高级论文-程序员宅基地

文章浏览阅读9.6k次,点赞7次,收藏35次。摘要:2015年3月,我作为项目经理参与了某公司与XX市交通运输局的道路交通智能监控抓拍系统的建设工作。我作为项目经理,主要进行了需求分析、系统设计、项目管理等工作。我十分重视项目的进度管理,运行丰富的项目管理经验,结合进度管理理论,对项目的各阶段进行了进度管理:规划进度管理、定义活动、估算活动顺序、估算活动资源、估算活动持续时间、制定进度计划、控制项目进度等过程全面展开对沟通的管控。依照项目管理..._信息系统集成项目管理工程师高级论文

java Lambda-程序员宅基地

文章浏览阅读317次。 https://www.cnblogs.com/heimianshusheng/p/5663913.html

UI设计师未来职业规划_ui设计未来工作期望-程序员宅基地

文章浏览阅读1.7k次。  近几年UI设计行业一直都比较火,不少其他行业的设计师都转行UI设计。这时候可能就会有小伙伴问未来职业规范怎么做才能脱颖而出呢?今天胡老师和大家来探讨一下。  现在的UI设计的市场需求和刚兴起那会截然不同,那时只要会设计图标简单的界面就可以找到一份很不错工作。而且薪资也比较可观。因此UI设计瞬间爆火,还有很多设计同行也分分转战UI设计。这个职位的特点,一定是指数型的,好的人会越来越好,一般的人面对的门槛则会提高。其实任何行业和职业都是这样的,只不过在互联网的设计师、工程师(以及其他职位)中,尤其明显。_ui设计未来工作期望

随便推点

Mybatis_"mybatis the content of element type \"choose\" mu-程序员宅基地

文章浏览阅读261次。Mybatis环境:JDK1.8Mysql5.7maven 3.6.1IDEA回顾JDBCMysqlJava基础MavenJunit1. 简介1.1 什么是MybatisMyBatis 是一款优秀的持久层框架它支持自定义 SQL、存储过程以及高级映射MyBatis 免除了几乎所有的 JDBC 代码以及设置参数和获取结果集MyBatis 可以通过简单的 XML 或注解来配置和映射原始类型、接口和 Java POJO(Plain Old Java _"mybatis the content of element type \"choose\" must match \"(when*,otherwise?)"

【预测模型】基于萤火虫算法优化bp神经网络实现数据预测matlab源码_mape1=mean(abs(error./output_test));-程序员宅基地

文章浏览阅读700次。1 算法介绍1.1 萤火虫算法算法基本思想描述如下:在群体中,每个萤火虫个体被随机分布在目标函数定义的空间中,初始阶段,所有的萤火虫都具有相同的荧光素值和动态决策半径。其中,每个萤火虫个体根据来自动态决策半径内所有邻居萤火虫信号的强弱来决定其移动的方向。萤火虫的动态决策半径会随着在它范围内萤火虫个体的数目而变化,每个萤火虫的荧光素也会随着决策半径内萤火虫个体的数目而改变。萤火虫群优化算法是无记忆的,无需目标函数的全局信息和梯度信息,具有计算速度快,调节参数少,易于实现等特点。萤火虫进化过程中,每次._mape1=mean(abs(error./output_test));

mybatis自动生成代码时报错:The server time zone value ‘�й���׼ʱ��‘ is unrecognized or represents more than one_mybatisplus报错the server time zone value ' й-程序员宅基地

文章浏览阅读588次。这种情况一般是因为在generatorConfig.xml文件中,连接数据库时缺少serverTimeZone导致的,在数据库连接上加上serverTimeZone=UTC即可解决。generatorConfig.xml代码如下:<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE generatorConfiguration PUBLIC "-//mybatis.org//DTD MyBatis Generator.._mybatisplus报错the server time zone value ' й

相机标定-机器视觉基础(理论推导、Halcon和OpenCV相机标定)_机器视觉标定-程序员宅基地

文章浏览阅读5.3k次,点赞13次,收藏109次。相机标定是获得目标工件精准坐标信息的基础。首先,必须进行相机内参标定,构建一个模型消除图像畸变;其次,需要对相机和机器人的映射关系进行手眼标定,构建一个模型将图像坐标系上的点映射到世界坐标系。主要分为背景知识、相机内外参模型推导、编程代码实现三个部分。_机器视觉标定

RBM-MHC: A Semi-Supervised Machine-LearningMethod for Sample-Specific Prediction of AntigenPresent-程序员宅基地

文章浏览阅读211次。介绍:本文提出了一种灵活的机器学习方法,用于预测组织相容性白细胞抗原I类蛋白呈递给T细胞的病毒和癌症抗原。该方法旨在对新获得的样本进行预测,现在数据库中关于呈递HLA蛋白的信息很少。1、Highlights:为定制和新产生的数据集可以提供灵活的HLA抗原呈递预测; 预测较差的HLA等位基因得到改善; 在只有很少HLA注释的情况下,能够准确预测HLA类型; 拥有更加低维的数据表示;2、摘要 目前最先进的方法可以准确预测HLA等位基因的表达,在比较具有代表性的等位基因中表现比较好,..._rbm-mhc

【Python】PyQt5 指示灯控件的制作,以及窗口动态添加、删除指示灯控件_pyqt led灯-程序员宅基地

文章浏览阅读7k次,点赞4次,收藏45次。pyqt 自定义了一个指示灯控件,并在窗口中实现动态添加、删除指示灯控件的操作。_pyqt led灯

推荐文章

热门文章

相关标签