c语言外部中断服务程序设计,手把手教你学单片机的C语言程序设计十二中断服务函数.pdf...

维普资讯

手把手教你

◆ 吕超亚

C51编译器支持在 C语言源程序 器组保护到堆栈 中.指定的工作寄存器 不正确 的结果。如果定义中断函数时没

中直接编写80C51单片机的中断服务 内容不会改变 ,函数返 回之前将被保护 有使用using选项 ,则 由编译器选择一

函数程序 。以前菝们学习用汇编语言编 的工作寄存器蛆从堆栈 中恢复。 个寄存器组作绝对寄存器组访问。

写中断服务程序时.会对堆栈 出栈 的保 使用关键字using在函数 中确定 下面做一下有关中断的实验。

护 问题而觉得头痛 。为了能够在C语 一 个工作寄存器组时必须十分小心.要

言源程序 中直接编写中断服务函数 . 保证任何寄存器组的切换鄯只在控制 实验一

C51编译器对 函数的定义进行 了扩 的区域 内发生 。如果不做到这一点将产

展 .增加 了一个扩展关键字 interrupt。 生不正确 的函数结果 。 在 LED/162字符液晶试验板上

关键字 In1errupt是函数定义时的一个 另外.带 using属性的函数.原则 做一个键控计数的实验。采用中断方法

选项 .加上这个选项就可 以将一个 函数 上不能返 回bit类型的值。并且关键宇 实现.按动 7#、错 、 键中的任一个

定义成 中断服务函数。定义中断服务函 using不允许用于外部函数 .关键宇 时,触发外中断O,实现计数或停止。

数的一般形式为 interrupt也不允许用于外部函数 ,它对 在我的文档中建立一个文件 目录

中断函数 目标代码 的影响如下: fcs29).然后建立cs29uv2的工程项

中断潭 中断向量8n+3 在进入中断函数时.特殊功能寄存 目,最后建立源程序文件(cs29e】。

讣部 :扣断o cco3H 器 ACC、B、DPH、DPL、PSW将教保存 输入 下面的程序:

定时器 计数器0 000BH 八栈 。如果不使用寄存组切换.则将 中 #inculdefl序号 【下同】:1

外部 巾断 1 O013H 断函数中所用到的全部工作寄存器都 #defineucharunsignedchar //2

定时器,计数器 ’ 0018H

人栈 。函数返 回之前.所有 的寄存器 内 #d efineunitunsignedint 3

容 出栈。中断函数 由80C51单片机指 uohar code SEG7 【10】=

函数类型 函数名 (形式参数表) 令 RETI结束。 0『xcO.0xf9.0xa4.Oxb0.0x990姻2.0x82.0xf

i【n[erruptnJIusingnJ 值得注意的是 。编写 80C51单片 80xSO0xgO/;}批

关键 字 interrupt后面的 n是 中断 机 中断函数时应严格遵循以下规则: … 。。。… … … ’’5 …‘ … ’ ‘’’’。… 。

号.n的取值范 围为0~31 编译器从 1中断函数不能进行

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值