当前位置: 首页 > news >正文

学习嵌入式第四十五天

文章目录

  • 中断
    • 1.概念
    • 2.按键
    • 3.中断
    • 4.中断相关寄存器配置
      • 1.IE寄存器(中断允许寄存器)
      • 2.TCON寄存器(定时器寄存器)
    • 5.定时器
    • 6.定时器寄存器相关配置
      • 1.TCON寄存器
      • 2.TMOD寄存器
      • 3.IE寄存器
    • 7.PWM、蜂鸣器

中断

1.概念

  • GPIO:Genral Purpose Input/Output,是单片机和外界交互最基本的方式
  • 单片机的工作模式:
    • 输出模式:单片机给定引脚一个电平(高电平5v,低电平0v),控制引脚实现高低电平
    • 输出模式:检测引脚电平变化

2.按键

  • 在51单片机中,k1按键的两个引脚被接到GND和P14引脚,当按键被按下,引脚和GND短路到一起,引脚会呈现低电平,因此只需要检测对应引脚是否为低电平即可判断出按键是否被按下

3.中断

  • CPU在执行一个任务时,被外界更为紧急的事件打断,转而去执行更为紧急的任务,执行完后再回到刚才的地方继续执行,这一过程称为中断
  • 打断CPU执行当前任务的事件/源头称为中断源(51单片机中有5个中断源)
  • 中断源分类:外部中断0,外部中断1,定时器0,定时器1,串口
  • 外部中断:单片机上的引脚电平变化引发的中断(INT0(P3-2),INT1(P3-3))
  • 中断优先级:CPU在处理中断任务时,会去比较多个中断的优先级,优先处理优先级高的中断
  • 中断嵌套:在处理一个中断时,再嵌套另外的中断,51单片机只允许嵌套两层
  • 中断处理流程:
    1. 中断源发出中断请求
    2. 检查CPU是否响应中断及该中断源是否被屏蔽
    3. 比较中断优先级
    4. 保护现场
    5. 执行中断服务函数
    6. 恢复现场

4.中断相关寄存器配置

1.IE寄存器(中断允许寄存器)

  • 将IE寄存器中的bit7,EA置1,代表CPU能够响应中断请求
  • 将IE寄存器中的bit0,EX0置1,代表允许外部中断0产生中断

2.TCON寄存器(定时器寄存器)

  • 将TCON寄存器的bit1,IE0置1,代表向CPU发起中断请求,CPU响应完中断请求后,硬件清0
  • 将TCON寄存器的bit0,IT0置1,代表外部中断0下降沿触发中断,置0代表低电平触发

5.定时器

  • 概念:能够产生一个精准的定时,不同外设对时序的要求高(高电平和低电平的时间是精准的)
  • 51单片机内部有两个定时器,分别为timer0,timer1,所使用的自增型定时器(计数器16位)
  • 51单片机晶振(12MHZ/11.0592MHZ)
  • 8位自动重装载定时器:分为TL0和TH0两部分,1byte,实际参与计数的只有TL0,当TL0中的值加到255溢出后,再将TH0中的值重新装入TL0中
  • 处理流程:
    1. 先配置TMOD模式选择寄存器,将低四位清0,再将bit0置1代表工作在16位定时器
    2. 向TH0和TL0中装入定时器的初值
    3. 将TCON寄存器中的bit6置1,代表允许定时器开始计数
    4. 将IE寄存器bit7和bit1置1,开启中断总开关和定时器0的子开关
    5. 编写定时器0的中断服务函数

6.定时器寄存器相关配置

1.TCON寄存器

  • bit6置1,TMOD寄存器中的Gate位清0,代表允许定时器开始计数

2.TMOD寄存器

  • 定时器0->低四位清0
  • 将TMOD寄存器中的M0,bit0置1,代表定时器0工作在16位定时器/计数器模式

3.IE寄存器

  • 将IE寄存器中的bit7置1,代表CPU能够响应中断请求
  • 将IE寄存器中的bit1置1,代表允许定时器0产生中断

7.PWM、蜂鸣器

脉冲宽度调制,能够让引脚产生一个方波,周期性的让引脚电平发生反转

  • PWM周期:一个方波所经历的周期(从上升沿到下一个上升沿所经历的时间,或者从下降沿到下一个下降沿所经历的时间)
  • PWM占空比:高电平在一个周期所占比例
  • 有源蜂鸣器:存在震荡源,通电后蜂鸣器会发出持续频率的声音
  • 无源蜂鸣器:不存在震荡源
http://www.dtcms.com/a/365728.html

相关文章:

  • 设计原则与设计模式
  • flume拓扑结构详解:从简单串联到复杂聚合的完整指南
  • 蓝牙modem端frequency offset compensation算法描述
  • 技术重构人力管理 —— 打造人力资源流程自动化、智能化专业服务方案
  • 小企业环境-火山方舟和扣子
  • 字节跳动后端 一面凉经
  • 数据库与大数据技术栈
  • ElasticSearch倒排索引原理
  • redis中五大数据类型的操作命令
  • 编程基础-eclipse创建第一个程序
  • 【开题答辩全过程】以 基于java的隔离酒店管理系统设计与开发为例,包含答辩的问题和答案
  • 线程通信机制
  • 记录一下node后端写下载https的文件报错,而浏览器却可以下载。
  • 开源与闭源的再对决:从Grok到中国力量,AI生态走向何方?
  • 并发编程指南 同步操作与强制排序
  • Claude Code初体验:让AI成为你的结对程序员
  • Linux学习——管理基本存储(十八)
  • A股大盘数据-2025093分析
  • Provider中的watch、read、Consumer、ChangeNotifierProvider、ValueNotifierProvider
  • 信息融智学=信息哲学+信息科学+信息技术+信息系统工程+信息处理之智
  • 数据库选择有讲究?SQLite、PostgreSQL还是MySQL?
  • 全渠道 + 低代码:如何打造 “内外协同” 的客服管理系统体系?
  • http和https区别是什么
  • docker 安装 redis 并设置 volumes 并修改 修改密码(三)
  • 【TypeScript】事件循环
  • k8s的SidecarSet配置和initContainers
  • 《四川棒球知识百科》球速最快的运动之一·棒球1号位
  • Omi录屏专家 Screen Recorder Mac中文
  • 如何在私域运营中快速建立信任,三招解决你的烦恼!
  • linux---------------网络基础概念