STC8增强型单片机开发——库函数

2024-05-09 05:12

本文主要是介绍STC8增强型单片机开发——库函数,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

一、使用库函数点灯

  1. 导入库函数。

下载STC8H的库函数:📎STC8G-STC8H-LIB-DEMO-CODE_2023.07.17_优化版.zip

来到库函数的目录下,拷贝以下文件:

  • Config.h
  • Type_def.h
  • GPIO.h
  • GPIO.c
  1. 新建项目,将拷贝的4个文件放到项目目录中。
  • 新建main.c
  • 将库函数加入到项目中

添加完成后,我们可以看到,GPIO.c在目录中

  1. 在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模块延时

  1. 拷贝库函数中Delay.cDelay.h到工程
  2. 引用头文件Delay.h
#include "Delay.h"
  1. 进行延时操作
delay_ms(250); // 延时250毫秒, 这里只支持1~255ms

这篇关于STC8增强型单片机开发——库函数的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/972485

相关文章

Go语言开发实现查询IP信息的MCP服务器

《Go语言开发实现查询IP信息的MCP服务器》随着MCP的快速普及和广泛应用,MCP服务器也层出不穷,本文将详细介绍如何在Go语言中使用go-mcp库来开发一个查询IP信息的MCP... 目录前言mcp-ip-geo 服务器目录结构说明查询 IP 信息功能实现工具实现工具管理查询单个 IP 信息工具的实现服

使用Python开发一个带EPUB转换功能的Markdown编辑器

《使用Python开发一个带EPUB转换功能的Markdown编辑器》Markdown因其简单易用和强大的格式支持,成为了写作者、开发者及内容创作者的首选格式,本文将通过Python开发一个Markd... 目录应用概览代码结构与核心组件1. 初始化与布局 (__init__)2. 工具栏 (setup_t

Spring Shell 命令行实现交互式Shell应用开发

《SpringShell命令行实现交互式Shell应用开发》本文主要介绍了SpringShell命令行实现交互式Shell应用开发,能够帮助开发者快速构建功能丰富的命令行应用程序,具有一定的参考价... 目录引言一、Spring Shell概述二、创建命令类三、命令参数处理四、命令分组与帮助系统五、自定义S

Python通过模块化开发优化代码的技巧分享

《Python通过模块化开发优化代码的技巧分享》模块化开发就是把代码拆成一个个“零件”,该封装封装,该拆分拆分,下面小编就来和大家简单聊聊python如何用模块化开发进行代码优化吧... 目录什么是模块化开发如何拆分代码改进版:拆分成模块让模块更强大:使用 __init__.py你一定会遇到的问题模www.

Spring Security基于数据库的ABAC属性权限模型实战开发教程

《SpringSecurity基于数据库的ABAC属性权限模型实战开发教程》:本文主要介绍SpringSecurity基于数据库的ABAC属性权限模型实战开发教程,本文给大家介绍的非常详细,对大... 目录1. 前言2. 权限决策依据RBACABAC综合对比3. 数据库表结构说明4. 实战开始5. MyBA

使用Python开发一个简单的本地图片服务器

《使用Python开发一个简单的本地图片服务器》本文介绍了如何结合wxPython构建的图形用户界面GUI和Python内建的Web服务器功能,在本地网络中搭建一个私人的,即开即用的网页相册,文中的示... 目录项目目标核心技术栈代码深度解析完整代码工作流程主要功能与优势潜在改进与思考运行结果总结你是否曾经

Spring Boot + MyBatis Plus 高效开发实战从入门到进阶优化(推荐)

《SpringBoot+MyBatisPlus高效开发实战从入门到进阶优化(推荐)》本文将详细介绍SpringBoot+MyBatisPlus的完整开发流程,并深入剖析分页查询、批量操作、动... 目录Spring Boot + MyBATis Plus 高效开发实战:从入门到进阶优化1. MyBatis

Python基于wxPython和FFmpeg开发一个视频标签工具

《Python基于wxPython和FFmpeg开发一个视频标签工具》在当今数字媒体时代,视频内容的管理和标记变得越来越重要,无论是研究人员需要对实验视频进行时间点标记,还是个人用户希望对家庭视频进行... 目录引言1. 应用概述2. 技术栈分析2.1 核心库和模块2.2 wxpython作为GUI选择的优

利用Python开发Markdown表格结构转换为Excel工具

《利用Python开发Markdown表格结构转换为Excel工具》在数据管理和文档编写过程中,我们经常使用Markdown来记录表格数据,但它没有Excel使用方便,所以本文将使用Python编写一... 目录1.完整代码2. 项目概述3. 代码解析3.1 依赖库3.2 GUI 设计3.3 解析 Mark

利用Go语言开发文件操作工具轻松处理所有文件

《利用Go语言开发文件操作工具轻松处理所有文件》在后端开发中,文件操作是一个非常常见但又容易出错的场景,本文小编要向大家介绍一个强大的Go语言文件操作工具库,它能帮你轻松处理各种文件操作场景... 目录为什么需要这个工具?核心功能详解1. 文件/目录存javascript在性检查2. 批量创建目录3. 文件