当前位置: 首页 > news >正文

汽车网站建设规划书黑龙江省住房与城乡建设厅网站

汽车网站建设规划书,黑龙江省住房与城乡建设厅网站,合肥寒假兼职工网站建设,图片在线制作二维码生成器一、在工程文件夹下创建一个新的文件夹#xff0c;命名为“ModulesCodesFiles”#xff0c;译为“模块化代码文件”#xff0c;用于存放所有模块化代码文件。 二、在“ModulesCodesFiles”文件夹下为每个模块创建一个新的文件夹#xff0c;命名为模块的名称#xff0c;例…一、在工程文件夹下创建一个新的文件夹命名为“ModulesCodesFiles”译为“模块化代码文件”用于存放所有模块化代码文件。 二、在“ModulesCodesFiles”文件夹下为每个模块创建一个新的文件夹命名为模块的名称例如“Main”、“KEY”或“LED”。 1、在每个模块的文件夹下创建两个文件主函数的模块除外KEY模块可创建一个.c源文件例如KEY.c和一个.h头文件例如KEY.h,LED模块可创建一个.c 源文件例如LED.c和一个.h头文件例如LED.h。 1、.c文件实现函数功能、定义变量 (允许赋初值)、定义I/0口、定义宏等 2、.h文件声明函数、声明变量 (不允许赋初值)、声明常量、声明I/0口、声明宏等。 2、例如在Main模块的Main.c文件中可以编写以下代码 #include reg52.h //51单片机头文件 #include LED.h //包含LED模块的头文件 #include KEY.h //包含KEY模块的头文件 void main(void) { LED_Init(); //初始化LED模块和LED控制引脚P2.0为输出模式初始为关闭状态低电平,LED状态变量默认为LED_OFF0状态。 KEY_Init(); //初始化KEY输入引脚为输入模式初始为释放状态高电平,KEY状态变量默认为KEY_RELEASED0状态。 while(1) { //循环检测按键状态 if (KEY_Scan() KEY_PRESSED) { //按键被按下 LED_Control(LED_ON); //打开LED } else { //按键未按下 LED_Control(LED_OFF); //关闭LED } } }3、不用在Main模块创建Main.h文件直接在Main模块的Main.c文件完成。 4、例如在KEY模块的KEY.c文件中可以编写以下代码 #include KEY.h void KEY_Init(void) { //初始化KEY输入引脚为输入模式默认为高电平 KEY_PIN KEY_RELEASED; //将KEY输入引脚初始化为释放状态高电平,KEY状态变量默认为KEY_RELEASED0状态。 } void KEY_Scan(void) { //扫描按键状态 if (KEY_PIN KEY_RELEASED) { //按键未按下 key_state KEY_RELEASED; //保持当前按键状态为释放状态 } else { //按键被按下 key_state KEY_PRESSED; //反转按键状态为按下状态 } } 5、例如在KEY模块的KEY.h文件中可以编写以下代码 #ifndef KEY_H #define KEY_H //IO口定义 #define KEY_PIN P3_0 //按键输入引脚 //变量定义 unsigned char key_state KEY_RELEASED; //按键状态变量默认为释放状态 //常量定义 #define KEY_PRESSED 1 //按键按下状态常量1表示按下 #define KEY_RELEASED 0 //按键释放状态常量0表示释放 //宏定义 #define Detection_Button() do { if (KEY_PIN KEY_PRESSED) {Reverse_Key_Status();} } while(0) #define Reverse_Key_Status() do { key_state 1 - key_state; } while(0) //KEY初始化函数 void KEY_Init(void); //KEY扫描函数返回按键状态按下为1释放为0。 int KEY_Scan(void); #endif 6、例如在LED模块的LED.c文件中可以编写以下代码 #include LED.h void LED_Init(void) { //初始化LED控制引脚为输出模式 LED_PIN LED_OFF; //将LED控制引脚初始化为关闭LED状态低电平LED状态变量默认为LED_OFF0状态。} void LED_Control(unsigned char state) { if (state LED_ON) { OPEN_LED(); //打开LED } else { CLOSE_LED(); //关闭LED } }7、例如在LED模块的LED.h文件中可以编写以下代码 #ifndef LED_H #define LED_H //IO口定义 #define LED_PIN P2_0 //LED控制引脚 //变量定义 unsigned char led_state 0; //LED状态变量 //常量定义 #define LED_ON 1 //LED打开状态常量 #define LED_OFF 0 //LED关闭状态常量 //宏定义 #define OPEN_LED() do { LED_PIN LED_ON; } while(0) #define CLOSE_LED() do { LED_PIN LED_OFF; } while(0) //LED初始化函数 void LED_Init(void); //LED控制函数 void LED_Control(unsigned char state); #endif 三、如何编写构建脚本例如MakeFile来指定编译和链接的规则 1、在工程文件夹下创建一个名为“MakeFile”的文件该文件是构建脚本的入口。 2、在MakeFile文件中定义需要编译的源文件和目标文件以及编译规则和选项。 1 # MakeFile 2 # 定义目标文件名 3 TARGET Name_Program 4 # 定义需要编译的源文件和头文件 5 SRC Main.c ModulesCodesFiles/KEY/KEY.c ModulesCodesFiles/LED/LED.c 6 INC ModulesCodesFiles/KEY/KEY.h ModulesCodesFiles/LED/LED.h 7 # 定义编译规则和选项 8 CC gcc 9 CFLAGS -Wall -I. 10 # 定义目标文件的编译规则 11 $(TARGET): $(SRC) $(INC) 12 $(CC) $(CFLAGS) $(SRC) -o $(TARGET) 13 # 定义清理规则用于删除生成的目标文件和其他临时文件 14 clean:rm -f $(TARGET)3、在MakeFile文件中使用规则来指定如何编译源文件和链接目标文件。例如在MakeFile文件中可以使用以下规则来指定如何编译源文件。 1 $(TARGET): $(SRC) $(INC) 2 $(CC) $(CFLAGS) $(SRC) -o $(TARGET)解释以上这个规则表示将所有的源文件包括Main.c、ModulesCodesFiles/KEY/KEY.c和ModulesCodesFiles/LED/LED.c编译并链接成一个名为“Name_Program”的可执行文件。 4、在Makefile文件中可以使用其他规则来定义其他构建任务例如“clean”任务用于删除生成的目标文件和其他临时文件。 5、最后在命令行中运行“make”命令来执行MakeFile文件中的构建任务。例如在命令行中输入以下命令来执行构建任务。 make
http://www.dnsts.com.cn/news/127136.html

