历史上的今天

今天是:2024年10月09日(星期三)

正在发生

2018年10月09日 | 51单片机内核的中断及中断向量基础知识

发布者:数据舞者 来源: eefocus关键字:51单片机  内核  中断  中断向量 手机看文章 扫描二维码
随时随地手机看文章

51内核的最基础的中断源请求有外部中断、定时器中断和串口中断,这也是学习和开发者最长用的。当然还有其他的中断源,比如ADC、SPI、PWM等。以外部中断0为例,在编程中常使用的方式为:


void INT0()interrupt 0 using 1


{


……


}


在这里特别做上笔记:其中前面的void INT0() 只是代表一个普通没有形参的函数而已,函数名写成什么都是可以的,这个到不重要。那么后面的就一个一个词的扣把:(2-1-i-c-中国-电子网,防抓取)


其中 interrupt n 组成一组,n用来指明中断号,在函数后使用了interrupt关键字后,就会自动的生成中断向量,51内核中断号如下图,这是我今天查的正在使用的MCU:


51单片机内核的中断及中断向基础知识

例如:


12


interrupt 1 指明是定时器中断0;


interrupt 2 指明是外部中断1;


interrupt 3 指明是定时器中断1


。。。


对于51内核的MCU,不同厂家及不同型号的内部资源会有所不同,上图是我正在开发的一款中颖SH88F516单片机,由上图可见内部资源还算可以,能够满足一般的产品。后面的using n 指的是使用第n组寄存器。这个之前我在使用的过程中往往忽略了这个,也没有出现什么问题。但是今天注意到这个问题,查完资料后用上发现效果还不如不用,很有肯能是没有把这个知识用好的原因把。对比之后给我的感觉是在使用C语言写程序时,能不用就不用吧。查资料解释说假如在中断函数中使用了using n,中断不再保存R0-R7的值,这也就意味着假如一个高优先级的中断及一个低优先级的中断同时使用了using n,而这个n恰恰相等,那就等着哭把,因为这个BUG还真不是那么好找出来的(今天我就遇到了这个问题)。21ic整理


其次就是中断优先级的问题了,如图上面的中断表,在右侧第二栏标的很清楚,除了复位之外,就数外部中断0优先级最高了,依次往下排列,那么问题来了,今天刚好就碰到了需要串口0的优先级比定时器0的优先级高。没办法,只好接着啃数据手册,还好这寄存器不多,一会就查到了下表和相关的描述:



51单片机内核的中断及中断向基础知识

所以按照描述修改下优先级就可以达到目的了。


总结:用到回过头来用到51的中断,发现有些东西在之前学习的时候并没有太在意,导致现在在开发产品上使用的时候不清楚用途。因为工作跟学习性质是不一样的,作为开发者的角度来说,质量往往是第一要求。同时会接触到很多新鲜的事物和技术,但是话又说回来了,最基本的知识还是需要打牢。


关键字:51单片机  内核  中断  中断向量 引用地址:51单片机内核的中断及中断向量基础知识

上一篇:51单片机最小系统原理图、PCB及组成
下一篇:51单片机定时器使用经验总结

推荐阅读

在宣布将上市仅一年的iPhone X从官网下架后,苹果新款手机表现得也并不理想。   国庆期间,手机市场迎来销售旺季,新款iPhone却遇冷。据悉,从国庆假期伊始,新款iPhone的价格就出现了持续下滑,特别是金色款,整体降幅从数百元到千元不等。   《证券日报》记者走访了江苏省、山西省和北京市的多家国美、苏宁店面发现,与主流国产手机柜台中大批人流...
根据此前的报道,9月初,三星Galaxy Fold 5G版本在韩国开售,售价为239.8万韩元(约合人民币14335.4元),首批新手机于上市当天就被抢购一空。当地时间9月27日,三星Galaxy Fold登陆美国市场,售价1980美元(约合人民币1.4万元)。今(10)日,Phone Arena给出了一份Galaxy Fold的维修报价单,更换屏幕的费用达到了599美元(约合人民币4300元)。该修费用...
1、外部中断 0、 1;分别由引脚/INT0、/INT1的电平信号引起。2、定时/计数器 0、1;分别由T0、 T1的溢出引起。3、串行口发送、接收;发送完一个字节或接收到一个字节引起。上述共5个中断源。一、中断号 外部中断0 0 定时器T0 1 外部中断1 2 定时器T1 3 串口中断 4 二、 interrupt...
平阳第一时间消息显示,10月2日,总投资120亿元的正威(平阳)长三角电子信息产业半导体关键材料在浙江温州平阳正式投产,实现了当年拿地、当年开工、当年竣工、当年投产的目标。据了解,该项目由世界500强企业正威国际集团投资建设,是浙江省今年投资体量最大、用地量最高的重大产业项目,聚焦金属新材料产业和新一代电子信息产业,全部达产后,年主营业务...

