第17讲_GPIO接口_第1页
第17讲_GPIO接口_第2页
第17讲_GPIO接口_第3页
第17讲_GPIO接口_第4页
第17讲_GPIO接口_第5页
已阅读5页,还剩27页未读 继续免费阅读

下载本文档

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

文档简介

1、河南大学计算机与信息工程学院授课人:金勇23 GPIO,General-Purpose IO ports,通用输入输出口 “通用可编程IO接口”的寄存器 控制寄存器:为输入、输出、或其它特殊功能 数据寄存器:1或0 上拉寄存器:设置IO的输出模式是高阻,还是带上拉的电平输出,或者不带上拉的电平输出 【例】控制某个LED灯亮与灭 设置该IO控制寄存器为输出功能 设置该IO数据寄存器为高电平或低电平。4 S3C2410共有117个多功能的输入/输出引脚,它们分为8组I/O端口:1个23位的输出端口(端口A)2个11位的输入/输出端口(端口B、H)4个16位的输入/输出端口(端口C、D、E、G)1个

2、8位的输入/输出端口(端口F)5 端口控制寄存器(GPACON-GPHCON) 在S3C2410X 中,大多数的引脚都复用,所以必须对每个引脚进行配置。端口控制寄存器(GPnCON)定义了每个引脚的功能。 端口数据寄存器(GPADAT-GPHDAT) 如果端口被配置成了输出端口,可以向GPnDAT的相应位写数据。如果端口被配置成了输入端口,可以从GPnDAT的相应位读出数据。 端口上拉寄存器(GPBUP-GPHUP) 端口上拉寄存器控制了每个端口组的上拉电阻的允许/禁止。如果某一位为0,相应的上拉电阻被允许;如果是1,相应的上拉电阻被禁止。 如果端口的上拉电阻被允许,无论在哪种状态(INPUT

3、、OUTPUT、DATAn、EINTn等)下,上拉电阻都起作用。端口寄存器及引脚配置端口寄存器及引脚配置Register Address R/W Description Reset Value GPnCON0 x560000 x0 R/W 端口端口n配置寄存器配置寄存器 X GPnDAT 0 x560000 x4 R/W 端口端口n数据寄存器数据寄存器X GPnUP0 x560000 x8 R/W 端口端口n上拉寄存器上拉寄存器X RESERVED0 x560000 xC R/W 端口端口n保留寄存器保留寄存器-GPADAT寄存器为准备输出的数据寄存器为准备输出的数据其值为其值为23位位22:

4、0注意注意: (1)当当A口引脚配置为非输出功能时,其输出无意义;口引脚配置为非输出功能时,其输出无意义; (2)从引脚输入没有意义。)从引脚输入没有意义。Register Address R/W Description Reset Value GPACON0 x56000000 R/W 端口端口A引脚配置寄存器引脚配置寄存器 0 x7FFFFF GPADAT 0 x56000004 R/W 端口端口A数据寄存器数据寄存器- RESERVED 0 x56000008 -端口端口A保留寄存器保留寄存器- RESERVED 0 x5600000C-端口端口A保留寄存器保留寄存器-位号位号位位 名名

5、 位值位值:0 1位号位号位位 名名位值位值:0 122GPA22输出输出nFCE10GPA10输出输出ADDR2521GPA21输出输出nRSTOUT9GPA9输出输出ADDR2420GPA20输出输出nFRE8GPA8输出输出ADDR2319GPA19输出输出nFWE7GPA7输出输出ADDR2218GPA18输出输出ALE6GPA6输出输出ADDR2117GPA17输出输出CLE5GPA5输出输出ADDR2016GPA16输出输出nGCS54GPA4输出输出ADDR1915GPA15输出输出nGCS43GPA3输出输出ADDR1814GPA14输出输出nGCS32GPA2输出输出ADDR

6、1713GPA13输出输出nGCS21GPA1输出输出ADDR1612GPA12输出输出nGCS10GPA0输出输出ADDR011GPA11输出输出ADDR26 GPA某位设为0,则为输出引脚,往GPADAT写0/1,引脚输出低电平/高电平。 GPA某位设为1,相应引脚为地址线/地址控制线,GPADAT此时无效。 GPACON通常全部设为1,也即0 x7FFFFF,以便访问外部存储器件。9端口端口A的使用的使用GPBDAT-为准备输出或输入的数据为准备输出或输入的数据其值为其值为11位位10:0GPBUP-端口端口B上拉寄存器,位上拉寄存器,位10:0有意义。有意义。 0:对应引脚设置为上拉:

