- 1、本文档共14页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第6章 数字输入输出I/O
LF2407/LF2407A有41只I/O引脚,大部分的是复用的,可完成多种功能。
DSP复位时,大部分的复用I/O引脚会被设为数字输入的模式。
数字I/O脚有专用和复用之分。其功能可通过9个16位控制寄存器来控制。
控制寄存器分为两类:
(1)I/O复用控制寄存器(MCRx),用来选择I/O脚是片内外设功能还是通用I/O功能;
(2)数据方向控制寄存器(PxDATDIR):用来控制双向I/O脚的数据和数据传送方向。
6.1 数字I/O寄存器简介
LF2407/2407A某位I/O复用引脚的结构见图6.1,由图可看出复用I/O引脚如何实现来引脚功能选择和数据传送方向选择的。
图6.1 复用I/O引脚的结构
表6-1列出了与I/O模块有关的寄存器,地址为:7090h-709Fh(映射在数据存储器空间)
地址 寄存器 功能
7090h MCRA I/O复用控制寄存器A
7092h MCRB I/O复用控制寄存器B
7094h MCRC I/O复用控制寄存器C
7098h PADATDIR I/O端口A数据和方向寄存器
709Ah PBDATDIR I/O端口B数据和方向寄存器
709Ch PCDATDIR I/O端口C数据和方向寄存器
709Eh PDDATDIR I/O端口D数据和方向寄存器
7095h PEDATDIR I/O端口E数据和方向寄存器
7096h PFDATDIR I/O端口F数据和方向寄存器
6.2 I/O 端口复用控制寄存器
具有3个I/O端口复用控制寄存器:MCRA、MCRB、MCRC。
(1) I/O端口复用控制寄存器A(MCRA),映射地址:7090h,MCRA的格式如下,
位x:MCRA.x,I/O端口复用控制位
0-I/O功能;
1-基本功能;
表6.1 MCRA的配置
(2) I/O端口复用控制寄存器B(MCRB),映射地址:7092h。MCRB的具体格式见教材的表6.3。
(3) I/O端口复用控制寄存器C(MCRC),映射地址:7092h。MCRC的具体格式见教材的表6.4。
注意:保留引脚。
6.3 数据和方向控制寄存器
LF2407/2407A有6个数据和方向控制寄存器(PxDATDIR), 这些数据和方向控制寄存器包含控制引脚的两个功能位。
I/O方向位
如果引脚被选择通用I/O,方向位决定了该引脚是作输入(0),还是输出(1)。
I/O数据位
如果引脚被选择了通用I/O,当方向选为输入,则可从该位上读取数据,当方向选为输出,则可向该位写入数据。
(1)I/O端口A数据和方向控制寄存器(PADATDIR),映射地址:7098h
位15-8:AnDIR PA7-PA0的数据方向
0-相应引脚配置为输入
1-相应引脚配置为输出
位7-0:IOPAn PA7-PA0的数据
如果AnDIR=0,引脚配置为输入:
0-相应引脚的电平读为低电平
1-相应引脚的电平读为高电平
如果AnDIR=1,引脚配置为输出:
0-设置相应引脚,使其输出信号为低电平
1-设置相应引脚,使其输出信号为高电平
(2)I/O端口B数据和方向控制寄存器(PBDATDIR),映射地址:709Ah, PBDATDIR的具体格式见教材的表6.6。
(3)I/O端口C数据和方向控制寄存器(PCDATDIR),映射地址:709Ch, PBDATDIR的具体格式见教材的表6.8。
(4)I/O端口D数据和方向控制寄存器(PDDATDIR),映射地址:709Eh, PBDATDIR的具体格式见教材的表6.9。
(5)I/O端口E数据和方向控制寄存器(PEDATDIR),映射地址:7095h, PBDATDIR的具体格式见教材的表6.10。
(6)I/O端口F数据和方向控制寄存器(PFDATDIR),映射地址:7096h, PBDATDIR的具体格式见教材的表6.11。
注意:保留引脚。
6.4 数字I/O端口配置实例
在使用数字I/O之前,需用软件对数字I/O进行配置,选择I/O引脚的功能,且设置I/O引脚的数据方向,然后才可以读取数据或输出数据。
下面为一个基本的数字I/O配置实例的C程序。可参照此程序,来配置其它的任何数目的数字I/O。
6.5 数字I/O的应用实例
6.5.1 使用数字I/O查询输入信号
使用数字I/O端口来查询外界信号输入情况,硬件接口电路如图6.2所示。4路输入信号,用IOPB的4个I/O去查询。
图6.2 光耦隔离输入电路原理图
C语言程序如下:
6.5.2 使用数字I/O输出信号
用4个I/O端口控制4个LED的循环发光,硬件接口电路如图6.3所示。DSP
文档评论(0)