一起创业网-为互联网创业者服务

keil主程序和子程序怎么放置

在Keil中,主程序和子程序的放置和调用通常遵循以下步骤:

定义子程序

在主程序文件之外,定义子程序函数的实现。这可以在同一个源文件中,也可以在不同的源文件中。

如果需要在程序中多次调用同一个子程序函数,可以将其定义为独立的函数模块,并在需要的地方进行调用。同时,还可以通过使用指针来调用不同的子程序函数,实现更加灵活的程序设计。

包含子程序的头文件

在主程序中包含子程序的头文件。头文件通常包含子程序函数的声明。

调用子程序函数

在主程序中的适当位置,使用函数调用语句来调用子程序函数。函数调用语句的形式为函数名(参数列表),其中参数列表根据子程序函数的定义进行提供。

编译和链接

将主程序文件和子程序文件一起编译,并确保它们都被正确链接。这可以通过Keil的编译器和链接器完成。

示例

假设我们有一个排序子程序,使用冒泡法将内部RAM 50H~5BH中的单字节无符号的正整数按从小到大的次序进行排列。我们可以按照以下步骤进行操作:

定义子程序

```c

include "reg52.h"

define uint unsigned int

define uchar unsigned char

uchar data I_RAM _at_ 0x50; // 在50H~5BH位置设置单字节变量

void sort_ram() {

uchar i, num, temp;

for (num = 11; num > 0; num--) {

for (i = 0; i < num; i++) {

if (I_RAM[i] > I_RAM[i + 1]) {

temp = I_RAM[i];

I_RAM[i] = I_RAM[i + 1];

I_RAM[i + 1] = temp;

}

}

}

}

```

在主程序中调用子程序

```c

void main() {

uchar i;

// 初始化RAM

I_RAM = 0xD3;

// 调用排序子程序

sort_ram();

// 其他主程序逻辑

while(1); // 排序结束,可以在keil软件中,观察变量的内容.

}

```

编译和链接

将主程序和子程序保存在同一个源文件中,或者分别保存在不同的源文件中。

使用Keil的编译器和链接器将它们一起编译和链接。

通过以上步骤,我们可以在Keil中成功地将子程序放置和调用到主程序中。这样做可以提高程序的可读性、可维护性和可重用性。