实验二 IO 口实验_第1页
实验二 IO 口实验_第2页
实验二 IO 口实验_第3页
实验二 IO 口实验_第4页
实验二 IO 口实验_第5页
已阅读5页,还剩19页未读 继续免费阅读

下载本文档

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

文档简介

1、IO 口实验,实验目的,掌握S3C2410X 芯片的I/O 控制寄存器的配置; 通过实验掌握ARM 芯片使用I/O 口控制LED 显示; 了解ARM 芯片中复用I/O 口的使用方法。,实验设备, 硬件:Embest EduKit-III 实验平台,Embest ARM 标准/增强型仿真器套件, PC 机。 软件:Embest IDE for ARM 集成开发环境,Windows 98/2000/NT/XP。,实验内容,编写程序,控制实验平台的发光二极管 LED1,LED2,LED3,LED4,使它们有规律的点亮和熄灭,具体顺序如下:LED1 亮-LED2 亮-LED3 亮-LED4 亮-LED

2、1 灭-LED2 灭-LED3灭-LED4 灭-全亮-全灭,如此反复。,GPIO(General Purpose I/O,通用输入/输出接口)也称为并行I/O(parallel I/O),是最基本的I/O形式,由一组输入引脚、输出引脚或输入/输出引脚组成,CPU对它们能够进行存取操作。有些GPIO引脚能够通过软件编程改变输入/输出方向。 一个双向GPIO端口(D0)的简化功能逻辑图如图所示,图中PORT为数据寄存器和DDR(Data Direction Register)为数据方向寄存器。,实验原理,图 双向GPIO功能逻辑图,DDR设置端口的方向。如果DDR的输出为1,则GPIO端口为输出形

3、式;如果DDR的输出为零,则GPIO端口为输入形式。写入WRDDR信号能够改变DDR的输出状态。DDR在微控制器地址空间中是一个映射单元。这种情况下,如果需要改变DDR,则需要将恰当的值置于数据总线的第0位(即D0),同时激活WRDDR信号。读DDR,就能得到DDR的状态,同时激活RDDDR信号。 如果设置PORT引脚端为输出,则PORT寄存器控制着该引脚端状态。如果将PORT引脚端设置为输入,则此输入引脚端的状态由引脚端上的逻辑电路层来实现对它的控制。对PORT寄存器的写操作,需要激活WRPORT信号。PORT寄存器也映射到微控制器的地址空间。需指出,即使当端口设置为输入时,如果对PORT寄

4、存器进行写操作,并不会对该引脚产生影响。但从PORT寄存器的读出,不管端口是什么方向,总会影响该引脚端的状态。,S3C2410A共有117个多功能复用输入输出端口(I/O口),分为端口A端口H共8组。为了满足不同系统设计的需要,每个I/O口可以很容易地通过软件对进行配置。每个引脚的功能必须在启动主程序之前进行定义。如果一个引脚没有使用复用功能,那么它可以配置为I/O口。注意:端口A除了作为功能口外,只能够作为输出口使用。 在S3C2410A中,大多数的引脚端都是复用的,所以对于每一个引脚端都需要定义其功能。为了使用I/O口,首先需要定义引脚的功能。每个引脚端的功能通过端口控制寄存器(PnCON

5、)来定义(配置)。与配置I/O口相关的寄存器包括:端口控制寄存器(GPACONGPHCON)、端口数据寄存器(GPADATGPHDAT)、端口上拉寄存器(GPBUPGPHUP)、杂项控制寄存器以及外部中断控制寄存器(EXTINTN)等。S3C2410A的I/O口配置情况请参考第3章所列。,S3C2410X 芯片上共有71 个多功能的输入输出管脚,他们分为7 组I/O 端口。 一个23 位的输出端口(端口A); 两个11 位的输入/输出端口(端口B、H); 四个16 位的输入/输出端口(端口C、D、E、G); 一个8 位的输入/输出端口(端口F); 可以很容易的设置每组端口来满足不同系统配置和设

