栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

蓝桥杯——单片机学习(头文件的书写)

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

蓝桥杯——单片机学习(头文件的书写)

之前的书写方式都是这样——

//seg.h

#ifndef __SEG_H
#define __SEG_H
#include "STC15F2K60S2.H"


void Nixie_Scan(void);
void Nixie_Show(void);
void Deal_time(int* sec,int* min,int* hour);

#endif

定义头文件名,
加上单片机型号文件名,
加上函数声明,
最后结束#endif

但是这样,每次都要定义好多好多头文件,比如到后面写一个程序,就要定义一个tim.h(定时器函数,关闭外设函数),led.h(led函数),seg.h(数码管函数),key.h(按键函数)等等等等。
而且在这些不同的头文件里的不同函数,有时候会牵扯到一些有关联的变量,比如在按键函数中,假设我按下S4,LED灯会亮几个,这样又要写一个LED灯的变量。
我之前一直都是用指针来写,虽然很有用,但是很麻烦。

最近看到别人的写法(下面代码是我自己写的)——

#ifndef __SYS_H
#define __SYS_H

#ifndef uchar
#define uchar unsigned char
#endif

#ifndef uint
#define uint unsigned int
#endif
 
#include 
#include 

//全局变量定义
#define FOSC 11059200L		//系统时钟

//外部变量
extern uchar sec = 0;
extern uchar min = 0;
extern uchar hour = 0;
extern uchar Led_dat;

//Nixie.c
void Nixie_Scan(void);
void Nixie_Show(void);
void Deal_time(void);

//tim.c
void All_Init(void);
void Time0_Init(void);
void led_disp(unsigned char led);
void Int_Init(void);
sbit beep = P0^6;
void BEEP();

#endif

直接把函数放在同一个头文件里,然后设定全局变量,这样就可以共同调用了。非常方便!!!

参考博客——小默haa——独立按键与流水灯。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/347041.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号