一、使用库函数点灯
- 导入库函数。
下载STC8H的库函数:📎STC8G-STC8H-LIB-DEMO-CODE_2023.07.17_优化版.zip
来到库函数的目录下,拷贝以下文件:
Config.h
Type_def.h
GPIO.h
GPIO.c
- 新建项目,将拷贝的4个文件放到项目目录中。
- 新建main.c
- 将库函数加入到项目中
添加完成后,我们可以看到,GPIO.c
在目录中
- 在main.c进行LED的开关控制
#include "Config.h"
#include "GPIO.h"void Delay500ms() //@11.0592MHz
{unsigned char data i, j, k;i = 29;j = 14;k = 54;do{do{while (--k);} while (--j);} while (--i);
}void GPIO_config(){GPIO_InitTypeDef gpioInit;gpioInit.Mode = GPIO_OUT_PP;// 推挽gpioInit.Pin = GPIO_Pin_3; // P53GPIO_Inilize(GPIO_P5, &gpioInit);
}void main(){// 配置IO模式// P53 配置准双向 (使用宏函数)
// P5_MODE_IO_PU(GPIO_Pin_3);// P53 配置推挽输出模式(使用初始化函数)GPIO_config();while(1){P53 = 1;Delay500ms();P53 = 0;Delay500ms();}
}
二、什么是库函数?
库函数是一组已经封装好的程序,提供给开发者调用使用。这些函数通常是由语言的开发者或第三方库编写的,实现了一些通用的功能,如IO、PWM、串口、Timer等,可以让开发者无需重复编写这些功能,而是直接调用库函数即可。这样可以提高开发效率、减少重复代码的编写、降低程序出错的可能性,并且可以让代码更加易于维护和扩展。许多编程语言都有自带的库函数,同时也可以通过引入第三方库来扩展其功能。
三、面向库函数和面向寄存器开发
1简化编程难度:使用库函数可以使编程更加简单,减少编程错误的可能性。
2提高可读性:库函数名字通常比寄存器名称更加直观,更容易理解。
3节省时间:使用库函数可以节省编程时间,因为库函数已经被编写和测试过,可以直接调用使用,而无需重新编写和测试代码。
4更加可移植:使用库函数可以增加代码的可移植性,因为库函数已经被开发和测试过,可以在不同的硬件平台上使用,而无需进行大量的修改。
5更加安全:使用库函数可以减少编程错误,例如溢出、死循环等问题,从而使程序更加安全可靠。
当然,在某些情况下,使用寄存器操作可能更加高效,例如在对时间要求比较高的嵌入式系统中,需要最大程度地减少代码运行时间。因此,要根据实际情况来选择使用库函数还是直接寄存器操作。
使用delay模块延时
1拷贝库函数中Delay.c和Delay.h到工程
2引用头文件Delay.h
四、使用delay模块延时
- 拷贝库函数中
Delay.c
和Delay.h
到工程 - 引用头文件
Delay.h
#include "Delay.h"
- 进行延时操作
delay_ms(250); // 延时250毫秒, 这里只支持1~255ms