说明:通过处理器专家创建芯片为MC9S08DZ60的工程,按键控制LED 一、CW11.1软件界面布局 1、双击桌面图标,打开软件,设置工作空间 软件主界面 调试界面 处理器专家界面 有时经常调整(删除)面板布局,如果想恢复布局,可在Window工具栏下的Reset Perspective选项来复位面板布局 二、新建工程 1、在C/C++模式下,在Commander面板下点击New MCU project 2、创建一个裸板工程,设置工程名和存储路径(默认存储到工作空间),下一步 3、选择芯片型号 4、选择连接方式(程序调试下载方式) 5、选择编程语言 6、快速应用开发,处理器专家 7、C/C++选项 8、新建工程完成 三、底层配置 芯片具体型号选择(重要) 1、时钟设置,使能外部时钟,设置时钟频率8MHz(根据硬件的晶振频率),高速时钟设置为外部时钟 2、生成软件延时函数 查看帮助文档 点击Component MC9S08DZ60_64 Methods 3、按键接口硬件电路 4、双击 BitIO,添加IO组件 Pull resister设置为 no pull resister ,因为按键电路已经有一个4.7K的上拉电阻,按键没按下IO口为高电平,按下为低电平。 生成函数GetVal(); 重命名组件 5、重复相同步骤,设置另外三个按键组件 6、LED硬件电路,可以看出IO口输出低电平LED亮。 7、双击 BitIO,添加IO组件,步骤如上,方向为推挽输出,初始置为高电平 8、编译工程,生成代码。 四、编写中间件程序 1、新建文件夹 在SDK文件夹下新建源文件和头文件 在构建工程的时候,按模块分类文件夹,就存在需要包含头文件路径的问题。 选择C/C++General的Path and Symble,再选择GUN C。点击右边的 Add,点击Variables 选择ProjDirPath,在设置相应的文件路径。 2、编写代码 KeyCtr.h KeyCtr.c LedCtr.h LedCtr.c 五、建立应用层 1、新建文件夹 2、添加路径,新建文件(步骤如上) 3、代码编写 Task1.h Task1.c Working.h Working.c 4、主函数编写 5、编译,调试下载
// us100:word - Number of 100 us delay repetitions. void Delay100US(word us100)
IO口
描述
PTG2
ESC
PTG3
DOWN
PTG4
OK
PTG5
UP
#ifndef KEYCTR_H_ #define KEYCTR_H_ #include "KeyEsc.h" #include "KeyDown.h" #include "KeyOk.h" #include "KeyUp.h" #define KEYDOWN 0 #define Get_KeyEsc() KeyEsc_GetVal() #define Get_KeyDown() KeyDown_GetVal() #define Get_KeyOk() KeyOk_GetVal() #define Get_KeyUp() KeyUp_GetVal() #endif /* KEYCTR_H_ */
#include "KeyCtr.h"
#ifndef LEDCTR_H_ #define LEDCTR_H_ #include "Led1.h" #include "Led2.h" #include "Led3.h" #include "Led4.h" #define ON 0 #define OFF 1 void Led1_onoff(bool onoff); void Led2_onoff(bool onoff); void Led3_onoff(bool onoff); void Led4_onoff(bool onoff); #endif /* LEDCTR_H_ */
#include "LedCtr.h" void Led1_onoff(bool onoff) { Led1_PutVal(onoff); } void Led2_onoff(bool onoff) { Led3_PutVal(onoff); } void Led3_onoff(bool onoff) { Led3_PutVal(onoff); } void Led4_onoff(bool onoff) { Led4_PutVal(onoff); }
#ifndef TASK1_H_ #define TASK1_H_ #include "LedCtr.h" #include "KeyCtr.h" void task1(void); #endif /* TASK1_H_ */
#include "Task1.h" void task1(void) { if( KEYDOWN==Get_KeyEsc() ) { Led1_onoff(ON); } else { Led1_onoff(OFF); } if( KEYDOWN==Get_KeyDown() ) { Led2_onoff(ON); } else { Led2_onoff(OFF); } if( KEYDOWN==Get_KeyOk() ) { Led3_onoff(ON); } else { Led3_onoff(OFF); } if( KEYDOWN==Get_KeyUp() ) { Led4_onoff(ON); } else { Led4_onoff(OFF); } Cpu_Delay100US(100);//10ms }
#ifndef WORKING_H_ #define WORKING_H_ #include "Task1.h" void runing(void); #endif /* WORKING_H_ */
#include "Working.h" void runing(void) { for(;;) { task1(); } }
本网页所有视频内容由 imoviebox边看边下-网页视频下载, iurlBox网页地址收藏管理器 下载并得到。
ImovieBox网页视频下载器 下载地址: ImovieBox网页视频下载器-最新版本下载
本文章由: imapbox邮箱云存储,邮箱网盘,ImageBox 图片批量下载器,网页图片批量下载专家,网页图片批量下载器,获取到文章图片,imoviebox网页视频批量下载器,下载视频内容,为您提供.
阅读和此文章类似的: 全球云计算