史海拾趣

问答坊 | AI 解惑

USB-CAN-RS232总线转换电路设计及实现

1 引言     随着电子设备的大量出现及针对各种控制系统的实际需求,各种通信网络相继产生。由于它们的总线结构,通信协议及传输特点各不相同,给不同设备之间的连接带来很多麻烦,因而急需各种总线之间的转换装置。目前较流行的 ...…

查看全部问答∨

视频监控系统如何实现高清 揭密高清内涵

对客户而言,高清只有在包含了前端摄像机、管理平台、存储系统、浏览、显示等各个环节时才有意义,因此拥有高清整体解决方案才是真正的高清提供商,而不仅仅是提供单纯的高清网络摄像机。因此,实现高清,需要系统各个环节齐心协力。   &nbs ...…

查看全部问答∨

汽车行驶记录仪中USB HOST相关模块的设计

    汽车行驶记录仪中的USB HOST相关模块由单片机、USB HOST接口、FLASH、铁电存储体(FRAM)、实时时钟和电源管理等部分组成,。汽车行驶记录仪工作时,由单片机通过前端接口电路拾取汽车行驶状态的各种信息,包括车速、发动机转速和 ...…

查看全部问答∨

关于MC55模块发短信的问题 短信为为文本格式

小弟最近在整一个GPRS模块,用的是西门子公司的MC55模块,在是模块的短信功能时出现了问题,主要问题如下:模块可以正常收短信,读短信,删短信!但是在用其发送短信时,对方却收不到。 我在超级终端下调试的步骤如下:      &n ...…

查看全部问答∨

vxworks 下的 .o & .out 区别

  请问各路大仙,vxworks 下的 .o & .out 区别是哪些?我下载时用哪个? .o一般是编译产生的二进制文件      .a是打包的库文件      .out是生成的可执行文件吧 这个说法对不对? 比如我想调 ...…

查看全部问答∨

WinCE驱动开发问题

各位大侠,小弟请教了:        在WinCE驱动的开发过程中,(我现在做的事WinCE下LCD的驱动),我想在驱动加载的过程中,将LCD清屏为某一种颜色,已验证我的驱动是正确的,但是这样的话就需要在 驱动程序中定一个全局的缓冲区 ...…

查看全部问答∨

界面显示OnPaint时,按钮还没刷新显示,这时候按钮位置的小黑框怎么解决?

RT,做界面时碰到这个问题!在界面显示的时候可以看到一个小黑框闪一下,按钮多的时候就很明显了,搞了很久也没解决。。。求高手赐教!!!…

查看全部问答∨

Designware的配置问题

我综合出来的文件,好像是用了design ware的什么东西,老是出现这个警告Warning: Unable to resolve reference \'hn8051_top_DW01_add_26\' in \'hn8051_top\'. (LINK-5)Warning: Unable to resolve reference \'hn8051_top_DW01_add_25\' in \'hn8 ...…

查看全部问答∨

求如何创造一名工程师

对于工程这个职业很迷茫,不知道要懂得些什么应用,怎么样去规划,怎么样去通过不断的学习提高自己,我从事电子安防,对于这个职业一直都是半桶水,一直以来就想成为一名工程师,去开发属于自己的产品,去得到更多客户的认可与喜爱。谁都喜欢成就感 ...…

查看全部问答∨

cc430怎么使用

新手求cc430使用,包括下载流程…

查看全部问答∨
小广播
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

电子工程世界版权所有 京ICP证060456号 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved