前言

为什么要写自己库呢?

因为随着项目的越来越复杂,如果代码都堆再一个main.c文件里的话管理起来会比较难。你出现想找到某部分的代码得上下翻找。因此把各部的代码建立一个独立的库会使代码管理起来相对容易。想找到某部分的代码只需找到相应的c文件即可。

一、 开始

我使用的是keil4


先用keil4建立一个新项目。

二、

步骤

1. 建立一个头文件

保存为.h 文件,名字可以自己取。我这里就当写个led闪烁库吧。

编写.h文件的内容,一般是一个固定格式。


如果需要用的单片机的资源要包含它的头文件,不然会报错。

2.建立c文件

编写.c文件的内容

必须包括加入#include"led.h".

然后将.c 文件加入代码中(必要的).文件可以不用加

3. 编写库

可以在.c 文件里写相关的函数,这些函数是可以通过…h 函数这个桥梁被
main.c中的main函数调用。

代码如下:

#include "led.h"//延时函数
void delay(unsigned int i)
{while(i--);
}//让led闪烁
void LED_Flash(void)
{led = 0;delay(5000);led = 1;delay(5000);
}

4.将led.c 中的函数放到.h头文件声明


代码如下:

#ifndef __LED_H_
#define __LED_H_#include "reg52.h"sbit led = P2^0;void LED_Flash(void);
void delay(unsigned int i);#endif

5.在main.c中实现对库的调用

第一步:声明将要调用库的头文件。

第二步:在main()中调用库中的函数。

代码如下:

#include "reg52.h"
#include "led.h"void main()
{while(1){LED_Flash();}
}

编译通过,收工


也兼容普中开发板,小伙伴们快点跑起来。

【51为例】单片机编程技巧(一)——写自己的库相关推荐

  1. 单片机编程技巧_编程技巧

    单片机编程技巧 From the desk of a brilliant weirdo #1: 从辉煌的怪胎#1的桌子上: Thank you for taking the time to check ...

  2. 51单片机编程简单入门——点亮实验板上的LED灯

    1.使用uVision4创建项目 2.选择MCU的型号:Atmel->AT89C52 3.是否创建C51启动文件,选否.启动文件以前汇编常用,现在少用了. 4.新建文件,需指定命名为.c文件 5 ...

  3. 32单片机编程简单吗?单片机程序与桌面编程哪个难?

    STM32单片机编程对很多新手来说就像"天书". 我当初是学习了51单片机,然后就去找工作了,这已经是10年前了. 刚进入公司,老板先是让我维护老产品,也就是stc单片机做的项目, ...

  4. 华为上机考试注意事项及编程技巧

    华为上机考试注意事项及编程技巧 这是一篇关于华为招聘软件类职位上机考试的博客,主要介绍一下华为机考的流程.注意事项以及一些机试题中常用的编程技巧,写得有点长,但都是尽心尽力敲的,如果真的要参加华为招聘 ...

  5. 单片机应用编程技巧100问

    单片机应用编程技巧100问 单片机应用编程技巧100问 1.C语言和汇编语言在开发单片机时各有哪些优缺点? 答:汇编语言是一种用文字助记符来表示机器指令的符号语言,是最接近机器码的一种语言.其主要优点 ...

  6. 单片机应用编程技巧---MCU专家答网友问

    单片机应用编程技巧---MCU专家答网友问 单片机应用编程技巧 Holtek MCU专家--邓宏杰答网友问 (转自电子工程专辑网站) 1.    C语言和汇编语言在开发单片机时各有哪些优缺点? 答:汇 ...

  7. 单片机应用编程技巧问答

    C语言和汇编语言在开发单片机时各有哪些优缺点? 答:汇编语言是一种用文字助记符来表示机器指令的符号语言,是最接近机器码的一种语言.其主要优点是占用资源少.程序执行效率高.但是不同的CPU,其汇编语言可 ...

  8. 单片机编程软件很简单(九),Keil单片机编程软件高级调试技巧讲解

    单片机编程软件必不可少,近来文章中,小编主要为大家讲解Keil单片机编程软件.上篇中,主要阐述了Keil单片机编程软件的辅助功能.而在本文中,将介绍Keil单片机编程软件的高级调试技巧.如果你对单片机 ...

  9. 单片机ofeh_EH78系列单片机的编程技巧

    笔者在某智能水表开发中使用了EM78P447芯片,对EM78系列芯片有了较深认识,在实践中总结了一些开发此类芯片应注意的问题,同时给出了应用中的编程技巧. 市面上常见的介绍EM78系列的参考书中,都给 ...

最新文章

  1. Vue 路由 过渡动效 数据获取
  2. 配置linux下node节点的ip
  3. 工具类--Excel 导出poi
  4. ospf hello时间和dead_图文并茂解释OSPF邻居关系建立失败的几种常见情况(太实用了!)...
  5. 搬运机器人举杯贺所需的条件_智能搬运机器人比赛规则
  6. mysql判断域为空_MySQL EXPLAIN 字段说明
  7. oracle数据库建立主键约束,数据库-Oracle主键约束和唯一索引的黑与白
  8. 区块链的有趣应用:买彩票、云养鸡、查茅台
  9. python 插值_有序点列的样条插值
  10. 60 秒 Linux 检查清单,快速初步定位你的性能问题
  11. Java学习笔记——dubbo服务之底层通讯协议Protocol
  12. java7-3 继承
  13. java中程序定义book类_Java基础_0302:类和对象
  14. phpwind升级php7,【原创文章】升级phpwind为https
  15. html竖版古诗,古诗竖版手抄报版面设计图
  16. android 紫外线传感器,Arduino光线传感器-UV Sensor V1.0-ML8511紫外线传感器
  17. 安装TypeScript
  18. Mathematica 命令大全
  19. Python基于OpenCV的交通路口红绿灯控制系统设计
  20. 软考系统架构师倒计时第6天

热门文章

  1. 开机提示CPU Fan Error解决方法
  2. Javascript 数组求和的方法
  3. html里ajax使用、webpy服务在img显示图片、ajax修改table里的数据、$.post()、window,onload、$(button).click、mjpg_streamer
  4. SpringBoot-23.7.7学习
  5. 今天找到一个电子书 百家讲坛——于丹《论语》心得
  6. Review of Operating Systems
  7. 低成本2.4G无线收发器芯片
  8. ssm框架mybatis的作用
  9. mysql时间相差大于两小时然后以这个时间越大越往前排列_mysql求时间差
  10. 低代码时代:快速开发成为主流,全民开发不是梦