《第4章DSP输入输出编程.ppt》由会员分享,可在线阅读,更多相关《第4章DSP输入输出编程.ppt(29页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、第四章第四章 DSP输入输出编程输入输出编程 4 4.1数字I/O端口概述 数字IO端口的英文全称为GeneralPurposeDigitalI/O,简写为GPIO,也称数字IO,是LF2407A与外部设备联系的接口。2407A有41个数字I/O口,其中绝大多数具有另一功能,其对应外部引脚是基本功能和一般I/O复用引脚。TI公司的技术资料中把对应的片内外设的功能称为“基本功能”,而数字I/O口相对于“基本功能”成为“第二功能”(SecondaryFunction)。I/O空间与数字I/O端口有什么联系1.I/O空间与数字I/O端口没有任何的联系,是不同的两个事物。它们之间只有一个共同点,就是都
2、可以与外部设备发生联系,都用于与外部设备发生关系。2.它们之间的区别在于I/O空间是通过16位的地址总线和16位的数据总线以及IS与外部设备相联系,通过汇编语句IN,OUT读写I/O空间中某一地址上的数,这个数是一个16为的二进制数;而数字I/O端口是片内外设模块之一,与定时器这样的片内外设功能等同,这一数字输入/输出(I/O)端口通过对片内控制寄存器进行读、写,以对数字I/O端口进行操作。数字IO端口结构图图中可以看出,“引脚”既可以作为基本功能使用,也可以作为数字I/O口使用。其选择功能由“MUX控制位”(即开关控制位)完成。这里,该控制位仅是一个二进制数字位MCRx.n,当MCRx.n=
3、1时,选择基本功能,当MCRx.n=0时,选择数字I/O口功能。选择数字I/O口功能后,由“I/O端口方向位”选定该端口是输入,还是输出。当值为0时,选择输入功能;当值为1时,选择输出功能。“I/O端口数据位”时数字I/O口的数据位,当数字口作输入使用时,从该位读取数据;当数字端口作输出使用时,向该位写数据。I/O口复用控制寄存器(MCRx):用来控制选择I/O引脚作为基本功能或一般I/O引脚功能。数据和方向控制寄存器(PxDATDIR):当I/O引脚作为一般I/O引脚功能时,用数据和方向控制寄存器可控制数据和I/O引脚的数据方向,这些寄存器直接和I/O引脚相连。数字I/O寄存器地址存储寄存器
4、说明7090hMCRAI/O复用控制寄存器A7092hMCRBI/O复用控制寄存器B7094hMCRCI/O复用控制寄存器C7098hPADATDIRI/O端口A数据和方向寄存器709AhPBDATDIRI/O端口B数据和方向寄存器709ChPCDATDIRI/O端口C数据和方向寄存器709EhPDDATAIRI/O端口D数据和方向寄存器7095hPEDATAIRI/O端口E数据和方向寄存器7096hPEDATDIRI/O端口F数据和方向寄存器表4-1 数字数字I/O模块控制寄存器地址I/O端口复用控制寄存器A的配置(MCRA)地址7090hI/O口复用控制寄存器B(MCRB地址7092h)I
5、/O端口复用控制寄存器C的配置(MCRC地址7094h)I/O口数据和方向寄存器TMS320LF2407系列总共有6个数据和方向控制寄存器(PxDATADIR),当I/O口用作一般I/O引脚功能时,用数据和方向控制寄存器,可控制数据和到双向I/O引脚的数据方向。这些寄存器直接和双向I/O引脚相连。当I/O用作基本功能时,这些寄存器的设置对相应的引脚无影响。6个数据和方向控制寄存器(个数据和方向控制寄存器(PXDATDIR),包含两个包含两个功能位。功能位。(1)I/O方向位:如果引脚被选择了通用方向位:如果引脚被选择了通用I/O,方向,方向位决定了是输入(位决定了是输入(0)还是输出()还是输
6、出(1)。)。(2)I/O数据位:如果引脚被选择了通用数据位:如果引脚被选择了通用I/O,当方,当方向选为输入,则可从该位上读取数据,当方向选为向选为输入,则可从该位上读取数据,当方向选为输出,则可向该位写入数据。输出,则可向该位写入数据。数据和方向控制寄存器如I/O端口被选择作通用I/O引脚,数据和方向控制寄存器可以控制数据和I/O引脚的数据方向。如I/O端口被选择作外设功能时,数据和方向控制寄存器的设置对相应的引脚无影响。(1)I/O端口A数据和方向控制寄存器(PADATDIR),地址:7098h位15-8:AnDIRPA7-PA0的数据方向0:相应引脚配置为输入1:相应引脚配置为输出 位
7、7-0:IOPA7-IOPA0如果AnDIR=0,引脚配置为输入 0相应引脚的电平读为低电平 1相应引脚的电平读为高电平如果AnDIR=1,引脚配置为输出 0设置相应引脚,使其输出信号为低电平时有效 1设置相应引脚,使其输出信号为高电平时有效如果I/O端口用作通用I/O,则必须对数据和方向寄存器进行初始化设置,为输入还是输出。端口端口A数据和方向控制寄存器数据和方向控制寄存器A(PADATADIR)地址地址7098h端口端口B数据和方向控制寄存器数据和方向控制寄存器(PBDATDIR)地址地址709Ah端口端口C数据和方向控制寄存器数据和方向控制寄存器(PCDATDIR)地址地址709Ch端口
8、端口D数据和方向控制寄存器数据和方向控制寄存器(PDDATDIR)地址地址709Eh端口端口E数据和方向控制寄存器数据和方向控制寄存器(PEDATDIR)地址地址7094h端口端口F数据和方向控制寄存器数据和方向控制寄存器(PFDATDIR)地址地址7096h实现实现LED显示管的循环显示:先第显示管的循环显示:先第1个个LED亮,然后是第亮,然后是第1、2个个LED亮,其亮,其次是第次是第1、2、3个个LED亮,依此类推,亮,依此类推,直到直到8个个LED显示管全亮,显示管全亮,8个个LED显示显示管全亮后,接着是第管全亮后,接着是第1至至7个个LED显示管显示管亮,然后是第亮,然后是第1至
9、至6个个LED显示管亮,显示管亮,第,第1个个LED显示管亮。如此循环显示管亮。如此循环显示。显示。实 例电路图电路图74HC273用于驱动8个发光二极管,CLR接TMS320LF2407的复位引脚,使得复位时74HC273为低电平,不点亮发光二极管。IOPF2接CLK作为74HC273的控制信号,用端口IOPB来控制发光二极管的亮灭。用软件延时的方法来调整发光二极管的延时时间间隔。当发光二极管被点亮之后,通过改变端口的数据输出,达到点亮不同的LED显示管的目的。对应的端口的二进制值应该为:00000001000000110000011100001111000111110011111101111111111111110111111100111111000111110000111100000111000000110000000100000011如此完成一个循环。