第03章-第一个样例程序及CodeWarrior工程组织课件.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《第03章-第一个样例程序及CodeWarrior工程组织课件.ppt》由用户(三亚风情)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 03 一个样 例程 CodeWarrior 工程 组织 课件
- 资源描述:
-
1、第第3 3章章 第一个样例程序及第一个样例程序及 CodeWarriorCodeWarrior工程组织工程组织主要内容主要内容v3.1 3.1 通用通用I/OI/O接口基本概念及连接方法接口基本概念及连接方法v3.2 AW603.2 AW60的的GPIOGPIOv3.3 3.3 开发套件开发套件CodeWarriorCodeWarrior开发环境与开发环境与 S08/S12/ColdFireS08/S12/ColdFire写入器写入器v3.4 CW3.4 CW环境环境C C语言工程文件的组织语言工程文件的组织v3.5 3.5 第一个第一个C C语言工程:控制小灯闪烁语言工程:控制小灯闪烁v3.
2、6 3.6 第一个汇编语言工程:控制小灯闪烁第一个汇编语言工程:控制小灯闪烁3.1 通用通用I/OI/O接口基本概念及连接方法接口基本概念及连接方法1. I/O1. I/O接口的概念接口的概念 I/OI/O接口,即输入输出接口,是微控制器同外界进行交互的接口,即输入输出接口,是微控制器同外界进行交互的重要通道。这里的接口英文是重要通道。这里的接口英文是portport,也可以翻译为,也可以翻译为“端口端口”,另一个英文单词是另一个英文单词是interfaceinterface,也翻译为接口。在嵌入式系统中,也翻译为接口。在嵌入式系统中,接口千变万化,种类繁多,有显而易见的人机交互接口,如操接口
3、千变万化,种类繁多,有显而易见的人机交互接口,如操纵杆、键盘、显示器;也有无人介入的接口,如网络接口、机纵杆、键盘、显示器;也有无人介入的接口,如网络接口、机器设备接口器设备接口2 2通用通用I/OI/O 所谓通用所谓通用I/OI/O,也记为,也记为GPIOGPIO(General Purpose I/OGeneral Purpose I/O),即基),即基本的输入本的输入/ /输出,有时也称并行输出,有时也称并行I/OI/O,或普通,或普通I/OI/O,它是,它是I/OI/O的最的最基本形式基本形式通用通用I/OI/O接口一般应具备接口一般应具备 放置输入或输出控制字的寄存器放置输入或输出控
4、制字的寄存器放置工作方式控制字的寄存器放置工作方式控制字的寄存器放置要交换数据的寄存器放置要交换数据的寄存器放置反映工作状态的寄存器放置反映工作状态的寄存器3 3上拉下拉电阻与输入引脚的基本接法上拉下拉电阻与输入引脚的基本接法 输入引脚有三种不同的连接方式:带上拉电阻的连接、输入引脚有三种不同的连接方式:带上拉电阻的连接、带下拉电阻的连接和带下拉电阻的连接和“悬空悬空”连接。连接。若若MCUMCU的某个引脚通过一个电阻接到电源(的某个引脚通过一个电阻接到电源(VccVcc)上,这)上,这个电阻被称为个电阻被称为“上拉电阻上拉电阻”。与之相对应,若。与之相对应,若MCUMCU的某个引的某个引脚通
5、过一个电阻接到地(脚通过一个电阻接到地(GNDGND)上,则相应的电阻被称为)上,则相应的电阻被称为“下拉电阻下拉电阻”。悬空的芯片引脚被上拉电阻或下拉电阻初。悬空的芯片引脚被上拉电阻或下拉电阻初始化为高电平或低电平。始化为高电平或低电平。I/OI/O输入电路输入电路4.4.输出引脚的基本接法输出引脚的基本接法 作为通用输出引脚,作为通用输出引脚,MCUMCU内部程序内部程序向该引脚输出高电平或低电平来驱动向该引脚输出高电平或低电平来驱动器件工作,即开关量输出。如图所示。器件工作,即开关量输出。如图所示。其中其中O1O1引脚是发光二极管引脚是发光二极管LEDLED的驱动引的驱动引脚,当脚,当O
6、1O1引脚输出高电平时,引脚输出高电平时,LEDLED不亮;不亮;当当O1O1引脚输出低电平时,引脚输出低电平时,LEDLED点亮。点亮。O2O2引脚接蜂鸣器驱动电路,当引脚接蜂鸣器驱动电路,当O2O2脚输出高脚输出高电平时,蜂鸣器响;电平时,蜂鸣器响;O2O2脚输出低电平时,脚输出低电平时,蜂鸣器不响蜂鸣器不响 I/O I/O口输出电路口输出电路3.2 AW603.2 AW60的的GPIOGPIO3.2.1 AW60 GPIO3.2.1 AW60 GPIO编程的基本原理与编程基本方法编程的基本原理与编程基本方法 AW60AW60的大部分引脚具有多的大部分引脚具有多重功能,可以通过编程设定使重
7、功能,可以通过编程设定使用其中一种功能。用其中一种功能。 AW60AW60有有7 7个个GPIOGPIO口,每个口,每个GPIOGPIO口的名称由口的名称由一位英文字母组成,分别是一位英文字母组成,分别是A A、B B、C C、D D、E E、F F、G G。右图给出。右图给出了了AW60AW60的的7 7个个GPIOGPIO口的引脚分布口的引脚分布情况。情况。GPIOGPIO模块框图模块框图GPIOGPIO的基本编程方法:的基本编程方法: 通过通过“数据方向寄存器数据方向寄存器”设置相应引脚为输入或输出设置相应引脚为输入或输出 若是输出引脚,则设置若是输出引脚,则设置“端口引脚数据寄存器端口
8、引脚数据寄存器”引脚输出引脚输出高电平或低电平高电平或低电平 若是输入引脚,则通过若是输入引脚,则通过“端口引脚数据寄存器端口引脚数据寄存器”获得引脚获得引脚的状态的状态3.2.2 GPIO GPIO模块寄存器模块寄存器 GPIO GPIO模块的每个口最多对应模块的每个口最多对应8 8个个GPIOGPIO引脚,但各个引脚,但各个GPIOGPIO口口的编程寄存器均为的编程寄存器均为8 8位,没有对应引脚的位无效。位,没有对应引脚的位无效。 GPIO GPIO模块寄模块寄存器的命名有一定的规范,所有寄存器都在存器的命名有一定的规范,所有寄存器都在AW60AW60芯片寄存器及芯片寄存器及相关位定义头
9、文件相关位定义头文件AW60.hAW60.h中定义。其中中定义。其中“端口数据寄存器端口数据寄存器”是是PT+PT+该端口的名称该端口的名称+D+D。“端口输出方向寄存器端口输出方向寄存器”是是PT+PT+该端口的该端口的名称名称+DD+DD。所有寄存器的位编号从。所有寄存器的位编号从0 0开始,且最低位编号为开始,且最低位编号为0 0。例如,一个例如,一个8 8位寄存器的最低位编号为位寄存器的最低位编号为0 0,最高位编号为,最高位编号为7 7。1 1操作操作GPIOGPIO的基本寄存器的基本寄存器 端口数据方向寄存器端口数据方向寄存器DDRDDR(Port Data Direction R
10、egisterPort Data Direction Register) 这些位分别控制着端口引脚是输入还是输出,若为这些位分别控制着端口引脚是输入还是输出,若为0 0,则引,则引 脚为输入,若为脚为输入,若为1 1,则引脚为输出。复位时为,则引脚为输出。复位时为0 x000 x00 端口数据寄存器端口数据寄存器PORTPORT(Port Data RegisterPort Data Register) 若引脚被配置为输出,若引脚被配置为输出,PORTn PORTn 寄存器中每一位数据决定了对寄存器中每一位数据决定了对 应引脚的输出电平。复位时应引脚的输出电平。复位时PORTn PORTn 寄
11、存器的所有被使用的位寄存器的所有被使用的位为为1 12 2GPIOGPIO的基本编程方法举例的基本编程方法举例 以以D D口第口第3 3脚的脚的GPIOGPIO功能为例功能为例u 为了程序通用性,对要设置的引脚进行宏定义为了程序通用性,对要设置的引脚进行宏定义l #define RUN_PORT PORT_D / #define RUN_PORT PORT_D / 灯使用的端口灯使用的端口l #define #define RUNpinRUNpin 3 / 3 / 用用RUNpinRUNpin代替代替“3”3”u 当需要对寄存器的具体位进行设置,通常会使用位操作当需要对寄存器的具体位进行设置,
12、通常会使用位操作l RUN_PORT &= 0b11110111 /RUN_PORT &= 0b11110111 /表示将表示将RUN_PORTRUN_PORT的第的第3 3位设置为位设置为0 0l RUN_PORT |= 0b00001000 /RUN_PORT |= 0b00001000 /表示将表示将RUN_PORTRUN_PORT的第的第3 3位设置为位设置为1 1u 为了程序通用性,以上两行代码需要写成:为了程序通用性,以上两行代码需要写成:l RUN_PORT &= RUN_PORT &= (0 x01 (0 x01 RUNpinRUNpin) /) /将将RUN_PORTRUN_
展开阅读全文