0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

单片机C语言编程:H文件与.C文件的关系

fcsde-sh 来源:张飞实战电子 2020-05-30 10:42 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

这个8*8按键程序的过程中,不管是在自己写还是参考别人程序的过程中,发现自己对C语言有些基本知识点和编程规范有很多不懂的地方,有些是自己以前的编程习惯不好,有些就是基础知识不扎实的表现,所以总结出来。

一、.H文件与.C文件的关系:

迄今为止,写过的程序都是一些很简单的程序,从来没有想到要自己写.H文件,也不知道.H文件到底什么用,与.C文件什么关系。只是最近写键盘程序,参考别人的程序时,发现别人写的严格的程序都带有一个“KEY.H”,里面定义了.C文件里用到的自己写的函数,如Keyhit()、Keyscan()等。

经过查找资料得知,.H文件就是头文件,估计就是Head的意思吧,这是规范程序结构化设计的需要,既可以实现大型程序的模块化,又可以实现根各模块的连接调试。

1、.H文件介绍:

单片机C程序设计中,项目一般按功能模块化进行结构化设计。将一个项目划分为多个功能,每个功能的相关程序放在一个C程序文档中,称之为一个模块,对应的文件名即为模块名。一个模块通常由两个文档组成,一个为头文件*.h,对模块中的数据结构和函数原型进行描述;另一个则为C文件*.c ,对数据实例或对象定义,以及函数算法具体实现。

2、.H文件的作用

作为项目设计,除了对项目总体功能进行详细描述外,就是对每个模块进行详细定义,也就是给出所有模块的头文件。通常H头文件要定义模块中各函数的功能,以及输入和输出参数的要求。模块的具体实现,由项目组成根据H文件进行设计、编程、调试完成。为了保密和安全,模块实现后以可连接文件OBJ、或库文件LIB的方式提供给项目其他成员使用。由于不用提供源程序文档,一方面可以公开发行,保证开发人员的所有权;另一方面可以防止别人有意或无意修改产生非一致性,造成版本混乱。所以H头文件是项目的详细设计和团队工作划分的依据,也是对模块进行测试的功能说明。要引用模块内的数据或算法,只要用包含include指定模块H头文件即可。

3、.H文件的基本组成

/*如下为键盘驱动的头文档*/

#ifndef _KEY_H_ //防重复引用,如果没有定义过_KEY_H_,则编译下句

#define _KEY_H_ //此符号唯一, 表示只要引用过一次,即#i nclude,则定义符号_KEY_H_

/////////////////////////////////////////////////////////////////

char keyhit( void ); //击键否

unsigned char Keyscan( void ); //取键值

/////////////////////////////////////////////////////////////////

#endif

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 模块
    +关注

    关注

    7

    文章

    2849

    浏览量

    53432
  • C语言
    +关注

    关注

    183

    文章

    7646

    浏览量

    146126
  • 编程
    +关注

    关注

    90

    文章

    3723

    浏览量

    97433

原文标题:单片机C语言编程,心得都在这里了!

文章出处:【微信号:fcsde-sh,微信公众号:fcsde-sh】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    Infineon C161K/O 16位单片机:高性能与多功能的完美结合

    凭借其卓越的性能和丰富的功能,成为众多工程师的首选。今天,我们就来深入了解一下这款单片机文件下载: C161KLM3VHAFXUMA1.pdf 一、产品概述 C161K/O是Inf
    的头像 发表于 03-30 16:15 160次阅读

    Infineon C505系列8位单片机:特性、应用与设计要点

    推出的C505系列8位单片机,以其丰富的功能和出色的性能,在众多应用场景中展现出强大的竞争力。本文将深入探讨C505系列单片机的特性、功能模块以及设计要点,为电子工程师在实际应用中提供
    的头像 发表于 03-30 14:25 166次阅读

    Infineon C167CR/C167SR 16位单片机深度解析

    )的C167CR/C167SR 16位单片机,了解它的特点、功能以及应用中的要点。 文件下载: C167SRLMHAKXQLA1.pdf 一
    的头像 发表于 03-30 14:25 183次阅读

    Infineon C167CS-4R/C167CS-L 16位单片机深度剖析

    C167CS-4R 和 C167CS-L 这两款 16 位单片机,希望能为大家在设计过程中提供一些有价值的参考。 文件下载: C167
    的头像 发表于 03-30 14:25 449次阅读

    深入解析Infineon C165 16位单片机:特性、参数与应用指南

    Technologies推出的C165 16位单片机,凭借其高性能、丰富的外设功能和灵活的配置选项,成为众多工程师的理想选择。本文将深入剖析C165单片机的各项特性、技术参数及应用场
    的头像 发表于 03-30 14:20 202次阅读

    Infineon C515C 8位单片机:功能特性与应用解析

    )推出的C515C 8位单片机,看看它有哪些独特之处,以及如何在实际设计中发挥作用。 文件下载: C515C8EMCAFXUMA2.pdf 一、C5
    的头像 发表于 03-29 09:15 149次阅读

    Infineon C161PI 16位单片机:设计与应用的深度剖析

    单片机凭借其卓越的性能和丰富的外设功能,成为了众多工程师的首选。今天,我们就来深入探讨一下这款单片机的特点、应用以及设计要点。 文件下载: C161PIL25FCABXUMA1.pdf
    的头像 发表于 03-28 14:30 721次阅读

    手把手教你学51单片机-C语言

    更多信息),手把手地带领大家来学习单片机技术,给单片机初学者带来福音,让大家一步一个脚印的掌握单片机技术。 《手把手教你学51单片机-C
    发表于 03-05 11:47

    C语言C++的区别及联系

    C语言C++到底是什么关系? 首先C++和C语言
    发表于 12-24 07:23

    单片机C语言编程的心得

    规范程序结构化设计的需要,既可以实现大型程序的模块化,又可以实现根各模块的连接调试。 1、.H文件介绍: 在单片机C程序设计中,项目一般按功能模块化进行结构化设计。将一个项目划分为多
    发表于 12-08 07:44

    为什么单片机还在用C语言编程

    说起单片机我们就会想到C语言单片机为什么还在用C语言编程
    发表于 11-28 07:37

    单片机启动&库函数的构成

    文件,启动文件以“.s”后缀出现,意为start_up。 2.启动文件由汇编语言编写,单片机启动一定会从启动
    发表于 11-18 08:15

    C语言单片机C语言有什么差异

    区别是由编译器决的,只能参考对应的编译手册,即使同种平台不同的编译器对C的扩展也有不同。 3、单片机c语言编程是基于
    发表于 11-14 07:55

    开发单片机需要学习什么?软件编程的 4 个关键层次

    ,缺一不可。 第一层是 C 语言基础语法。这是单片机编程的 “通用语言”,需熟练掌握变量(字符型、整型、浮点型)、函数(定义、调用、返回值)
    的头像 发表于 08-25 11:32 1063次阅读

    单片机c语言编程实例大全

    单片机c语言编程实例大全_18
    发表于 04-30 16:11 7次下载