当前位置: 首页 > news >正文

金华建设局网站做爰片在线看网站

金华建设局网站,做爰片在线看网站,iis7配置asp网站,大连电商平台有哪些文章目录前言一、sys文件创建和路径添加1.创建文件夹添加文件夹路径二、sys文件编写1.sys.h2.sys.c三、模块化的测试总结前言 今天将为大家讲解51单片机的模块化封装,为什么要讲这个模块化封装呢?模块化封装将提高我们代码的可移植性和可复用性&#xf…

文章目录

  • 前言
  • 一、sys文件创建和路径添加
    • 1.创建文件夹添加文件夹路径
  • 二、sys文件编写
    • 1.sys.h
    • 2.sys.c
  • 三、模块化的测试
  • 总结


前言

今天将为大家讲解51单片机的模块化封装,为什么要讲这个模块化封装呢?模块化封装将提高我们代码的可移植性和可复用性,方便我们后续项目的进行。
后续我们将推出几个51单片机项目:
1.智能密码锁
2.温控风扇
3.环境监测系统
大家想做什么项目也可以联系我私信我。

一、sys文件创建和路径添加

1.创建文件夹添加文件夹路径

在工程目录下我们建立一个名为sys的文件夹。
在这里插入图片描述
在文件夹下我们添加sys.c和sys.h
在这里插入图片描述
将sys文件夹添加进工程代码,然后添加文件夹路径。
这里可以添加一个名为sys的文件夹。
在这里插入图片描述
在这里插入图片描述
然后进行编译测试添加是否成功。
编译之前我们需要先勾选此项,不然编译过后无法生成hex文件。
在这里插入图片描述

二、sys文件编写

1.sys.h

首先我们先编写一个sys头文件。
在头文件的开头和结尾处加上:
#ifndef __SYS_H
#define __SYS_H

#endif
这样的宏。
使用这样的宏可以防止头文件的重复包含。

sys头文件处我们包含了<reg52.h>的头文件,和重定义了unsigned char和unsigned int类型变量。
重定义这两个变量可以方便我们以后调用时的编写代码。
sys中还包含了delayms ms级延时函数,延时函数实现原理这里我就不多说。大家可以看我之前的文章都有讲到。
原理

/*此宏作用:防止头文件重复包含*/
#ifndef __SYS_H
#define __SYS_H#include <reg52.h>/*类型重定义当以后使用到unsigned char 和 unsigned int时可以使用u8和u16代替
*/
typedef unsigned char u8;
typedef unsigned int u16;/*延时函数延时单位:ms
*/
void delayms(u16 ms);#endif

2.sys.c

我们开始编写sys.c文件,sys.c文件主要就是实现delayms这个函数,相信大家学习过C语言都明白这样写的作用,这里就不多展开说明。

#include "sys.h"void delayms(u16 ms)
{u8 i;while(ms--){for(i=0;i<113;i++);}	
}

三、模块化的测试

每当我们编写好一个模块的时候都需要进行测试调试,假如不进行测试的话那么以后出现了问题再来修改就比较麻烦了。所以我们要养成写一个模块测试一个模块的好习惯。

我们在main.c中包含"sys.h",调用里面定义的u8,u16,delayms进行测试,编译发现无错误说明测试成功。

#include "sys.h"void main(void)
{u8 num;u16 data1;delayms(1000);/*主函数*/while(1){}}

总结

后期将持续更新模块化文章请大家多多点赞,多多留言评论。
后期将会出对应视频提供大家学习:
B站地址:B站

http://www.dtcms.com/a/490802.html

相关文章:

  • 如何做二维码链接网站虚拟空间的网站赚钱吗
  • 营业部绩效考核方案与管理方法
  • 光刻刻蚀工艺控制要点及材料技术进展与限制
  • VPS SSH密钥登录配置指南:告别密码,拥抱安全
  • 注入“侨动力” 锻造“湘非链”
  • 做网站自己申请域名还是建站公司菏泽最好的网站建设公司
  • 网站建设方面书籍温州网站建设案例
  • 【Linux】Linux 零拷贝技术全景解读:从内核到硬件的性能优化之道
  • 微软ML.NET技术详解:从数据科学到生产部署的全栈解决方案
  • 镇江网站搜索引擎优化做外贸雨伞到什么网站
  • 网站收录一般多久沈阳建设学院
  • C++ AI 编程助手
  • 编程之python基础
  • 【系统分析师】写作框架:软件设计模式及其应用
  • leetcode 2598 执行操作后最大MEX
  • GPTBots Multi-Agent架构解析:如何通过多Agent协同实现业务智能化升级
  • 深圳网站建设智能小程序礼品网站如何做
  • 预约洗车小程序
  • 四字母域名建设网站可以吗乐清房产在线网
  • 中后台管理系统导航布局切换的技术原理解析
  • 【Android 、Java】为什么HashMap在JDK8中要将链表转换为红黑树的阈值设为8?这个数字是如何确定的?
  • Django中处理多数据库场景
  • 建设信源网站全国分类信息网站排名
  • MathType延时使用
  • Vue3 基础语法全解析:从入门到实战的核心指南
  • 莆田建站服务相馆网站建设费用预算
  • shell编程语言---数组函数
  • 黑马点评学习笔记02(Mabatis—plus)
  • 晶体管的定义,晶体管测量参数和参数测量仪器
  • 网站建设需要报告2345网址导航app