7、对应引脚设置为上拉1:无上拉功能:无上拉功能Register Address R/W Description Reset Value GPBCON0 x56000010 R/W 端口端口B引脚配置寄存器引脚配置寄存器 0 x0 GPBDAT 0 x56000014 R/W 端口端口B数据寄存器数据寄存器- GPBUP0 x56000018 R/W 端口端口B上拉寄存器上拉寄存器0 x0RESERVED 0 x5600001C- 端口端口B保留寄存器保留寄存器-位号位号位位 名名位值位值:00 01 10 1121,20GPB10输入输入输出输出nXDREQ0Reserved19,18GPB9输

8、入输入输出输出nXDACK0Reserved17,16GPB8输入输入输出输出nXDREQ1Reserved15,14GPB7输入输入输出输出nXDACK1Reserved13,12GPB6输入输入输出输出nXBACKReserved11,10GPB5输入输入输出输出nXBREQReserved9,8GPB4输入输入输出输出TCLK0Reserved7,6GPB3输入输入输出输出TOUT3Reserved5,4GPB2输入输入输出输出TOUT2Reserved3,2GPB1输入输入输出输出TOUT1Reserved1,0GPB0输入输入输出输出TOUT0ReservedGPCDAT-为准备输出

9、或输入的数据为准备输出或输入的数据其值为其值为16位位15:0GPCUP-端口端口C上拉寄存器,位上拉寄存器,位15:0有意义。有意义。 0:对应引脚设置为上拉:对应引脚设置为上拉1:无上拉功能:无上拉功能Register Address R/W Description Reset Value GPCCON0 x56000020 R/W 端口端口C引脚配置寄存器引脚配置寄存器 0 x0 GPCDAT 0 x56000024 R/W 端口端口C数据寄存器数据寄存器- GPCUP0 x56000028 R/W 端口端口C上拉寄存器上拉寄存器0 x0RESERVED 0 x5600002C- 端口端

10、口C保留寄存器保留寄存器-位号位号 位位 名名位位 值值位号位号 位名位名位位 值值000110110001101131,30 GPC15 输入输入 输出输出 VD7保留保留 15,14 GPC7 输入输入 输出输出 LCDVF2 保留保留29,28 GPC14 输入输入 输出输出 VD6保留保留 13,12 GPC6 输入输入 输出输出 LCDVF1 保留保留27,26 GPC13 输入输入 输出输出 VD5保留保留 11,10 GPC5 输入输入 输出输出 LCDVF0 保留保留25,24 GPC12 输入输入 输出输出 VD4保留保留9,8 GPC4 输入输入 输出输出VM保留保留23,

11、22 GPC11 输入输入 输出输出 VD3保留保留7,6 GPC3 输入输入 输出输出VFRAME保留保留21,20 GPC10 输入输入 输出输出 VD2保留保留5,4 GPC2 输入输入 输出输出VLINE保留保留19,18 GPC9 输入输入 输出输出 VD1保留保留3,2 GPC1 输入输入 输出输出VCLK保留保留17,16 GPC8 输入输入 输出输出 VD0保留保留1,0 GPC0 输入输入 输出输出VEND保留保留GPDDAT-为准备输出或输入的数据为准备输出或输入的数据其值为其值为16位位15:0GPDUP-端口端口D上拉寄存器,位上拉寄存器,位15:0有意义。有意义。 0

12、:对应引脚设置为上拉:对应引脚设置为上拉1:无上拉功能:无上拉功能初始化时,初始化时,15:12无上拉功能,而无上拉功能,而11:0有上拉有上拉Register Address R/W Description Reset Value GPDCON0 x56000030 R/W 端口端口D引脚配置寄存器引脚配置寄存器 0 x0 GPDDAT 0 x56000034 R/W 端口端口D数据寄存器数据寄存器- GPDUP0 x56000038 R/W 端口端口D上拉寄存器上拉寄存器0 xF000RESERVED 0 x5600003C- 端口端口D保留寄存器保留寄存器-位号位号 位位 名名位位 值值

13、位号位号 位名位名位位 值值000110110001101131,30GPD15 输入输入 输出输出 VD23 nSS0 15,14 GPD7 输入输入输出输出 VD15 保留保留29,28GPD14 输入输入 输出输出 VD22 nSS1 13,12 GPD6 输入输入输出输出 VD14 保留保留27,26GPD13 输入输入 输出输出 VD21 保留保留 11,10 GPD5 输入输入输出输出 VD13 保留保留25,24GPD12 输入输入 输出输出 VD20 保留保留9,8 GPD4 输入输入输出输出 VD12 保留保留23,22GPD11 输入输入 输出输出 VD19 保留保留7,6

