二arm9(s3c2440)的io口理论知识及程序实例.docxVIP

二arm9(s3c2440)的io口理论知识及程序实例.docx

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
二arm9(s3c2440)的io口理论知识及程序实例

二?ARM9(S3C2440)的IO口——理论知识及程序实例(2011-08-05 14:27:16)转载标签:杂谈分类:?ARM9裸机学习笔记概述S3C2440A 包含了130 个多功能输入/输出口引脚并且它们为如下显示的八个端口:– 端口A(GPA):25 位输出端口– 端口B(GPB):11 位输入/输出端口– 端口C(GPC):16 位输入/输出端口– 端口D(GPD):16 位输入/输出端口– 端口E(GPE):16 位输入/输出端口– 端口F(GPF):8 位输入/输出端口– 端口G(GPG):16 位输入/输出端口– 端口H(GPH):9 位输入/输出端口– 端口J(GPJ):13 位输入/输出端口每个端口都可以简单的由软件配置为各种系统配置和设计要求。你必须在开始主程序前定义使用的每个引脚的功能。如果没有使用某个引脚的复用功能,这个引脚可以配置为I/O 口。?端口控制描述端口配置寄存器(GPACON 至GPJCON)S3C2440A 中,大多数端口为复用引脚。因此要决定每个引脚选择哪项功能。PnCON(引脚控制寄存器)决定了每个引脚使用哪项功能。如果在掉电模式中PE0 至PE7 用于唤醒信号,这些端口必须配置为输入模式。端口数据寄存器(GPADAT 至GPJDAT)如果端口配置为输出端口,可以写入数据到PnDAT的相应位。如果端口配置为输入端口,可以从PnDAT的相应位读取数据。端口上拉寄存器(GPBUP 至GPJUP)端口上拉寄存器控制每个端口组的使能/禁止上拉电阻。当相应位为0 时使能引脚的上拉电阻。当为1 时禁止上拉电阻。如果使能了上拉电阻,那么上拉电阻与引脚的功能设置无关(输入、输出、DATAn、EINTn等等)杂项控制寄存器此寄存器控制睡眠模式,USB 引脚和CLKOUT 选择的数据端口上拉电阻。外部中断控制寄存器24 个外部中断由各种信号方式触发。EXTINT 寄存器为外部中断请求配置信号触发方式为低电平触发、高电平触发、下降沿触发、上升沿触发或双边沿触发。由于每个外部中断引脚包含一个数字滤波器,中断控制可以确认请求信号是否长于3 个时钟。EINT[15:0]用于唤醒源下面是结合具体的程序(用的是FL2440开发板):一般步骤:上拉寄存器和控制寄存器设置??I/O口上拉寄存器和控制寄存器设置比较简单,首先确定I/O 口工作模式,如果是工作在第二功能状态,则上拉电阻功能禁止,即 GPBUP~GPHUP 中相应位置 1;如果工作在基本输入 /输出状态,则上拉电阻功能允许,此时因上电或复位时 GPBUP~GPHUP 初值为 0,所以在程序中不用设置。??I/O口数据寄存器中每一位输入 /输出功能大多由 I/O 口控制寄存器中两位控制,如 GPHDATA[0],即 GPH0 的输入 /输出功能,由 GPHCON[1:0] 控制, GPHCON[1:0]=0 0,该位作输入;GPHCON[1:0]=0 1 ,该位作输出; GPHCON[1:0]=1 0 ,该位作nCTS0;GPHCON[1 :0]=1 1,系统保留没用。其他各口与此相同,编写 I/O 程序时一定注意GPnCON和GPnDATA中位的对应关系。??I/O口与外围设备连接一般要通过光电隔离或其他隔离器件,直接相连一定要确认负载不能超过 4个与非门。光电隔离一是可保护微处理器;二是可进行电平转换;三是可对某些信号进行分配,所以在一般情况下都要加。#define GPBCON (*(volatile unsigned *)0#define GPBDAT (*(volatile unsigned *)0#define GPBUP (*(volatile unsigned *)0#define uchar unsigned char#define uint unsigned intvoid Delay(int x);void Delay(int x)?{??int k, j;??while(x)??{???for (k=0;k=0xff;k++)????for(j=0;j=0xff;j++);???????x--;??}}intledMain(void){??GPBCON = 0x1dd7fc;?// GPB5,GPB6,GPB8,GPB10设置为输出?GPBDAT = ((15)|(16)|(18)|(110));?//使LED全灭?GPBDAT=0xffe;??//关闭蜂鸣器?GPBUP = 0x00; //使能上拉寄存器,因为作为输出口所以要使能上拉??while (1)???// 死循环?{????GPBDAT = ~(15);?//LED0亮??Delay(500);??GPBDAT

文档评论(0)

haihang2017 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档