F2812GPIO详细资料[共9页]_第1页
F2812GPIO详细资料[共9页]_第2页
F2812GPIO详细资料[共9页]_第3页
F2812GPIO详细资料[共9页]_第4页
F2812GPIO详细资料[共9页]_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

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

文档简介

1、F2812 I/O配置与应用GPIO,英文全称为General-Purpose IO ports,也就是通用IO口。嵌入式系统中常常有数量众多,但是结构却比较简单的外部设备/电路,对这些设备/电路有的需要CPU为之提供控制手段,有的则需要被CPU用作输入信号。而且,许多这样的设备/电路只要求一位,即只要有开/关两种状态就够了,比如灯亮与灭。对这些设备/电路的控制,使用传统的串行口或并行口都不合适。所以在微控制器芯片上一般都会提供一个“通用可编程IO接口”,即GPIO。接口至少有两个寄存器,即“通用IO控制寄存器”与“通用IO数据寄存器”。数据寄存器的各位都直接引到芯片外部,而对这种寄存器中每一

2、位的作用,即每一位的信号流通方向,则可以通过控制寄存器中对应位独立的加以设置。这样,有无GPIO接口也就成为微控制器区别于微处理器的一个特征。一、 F2812 I/O端口概述F2812提供了56个多功能引脚,这些引脚的第一功能是作为通用意义数字I/O口(GPIO),而第二功能则可以作为片内外设的输入/输出引脚。F2812通过专门的多路选择器(MUX)进行引脚功能的选择。如果作为通用数字I/O口,有专门的方向寄存器用于配置引脚作为输入还是输出,另外还有专门的数据寄存器、置位寄存器、清零寄存器以及触发寄存器用于对I/O口的状态进行读取或配置。GPIO 引脚分配 GPIO AGPIOA0 / PWM

3、1GPIOA1 / PWM2GPIOA2 / PWM3GPIOA3 / PWM4GPIOA4 / PWM5GPIOA5 / PWM6GPIOA6 / T1PWM_T1CMPGPIOA7 / T2PWM_T2CMPGPIOA8 / CAP1_QEP1GPIOA9 / CAP2_QEP2GPIOA10 / CAP3_QEPI1GPIOA11 / TDIRAGPIOA12 / TCLKINAGPIOA13 / C1TRIPGPIOA14 / C2TRIPGPIOA15 / C3TRIPGPIO BGPIOB0 / PWM7GPIOB1 / PWM8GPIOB2 / PWM9GPIOB3 / PWM1

4、0GPIOB4 / PWM11GPIOB5 / PWM12GPIOB6 / T3PWM_T3CMPGPIOB7 / T4PWM_T4CMPGPIOB8 / CAP4_QEP3GPIOB9 / CAP5_QEP4GPIOB10 / CAP6_QEPI2GPIOB11 / TDIRBGPIOB12 / TCLKINBGPIOB13 / C4TRIPGPIOB14 / C5TRIPGPIOB15 / C6TRIPGPIO DGPIOD0 / T1CTRIP_PDPINTAGPIOD1 / T2CTRIP / EVASOCGPIOD5 / T3CTRIP_PDPINTBGPIOD6 / T4CTRIP

5、 / EVBSOCGPIO EGPIOE0 / XINT1_XBIOGPIOE1 / XINT2_ADCSOCGPIOE2 / XNMI_XINT13GPIO FGPIOF0 / SPISIMOAGPIOF1 / SPISOMIAGPIOF2 / SPICLKAGPIOF3 / SPISTEAGPIOF4 / SCITXDAGPIOF5 / SCIRXDAGPIOF6 / CANTXAGPIOF7 / CANRXAGPIOF8 / MCLKXAGPIOF9 / MCLKRAGPIOF10 / MFSXAGPIOF11 / MFSRAGPIOF12 / MDXAGPIOF13 / MDRAGPI

6、OF14 / XFGPIO GGPIOG4 / SCITXDBGPIOG5 / SCIRXDBNote: GPIO are pin functions at resetGPIO A, B, D, E includeInput Qualification feature 二、GPIO寄存器控制2、1 GPxMUX寄存器 通用输入输出多路选择寄存器I/O是工作在通用数字IO还是外围IO信号引脚就有GPxMUX决定。GPxMUX.bit.xx=0,xx通用数字IO;GPxMUX.bit.xx=1,xx外围IO引脚。2、2 GPxDIR寄存器 方向选择寄存器如果配置为通用数字IO脚,那么GPxDIR决