14、 GPD3 输入输入输出输出 VD11 保留保留21,20GPD10 输入输入 输出输出 VD18 保留保留5,4 GPD2 输入输入输出输出 VD10 保留保留19,18 GPD9 输入输入 输出输出 VD17 保留保留3,2 GPD1 输入输入输出输出VD9保留保留17,16 GPD8 输入输入 输出输出 VD16 保留保留1,0 GPD0 输入输入输出输出VD8保留保留GPEDAT-为准备输出或输入的数据为准备输出或输入的数据其值为其值为16位位15:0GPEUP-端口端口E上拉寄存器,位上拉寄存器,位15:0有意义。有意义。 0:对应引脚设置为上拉:对应引脚设置为上拉1:无上拉功能:无

15、上拉功能初始化时,各个引脚都有上拉功能。初始化时,各个引脚都有上拉功能。Register Address R/W Description Reset Value GPECON0 x56000040 R/W 端口端口E引脚配置寄存器引脚配置寄存器 0 x0 GPEDAT 0 x56000044 R/W 端口端口E数据寄存器数据寄存器- GPEUP0 x56000048 R/W 端口端口E上拉寄存器上拉寄存器0 x0RESERVED 0 x5600004C- 端口端口E保留寄存器保留寄存器-位号位号 位位 名名位位 值值位号位号 位名位名位位 值值000110110001101131,30GPE1

16、5 输入输入 输出输出 IICSDA 保留保留 15,14 GPE7 输入输入 输出输出 SDDAT0 保留保留29,28GPE14 输入输入 输出输出 IICSCL 保留保留 13,12 GPE6 输入输入 输出输出 SDCMD 保留保留27,26GPE13 输入输入 输出输出SPICLK0保留保留 11,10 GPE5 输入输入 输出输出 SDCLK 保留保留25,24GPE12 输入输入 输出输出 SPISI0 保留保留 9,8 GPE4 输入输入 输出输出 IISSDO保留保留23,22 GPE11 输入输入 输出输出 SPISO0 保留保留 7,6 GPE3 输入输入 输出输出IIS

17、SDI保留保留21,20GPE10 输入输入 输出输出 SDDAT3 保留保留 5,4 GPE2 输入输入 输出输出 CDCLK 保留保留19,18 GPE9 输入输入 输出输出 SDDAT2 保留保留 3,2 GPE1 输入输入 输出输出 IISSCLK 保留保留17,16 GPE8 输入输入 输出输出 SDDAT1 保留保留 1,0 GPE0 输入输入 输出输出 IISLRCK 保留保留GPFDAT-为准备输出或输入的数据为准备输出或输入的数据其值为其值为8位位7:0GPFUP-端口端口F上拉寄存器,位上拉寄存器,位7:0有意义。有意义。 0:对应引脚设置为上拉:对应引脚设置为上拉1:无上

18、拉功能:无上拉功能初始化时,各个引脚都有上拉功能。初始化时,各个引脚都有上拉功能。Register Address R/W Description Reset Value GPFCON0 x56000050 R/W 端口端口F引脚配置寄存器引脚配置寄存器 0 x0 GPFDAT 0 x56000054 R/W 端口端口F数据寄存器数据寄存器- GPFUP0 x56000058 R/W 端口端口F上拉寄存器上拉寄存器0 x0RESERVED 0 x5600005C- 端口端口F保留寄存器保留寄存器-位号位号位位 名名位位 值值0001101115,14GPF7输入输入输出输出EINT7保留保留1

19、3,12GPF6输入输入输出输出EINT6保留保留11,10GPF5输入输入输出输出EINT5保留保留9,8GPF4输入输入输出输出EINT4保留保留7,6GPF3输入输入输出输出EINT3保留保留5,4GPF2输入输入输出输出EINT2保留保留3,2GPF1输入输入输出输出EINT1保留保留1,0GPF0输入输入输出输出EINT0保留保留GPGDAT-为准备输出或输入的数据为准备输出或输入的数据其值为其值为16位位15:0GPGUP-端口端口G上拉寄存器,位上拉寄存器,位15:0有意义。有意义。 0:对应引脚设置为上拉:对应引脚设置为上拉1:无上拉功能:无上拉功能初始化时,初始化时,15:1

20、1引脚无上拉功能,其它引脚有。引脚无上拉功能,其它引脚有。Register Address R/W Description Reset Value GPGCON0 x56000060 R/W 端口端口G引脚配置寄存器引脚配置寄存器 0 x0 GPGDAT 0 x56000064 R/W 端口端口G数据寄存器数据寄存器- GPGUP0 x56000068 R/W 端口端口G上拉寄存器上拉寄存器0 xF800RESERVED 0 x5600006C- 端口端口G保留寄存器保留寄存器-位号位号 位位 名名位位 值值位号位号 位名位名位位 值值000110110001101131,30GPG15 输入

