news 2026/4/18 5:16:00

51单片机学习笔记5-模块化编程

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
51单片机学习笔记5-模块化编程

目录

动态数码管模块化编程如下:

✅main.c

✅NiXie.c

✅NiXie.h

✅Delay.c

✅Delay.h


✅ 传统编程:所有代码(主函数、功能函数、变量定义)全部堆砌在 main.c 一个文件中,代码量一多就杂乱无章,可读性、维护性极差;

✅ 模块化编程:功能拆分、分文件存放 —— 把 LED、按键、延时、串口等不同功能的代码,分别放到独立的 .c 文件中,通过 .h 头文件做声明,在 main.c 中只需 #include "xxx.h" 引入即可调用,完美解决了传统编程的痛点,

动态数码管模块化编程如下:

✅main.c

#include <REGX52.H> #include "NiXie.h" void main() { while(1) { NiXie(1,1); NiXie(2,2); NiXie(3,3); NiXie(4,4); NiXie(5,5); NiXie(6,6); } }

✅NiXie.c

#include <REGX52.H> #include "Delay.h" unsigned char NiXieTable[]={0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F}; void NiXie(unsigned char Location,unsigned char Number) { switch(Location) { case 1:P2_4=1;P2_3=1;P2_2=1;break; case 2:P2_4=1;P2_3=1;P2_2=0;break; case 3:P2_4=1;P2_3=0;P2_2=1;break; case 4:P2_4=1;P2_3=0;P2_2=0;break; case 5:P2_4=0;P2_3=1;P2_2=1;break; case 6:P2_4=0;P2_3=1;P2_2=0;break; case 7:P2_4=0;P2_3=0;P2_2=1;break; case 8:P2_4=0;P2_3=0;P2_2=0;break; } P0=NiXieTable[Number]; Delay(1); P0= 0x00; }

✅NiXie.h

#ifndef _NIXIE_H_ #define _NIXIE_H_ void NiXie(unsigned char Location,unsigned char Number); #endif

✅Delay.c

void Delay(unsigned int xms) //@12MHz { unsigned char i, j; while(xms) { i = 2; j = 239; do { while (--j); } while (--i); xms--; } }

✅Delay.h

#ifndef _DELAY_H_ #define _DELAY_H_ void Delay(unsigned int xms); #endif
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/7 14:49:01

二叉树层序遍历(BFS)完全指南:从基础到实战

一、层序遍历核心概念 1.1 什么是层序遍历? 层序遍历(Level Order Traversal)是一种广度优先搜索(BFS) 算法,它按照树的层次,从上到下、从左到右逐层访问每个节点。 示例二叉树:1 ← 第1层/ \2 3 ← 第2层/ \ \4 5 6 ← 第3层层序遍历结果:[[1…

作者头像 李华
网站建设 2026/4/17 1:09:11

校平机:让金属板材变平整的“整形医生“

‍在机械制造、汽车生产、钢板加工等领域&#xff0c;我们常常能看到一种专门用于矫正金属板材平整度的设备——校平机。它就像是金属板材的"整形医生"&#xff0c;能够将弯曲、翘曲的板材变得平整如镜。一、什么是校平机&#xff1f;校平机&#xff08;也称为矫平机…

作者头像 李华
网站建设 2026/4/3 20:28:43

npm 离线安装软件包指南(离线安装 claude code)

本文以离线安装 anthropic-ai/claude-code&#xff08;Claude Code 客户端&#xff09;和 musistudio/claude-code-router&#xff08;Claude Code Router&#xff09;为例&#xff0c;介绍如何通过 npm 原生命令实现离线全局安装。该方法适用于任何 npm 包的离线安装场景。 流…

作者头像 李华
网站建设 2026/4/16 22:15:02

导师推荐!MBA必看10个AI论文网站测评

导师推荐&#xff01;MBA必看10个AI论文网站测评 2026年MBA学术写作工具测评&#xff1a;为什么你需要这份指南 随着人工智能技术在学术领域的广泛应用&#xff0c;AI论文网站已成为MBA学生和研究者不可或缺的辅助工具。然而&#xff0c;面对市场上五花八门的平台&#xff0c;如…

作者头像 李华
网站建设 2026/4/17 18:39:14

新机械主义的 3M:从解释准则到具身智能工程方法论

一、什么是新机械主义的 3M 新机械主义&#xff08;New Mechanistic Approach&#xff09;强调&#xff1a;科学解释&#xff08;尤其在生命科学、神经科学等领域&#xff09;往往不是用“普遍定律 初始条件”去覆盖现象&#xff0c;而是通过揭示一种机制&#xff08;mechani…

作者头像 李华