您的位置 首页 产品

开始知道51单片机-2.4单片机C言语模块化编程

22单片机C语言模块化编程这里插入一节,讲讲单片机C语言的模块化编程。什么叫做模块化编程。前面我们写的代码全部在ledc文件中,试想一下

2.2单片机C言语模块化编程

这儿刺进一节,讲讲单片机C言语的模块化编程。什么叫做模块化编程。前面咱们写的代码悉数在led.c文件中,试想一下,假如代码过多,怎样阅览。别的与你协作的人怎么看懂你的代码。简略的讲,没有可读性和移植性。模块化编程便是为了处理这个问题。当一个工程量比较大时,咱们会把这个工程分红一段一段的使命,每个人完结不同段的使命。一起每个段之间是有联络的。假定开发人员A需求条用B的某个功用模块,那么A只需重视模块的功用和怎么调用就行了,至于这个功用是怎么完结的,能够不必理睬。别的,关于单个人员开发完某个工程,下一个工程或许需求相同的功用模块,相同只需求知道怎么调用该模块就能够了,无需再去研讨该段代码完结功用的进程。还有一个工程假如过大,呈现了过错,不容易排查过错。可是依照一个一个模块的思路来排查,思路就显得更明晰。

下面咱们来看看怎么树立单片机C言语模块化编程

(1)翻开Keil软件,Project->New uVersion Project

翻开led文件夹,在file name中输入led并保存

(2)挑选单片机类型,前面讲过不罗嗦

(3)弹出一个对话框,挑选yes

(4)新建一个空白文件或许运用ctrl+N,然后保存(ctrl+S),取名为src

然后双击src文件夹,在file name中输入main.c并保存。

在main.c中输入以下程序:

  • #include
  • void main(void)
  • {
  • }
  • 然后保存

(5)点击project->options for Target ‘target 1’…

(6)在target中,挑选晶振为11.0592

(7)然后点击output, 勾选Creat HEX File,然后点击Select Folder for Objects…

(8)此刻会弹出一个对话框,新建一个文件夹并取名为output,然后双击output文件夹,点击确认

(9)然后点击Listing,之后点击Select Folder for listings

(10)在弹出的对话框中双击output,点击ok,再次点击ok.

(11)回到主界面,右键单击source group, 挑选add files to group”sourcegroup1”…

(12)在弹出的对话框中双击src,点击main.c,再点击Add,然后点击close

(13)src文件夹中寄存源码,当咱们点击编译时,输出相关的文件会寄存在output中

(14)现在咱们新建四个文件,led.c,led.h,delay.c,delay.h. 咱们把前面写的程序分红三个模块,main.c部分,led.c部分,delay.c延时部分. 怎么新建这些文件,相同的,点击创立空白文件(ctrl+N),然后保存(ctrl+S),将保存途径挑选在src文件夹中,假如要树立led.c,则filename为led.c,假如要树立led.h,则filename为led.h

(15)建好这四个文件后,在led.c中输入如下内容:

  • #include
  • sbit LED = P1^0;
  • void ledON(void)
  • {
  • LED =0;
  • }
  • void ledOFF(void)
  • {
  • LED=1;
  • }

仿制代码

然后点击保存。

在led.h中输入

  • #ifndef _LED_H_
  • #define _LED_H_
  • extern void ledON(void);
  • extern void ledOFF(void);
  • #endif

仿制代码

在delay.c中输入,

  • unsigned int i;
  • void delay(void)
  • {
  • for(i=0;i<30000;i++);
  • }

仿制代码

在delay.h中输入:

  • #ifndef _DELAY_H_
  • #define _DELAY_H_
  • extern void delay(void);
  • #endif

仿制代码

在main.c中输入:

  • #include
  • #include “delay.h”
  • #include “led.h”
  • void main(void)
  • {
  • while(1)
  • {
  • ledON();
  • delay();
  • ledOFF();
  • delay();
  • }
  • }

仿制代码

(16)增加led.c,delay.c文件

(17)点击编译,查看过错,完结。

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/xinpin/chanpin/263537.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部