![嵌入式微系统](https://wfqqreader-1252317822.image.myqcloud.com/cover/582/834582/b_834582.jpg)
1.3.1 目录结构
MS目录结构很简单,由Keil、SourceFile两个文件夹和Source Insight项目文件三部分组成,如图1-5所示。
![](https://epubservercos.yuewen.com/AB14CA/5130853703686201/epubprivate/OEBPS/Images/t1-5-i.jpg?sign=1739256324-C2u8FHBwLoeohs4c3dDiYk4zoe40SMFs-0-47d30cc95961e3e17384f8aaa845d2ad)
图1-5 MS目录结构
选中文件MS.PR为Source Insight编辑器的项目文件,可以直接打开编辑C语言代码。Source Insight是比较好用的C语言编辑器,优于Keil自带的编辑器,可以说是C语言下最好用的编辑器,所以C语言的开发一般采用它。Source Insight项目直接建在MS目录下,有一个好处就是相对路径存储,这样MS整个文件复制到任何地方,都可以打开Source Insight项目。
Keil文件夹为Keil编译器的项目目录,存放Keil项目文件及编译目标文件(图1-6)。
![](https://epubservercos.yuewen.com/AB14CA/5130853703686201/epubprivate/OEBPS/Images/t1-6-i.jpg?sign=1739256324-IM07gqxmsnj40R5jNlUcBDbCgObsht5u-0-1d1d3dea3bf9677fa3e22b87c8183f60)
图1-6 Keil编译器项目目录结构
Clean.bat为清除各种过程文件,缩小体积便于打包开源等用。Output为目标文件生成目录,其中MS.hex为编译的目标文件,用于下载程序。MS.UV2为项目文件,推荐用Keil3编译器,因为它内带软件Debug仿真功能,故不需要硬件就可直接在Keil3环境中运行。在Serial#1中输入1、2、3可以选择功能,它是利用串口调试界面模拟按键来实现菜单功能的选择,这里需注意的是,Keil对中文支持不好,常会出现乱码,此时,只需刷新切换一下页面即可(图1-7)。
SourceFile为MS的源码文件夹,非常简洁,如图1-8所示。
![](https://epubservercos.yuewen.com/AB14CA/5130853703686201/epubprivate/OEBPS/Images/t1-7-i.jpg?sign=1739256324-3GsZtBB2J30CCbpblodlD9kZPBN6nh3n-0-444ebb80afcca15a510dc6e6deddeb20)
图1-7 调试界面
![](https://epubservercos.yuewen.com/AB14CA/5130853703686201/epubprivate/OEBPS/Images/t1-8-i.jpg?sign=1739256324-CeUWYUC3G3ROec7U7sk7w8EsioVNgqAG-0-079ec7bf62ba4f3487c5ddb35d16c440)
图1-8 SourceFile文件夹
app.c为应用层,也是项目入口,mmi.c为界面应用,system.h为底层驱动设备及常用库函数文件头。因为MS基于MCU51开发,项目都不大不复杂,所以源码都放在一个目录中比较合适。图1-9为软件结构框图。
![](https://epubservercos.yuewen.com/AB14CA/5130853703686201/epubprivate/OEBPS/Images/t1-9-i.jpg?sign=1739256324-2rFD3el5hLTTyOw9mSfHvzBxVoOkJpJe-0-a08e09f13910f316b882b70de903a782)
图1-9 Source Flie的软件结构
MS虽然属于综合性类型的前后台,但在大循环中,引入了消息机制,更有利于资源的整合和代码的实现(图1-10)。
![](https://epubservercos.yuewen.com/AB14CA/5130853703686201/epubprivate/OEBPS/Images/t1-10-i.jpg?sign=1739256324-gXdzV5offI1CYJyS0EmRO2GDYLkBuCoM-0-e30080262a96ae98a2805e009056bc6f)
图1-10 MS的应用