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

day40- 硬件学习之 51单片机II (中断处理)

一、独立按键的使用

main.c

key.c

key.h 

二、中断处理 

2.1 定义

中断系统是为使CPU具有对外界紧急事件的实时处理能力而设置的。


当CPU正在处理某件事的时候外界发生了紧急事件请求,要求CPU暂停当前的工作,转而去处理这个紧急事件,处理完以后,再回到原来被中断的地方,继续原来的工作,这样的过程称为中断 ;


实现这种功能的部件称为中断系统


请示CPU中断的请求源称为中断源

        51单片机中嵌套优先级最多两层;

        若中断优先级相同,中断号越小,越先响应; 


中断执行流程:

  1. 中断源发出中断请求;
  2. CPU检查是否响应中断及该中断源是否屏蔽;
  3. 检查中断优先级;
  4. 保护现场;
  5. 执行中断服务函数;
  6. 恢复现场;

中断向量表:

        一个指针的数组,其中保存中断服务函数的入口地址;

51中的中断向量:

中断设置:中断方式、中断允许;

中断和轮询之间的区别

  1. 中断时,设备会通知CPU引起注意;而在轮询中,CPU会稳定地检查设备是否需要注意。
  2. 中断不是协议,而是一种硬件机制;轮询反之。
  3. 在中断中,该设备由中断处理程序提供服务;轮询时,该设备由CPU维修。
  4. 中断可以随时发生;轮询时,CPU会以固定的间隔稳定地对设备进行投票。
  5. 在中断中,中断请求线用作指示设备需要维修的指示;在轮询时,命令就绪位用作指示,表明设备需要维修。
  6. 在中断中,一旦任何设备将其中断,处理器就会受到干扰;在轮询中,处理器通过重复检查每个设备的命令就绪位来浪费无数的处理器周期。

2.2 外部中断使用方法

2.2.1 IE寄存器

2.2.2 IPH与IP寄存器

2.2.3 TCON寄存器

下降沿触发:从高电平到低电平的过程;

低电平触发:电平一直为低电平;

三、定时器/计数器

定时器的工作原理:

        定时器的原理是一个加法器,通过晶振分之一开始加,直到溢出,发生中断;

定时器的功能:

        LED点亮、数码管显示及模拟PWM功能 

3.1 TCON寄存器

3.2 TMOD寄存器 

四、PWM(脉冲宽度调制)及 蜂鸣器

PWM:一种通过数字信号控制模拟电路的技术;

指标:占空比、周期

 蜂鸣器:分为有源和无源,源不是指电源而是指震荡源


通过按键实现蜂鸣器发出响声:

main.c :

http://www.lryc.cn/news/571511.html

相关文章:

  • 开源 Arkts 鸿蒙应用 开发(一)工程文件分析
  • MIT 6.S081 2020 Lab9 File Systems 个人全流程
  • 使用 Java + WebSocket 实现简单实时双人协同 pk 答题
  • 什么是状态机?状态机入门
  • 神奇的bug之docker compose启动mysql失败
  • 服务器带宽小优化建议以及实战操作
  • 【在线五子棋对战】七、数据管理模块实现
  • Java 21 新特性深度解析:虚拟线程、结构化并发来袭!
  • 服务器静态ip,网关不能占用*.*.*.1
  • 【音视频】SIP基础、搭建服务器和客户端
  • Axios 知识点全面总结
  • 详解 MyBatis - Plus 服务层设计:让 CRUD 更高效、业务拓展更灵活——补充
  • React 国际化方案最佳实践调研
  • agentformer论文阅读
  • Python 目录操作详解
  • 6-16阿里前端面试记录
  • 云原生时代配置中心全景解读:从Spring Cloud Config到Nacos深度实践
  • (十八)自然语言处理:从理解到创造
  • Java 时间处理指南:从“踩坑”到“填坑”实战
  • 基于CNN卷积神经网络识别汉字合集-视频介绍下自取
  • C++----剖析stack、queue
  • 唯杰地图文档AI搜索-为二次开发者打造的智能开发助手
  • 山东大学 软件项目管理知识点总结
  • ffmpeg python rgba图片合成 4444格式mov视频,保留透明通道
  • crf FFmpeg
  • EMQX简介
  • arcpy数据分析自动化(3)
  • 如何使用postman
  • 答辩讲解387基于Spring Boot的心理健康管理系统
  • Android 开发问题:android.content.res.Resources$NotFoundException: Resource ID