【征服单片机】实战篇:Keil+Proteus流水灯(模块化编程)
大家好!我是皮皮猫。
每文一言: 如果没有明天,一切似乎简单了不少,人所有的痛苦、纠结,就是因为还有无数个明天。
本篇文章:
主要是Keil的模块化编程,同时实现了一个小实验,通过Keil模块化编程来实现流水灯(设计了三种流水方式)。
进入正文:
一、Proteus仿真图
1)在编写代码的时候,我们首先要做的就是绘图,绘制好模型图之后,才可以编写对应的代码。首先,在Proteus创建一个工程(PS:新手请看:Proteus和Keil分别创建单片机工程)
2)根据自己的要求,绘制指定的图形。此次做的是流水灯,请看图:
流水方式三:led3.c
LED灯的流水方式:从上到下依次点亮,循环三次
延迟函数:delays.c
4)重点:创建一个.h文件
此文件是模块化编程的关键文件。创建一个hanshu.h文件。
该文件需要包含你自定义函数,例如:在led1.c中定义了一个void topToBottom()函数,我们在hanshu.h中就要有一个对应的void topToBottom()函数。同时,在led1.c的头文件中,需要加上:#include “hanshu.h”(其他文件一样)。这样子的话,当你包含了hanshu.h文件之后,当你调用topToBottom()函数的时候,调用的就是led.c中的topToBottom()函数。
注意: 此时的hanshu.h文件中包含了四个函数,这四个函数分别在自己创建的.c文件中,当调用这几个函数的时候,默认调用的是自己创建的.c文件中的同名函数
现在再看上方的.c文件,是不是都含有一个#include “hanshu.h”
5)此时,模块化编程还没有结束,我们在我们的主文件中,也需要包含#include “hanshu.h”(注:自己写的.h文件加双引 ,单片机自带的.h文件是<>)
6)我们来看一下我的效果:
现在的话,就到这里了,对模块化编程还有不理解的地方的话,请在评论区,表示自己的困惑。
完结,撒花…
更多Keil+Proteus项目,持续更新中…
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!