入门学习之数字IO模块_第1页
入门学习之数字IO模块_第2页
入门学习之数字IO模块_第3页
入门学习之数字IO模块_第4页
入门学习之数字IO模块_第5页
已阅读5页,还剩22页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第6章: 数字输入/输出模块(I/O)6.1 数字I/O6.2 数字I/O端口寄存器6.3 I/O1 6.1 数字I/O端口概述数字I/O脚有专用和复用之分。其功能可通过9个16位控制寄存器来控制。控制寄存器分为两类:I/O复用控制寄存器(MCRx),用来选择I/O脚是片内外设功能还是通用I/O功能;数据方向控制寄存器(PxDATDIR):用来控制双向I/O脚的数据传送方向。注意:上述数字I/O脚是通过控制寄存器(映射在数据存储器空间)来控制的,与器件的I/O空间无任何关系。LF240 x系列DSP多达41只I/O引脚,大部分是复用的。2 6.2 数字I/O寄存器I/O复用引脚的结构见图6.1

2、。由图可看出复用I/O引脚如何来实现引脚功能选择和数据传送方向选择的。图6.1复用引脚配置图3 6.2 数字I/O寄存器表6.1(P97)列出了与I/O模块有关的寄存器,地址为:7090h-709Fh注意:映射到数据存储器空间。当复用I/O脚无论是被配置为外设功能还是为通用I/O时,引脚的状态都可通过读I/O数据寄存器来获取。 保留位是不可操作的,读出为0,写入对它无影响。4 6.2 数字I/O寄存器地址寄存器功能7090hMCRAI/O复用控制寄存器A7092hMCRBI/O复用控制寄存器B7094hMCRCI/O复用控制寄存器C7098hPADATDIRI/O端口A数据和方向寄存器709A

3、hPBDATDIRI/O端口B数据和方向寄存器709ChPCDATDIRI/O端口C数据和方向寄存器709EhPDDATDIRI/O端口D数据和方向寄存器7095hPEDATDIRI/O端口E数据和方向寄存器7096hPFDATDIRI/O端口F数据和方向寄存器表6.1数字I/O控制寄存器地址5 6.2 数字I/O寄存器I/O口复用输出寄存器LF240 x/240 xA具有3个I/O端口复用控制寄存器:MCRA、MCRB、MCRC。(1)I/O端口复用控制寄存器A(MCRA),映射地址:7090h,其配置见表6.2(P97)。6 6.2 数字I/O寄存器位基本功能及描述(MCRA.n=1)通用

4、I/O(MCRA.n=0)MCRA.0SCITXD :SCI异步串行口发送数据IOPA0MCRA.1SCIRXD: SCI异步串行口接收数据IOPA1MCRA.2XINT1:外部用户中断1IOPA2MCRA.3CAP1/QEP1:捕捉输入1/正交编码脉冲输入1(EVA)IOPA3MCRA.4CAP2/QEP2:捕捉输入2/正交编码脉冲输入2(EVA)IOPA4MCRA.5CAP3:捕捉输入3(EVA)IOPA5MCRA.6PWM1:比较/PWM输出引脚1(EVA)IOPA6MCRA.7PWM2:比较/PWM输出引脚2(EVA)IOPA7MCRA.8PWM3:比较/PWM输出引脚3(EVA)IO

5、PB0MCRA.9PWM4:比较/PWM输出引脚4(EVA)IOPB1MCRA.10PWM5:比较/PWM输出引脚5(EVA)IOPB2MCRA.11PWM6:比较/PWM输出引脚6(EVA)IOPB3MCRA.12T1PWM/T1CMP:TMR1比较输出(EVA)IOPB4MCRA.13T2PWM/T2CMP :TMR2比较输出(EVA)IOPB5MCRA.14TDIRA:通用定时器计数方向选择(EVA);1=加计数;0=减计数IOPB6MCRA.15TCLKINA:通用定时器(EVA)的外部时钟输入IOPB77 6.2 数字I/O寄存器(2)I/O端口复用控制寄存器B,映射地址:7092h

6、,其配置见表6.3(P98)。注意:MCRB.9-MCRB.15必须配置成1,其为系统的专用引脚,用作与硬件仿真器接口(JTAG)相连,实现DSP的在线仿真功能。对其写0会引起不可预测的结果。8 6.2 数字I/O寄存器位基本功能及描述(MCRA.n=1)通用I/O(MCRA.n=0)MCRB.0W/R:写/读选定;0=读;1=写IOPC0MCRB.1BIO:分支控制输入;0=执行分支程序IOPC1MCRB.2SPISIMO:SPI从动输入、主动输出IOPC2MCRB.3SPISOMI: SPI从动输出、主动输入IOPC3MCRB.4SPICLK:SPI时钟IOPC4MCRB.5SPISTE:

