找回密码
 立即注册
查看: 5648|回复: 13

STC单片机程序中头文件的使用方法

[复制链接]
  • TA的每日心情
    奋斗
    昨天 09:07
  • 签到天数: 121 天

    [LV.7]常住居民III

    26

    主题

    1238

    回帖

    3875

    积分

    论坛元老

    积分
    3875
    发表于 2023-1-3 16:41:28 | 显示全部楼层 |阅读模式
    STC单片机程序中头文件的使用方法
    c语言中include用法
    #include 命令是预处理命令的一种,预处理命令可以将别的源代码内容插入到所指定的位置。有两种方式可以指定插入头文件:
    1. #include <文件名.h>
    2. #include "文件名.h"
    复制代码
    使用尖括号< >和双引号" "的区别在于头文件的搜索路径不同:
    使用尖括号< >,编译器会到系统路径下查找头文件;
    使用双引号" ",编译器首先在当前目录下查找头文件,如果没有找到,再到系统路径下查找。

    路径设置方式1:
    通过keil设置界面,添加包含文件的路径:
    程序中头文件的使用方法-1.png
    添加后,调用时直接使用 #include "文件名.h" 就可以将需要的文件包含进来,编译器会自动到以上路径下面寻找所包含的文件。
    这种情况下,使用双引号" "包含头文件,编译器首先在当前目录下查找头文件,如果没有找到,编译器会到keil设置路径查找,还没有的话再到系统路径下查找。


    路径设置方式2:
    在包含文件名前添加绝对路径,例如:
    1. #include "E:\xxxx\xxxx\文件名.h"
    2. #include "E:/xxxx/xxxx/文件名.h"
    复制代码

    路径设置方式3:
    在包含文件名前添加相对路径,例如:
    1. #include "..\comm\文件名.h"
    2. #include "../comm/文件名.h"
    复制代码

    其中 ".."是指上一级目录,以上路径是指包含文件在当前目录的上一级目录的comm目录下面。

    汇编语言中include用法与c语言类似,将"#"换成"$",用小括号()包含文件:
    1. $include (../../comm/STC8H.INC)
    复制代码
    以上指令表示要包含的文件STC8H.INC ,在当前目录的上一级目录的上一级目录的comm目录下面。


    回复 送花

    使用道具 举报

    该用户从未签到

    548

    主题

    9183

    回帖

    1万

    积分

    管理员

    积分
    13966
    发表于 2023-1-3 17:44:08 | 显示全部楼层
    我映像 KEIL 的 宏汇编,你可以直接用 C 的包含方式包含 C 风格的 头文件
    ===就是你用汇编写程序,新的 特殊功能寄存器,你可以用C的习惯 包含 STC 已帮声明好的 C 的 头文件
    ===就像注释 //, C++的这个,他也支持一样

    延伸阅读,多文件项目的关键注意事项
    1.png

    Keil小技巧-在多文件项目的源文件中声明并使用外部变量和外部函数 - 编译器/仿真器/ISP下载/做自己的ISP/ID号加密/程序加密后传输 - 国芯论坛-STC全球32位8051爱好者互助交流社区 - STC全球32位8051爱好者互助交流社区 (stcaimcu.com)

  • TA的每日心情
    开心
    13 分钟前
  • 签到天数: 87 天

    [LV.6]常住居民II

    38

    主题

    981

    回帖

    6747

    积分

    荣誉版主

    冲哥视频教程和各种开源资料QQ交流群884047237,可群

    积分
    6747
    QQ
    发表于 2023-1-3 17:20:59 | 显示全部楼层
    赞:handshake
    回复 送花

    使用道具 举报

    该用户从未签到

    548

    主题

    9183

    回帖

    1万

    积分

    管理员

    积分
    13966
    发表于 2023-1-17 09:38:16 | 显示全部楼层
    1.png
    回复 支持 1 反对 0 送花

    使用道具 举报

  • TA的每日心情
    开心
    昨天 14:57
  • 签到天数: 89 天

    [LV.6]常住居民II

    68

    主题

    552

    回帖

    1822

    积分

    超级版主

    积分
    1822
    QQ
    发表于 2023-1-17 10:49:52 | 显示全部楼层
    楼主,其实我看不懂,只是循规蹈矩的按照范例程序包,还有老师怎么说我就怎么用,
    请问系统路径是什么,第二系统路径是什么
    热线19952583534
    www.STCAI.com
  • TA的每日心情
    开心
    昨天 14:57
  • 签到天数: 89 天

    [LV.6]常住居民II

    68

    主题

    552

    回帖

    1822

    积分

    超级版主

    积分
    1822
    QQ
    发表于 2023-1-17 10:54:23 | 显示全部楼层
    本帖最后由 国学芯用 于 2023-1-17 17:11 编辑



    stc8h和stc32的usb_hid和usb_cdc库文件.zip
    1.png
    热线19952583534
    www.STCAI.com
  • TA的每日心情
    开心
    7 小时前
  • 签到天数: 128 天

    [LV.7]常住居民III

    37

    主题

    843

    回帖

    3874

    积分

    荣誉版主

    积分
    3874
    发表于 2023-1-17 13:24:35 | 显示全部楼层
    国学芯用 发表于 2023-1-17 10:49
    楼主,其实我看不懂,只是循规蹈矩的按照范例程序包,还有老师怎么说我就怎么用,
    请问系统路径是什么,第 ...

    系统路径 指 当前 Keil 软件安装路经.
  • TA的每日心情
    奋斗
    昨天 09:07
  • 签到天数: 121 天

    [LV.7]常住居民III

    26

    主题

    1238

    回帖

    3875

    积分

    论坛元老

    积分
    3875
     楼主| 发表于 2023-1-17 13:27:26 | 显示全部楼层
    国学芯用 发表于 2023-1-17 10:49
    楼主,其实我看不懂,只是循规蹈矩的按照范例程序包,还有老师怎么说我就怎么用,
    请问系统路径是什么,第 ...


    系统路径是编译器安装位置存放头文件的目录,添加头文件到keil中就是复制STC单片机头文件到系统路径:
    1.png

    点评

    我突然想起来,大学课堂老师教的就是这个系统路径, 我也觉得较为清楚  详情 回复 发表于 2023-1-17 17:14
  • TA的每日心情
    开心
    昨天 14:57
  • 签到天数: 89 天

    [LV.6]常住居民II

    68

    主题

    552

    回帖

    1822

    积分

    超级版主

    积分
    1822
    QQ
    发表于 2023-1-17 17:14:11 | 显示全部楼层
    乘风飞扬 发表于 2023-1-17 13:27
    系统路径是编译器安装位置存放头文件的目录,添加头文件到keil中就是复制STC单片机头文件到系统路径:

    ...

    我突然想起来,大学课堂老师教的就是这个系统路径, 我也觉得较为清楚
    热线19952583534
    www.STCAI.com
  • TA的每日心情
    奋斗
    昨天 08:24
  • 签到天数: 128 天

    [LV.7]常住居民III

    17

    主题

    527

    回帖

    1185

    积分

    金牌会员

    积分
    1185
    发表于 2023-3-28 10:33:57 | 显示全部楼层
    不错,又学到了,赞一个!!!
    不停地学习
    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    QQ|手机版|深圳国芯人工智能有限公司 ( 粤ICP备2022108929号-2 )

    GMT+8, 2024-4-24 08:11 , Processed in 0.080578 second(s), 72 queries .

    Powered by Discuz! X3.5

    © 2001-2024 Discuz! Team.

    快速回复 返回顶部 返回列表