蓝桥杯单片机设计与开发(1)
蓝桥杯单片机组比赛采用的是国信长天CT107D开发板,处理器采用的是STC15F2K60S,今天我向大家介绍的是怎样 建立多文件多文件工程 以及 74HC138 的使用的方法。
对文件工程的创建方法:
(1)多文件创建有两个要点:
1.以.h开头文件的包括;
2…c文件的添加
(2)1.首先创建文件夹“点亮LED”,并且在文件夹内创建者三个文件夹
用来存储工程文件,.c和.h文件夹存储在命名为FWLIB文件夹内部。工程生成的HEX文件存储在OBJ中,main.c和主头文件村吹在USER中。
2.打开keil 5,创建工程,命名后保存在USER文件夹下
保存后会出现mcu的选择界面:在选择框中选择 STC MCU Database 中search ST15F2K60S,点击OK。
3 .
点击keil中这个图标并在其中添加这三个文件夹
点击OK。
然后点击这个图标,
选择Output界面,勾选Creat HEX File,选择select folder for objects,然后选择创建的文件夹OBJ,用于存储生成的HEX文件。
此时工程创建已经基本完毕,下面是文件的添加
4.点击keil中的NEW或者(CTRL+N)创建代码编辑页面命名为main.c点击保存,保存在USER文件夹下
再利用同样方法创建命名为include.h也保存在USER文件夹下。(名字可以自由命名,不一定非要按照我写的)
保存后
双击USER文件夹将main.c添加入工程中。
重磅来啦~~~~~
.h的文件的添加
点击这个图标选择C51,选择include paths
选择保存.h文件夹的路径(!注意这里必须是保存.h的文件夹,不能是文件夹的上一层)。
所有的.h文件添加方法都可以参照这个方法
main.c中可以写
# include "include.h"
void main()
{
while(1)
{
}
}
include.h中写
#ifndef _INCLUDE_H_
#define _INCLUDE_H_
#include "STC15F2K60S.h"
#include "intrins.h"
#endif
在以同样的方法创建两个空白编辑页面命名为enable138.c和.h保存在FWLIB中创建的enable138文件夹下
点击工程中的FWLIB将enable138.c添加入工程中,再以同样的方法在C51中添加.h文件。
74HC138的封装程序:
enable.c 文件
#include "enable138.h"
void enable138(uchar x)
{
P2&=0X1f; //先将138 A B C 置位0 0 0输出Y0为低,其他为高
P2|=(x<<5); //X左移5位后通过或非门对对应的74HC573送入数据
_nop_();
_nop_();
P2&=0X1f;//在此将P2置位
}
enable.h文件
#ifndef _ENABLE_H_
#define _ENABLE_H_
#include "include.h"
#define LED 4
#define DU 7
#define WE 6
#define ULN2003 5
extern void enable138(uchar x);
#endif
上边程序可作为蓝桥杯中74HC138的封装程序,直接调用即可。
下边为include.h文件
#ifndef _INCLUDE_H_
#define _INCLUDE_H_
#define uchar unsigned char
#define uint unsigned int
#include "STC15F2K60S2.h"
#include "intrins.h"
#include "enable138.h"
#endif
点亮所有led,所有外设初始化:
# include "include.h"
void suoyouwaishe_Init()
{
P0=0xff;
enable138(LED);
P0=0x00;
enable138(ULN2003);
P0=0x00;
enable138(WE);
P0=0xff;
enable138(DU);
}
void main()
{
suoyouwaishe_Init();
while(1)
{
P0=0x00;//点亮所有led
enable138(4);
}
}
解释:138封装中定义的DU位数码管段选,WE为数码管位选。
写文章真的好难,哈哈!!我以后会坚持与大家分享各种蓝桥杯的程序写法,欢迎各位吐槽与提问,大家一起进步!!