相关文章:

  • 群晖wordpress搭建网站宁波网站建设设计方案
  • 进一步加大网站集约化建设力度微信做网站网站
  • 成为网站开发工程师北京标本制作
  • 站长统计黄页网站下载大全公司注册费用计入什么科目
  • 贵州网站建设设计公司企业邮箱登录入口
  • 网站建设开发公司微信公众号开发网络架构图
  • 做拍福利爱福利视频网站公司部门工作总结
  • 网站域名空间一年多少钱制作个网站需要多少钱
  • 怎么用ps做网站框架wordpress qq群
  • 厦门网站建设 首选猴子网络设计公司官方网站
  • 毕设什么类型网站容易做海尔公司网站建设现状
  • 不动产登记门户网站建设wordpress显示某一分类名称链接
  • 网站推广引流发布新闻稿
  • 学网站建设好不好流量网站建设教程
  • 专做蔬菜大棚的网站做一个购物网站需要什么技术
  • 房城乡建设部网站网站建设 企泰科技
  • 做网站可以盈利吗郑州网站建设外包业务
  • 厦门网站建设价可以自己设计房子的游戏
  • 旅游网站建设首选赢旅动力上海网页设计培训哪个好
  • 江苏省建设局报考网站陌陌引流推广软件
  • 北京建设网站的公司兴田德润简介淘宝上做网站 源代码怎么给你
  • 厦门市建设局报表网站免费源码分享平台
  • 网站改版对用户的影响人工智能培训
  • 什么网站可以做饼图外贸公司英文网站建设
  • 潍坊网站建设教程怎么在网上卖产品
  • 中山外贸网站开发价格湖南网站建设开发公司
  • 钱包钱夹移动网站建设drupal joomla wordpress
  • 深圳商城网站设计价格有自建服务器做网站的吗
  • 湛江网站seo长春建网站公司
  • 宁夏建设工程招标投标管理中心网站网络服务商怎么咨询