说明:通过处理器专家创建芯片为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

//    us100:word - Number of 100 us delay repetitions.void Delay100US(word us100)

3、按键接口硬件电路

IO口 描述
PTG2 ESC
PTG3 DOWN
PTG4 OK
PTG5 UP

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 Symbles,再选择GUN C。点击右边的 Add,点击Variables 选择ProjDirPath,在设置相应的文件路径。

2、编写代码

KeyCtr.h


#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_ */

KeyCtr.c


#include "KeyCtr.h"

LedCtr.h

#ifndef LEDCTR_H_
#define LEDCTR_H_#include "Led1.h"
#include "Led2.h"
#include "Led3.h"
#include "Led4.h"#define ON   0
#define OFF 1void Led1_onoff(bool onoff);
void Led2_onoff(bool onoff);
void Led3_onoff(bool onoff);
void Led4_onoff(bool onoff);#endif /* LEDCTR_H_ */

LedCtr.c

#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);
}

五、建立应用层

1、新建文件夹

2、添加路径,新建文件(步骤如上)

3、代码编写

Task1.h

#ifndef TASK1_H_
#define TASK1_H_#include "LedCtr.h"
#include "KeyCtr.h"void task1(void);#endif /* TASK1_H_ */

Task1.c

#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}

Working.h

#ifndef WORKING_H_
#define WORKING_H_#include "Task1.h"void runing(void);#endif /* WORKING_H_ */

Working.c

#include "Working.h"void runing(void)
{for(;;){task1();}
}

4、主函数编写

5、编译,调试下载

CW MCU v11.1学习笔记1相关推荐

  1. MCU学习笔记_IO引脚复用和映射

    MCU学习笔记 IO引脚复用和映射 1. 端口复用 2. 端口复用配置过程 1. 端口复用 STM32有很多内置外设,外设的外部引脚都是与GPIO复用的.即,一个GPIO,如果可以复用为内置外设的功能 ...

  2. MCU学习笔记_STA及PT工具

    一.常用命令     1.restore_session         restore_session xx/xx/PTsavesessions/func_hsi_ss_1p35v_125c_max ...

  3. [学习笔记]stm32

    文章目录 一些问题 学习笔记 stm32F1 stm32F4 简介 Cortex内核 Cortex-M4内核 库开发与寄存器开发的关系 STM32 固件库与 CMSIS 标准 内部结构 最小系统 小马 ...

  4. GPS nmealib学习笔记

    GPS nmealib学习笔记 标签: GPSnmealibCSTACKHEAP 2013-10-17 11:12 4274人阅读 评论(7) 收藏 举报  分类: 嵌入式ARM(24)  版权声明: ...

  5. 台湾大学林轩田机器学习技法课程学习笔记1 -- Linear Support Vector Machine

    红色石头的个人网站:redstonewill.com 关于台湾大学林轩田老师的<机器学习基石>课程,我们已经总结了16节课的笔记.这里附上基石第一节课的博客地址: 台湾大学林轩田机器学习基 ...

  6. FPGA学习笔记之Altera FPGA使用JIC文件配置固化教程

    FPGA学习笔记之Altera FPGA使用JIC文件配置固化教程 很多做过单片机的朋友都知 道,我们在对MCU烧写完程序固件后,那么该程序固件就存储在了该MCU内部.即使MCU断电了再重新上电,程序 ...

  7. 通过mtd读写flash_敏矽微电子Cortex-M0学习笔记11-FLASH存储器

    学习笔记 1.FLASH存储器简介 ME32F030采用高可靠的嵌入式Flash 技术,64K用户区间,支持 IAP/ISP Flash 擦写技术.MCU Flash 采用 32 位数据总线读写,充分 ...

  8. SpaceEmacs Rock Day7 学习笔记

    <?xml version="1.0" encoding="utf-8"?> SpaceEmacs Rock Day7 学习笔记 SpaceEmac ...

  9. dma接收双缓存 stm32_「STM32学习笔记」USART 新特性

    之前的学习笔记"SPI不够用?USART来帮忙"一文中介绍了用如何把USART当做SPI来用的方法.此外,ST的USART还有很多新特性,没准有你不知道的. 在此,我们整理出来以下 ...

最新文章

  1. ggcor包的安装与绘图示例
  2. 欧几里得距离网络_Scientific Reports|基于集成相似度的神经网络药物相互作用预测...
  3. PolarDB数据库性能大赛:95后徐妈的经验分享
  4. select中option改变时跳转到其他页面
  5. silverlight,WPF动画终极攻略之番外 3D切换导航篇(Blend 4开发)
  6. linux下mysql远程登陆
  7. 【飞控理论】【惯性导航基础】什么是欧拉角?为什么会有欧拉角?欧拉角在航空领域的运用?
  8. Mac 显示sudo: pip: command not found
  9. hnu 暑期实训之公交系统
  10. python 函数参数的传递(参数带星号的说明) 元组传递 字典传递
  11. UI:使用 pod 引入 AFNetworking
  12. 测试的第二重境界:站在Bug之上
  13. AWS表示:我们将用Lambda函数让移动应用程序再次变得伟大
  14. Spring Cloud Ribbon 的请求分发与原理
  15. ad域推送软件_Windows域推送软件、域推送安装msi程序、域推送安装软件的方法
  16. React.js介绍
  17. onenote 插入图片或文件后 显示 您不再有权访问此笔记本。如果还原权限,我们将再次同步
  18. 驾考通-小型汽车考试
  19. Linux 服务器一键测速脚本工具:GreenBench
  20. cad.net 利用win32api实现一个命令开关参照面板

热门文章

  1. 5年,你知道我这5年怎么过的吗?路过东方明珠的测试人,心死了
  2. android开发 pdf阅读器 第三方可,android pdf 阅读器开发, pdf demo, pdf第三方控件
  3. ChatGPT APP来了,还可以直接订阅Plus账号,操作流程都这篇里面
  4. iOS中 为 iOS 建立 Travis CI 韩俊强的博客
  5. 迪文触摸串口屏 实例应用(2)——创建工程
  6. 诚之和:SQL 左连接 - 示例连接语句语法
  7. 全国计算机二级aoa真题题库,计算机AOA试题单选判断及答案.docx
  8. MATLAB---回归分析
  9. 基于keil环境下mm32f327单片机rtthread的移植
  10. 都是蹭热点,差距咋就这么大呢?| 拍者手记