![嵌入式微系统](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=1739318964-nBTyRWtnS09rctpwcPHKpB5PoMF9O7yf-0-6ef1be1f814634caaa39263823d6981e)
图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=1739318964-aXqg1THRGMIOjTdH4Gi7x1BtyPafnCCE-0-caa740138ab003eaf2285bb1af493d78)
图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=1739318964-RwlRS9vWlyv1EZFr3n77CUmVexriN16R-0-6ec3fb7e076fc56127428cf3ed537303)
图1-7 调试界面
![](https://epubservercos.yuewen.com/AB14CA/5130853703686201/epubprivate/OEBPS/Images/t1-8-i.jpg?sign=1739318964-7ufjTXQKxFs0t3gUQrfz3wusAfTMSLmf-0-cd52b30cfd7624c77f2121869b1fe7bf)
图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=1739318964-nLgkFidlMx7xypHZFMrRIuUPUbfYYbzy-0-c3934574e2928da525d9a6f1daaf5873)
图1-9 Source Flie的软件结构
MS虽然属于综合性类型的前后台,但在大循环中,引入了消息机制,更有利于资源的整合和代码的实现(图1-10)。
![](https://epubservercos.yuewen.com/AB14CA/5130853703686201/epubprivate/OEBPS/Images/t1-10-i.jpg?sign=1739318964-DSgvha2CGJ8Y4ZmDeQ24tUNYKpCaSztI-0-c372fbc9a53a6366cc0025c0a3b07cf2)
图1-10 MS的应用