- 1、本文档共31页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
(第一个样例程序及CodeWarrior工程组织
第3章 第一个样例程序及 CodeWarrior工程组织 主要内容 3.1 通用I/O接口基本概念及连接方法 3.2 AW60的GPIO 3.3 开发套件CodeWarrior开发环境与 S08/S12/ColdFire写入器 3.4 CW环境C语言工程文件的组织 3.5 第一个C语言工程:控制小灯闪烁 3.6 第一个汇编语言工程:控制小灯闪烁 3.1 通用I/O接口基本概念及连接方法 1. I/O接口的概念 I/O接口,即输入输出接口,是微控制器同外界进行交互的 重要通道。这里的接口英文是port,也可以翻译为“端口”, 另一个英文单词是interface,也翻译为接口。在嵌入式系统中, 接口千变万化,种类繁多,有显而易见的人机交互接口,如操 纵杆、键盘、显示器;也有无人介入的接口,如网络接口、机 器设备接口 2.通用I/O 所谓通用I/O,也记为GPIO(General Purpose I/O),即基 本的输入/输出,有时也称并行I/O,或普通I/O,它是I/O的最 基本形式 通用I/O接口一般应具备 放置输入或输出控制字的寄存器 放置工作方式控制字的寄存器 放置要交换数据的寄存器 放置反映工作状态的寄存器 3.上拉下拉电阻与输入引脚的基本接法 输入引脚有三种不同的连接方式:带上拉电阻的连接、带下拉电阻的连接和“悬空”连接。 若MCU的某个引脚通过一个电阻接到电源(Vcc)上,这个电阻被称为“上拉电阻”。与之相对应,若MCU的某个引脚通过一个电阻接到地(GND)上,则相应的电阻被称为“下拉电阻”。悬空的芯片引脚被上拉电阻或下拉电阻初始化为高电平或低电平。 I/O输入电路 4.输出引脚的基本接法 作为通用输出引脚,MCU内部程序 向该引脚输出高电平或低电平来驱动 器件工作,即开关量输出。如图所示。 其中O1引脚是发光二极管LED的驱动引 脚,当O1引脚输出高电平时,LED不亮; 当O1引脚输出低电平时,LED点亮。O2 引脚接蜂鸣器驱动电路,当O2脚输出高 电平时,蜂鸣器响;O2脚输出低电平时, 蜂鸣器不响 I/O口输出电路 3.2 AW60的GPIO 3.2.1 AW60 GPIO编程的基本原理与编程基本方法 AW60的大部分引脚具有多 重功能,可以通过编程设定使 用其中一种功能。 AW60有7个 GPIO口,每个GPIO口的名称由 一位英文字母组成,分别是A、 B、C、D、E、F、G。右图给出 了AW60的7个GPIO口的引脚分布 情况。 GPIO模块框图 GPIO的基本编程方法: 通过“数据方向寄存器”设置相应引脚为输入或输出 若是输出引脚,则设置“端口引脚数据寄存器”引脚输出高电平或低电平 若是输入引脚,则通过“端口引脚数据寄存器”获得引脚的状态 3.2.2 GPIO模块寄存器 GPIO模块的每个口最多对应8个GPIO引脚,但各个GPIO口 的编程寄存器均为8位,没有对应引脚的位无效。 GPIO模块寄 存器的命名有一定的规范,所有寄存器都在AW60芯片寄存器及 相关位定义头文件AW60.h中定义。其中“端口数据寄存器”是 PT+该端口的名称+D。“端口输出方向寄存器”是PT+该端口的 名称+DD。所有寄存器的位编号从0开始,且最低位编号为0。例如,一个8位寄存器的最低位编号为0,最高位编号为7。 1.操作GPIO的基本寄存器 端口数据方向寄存器DDR(Port Data Direction Register) 这些位分别控制着端口引脚是输入还是输出,若为0,则引 脚为输入,若为1,则引脚为输出。复位时为0x00 端口数据寄存器PORT(Port Data Register) 若引脚被配置为输出,PORTn 寄存器中每一位数据决定了对 应引脚的输出电平。复位时PORTn 寄存器的所有被使用的位为1 2.GPIO的基本编程方法举例 以D口第3脚的GPIO功能为例 为了程序通用性,对要设置的引脚进行宏定义 #define RUN_PORT PORT_D // 灯使用的端口 #define RUNpin 3 // 用RUNpin代替“3” 当需要对寄存器的具体位进行设置,通常会使用位操作 RUN_PORT 0//表示将RUN_PORT的第3位设置为0 RUN_PORT | 0//表示将RUN_PORT的第3位设置为1 为了程序通用性,以上两行代码需要写成: RUN_PORT ~ 0x01 RUNpin //将RUN_PORT的第3位设置为0 RUN_PORT | 0x01 RUNpin //将RUN_PORT的第3位设置为1 3.3 开发套件CodeWarrior开发环
您可能关注的文档
最近下载
- 述责述廉报告 述责述廉报告2020三篇.docx VIP
- 沪教版小学四年级语文第一学期全册课件.ppt
- [贾平凹废都柳月]贾平凹作品废都.pdf
- 营房安全知识.docx VIP
- 东华大学教职工各类俱乐部(文体类)协会管理规定.doc
- 安徽省合肥市第四十五中学2023-2024学年八年级上学期期中物理试题(含答案).docx VIP
- 小学数学教研组教研工作总结PPT.pptx
- 贸易安全标准培训教材PPT课件(精编)共42页PPT-课件有实际AEO企业案例.pptx VIP
- 18.4数学活动-折纸做60°-30°-15°的角省公开课获奖课件市赛课比赛一等奖课件.pptx
- 2024软件正版化培训.pptx VIP
文档评论(0)