6、计的需要。在运行程序之前必须对每个用到的管脚功能进行设置,如果某些管脚的复用功能没有使用,可以先将该管脚设置为I/O 口。,1. S3C2410X I/O 口控制寄存器,端口控制寄存器(GPACON-GPHCON) 在 S3C2410X 中,大多数的管脚都复用,所以必须对每个管脚进行配置。端口控制寄存器(PnCON)定义了每个管脚的功能。 如果GPF0-GPF7 和GPG0-GPG7 在掉电模式使用了弱上拉信号,这些端口必须在中断模式配置。,端口数据寄存器(GPADAT-GPHDAT) 如果端口被配置成了输出端口,可以向 PnDAT 的相应位写数据。如果端口被配置成了输入端口,可以从PnDAT

7、 的相应位读出数据。 端口上拉寄存器(GPBUP-GPHUP) 端口上拉寄存器控制了每个端口组的上拉电阻的允许/禁止。如果某一位为0,相应的上拉电阻被允许,如果是1,相应的上拉电阻被禁止。 如果端口的上拉电阻被允许,无论在哪种状态(INPUT,OUTPUT,DATAn,EINTn 等)下,上 拉电阻都要起作用。,多状态控制寄存器 这个寄存器控制数据端口的上拉电阻,高阻态,USB pad 和CLKOUT 选项。 外部中断控制寄存器(EXTINTN) 24 个外部中断有各种各样的中断请求信号,EXTINTN 寄存器可以配置信号的类型为低电平触 发,高电平触发,下降沿触发,上升沿触发,两沿触发中断请

8、求。 8 个外部中断引脚有数字滤波器(参考数据手册中的EINTFLTn)。 只有16 个外部中断(EINT15:0)用于唤醒cpu。,掉电模式和I/O 端口 在掉电模式下仍然保持所有的 GPIO 的所有状态值,可以参考相应章节的内容。 EINTMASK 在掉电模式下也不能阻止唤醒cpu。但是如果EINTMASK 屏蔽了EINT15:4 的某一位,仍然可以唤醒cpu,但是SRCPND 的EINT4_7 位和EINT8_23 位不能在cpu 唤醒后 马上被置位。,I/O 端口控制寄存器,端口 A 控制寄存器(GPACON/GPADAT),端口B 控制寄存器(GPBCON,GPBDAT,GPBUP)

9、,端口B 被配置位输入端口后,可以从引脚上读出相应的外部源输入的数据。如果端口被配置位输出端口,向该位写入的数据可以被发送到相应的引脚上。如果该引脚被配置位功能引脚,读出的数据不确定。 置位GPBUP10:0中的某位,允许端口B 的相应位的上拉功能,反之禁止上拉功能。,端口C 控制寄存器(GPCCON,GPCDAT,GPCUP),2. 电路设计,LED1-4 分别与GFP7-4 相连,通过GFP7-4 引脚的高低电平来控制发光二极管的亮与灭。当这几个管脚输出高电平的时候发光二极管熄灭,反之,发光二极管点亮。,实验操作步骤,1. 准备实验环境 1)编写代码; 2)使用EduKit-III 目标板

10、附带的串口线连接目标板上UART0 和PC 机串口COMx,2. 串口接收设置,在 PC 机上运行windows 自带的超级终端串口通信程序(波特率115200、1 位停止 位、无校验位、无硬件流控制);或者使用其它串口通信程序。,3. 打开实验例程,1) 运行Embest IDE 开发环境,进入实验例程目录EduKit24104.2_led_test 子目录下的 led_test.pjf 例程,编译链接工程; 2) 点击IDE 的Debug 菜单,选择Remote Connect 项或F8 键,远程连接目标板; 3) 点击IDE 的Debug 菜单,选择Download 下载调试代码到目标系统的RAM 中; 4) 在工程管理窗口中双击led_test.c 就会打开该文件, 分别在约第34 行 (for(i=0;i100000;i+);)和58 行( for(i=0;i100000;i+);)设置断点后, 点击Debug 菜单Go 或F5 键运行程序;,5) 程序停到第一个断点处,观察四个灯是否都被点亮(注意观察渐变过程),按step out (shift +F11),跳出这个子函数,继续执行; 6) 程序运行到led_off(),按step into (F11)

温馨提示

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

评论

0/150

提交评论