一、 实验目的 1.了解S3C2410的通用I/0接口 2.掌握I/0功能的复用并熟练的配置,进行编程实验 二、 实验内容 1.在实验箱的CPU 板上点亮LED 灯LED1、LED2,并轮流闪烁! 三、 实验设备 1.EL-ARM-860教学实验箱,PentiumII以上的PC机,仿真调试电缆。 2.PC操作系统WIN98或WIN2000或WINXP,ADS1.2集成开发环境,仿真调试驱动程序。 四、 实验原理 S3C2410 CPU共有117个多功能复用输入输出口,分为8组端口: ·4个16位的I/0端口(PORT C、PORT D、PORT E、PORT G) ·2个11位的I/0端口(PORT B和 PORT H) ·1个8位的I/0端口(PORT F) ·1个23位的I/0端口(PORT A) 这些通用的GPI/0接口,是可配置的,PORTA除功能口外,它们仅用作输出使用,剩下的 PORTB、PORTC、PORTD、PORTE、PORTF、PORTG均可作为输入输出口使用。 配置这些端口,是通过一些寄存器来实现的,这些寄存器均有各自的地址,位长 32位。 往该地址中写入相应的数据,即可实现功能及数据配置。 GPACON (Ox56000000)/ /Port A control GPADAT (Ox56000004) //Port A data GPBCON (Ox56000010)//Port B control GPBDAT (Ox56000014)/ /Port B data GPBUP(Ox56000018)//Pull-up control B GPCCON (Ox56000020)/ /Port C control GPCDAT (Ox56000024)/ /Port C data GPCUP (Ox56000028)//Pull-up control c GPDCON (Ox56000030)//Port D control GPDDAT (Ox56000034) //Port D data GPDUP (Ox56000038)//Pul1-up control D GPECON (Ox56000040)//Port E control GPEDAT (Ox56000044)//Port E data GPEUP(Ox56000048)//Pul1-up control E GPFCON (Ox56000050)//Port F control GPFDAT (Ox56000054)/ /Port F data GPFUP(Ox56000058)//Pull-up control F GPGCON (Ox56000060)/ /Port G control GPGDAT (Ox56000064)//Port G data GPGUP (Ox56000068)//Pul1-up control G GPHCON (Ox56000070)/ /Port H control GPHDAT (Ox56000074)//Port H data GPHUP (Ox56000078)//Pull-up control H 现用G口、H口举例说明。对于G口如表1、表2、表3, 表1 表2 也就是说,在地址Ox0x56000060中,给32位的每一位赋值,那么,在CPU的管脚上就定义了管脚的功能值。当G口某管脚配置成输出端口,则在 PDATG对应的地址中的对应位上,写入1,则该管脚输出为高电平,写入0,则该管脚输出为低电平。若配置为功能管脚,则该管脚变成具体的功能脚。 对于H口见表4、表5、表6、表7 表6 也就是说,在地址Ox56000070中,给32位的每一位赋值,那么,在CPU的管脚上就定义了管脚的功能值。当H口某管脚配置成输入端口,则在 GPHDAT对应的地址中的对应位上,得到1,则该管脚的输入为高电平,得到0,则该管脚的输入为低电平。当H口某管脚配置成输出端口,则在GPGDAT对应的地址中的对应位上,写入1,则该管脚输出为高电平,写入0,则该管脚输出为低电平。若配置为功能管脚,则该管脚变成具体的功能脚。其他端口配置请参见PDF文挡。 在程序中对GPI/0各寄存器的读写实现,是通过给宏赋值实现的。这些宏在2410addr.h中定义;具体如:。 #define rGPACON (* (volatile unsigned *)Ox56000000)(//Port A control #define rGPADAT (* 实验报告——嵌入式系统设计实验五 课程:嵌入式系统设计 专业:计算机工程与技术 实验:ARM 的 I/O 接口实验 实验目的: 1. 理解S3C2410处理器的通用I/O接口工作原理。 2. 掌握I/O端口的复用功能,熟练配置并进行编程实践。 实验内容: 在EL-ARM-860教学实验箱的CPU板上,通过编程控制LED灯LED1和LED2交替闪烁,以验证I/O接口的操作。 实验设备: 1. EL-ARM-860教学实验箱 2. PentiumII以上PC机 3. 仿真调试电缆 4. 操作系统:WIN98、WIN2000或WINXP 5. 开发工具:ADS1.2集成开发环境,仿真调试驱动程序 实验原理: S3C2410处理器提供了117个复用I/O口,分为8组: 1. 4个16位I/O端口(PORT C、PORT D、PORT E、PORT G) 2. 2个11位I/O端口(PORT B、PORT H) 3. 1个8位I/O端口(PORT F) 4. 1个23位I/O端口(PORT A) 其中,PORT A主要用于输出,其余端口PORTB到PORTG可作为输入输出口。配置这些端口需通过相关寄存器,例如: - GPACON (0x56000000) - PORT A 控制 - GPADAT (0x56000004) - PORT A 数据 - GPBCON (0x56000010) - PORT B 控制 - GPBDAT (0x56000014) - PORT B 数据 - GPBUP (0x56000018) - 上拉控制 B - ... (其余端口配置寄存器地址) 向这些32位地址写入数据,可配置端口功能和数据。例如,配置G口为输出端口,在GPDDAT对应的地址中写入1,则该端口输出高电平,写入0则输出低电平。若设置为输入端口,GPHDAT地址中的对应位会反映出端口的输入状态。 实验步骤: 1. 初始化开发环境,连接实验箱和PC机。 2. 编写C语言程序,配置S3C2410的GPIO端口,设置LED1和LED2的输出。 3. 使用ADS1.2编译并下载程序到实验箱。 4. 观察LED灯的状态,验证代码是否正确控制了端口输出。 实验记录: 记录实验过程中遇到的问题、解决方法以及LED灯的闪烁情况。 数据处理与结论: 通过实验,我们成功地实现了LED1和LED2的交替闪烁,验证了对S3C2410 I/O接口的编程控制。实验结果表明,对相应寄存器的读写操作能够准确地控制硬件资源,证明了对I/O复用功能的理解和应用。 实验体会: 这次实验加深了对嵌入式系统中I/O接口管理的理解,也锻炼了实际编程和调试技能。通过实际操作,掌握了配置和控制硬件的基本方法,为后续更复杂的嵌入式系统设计打下了坚实的基础。 实验成绩评定: 实验成绩通常由预习、实验过程和实验报告三部分组成,权重分别为20%、40%和40%。实验报告要求清晰、完整,体现出对实验内容的深入理解和操作技能的掌握。 总结: 本实验是嵌入式系统设计的一部分,主要目标是理解和掌握S3C2410处理器的I/O接口复用功能。通过实操,学生可以学习到如何配置端口、编写控制程序以及进行硬件交互,这是嵌入式系统设计中不可或缺的基础技能。
- 粉丝: 2
- 资源: 30
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助