请教单片机高人:怎么用C编写中断,汇编中可以有ORG 000BH来确定是T0中断,那C怎么办?还有现场保护怎办?

请教单片机高人:怎么用C编写中断,汇编中可以有ORG 000BH来确定是T0中断,那C怎么办?还有现场保护怎办?,第1张

C51中断函数格式

Keil C51编译器中断函数语法定义如下:

(C语言不用处理现场保护了)interrupt n <----这个是重点

void 函数名() interrupt n

{

}

//定时器T0中断

void 函数名() interrupt 1

{

}

C51编译器允许0~31个中断,下列中断及其相关地址为8051控制器所提供的中断:

0:EXTERNAL 0 地址:0003H

1:TIMER/COUNTER 0 地址:000BH

2:EXTERNAL 1 地址:0013H

3:TIMER/COUNTER 1地址:001BH

4:SERIAL PORT 地址:0023H

编写中断函数时应遵循下列规则:

·不能进行参数传递。如果中断过程包括任何参数声明,则编译器将产生一个错误信息。

·无返回值。如果想定义一个返回值将产生错误,但是,如果返回整型值,编译器将不产生

错误信息,因为整型值是默认值,编译器不能清楚识别。

·在任何情况下,不能直接调用中断函数,否则编译器会产生错误。由于退出中断过程是由

指令RETI完成的,该指令影响MCS-51单片机的硬件中断系统,直接调用中断函数时,硬件

上没有中断请求存在,因而这个指令的结果是不定的,并且通常是致命的。

·编译器从绝对地址8n+3处产生一个中断向量,其中n为中断号,该向量包括一个中断过

程的跳转,向量的产生可由编译器控制指令NOINTVECTOR压缩,因而程序员可以从独立的汇

编模块中提供中断向量。

·可以在中断函数定义中使用using指定当前使用的寄存器组。格式如下:

void 函数名([形式参数])interrupt n [using m]

MCS-51单片机有四组寄存器R0~R7,程序具体使用哪一组寄存器由程序状态字PSW中

的两位RS1和RS0来确定。在中断函数定义时,可以用using指定该函数具体使用哪一组寄

存器,m在0,1,2,3这4个数中取值,对应四组寄存器组。例如:

void delay() interrupt 3 using 2

·在中断函数中调用的函数所使用的寄存器组必须与中断函数相同。当没有使用using指令

时,编译器会选择一个寄存器组作为绝对寄存器访问。程序员必须保证按要求使用相应寄存

器组,C编译器不会对此检查。

·如果在中断函数中执行浮点运算,必须保存浮点寄存器状态,当没有其他程序执行浮点运

算时,可以不保存。

所有不需要合成大打野刀的打野。

人马,打野回蓝机制改变最大受益者,可以一直Q,加上那个百分比的咒刃(神圣分离者),黑切,血手。

绝对T0打野。3.20左右6组野怪。

还有一些比较有趣的。

不朽盾弓,绿叉,纳沃利剑圣。

虽然脆,团战两刀一个Q,单从 *** 作性上说甚至碾压吞噬者人狗合一。没记时间,光顾着爽来着。

幕刃,收集者,纳沃利狮子狗。

这个应该算程序员偷懒,狮子狗触发幕刃可以再跳。理论上不该这样,团战杀人就能跳。

这个有误,并不是,是翠神的草丛。

纯穿甲蓝凯。

这个各位凯隐绝活哥应该有体会,ap刷野变伤,而且艾克寡妇这种还要抉择卢登推推棒(虽然没啥好抉择的),F6没法无赖回血,新版本穿甲能到100多,加上幕刃大招保命,

adc,收棺之战。

死歌,

目前我自己唯一能6组野怪刷进3.15秒的(需要帮野),我豹女熟练度很低,刷不进。凯隐6组是3.20左右。

这是可以预见的,

死歌人马都要被削弱。

线上没太关注,昨天基本上线上一直寻找船长最优解,没太开发。

腐败药水+700耀光太香了。

感觉开发一下船长有望重回中路。

其他我就抛砖引玉一下。

中单派克,暗行者之抓。

E+装备必晕,对面要是个炮台法师,出塔就会死。

辅助火男,兰德里。

昨天甚至被一个火男五杀。

大面具提莫,很好的conterpick。阵容允许可出,一个蘑菇原地升天。

海妖徐老师。

无限W。无限三环真伤。

剑姬,这个东西全看绝活哥开发了。

有了位移ad装,如果真弄出个傻瓜式一秒四破,那就是个亚索级的上路英雄,上路生态可就全变了。

11.14

维克托,版本滴神!!!

11.18补档

我就打了一局剑圣,纯虐菜,

但根据评论,剑圣这么出娱乐性>实用性。

虽然2秒一Q,但是确实脆,不注意直接被按死。

评论说的暗行者挖掘机应该也挺离谱。

凯隐我是单惩戒帮野,我也不是啥打野绝活哥,船长专精。凯隐那个蓝buff和蛤蟆拉到一起卡着技能过墙单开速刷那个视频我真的惊了,居然能这么刷。。。

有没有豹子大佬给补个刷野时间的。

狮子狗应该从来都没有二连跳,这个属于我的问题。基友翠神草丛给的好,我测试了一下训练模式不能连跳。

还有,

船长是雷区。。。我应该是纯靠着熟练度把船长胜率拉上去的。。。这两天明显感觉对手熟悉版本之后对线吃力,

且失误=死亡。

且啥装备感觉都可以≈啥装备都一般。

剑魔:我可以失误无数次,但你只能失误一次。

那个吸血。。。

还有其他的东西

还有剑姬应该是我太理想了。

以上给各位磕个头。

当然这次更新的主要原因,我要把一个英雄裱起来。

暗行者盖伦,这破玩意就该删除。

我真的。。。脏话。。。

玩个adc,吃着火锅唱着歌,咵嚓就没了!!!!就没了!!!!

那和老男刀有个锤子区别啊!!!!

Q=幽梦,暗行者+沉默≈E,没解控啥技能交不出来,转两圈,吧唧一个大宝剑。

这估计带个丛刃纯穿甲打中单都行吧。。。

11.20补档

想找T0去opgg上找,我发现我答非所问了。

就是列举了一些比以前打法有趣且兼具强度的英雄。

至于问盖伦的。。。

暗行者之爪出来你没事就往别的路跑啊,打不过上路战士坦克,中路下路的法师ad中你一个沉默不就是等死吗。。。

我正在研发打野盖伦,但是目前问题还是比较大。。。而且本来就不是打野位,基本上打一把拉跨一把就被剥夺打野权力,滚回上路玩石头人了。。。

盖伦打野基本上队友之灾。。。下次我同学聚会估计他们会灭了我。。。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/11187033.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-14
下一篇 2023-05-14

发表评论

登录后才能评论

评论列表(0条)

保存