历史上的今天

今天是:2024年11月19日(星期二)

2018年11月19日 | 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:


1.png


例如:


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的优先级高。没办法,只好接着啃数据手册,还好这寄存器不多,一会就查到了下表和相关的描述:


2.png


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


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


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

上一篇:用单片机玩PID控制—从理想PID控制至先进PID控制_14
下一篇:单片机学习笔记之51内核软件延时和串口的巧妙方法

推荐阅读

在引领时尚潮流的米兰,空手道学员Ulrike Lanting穿着一套设计新颖时尚的服装,正在与对手练习飞踢。这件服装并不是T台时装,但搭配着可穿戴健康监测技术,该技术作为当前的新兴时尚潮流,可以帮助她获得更健康的生活方式。 她的衬衫上连接了若干电极传感器,配合智能手环以及内置虚拟助手的APP,可将健康信息发送到她的智能手机或平板电脑。Ulrike说:“...
可折叠设备是智能手机市场中期待已久的颠覆者,早期采用者热衷于追求大胆的新型设备。 但是主流市场对可折叠设备的接受程度将取决于解决当前采用障碍的程度。 评估消费者对可折叠智能手机的需求后,Strategy Analytics用户体验策略(UXS)发布的最新研究报告发现,可折叠形式的认知价值并未超过增加的成本。 报告的关键发现包括: 对于英国和美国的绝大多...
11月19日,赛微电子发布公告称,11月18日晚间,公司某控股子公司投资的某项目获得资金支持18,573.00万元。按照《企业会计准则》的相关规定,赛微电子将对本次控股子公司收到的政府补助认定为同时与收益及资产相关的政府补助,拟计入递延收益项目,分期计入到经营期的收益中,预计将对公司本期及未来的经营业绩产生积极影响。此前,据三季报显示,赛微电子2...
锂电模组龙头欣旺达定增结果出炉,发行价为41.90元/股,募资39.15亿元,其中朱雀基金获配5亿元,易方达、瑞银、巴克莱等知名机构也参与了此次定增。11月18日晚间,欣旺达在披露的向特定对象发行股票发行情况报告书显示,此次定增的发行价为41.90元/股,较最新股价50.90元/股折价18%左右;发行股票数量为9343.82万股,募集资金总额为39.15亿元。定增最终发...

史海拾趣

问答坊 | AI 解惑

半导体三极管

一:三极管的结构及类型   通过工艺的方法,把两个二极管背靠背的连接起来级组成了三极管。按PN结的组合方式有PNP型和NPN型,它们的结构示意图和符号图分别为:如图(1)、(2)所示   不管是什麽样的三极管,它们均包含 ...…

查看全部问答∨

专业音响的发祥地

本帖最后由 jameswangsynnex 于 2015-3-3 20:00 编辑 北京俊杰伟业电子设备商贸有限公司是一家以专业音频、视频、灯光以及智能控制产品为主的渠道运营商,公司经过多年的发展与积累规模不断壮大,公司现在成立了人力资源部,行政部,财务部,技术 ...…

查看全部问答∨

寻视频电话开发人员

欲求视频电话开发人员,探讨一些技术实现问题…

查看全部问答∨

dxf文件中LWPOLYLINE和POLYLINE有什么区别

dxf文件中LWPOLYLINE和POLYLINE有什么区别?另外,POLYLINE部分是否只有由VERTEX连成的线段?…

查看全部问答∨

VGA to RGB

请问有谁做过VGA 转 RGB的系统没? 电脑显卡出来的VGA显示信号,转变为RGB数字信号,24位的最好, 就是想用480x272的LCD液晶来显示电脑输出的显示信号呀 ,各位高 手请指点一下,用哪个芯片好?…

查看全部问答∨

急求电脑配置

要求能够安装VMWARE ESXI4.0软件; 使用起来不会出问题; 价格在4000左右; 急!!!!!!!!! 麻烦各位大侠提供一个详细的参考,辛苦了!…

查看全部问答∨

谁有 Windows CE实用开发技术 或者哪里能下?

谁有 Windows CE实用开发技术 或者哪里能下? 多谢了!!!…

查看全部问答∨

DNW v0.50L版本中UBOOT下载的问题

请问DNW v0.50L版本中UBOOT功能怎么使用? 我将三星带USB下载功能的Eboot.nbo下到RAM后,进入main menu,然后按U选中USB下载项,再选DNW的USB Port->uboot,选中待下载的NK.BIN ,但下载进度条出来 后没有任何反应。 请问这是什么原因? …

查看全部问答∨

成功移植ffmpeg 0.6到ARM平台

    ffmpeg已变成多媒体处理领域最有影响力的开源组件,接近50万行源代码的工程对ARM模拟器来说是个巨大的挑战,但多年的稳定性给了我很大信心。整个过程比较顺利,前后大约花2个半小时,包括在ARM开发板上验证。ffmpeg0.6的移植成 ...…

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

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

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

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

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