嵌入式系统及应用-Expt3-ARMGPIO.ppt

  1. 1、本文档共19页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
嵌入式系统及应用-Expt3-ARMGPIO

端口介绍 端口寄存器 端口寄存器 端口B寄存器 端口B功能选择 端口控制寄存器 端口数据寄存器 GPIO编程: LED原理 GPIO编程: LED连接原理图 GPIO编程:创建工程 GPIO编程:工程设置 GPIO编程:工程设置 GPIO编程:工程设置 GPIO编程:工程设置 GPIO编程: main函数 GPIO编程: 硬件寄存器定义 GPIO编程: 寄存器设置 实验任务 嵌入式系统及应用 Expt3: ARM GPIO S3C2410X 芯片上有117个多功能I/O引脚.分别是: ?? 端口 A(GPA):23 个输出端口 ?? 端口 B(GPB):11 个输入/输出端口 ?? 端口 C(GPC):16 个输入/输出端口 ?? 端口 D(GPD):16 个输入/输出端口 ?? 端口 E(GPE):16 个输入/输出端口 ?? 端口 F(GPF):8 个输入/输出端口 ?? 端口 G(GPG):16 个输入/输出端口 ?? 端口 H(GPH):11 个输入/输出端口 每个端口都可以通过软件配置寄存器来满足不同系统和设计的需要。在运行主程序之前,必须先对每一个用到的引脚的功能进行设置。如果某些引脚的复用功能没有使用,那么可以先将该引脚设置为I/O口。 1.S3C2410X芯片与端口相关的寄存器 (1)端口控制寄存器(GPACON—GPHCON):在S3C2410X芯片中,大部分引脚是多路复用的,所以要确定每个引脚的功能。PnCON(端口控制寄存器)能够定义引脚功能。如果GPF0—GPF7和GPG0—GPG7被用作掉电模式下的唤醒信号,那么这些端口必须配置成中断模式。 (2)端口数据寄存器(GPADAT—GPHDAT):如果端口定义为输出口,那么输出数据可以写入PDATn中的相应位;如果端口定义为输入口,那么输入数据可以从PDATn相应的位中读入。 1.S3C2410X芯片与端口相关的寄存器 (3)端口上拉寄存器(GPBUP—GPHUP):通过配置端口上拉寄存器,可以使该组端口与上拉电阻连接或断开。当寄存器中相应的位配置为0时,该引脚接上拉电阻;当寄存器中相应的位配置为1时,该引脚不接上拉电阻.。 (4)外部中断控制寄存器(EXTINTn):通过不同的信号方式可以使24个外部中断被请求。EXTINTn寄存器可以根据外部中断的需要,将中断触发信号配置为低电平触发,高电平触发,下降沿触发,上升沿触发和边沿触发几种方式。 包含文件 2410init.s: 板级初始化文件 2410slib.s: 2410汇编编写库函数文件 2410lib.c: 2410 C语言编写库函数文件 main.c: 主程序文件 汇编器CPU C编译器CPU 连接器: RO/RW地址 Image入口 void Main(void) { ChangeClockDivider(1,1); // 1:2:4,设置时钟 ChangeMPllValue(0xa1,0x3,0x1); // FCLK=202.8MHz Port_Init(); //Init The I/O Port,端口初始化 //此处存放具体实验相关器件的初始化设置 //…. while (1) { //主循环是个无限循环 //具体实验相关的代码存放此处 //… } } 硬件寄存器定义 #define rGPBCON (*(volatile unsigned *)0 //Port B control #define rGPBDAT (*(volatile unsigned *)0 //Port B data #define rGPBUP (*(volatile unsigned *)0 //Pull-up control B 控制寄存器设置 rGPBCON = ~((0x310) | (0x312) | (0x314) | (0x316)); rGPBCON |= (0x110) | (0x112) | (0x114) | (0x116); 数据寄存器设置 rGPBDAT = ~(0x1 5); //对应位清0表示led亮 rGPBDAT |= (0x1 5); //对应位置1表示led灭 编程序实现实验仪上的led1~led4依次亮和依次灭; 注意:亮和灭之间要有时间延时,以便能观察得到;

文档评论(0)

qwd513620855 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档