7、定了该引脚是输入还是输出。GPxDIR.bit.xx=0,xx配置为输入;GPxDIR.bitxx=1,xx配置为输出。2、3 GPxQUAL寄存器 设置采样脉冲寄存器在配置为通用数字IO后,DSP的数字IO引脚有对输入过滤噪声的功能,即对IO输入电平采样,在采样设置的次数后都是一个电平,才会确定有效。假如设置为输入高电平,采样10次,那么这10都为高电平才认为输入高有效,GPxDAT寄存器相应位才会改变。 它是一个16位的寄存器,低八位有效。GPxQUAL=0; 与SYSCLKOUT同步,没有限制作用GPxQUAL=1;2个SYSCLKOUT周期采样,GPxQUAL=2;4个SYSCLKOU

8、T周期采样,GPxQUAL=0xff;510个SYSCLKOUT周期采样,2、4 GPxSET置1寄存器每个IO口有一个置1寄存器,只能写不能读,也就是只能用在输出上,写1可以使输出为1,写0没有变化。GPxSET .bit.xx=0,被忽略;GPxSET .bit.xx=1,且引脚配置为输出,则输出变高2、5 GPxCLEAR清0寄存器每个IO口有一个清0寄存器,只能写不能读,也就是只能用在输出上,写1可以使输出清0,写0没有变化。GPxCLEAR .bit.xx=0,被忽略;GPxCLEAR .bit.xx=1,且引脚配置为输出,则输出清02、6 GPxTOGGLE 翻转寄存器每个IO口有

9、一个翻转寄存器,只能写不能读,也就是只能用在输出上,写1可以使输出翻转,写0没有变化。GPxTOGGLE .bit.xx=0,被忽略;GPxTOGGLE.bit.xx=1,且引脚配置为输出,则输出翻转2、7 GPxDAT寄存器IO数据寄存器每个IO都有一个数据寄存器,当IO配置为输出时,相GPxDAT中写数据就可以决定输出状态;GPxDAT.bit.xx=0,输出变低;GPxDAT.xx=1,输出变高当IO配置为输入时,读取GPxDAT中的数据就可以决定输入状态;注意:当引脚配置为通用数字IO时,相应的外围功能必须屏蔽,否则可能会引发不必要的中断三、GPIO应用举例应用DSP的GPIO端口控制

10、输出数据,控制88点阵进行图形或字符显示。3、1硬件电路设计电路如下图所示。74164为串行输入并行输出移位寄存器。设计中,选择两片74164分别控制点阵模块的行和列,控制数据从DSP端口输出。其中,GPIOF0输出数据与U1的74164的A端口相连,GPIOF1与B口连接,两个端口用来输出对点阵进行显示控制的数据,GPIOF2输出模拟时钟脉冲信号,与74164的CLK引脚相连,GPIOF3连接CLR清零端。DSP F2812的GPIOB0-GPIOB3与另外一片74164的A、B、CLR、CLK对应相连。如图所示。图3.1 88点阵电路图3、2 88点阵内部电路点阵内部为排列的88个发光二极

11、管,每一个二极管都在行线和列线的交点处,要同时受到行和列的控制才能点亮。二极管阵列的正向端分别由COL1-COL8端口控制,负向端通过端口ROW1-ROW8控制。在驱动某个点阵点点亮时,需要同时控制该发光二极管正端接高电平,负端接低电平即可。例如:要使得COL4和ROW4交点处二极管点亮,则需要在端口COL端输入数据:00001000(08H),在ROW端输入:00001000(08H)。图3.2 88点阵内部电路3、3串行输入并行输出移位寄存器74164功能如图所示为74164的引脚图,CLEAR为清零端,CLOCK为时钟脉冲输入端,A、B端口为串行输入数据引脚, Q0Q7为数据输出引脚。从

