【用C语言对循迹小车进行编程】刚开始写汇编的中断应用程序时,曾经为出入堆栈的问题而困扰 。 C51扩展了函数的定义,使它可以直接编写中断服务函数,而可以不必考虑出入堆栈的问题,从而提高了工作的效率 。 扩展的关键字是in—terrupt,它是函数定义时的一个选项 。 只要在一个函数定义后面加上这个选项,那么这个函数就变成了中断服务函数 。 定义中断服务函数时可以用如下的形式 。
函数类型函数名(形式参数)interruptn[usingn]
中断函数不能通过形式参数进行参数传递,也没有返回值 。 因此建议在定义中断函数时将其定义为viod类型,以明确说明没有返回值 。
interru关键字是不可缺少的,它告诉编译器该函数是中断服务函数,并由后面的n指明所使用的中断号 。 n的取值范围为0~31,但具体的中断号要取决于芯片的型号,像AT89S52实际上就使用O~4号中断 。 每个中断号都对应一个中断向量,具体地址为8n+3,中断源响应后处理器会跳转到中断向量所处的地址执行程序,编译器会在这地址上产生一个无条件跳转语句,转到中断服务函数所在的地址执行程序 。 51芯片的中断向量和中断号,如下表所示 。
- LED显示接口模块的程序设计及应用
- 单片机驱动74HC164的程序设计应用实例
- 如何进行镉镍蓄电池组的核对性放电?
- 羊蛋的功效与作用
- 服用中药吃绿豆粥有影响吗?
- 白酒加红牛会有什么作用
- 约会中,女生的哪些行为表示她对你感兴趣
- 第一次约会如何让女生对你一见倾心?
- 草本蛇油膏有什么用? 蛇油膏适合什么人群?
- 娇兰复原蜜和精华什么时间用 早上护肤和晚上护肤的注意事项