21、输入 输出输出 EINT23nYPON15,14 GPG7 输入输入 输出输出 EINT15SPICLK129,28GPG14 输入输入 输出输出 EINT22YMON 13,12 GPG6 输入输入 输出输出 EINT14 SPISI127,26GPG13 输入输入 输出输出 EINT21nXPON11,10 GPG5 输入输入 输出输出 EINT13 SPISO125,24GPG12 输入输入 输出输出 EINT20XMON 9,8GPG4 输入输入 输出输出 EINT12LCD-PEN23,22GPG11 输入输入 输出输出 EINT19TCLK1 7,6GPG3 输入输入 输出输出 E

22、INT11nSS121,20GPG10 输入输入 输出输出 EINT18 保留保留5,4GPG2 输入输入 输出输出 EINT10nSS019,18 GPG9 输入输入 输出输出 EINT17 保留保留3,2GPG1 输入输入 输出输出 EINT9保留保留17,16 GPG8 输入输入 输出输出 EINT16 保留保留1,0GPG0 输入输入 输出输出 EINT8保留保留GPHDAT-为准备输出或输入的数据为准备输出或输入的数据其值为其值为11位位10:0GPHUP-端口端口H上拉寄存器,位上拉寄存器,位10:0有意义。有意义。 0:对应引脚设置为上拉:对应引脚设置为上拉1:无上拉功能:无上拉

23、功能Register Address R/W Description Reset Value GPHCON0 x56000070 R/W 端口端口H引脚配置寄存器引脚配置寄存器 0 x0 GPHDAT 0 x56000074 R/W 端口端口H数据寄存器数据寄存器- GPHUP0 x56000078 R/W 端口端口H上拉寄存器上拉寄存器0 x0RESERVED 0 x5600007C- 端口端口H保留寄存器保留寄存器-位号位号位位 名名 位值位值:00 01 10 1121,20GPH10输入输入输出输出CLKOUT1Reserved19,18GPH9输入输入输出输出CLKOUT0Reser

24、ved17,16GPH8输入输入输出输出UCLKReserved15,14GPH7输入输入输出输出RXD2nCTS113,12GPH6输入输入输出输出TXD2nRTS111,10GPH5输入输入输出输出RXD1Reserved9,8GPH4输入输入输出输出TXD1Reserved7,6GPH3输入输入输出输出RXD0Reserved5,4GPH2输入输入输出输出TXD0Reserved3,2GPH1输入输入输出输出nRTS0Reserved1,0GPH0输入输入输出输出nCTS0Reserved24 利用S3C2410X的GPF4、GPF5、GPF6、GPF7四个I/O管脚控制4个LED发光二

25、极管,使其有规律的闪烁。25 电路连接 LED_1LED_4分别与GPF7GPF4相连 通过GPF7GPF4引脚的高低电平来控制发光二极管的亮与灭。 当这几个引脚输出高电平的时候发光二极管熄灭, 当这几个引脚输出低电平的时候发光二极管点亮。26 寄存器设置 为了实现控制LED的目的,需要通过配置GPFCON寄存器将GPF4、GPF5、GPF6、GPF7设置为输出属性。如:配置GPFCON9:8两位为“01”,可实现将GPF4设置为输出属性。 通过设置GPFDAT寄存器实现点亮与熄灭LED。如:配置GPFDAT4为“0”,可实现点亮LED4。配置GPFDAT4为“1”,可实现关闭LED4。 对于

26、本例来说,GPFUP可以不用设置。27 程序的编写 1、相关寄存器定义 #define rGPFCON (*(volatile unsigned *)0 x56000050) /端口F的控制寄存器 #define rGPFDAT (*(volatile unsigned *)0 x56000054) /端口F的数据寄存器 #define rGPFUP (*(volatile unsigned *)0 x56000058) /端口F的上拉控制寄存器28 程序的编写 2、端口初始化 void port_init(void) /= PORT F GROUP /端口: GPF7 GPF6 GPF5 GPF4 GPF3 GPF2 GPF1 GPF0 /信号: LED_1 LED_2 LED_3 LED_4 PS2_INT CPLD_INT1 KEY_INT BUT_INT1 /设置属性: Output Output Output Output EINT3 EINT2 EINT1 EINT0 /二进制值: 01 01, 01 01, 10 10, 10 10 rGPFCON = 0 x55aa; rGPFUP = 0 xff; / GPF所有端口都不加上拉电阻 29 程序的编写 3、开启LE

温馨提示

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

评论

0/150

提交评论