理论教育 C51语言函数与关键字总结

C51语言函数与关键字总结

时间:2023-11-05 理论教育 版权反馈
【摘要】:在C51语言中,函数的使用和标准C语言基本一致,但某些时候会使用到C51语言专门的关键字,下面就做详细介绍。3)Large:Large模式下,参数和变量都放在外部存储区。在C语言中,可以通过关键字using来指定函数使用哪一组工作寄存器。表10-2中断号及其入口地址

C51语言函数与关键字总结

在C51语言中,函数的使用和标准C语言基本一致,但某些时候会使用到C51语言专门的关键字,下面就做详细介绍。

1.函数模式选择

函数的编译模式和以前提到的存储模式一样,也有Small、Compact、Large三种模式。

1)Small:Small模式下,变量都放在内部RAM中,执行速度快。

2)Compact:Compact模式下,变量放在pdata中。

3)Large:Large模式下,参数和变量都放在外部存储区。

2.寄存器选择

MCS-51系列单片机的低32字节被分成了4组工作寄存器(0~3),具体使用哪一组寄存器,是通过设置PSW寄存器相应的位来实现的。在汇编语言中,可以通过R0~R7来访问它们。在C语言中,可以通过关键字using来指定函数使用哪一组工作寄存器。例如:(www.daowen.com)

using只能指定0~3的值。

3.中断函数

MCS-51单片机的中断处理函数,在C51语言中必须使用关键字interrupt,中断函数不能有形参和返回值。例如,定义定时器中断函数如下:

interrupt后的1是中断号,代表中断入口地址,MCS-51中断号和对应入口地址如表10-2所示。

采用interrupt定义中断函数后,在函数被激活或退出时,编译器自动处理进栈和出栈操作,且在函数退出后调用RETI指令。

使用interrupt定义中断处理函数应注意两点:一是不能使用中断处理函数传递参数;二是不能在其他程序中调用中断处理函数,中断处理函数在出现中断后会自动被激活。

表10-2 中断号及其入口地址

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