问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

PIC单片机怎么样处理跨页中断

发布网友 发布时间:2022-04-12 14:40

我来回答

3个回答

热心网友 时间:2022-04-12 16:09

你用的哪一款的PIC单片机,怎么程序还分页??

用了那么久的PIC12/16/18/24四个系列单片机,只有PIC12/16系列的数据存储器有分页。但程序并不在这些“页”上,而是放在和这些“页”毫无关系的程序存储区。

如果你想表达的是,在中断前,你的程序在操作着第二页(即bank1)的寄存器,而你中断程序里是要操作第一个页(即bank0)的寄存器。

你希望推出中断后,继续执行非bank0的寄存器。那么你需要把STATUS寄存器压入堆栈。然后跳出中断前需要做出栈操作

首先前面要声明两个变量W_TEMP和S_TEMP

然后在中断服务程序里这样写:

MOVWF w_TEMP

SWAPF STATUS,W

MOVWF S_TEMP        ;入栈操作

   ……

中断服务程序

   ……

SWAPF S_TEMP,W

MOVWF STATUS

SWAPF W_TEMP,F

SWAPF w_TEMP,W      ;出栈操作

这是汇编的写法。

如果是用C语言,那你做好中断的函数体它自动回给你做入栈操作。 

BTW:记住,不是程序的分页,而是数据寄存器的分页。应该说中断服务程序操作bank0的寄存器,而不是“中断服务程序在第一分页”。 

而且,这东西显然你是没看过PIC的数据手册,比如上面的程序就是PIC16F883的数据手册里告诉你怎么写的,有图为证:

热心网友 时间:2022-04-12 17:27

什么叫跨页中断?

热心网友 时间:2022-04-12 19:02

建议你用C编程,根本不用考虑这些问题。我用汇编十几年,用了C以后,毫不犹豫地扔了汇编而用C,并极力推荐周边的同事用C,大家都尝到了用C的甜头!
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
乾隆的夜壶是什么做的?拜托各位大神 云便签如何设置在桌面显示便签内容 云便签怎么设置在桌面显示便签内容... 手机root是什么意思中文翻译(手机root是什么意思) 入手了韩版k版,什么都还好.究竟能不能root vivo v3ma究竟怎么才能root? 把所有的root软件都用了一遍,全部root失败... 金价什么时候会涨 是vivox5 max的八核好还是vivoxshot的四核好 vivox5和vivoxshot哪个性比价高 vivoxshot和x5哪个配置高哪个内存大? vivo手机otg连接上没反应?? 求一部女主角是腐女的韩国电影 手部湿疹,中医怎么调理? 明明白白看一路,清清楚楚认一处.猜一生肖 腋下通淋巴刮痧应该往哪个方向?往手部刮还是往胸部刮? 记忆力好,会认人的动物打一十二生肖 中医的"针灸"对人体穴位有很深的研究,以下位于人体手部的穴位为: 认贼作父。猜一生肖 我在医生里发了一张只有手部的图片请问不会有人看出什么或者通过这个找到我的样貌吧!早知道就不拿手电筒 认鸡作凤猜一个生肖 认鸡作凤。猜一生肖 中医怎样治疗手部湿疹 认指什么生肖 认亲认戚 背部刮痧和手部刮痧分别需要用什么精油,而且如何使用? 为什么手部反射区示意图都不一样呢 认猜什么生肖 身前身后难辫认猜一生肖 手部刮痧是刮一只手就可以了还是两只手都要刮? 认 肖猜生肖 "认"猜什么生肖啊? 认猜一生肖? [急]历史问题!古老文字为什么会消失?中国文字为什么能沿用至今,一脉相承? 润禾堂(北京)贸易有限公司怎么样? 腾讯视频NBA播放出错了是什么原因? 乒乓球各个级别考什么? 乒乓球考级1-9级内容 2022普体乒乓球考试内容 大学乒乓球考试考什么女生 体育课乒乓球考什么 大学选修乒乓球考什么 乒乓球教练考试内容 大学体育乒乓球考试笔试内容 乒乓球考级什么年龄可以考 四级翻译考过乒乓球吗 大学乒乓球体育选修课具体学什么?考试内容是什么? 乒乓球教练需要考公需科目? 证件号码格式 花呗消费收款方怎么查? 冻结后会怎样 想隐藏一些桌面上的图标,求解 PIC单片机中断