12、真值表可以看出,CLEAR为逻辑低电平时,无论其他引脚电平信号如何,从QA-QH端口输出均为低电平,实现输出清零。 A、B输入信号为相与的关系,相与后的结果送入内部RS触发器。在CLOCK脉冲信号的上升沿,采样输入脚A、B相与后的结果,作为内部RS触发器的输入信号,根据输入数据触发输出,从QA端口输出。在QA端口输出更新数据时,QB端口输出数据为QA端口更新前的QAn,QC端口输出数据为QBn,依次类推。图3.3 74164引脚图图3.4 74164内部电路以如下时序图为例说明: 在图中标注的时钟脉冲1时刻,A端口输入为高电平,B端口输入为逻辑1,在CLOCK上升沿,采样输入信号,经过内部RS

13、触发器,在QA端口输出逻辑1,此时,QB输出为QA更新前QAn,更新前QAn为逻辑0,因此,QB输出为0,QC输出为QBn,QD输出为QCn,依此类推,QH输出为QGn,输出均为0。在图中标注的时钟脉冲1-8时刻,从A端口串行输入的数据为1101 0000,从B端口输入数据为1111 1111逻辑1,AB相与后输入内部RS触发器的串行数据为:1101 0000。经过8个时钟脉冲后,从第八个时钟脉冲上升沿后QA-QH引脚电平可以看出,该串行数据从QA-QH端口并行输出,即从QH-QA输出电平为:1101 0000。从而,实现了将串行输入数据并行输出的功能。图3.5 74164时序图3、4参考主程

14、序:#include DSP28_Device.h#include DSP28_Globalprototypes.h/*端口GPIOF0用DINA表示,“#define”为宏定义,以下程序中用字符“DINA”代表成员变量GpioDataRegs.GPFDAT.bit.GPIOF0,增加程序的可读性。其他端口定义用法相同。*/#define DINA GpioDataRegs.GPFDAT.bit.GPIOF0 #define DINB GpioDataRegs.GPFDAT.bit.GPIOF1#define CLK2GpioDataRegs.GPFDAT.bit.GPIOF2#define

15、CLEAR2GpioDataRegs.GPFDAT.bit.GPIOF3#define DINC GpioDataRegs.GPBDAT.bit.GPIOB0#define DIND GpioDataRegs.GPBDAT.bit.GPIOB1#define CLK1 GpioDataRegs.GPBDAT.bit.GPIOB2#define CLEAR1 GpioDataRegs.GPBDAT.bit.GPIOB3/*程序中引用的函数定义*/void delay_loop(void); /点阵动态显示控制的延时程序void Gpio_select(void); /GPIO端口设置程序void

16、 sendto1(unsigned char kdab); /串行数据输出函数,输出行扫描数void sendto2(unsigned char dat); /串行数据输出函数,输出列扫描数void DELAY(void);/*定义变量数组*/unsigned char dispdata8=0x10,0xFE,0x92,0xFE,0x10,0x10,0x10,0x10;/显示字符“中”字的行扫描数组unsigned char dispbit8=0x7f,0xbf,0xdf,0xef,0xf7,0xfb,0xfd,0xfe/显示字符“中”字的列扫描数组unsigned char kdab;uns

17、igned char kdat;/*主程序*/void main(void) unsigned char i;InitSysCtrl(); /系统初始化函数InitPieCtrl(); /初始化PIE模块到默认状态InitPieVectTable();Gpio_select(); /设置端口函数/*初始化74164各控制引脚*/CLEAR2=0; /74164进行清零操作CLEAR1=0; /74164进行清零操作CLEAR2=1; /74164复位CLEAR1=1; /74164复位CLK1=1; /74164的CLOCK引脚置为高电平CLK2=1; /74164的CLOCK引脚置为高电平D

18、INA=1; /74164数据输入端口置为高电平DINB=1; /74164数据输入端口置为高电平DINC=1; /74164数据输入端口置为高电平DIND=1; /74164数据输入端口置为高电平while(1) sendto1(dispbit0);sendto2(dispdata0);DELAY();sendto1(dispbit1); sendto2(dispdata1);DELAY();sendto1(dispbit2);sendto2(dispdata2); DELAY();sendto1(dispbit3);sendto2(dispdata3); DELAY(); /*GPIO端口配置函数*/void Gpio_select(void)EALLOW; GpioMuxRegs.GPBMUX.all=0x0000; /设置B组端口为GPIO功能 GpioMuxRegs.GPBDIR.all=0xFFFF; / 设置B组端口为输出端口 GpioMuxRegs.GPFMUX.all=0x0000; /设置F组端口为GPIO功能 GpioMuxRegs.GPFD

温馨提示

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

评论

0/150

提交评论