7、SPI从动发送使能IOPC5MCRB.6CANTX:CAN发送数据IOPC6MCRB.7CANRX:CAN接收数据IOPC7MCRB.8XINT2/ADCSOC:外部用户中断2/AD转换开始输入IOPD0MCRB.9EMU0:带内部上拉仿真器I/O引脚0保留位MCRB.10EMU1:带内部上拉仿真器I/O引脚1保留位MCRB.11TCK:带内部上拉JTAG测试时钟保留位MCRB.12TDI :带内部上拉JTAG测试数据输入保留位MCRB.13TDO:带内部上拉JTAG测试数据输出保留位MCRB.14TMS:带内部上拉JTAG测试方式选择保留位MCRB.15TMS2:带内部上拉JTAG测试方式选

8、择2保留位9 6.2 数字I/O寄存器(3)I/O端口复用控制寄存器C(MCRC),映射地址:7094h,其配置见表6.4(P99)。10 6.2 数字I/O寄存器位基本功能(MCRA.n=1)通用I/O(MCRA.n=0)MCRC.0CLKOUT:时钟输出IOPE0MCRC.1PWM7:比较/PWM输出引脚7(EVA)IOPE1MCRC.2PWM8:比较/PWM输出引脚8(EVA)IOPE2MCRC.3PWM9:比较/PWM输出引脚9(EVA)IOPE3MCRC.4PWM10:比较/PWM输出引脚10(EVA)IOPE4MCRC.5PWM11:比较/PWM输出引脚11(EVA)IOPE5MC

9、RC.6PWM12:比较/PWM输出引脚12(EVA)IOPE6MCRC.7CAP4/QEP3:捕捉输入4/正交编码脉冲输入3(EVA)IOPE7MCRC.8CAP5/QEP4:捕捉输入5/正交编码脉冲输入4(EVA)IOPF0MCRC.9CAP6:捕捉输入6IOPF1MCRC.10T3PWM/T3CMP: TMR3比较输出(EVA)IOPF2MCRC.11T4PWM/T4CMP; TMR4比较输出(EVA)IOPF3MCRC.12TDIRB:通用定时计数器方向选择(EVB)IOPF4MCRC.13TCLKINB:通用定时器(EVB)的外部时钟输入IOPF5MCRC.14保留IOPF6MCRC

10、.15保留保留位11 6.2 数字I/O寄存器I/O口数据和方向寄存器6个数据和方向控制寄存器(PXDATDIR),包含两个功能位。(1) I/O方向位:如果引脚被选择了通用I/O,方向位决定了是输入(0)还是输出(1)。(2) I/O数据位:如果引脚被选择了通用I/O,当方向选为输入,则可从该位上读取数据,当方向选为输出,则可向该位写入数据。如I/O端口被选择作通用I/O引脚,数据和方向控制寄存器可以控制数据和I/O引脚的数据方向。如I/O端口被选择作外设功能时,数据和方向控制寄存器的设置对相应的引脚无影响。12 6.2 数字I/O寄存器(1)端口A数据和方向控制寄存器(PADATDIR),

11、地址:7098h位15-8:AnDIR PA7-PA0的数据方向0:相应引脚配置为输入1:相应引脚配置为输出位7-0:IOPA7-IOPA0如果AnDIR=0,引脚配置为输入0相应引脚的电平读为低电平1相应引脚的电平读为高电平如果AnDIR=1,引脚配置为输出0设置相应引脚,使其输出信号为低电平时有效1设置相应引脚,使其输出信号为高电平时有效如果I/O端口用作通用I/O,则必须对数据和方向寄存器进行初始化设置,为输入还是输出。13 6.2 数字I/O寄存器(2) 端口B数据和方向控制寄存器(PBDATDIR),地址:709Ah位15-8:BnDIR PB7-PB0的数据方向0相应引脚配置为输入

12、1相应引脚配置为输出位7-0:IOPBn如果BnDIR=0,引脚配置为输入方式。0相应引脚的电平读为低电平1相应引脚的电平读为高电平如果BnDIR=1,引脚配置为输出0设置相应引脚,使其输出信号为低电平时有效1设置相应引脚,使其输出信号为高电平时有效14 6.2 数字I/O寄存器(3)端口C数据和方向控制寄存器(PCDATDIR),地址:709Ch 位15-8:CnDIR PC7-PC0的数据方向0相应引脚配置为输入1相应引脚配置为输出位7-0:IOPCn如果CnDIR=0,引脚配置为输入方式。0相应引脚的电平读为低电平1相应引脚的电平读为高电平如果CnDIR=1,引脚配置为输出0设置相应引脚

