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

【51单片机中断】

目录

配置流程

1.在IE寄存器中开启总中断通道和需要的某中断通道

2.在TCON寄存器开启所用中断的触发方式 

3.使用中断函数完成中断

4.若需要中断嵌套则在IP寄存器中配置

5.若需要使用串口的中断,则配置SCON寄存器

6.代码示例


配置流程

1.在IE寄存器中开启总中断通道和需要的某中断通道

置1为开启

2.在TCON寄存器开启所用中断的触发方式 

置1为开启

没有加粗的内容在普通的中断配置流程中可以忽略

3.使用中断函数完成中断

关键字:interrupt

void Function() interrupt n 
{}

n是中断号,取值范围0~4,分别对应外部中断0、定时器0、外部中断1、定时器1、串口

4.若需要中断嵌套则在IP寄存器中配置

置1为高优先级

虽然手册上说在同优先级的情况下优先级的顺序为外部中断0、定时器0、外部中断1、定时器1、串口,但是实践中发现需要中断嵌套的情况下如果不在IP寄存器中配置优先级,则没有中断嵌套的现象

5.若需要使用串口的中断,则配置SCON寄存器

6.代码示例

#include <REGX52.H>void main()
{EA = 1;           //总中断允许EX0 = 1;          //外部中断0允许EX1 = 1;          //外部中断1允许IT0 = 1;          //外部中断0触发方式为下降沿IT1 = 1;          //外部中断1触发方式为下降沿PX0 = 1;          //外部中断0优先级高PX1 = 0;          //外部中断1优先级低while(1){}
}void Int0(void) interrupt 0    //外部中断0中断号为0
{}void Int1(void) interrupt 2    //外部中断1中断号为2
{} 

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

相关文章:

  • JavaSE基础语法之方法
  • 华为网路设备学习-22(路由器OSPF-LSA及特殊详解)
  • go-数据库基本操作
  • vue 中绑定样式 【style样式绑定】
  • 印刷业直角坐标型码垛机器人系统设计与应用研究
  • Mysql存储过程(附案例)
  • 【Web应用】Vue 项目前端项目文件夹和文件介绍
  • Stratix 10 FPGA DDR4 选型
  • Rust 输出到命令行
  • 费曼技巧及提高计划
  • 扩展:React 项目执行 yarn eject 后的 config 目录结构详解
  • CMU-15445(4)——PROJECT#1-BufferPoolManager-Task#2
  • 百度智能云千帆携手联想,共创MCP生态宇宙
  • Python 中的 typing.ClassVar 详解
  • 【动态导通电阻】GaN HEMT动态导通电阻的精确测量
  • java 使用zxing生成条形码(可自定义文字位置、边框样式)
  • day19-线性表(顺序表)(链表I)
  • CSS- 2.1 实战之图文混排、表格、表单、学校官网一级导航栏
  • Armijo rule
  • 从零搭建AI工作站:Gemma3大模型本地部署+WebUI配置全套方案
  • 贝叶斯优化Transformer融合支持向量机多变量时间序列预测,Matlab实现
  • 执行apt-get update 报错ModuleNotFoundError: No module named ‘apt_pkg‘的解决方案汇总
  • maven中relativepath标签的含义及使用方法
  • C++_STL_map与set
  • 项目依赖版本修改
  • 蚁群算法赋能生鲜配送:MATLAB 实现多约束路径优化
  • 机器学习与人工智能:NLP分词与文本相似度分析
  • 记录一下seata后端数据库由mariadb10切换到mysql8遇到的SQLException问题
  • CUDA学习笔记
  • Python爬虫实战:研究JavaScript压缩方法实现逆向解密