13、,使其输出信号为低电平时有效1设置相应引脚,使其输出信号为高电平时有效15 6.2 数字I/O寄存器(4) 端口D数据和方向控制寄存器(PDDATDIR),地址:709Eh 位15-9:保留位8:D0DIR0相应引脚配置为输入1相应引脚配置为输出位7-1:保留位0:IOPD0如果D0DIR=0,引脚配置为输入方式。0相应引脚的电平读为低电平1相应引脚的电平读为高电平如果D0DIR=1,引脚配置为输出0设置相应引脚,使其输出信号为低电平时有效1设置相应引脚,使其输出信号为高电平时有效16 6.2 数字I/O寄存器(5)端口E数据和方向控制寄存器(PEDATDIR),地址:7095h 位15-8:

14、EnDIR PE7-PE0的数据方向0相应引脚配置为输入1相应引脚配置为输出位7-0:IOPEn如果EnDIR=0,引脚配置为输入方式。0相应引脚的电平读为低电平1相应引脚的电平读为高电平如果EnDIR=1,引脚配置为输出0设置相应引脚,使其输出信号为低电平时有效1设置相应引脚,使其输出信号为高电平时有效17 6.2 数字I/O寄存器(6) 端口F数据和方向控制寄存器(PFDATDIR),地址:7096h位15:保留位14-8:FnDIR PF6-PF0的数据方向0相应引脚配置为输入1相应引脚配置为输出位7:保留位7-0:IOPFn如果FnDIR=0,引脚配置为输入方式。0相应引脚的电平读为低

15、电平1相应引脚的电平读为高电平如果FnDIR=1,引脚配置为输出0设置相应引脚,使其输出信号为低电平时有效1设置相应引脚,使其输出信号为高电平时有效18 6.2 数字I/O寄存器数字I/O端口配置实例配置:选择I/O引脚的功能,且设置I/O引脚的方向。I/O配置实例程序:19 6.3 I/O端口应用1、I/O端口作为输出使用I/O端口输出8个信号,这8个信号分别连接到8个LED,硬件接口电路如图6.2(P102)所示。输出引脚与LED之间接一触发器74HC273,来实现对LED的驱动。在此使用IOPB作为输出信号来控制发光二极管的亮灭,而IOPF2作为选通74HC273的输出信号。图6.2 T

16、MS320LF2407与LED接口电路20 6.3 I/O端口应用下面的实例程序实现对8个LED的循环驱动,即LED循环发光LED1LED2LED3LED4LED5 LED6LED7LED8LED1 。(1)主程序IOSFT_REG .usect.data0,1;要显示的数据寄存器 .includeF2407REGS.H;引用头部文件 .def_c_int0 .text_c_int0 ;相当于主程序的入口 CALLSYSINIT ;调系统初始化程序 LDP#DP_PF2;指向7080h7100h区 LACLMCRA AND#000FFH;IOPB口配置为一般I/O功能 SACLMCRA LAC

17、LMCRC AND#0FBFFH;IOPF2 配置为一般I/O功能 SACLMCRC LACLPBDATDIR OR#0FF00H;IOPB口设置为输出方式 SACLPBDATDIR OR#0FF00H;IOPB口设置为输出方式 SACLPBDATDIR21 6.3 I/O端口应用LDP#5H;指向0280h0300h区SPLK#01H,IOSFT_REG;给显示的数据赋初值LOOP:LDP#DP_PF2LACLPFDATDIROR#0404H;IOPF2 设置为输出方式,且IOPF2=1SACLPFDATDIR;开74HC273片选信号LDP#5HLACLIOSFT_REGLDP#DP_PF

18、2SACLPBDATDIR;送要显示的数据到IOPB口LACLPFDATDIRAND#0FFFBH;IOPF2=0SACLPFDATDIR;关74HC273片选信号CALLDELAY;调延时程序LDP#5HLACLIOSFT_REGSFL;左移一位SACLIOSFT_REGBITIOSFT_REG,BIT8;判是否循环完一次,即已点亮第8个发光二极管BCNDLOOP1,TCBWAITLOOP1:LDP#5HSPLK#01H,IOSFT_REG;如循环完一次则显示数据赋初值WAIT:NOPBLOOP22 6.3 I/O端口应用(2)系统初始化程序SYSINIT:SETC INTM CLRC SX

19、M CLRC OVMCLRC CNF;B0 被配置为数据存储空间 LDP #0E0HSPLK #81FEH,SCSR1;CLKIN=6 M,CLKOUT=24 M SPLK#0E8H,WDCR;不使能WDTLDP#0SPLK#0000H,IMR;不使能SPLK#0FFFFH,IFR;清全部中断标志RET 23 6.3 I/O端口应用(3)软件延时程序DELAY:MAR*,AR4LARAR4,#0FFFEHLARAR0,#00HDELAY1:SBRK#1NOPCMPR00BCNDDELAY1,NTC RET24 6.3 I/O端口应用1、I/O端口作为输入和输出使用键盘的响应作为I/O端口的输入,用I/O端口的输出点亮发光二极管,硬件接口电路如图6.3(P104)所示。用查询的方式读取键值,当K1键按下时,点亮发光二极管。K1键对应的I/O输入引脚为IOPF3,在IOPF3作通用I/

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论