嵌入式实验指导书(计算机专业适用) - 图文(5)

2020-07-01 09:32

nStep = sizeof(short); for(i = 0; i < RW_NUM/nStep; i++) { }

uart_printf(\ Access Memory (half Word) Times : %d\\n\

// Access by Byte. nStep = sizeof(char);

for(i = 0; i < RW_NUM/nStep; i++) { }

uart_printf(\ Access Memory (Byte) Times : %d\\n\ }

(*(char *)(RW_BASE + i*nStep)) = 0x59; // write memory (*(char *)(RW_TARGET + i*nStep)) = (*(char *)(RW_BASE + i*nStep)); // read memory (*(short *)(RW_BASE + i*nStep)) = 0x4B4F; // write memory (*(short *)(RW_TARGET +i*nStep)) = (*(short *)(RW_BASE + i*nStep)); // read memory

4.1.7 练习题

分别使用汇编语言及高级语言编写程序,实现对RAM连续地址空间的读和写。

4.2 I/O 接口实验

4.2.1 实验目的

? 掌握S3C44B0X芯片的I/O口控制寄存器的配置。 ? 通过实验掌握ARM芯片使用I/O口控制LED显示。 ? 了解ARM芯片中复用I/O口的使用方法。

4.2.2 实验设备

? 硬件:Embest Arm EduKit-II实验平台,Embest ARM标准/增强型仿真器套件,

PC机。 ? 软件:Embest IDE Pro ARM集成开发环境,Windows 98/2000/NT/XP。

4.2.3 实验内容

编写程序,控制实验平台的发光二极管LED1204和LED1205,使它们有规律地点亮和熄灭:

LED1204亮 -> LED1204关闭 -> LED1205亮 ->LED1204和LED1205全亮 -> LED1205关闭 -> LED1204关闭

46

4.2.4 实验原理

S3C44B0X芯片上共有71个多功能的输入输出管脚,它们分为7组I/O端口。

? ? ? ? ?

两个9位的输入/输出端口(端口E和F) 两个8位的输入/输出端口(端口D和G) 一个16位的输入/输出端口(端口C) 一个10位的输出端口(端口A) 一个11位的输出端口(端口B)

每组端口都可以通过软件配置寄存器来满足不同系统和设计的需要。在运行主程序之前,必须先对每一个用到的管脚的功能进行设置,如果某些管脚的复用功能没有使用,可以先将该管脚设置为I/O口。

1. S3C44B0X I/O控制寄存器 端口控制寄存器(PCONA-G)

在S3C44B0X芯片中,大部分管脚是多路复用的,所以在使用前要确定每个管脚的功能。对复用I/O管脚功能的配置,可以通过配置寄存器PCONn(端口控制寄存器)来定义。

如果PG0-PG7作为掉电模式下的唤醒信号,则这些端口必须配置成中断模式。 端口数据寄存器(PDATA-G)

如果端口定义为输出口,则输出数据可以写入PDATn中相应的位;如果端口定义为输入口,则输入的数据可以从PDATn相应的位中读入。

端口上拉寄存器(PUPC-G)

通过配置端口上拉寄存器可以使该组端口和上拉电阻连接或断开。当寄存器中相应的位配置0时,该管脚接上拉电阻;当寄存器中相应的位配置1时,该管脚不接上拉电阻。

外部中断控制寄存器(EXTINT)

通过不同的信号方式可以使8个外部中断被请求,EXTINT寄存器可以根据外部中断的需要将中断触发信号配置为低电平触发、高电平触发、下降沿触发、上升沿触发和边沿触发几种方式。

以下表格为Embest Arm EduKit-II实验板上各个端口的管脚定义。在端口B的表中可以看到,管脚PB9和PB10被设置为输出口,并且分别和LED1204、LED1205连接。

表4-7 端口 A

端口 A PA0 PA1 PA2 PA3 管脚功能 ADDR0 ADDR16 ADDR17 ADDR18 端口 A PA4 PA5 PA6 PA7 管脚功能 ADDR19 ADDR20 ADDR21 ADDR22 端口 A PA8 PA9 管脚功能 ADDR23 ADDR24 PCONA寄存器地址:0X01D20000 PDATA寄存器地址:0X01D20004 PCONA复位默认值:0X1FF

表4-8 端口 B

端口 B

管脚功能 端口 B 47

管脚功能 端口 B 管脚功能 PB0 PB1 PB2 PB3 SCKE SCLE nSCAS nSRAS PB4 PB5 PB6 PB7 OUTPUT (LED1) OUTPUT (LED2) nGCS1 NGCS2 PB8 PB9 PB10 NGCS3 OUTPUT (NFCE) OUTPUT (LCD) PCONB寄存器地址:0X01D20008 PDATB寄存器地址:0X01D2000C PCONB复位默认值:0X7FF

表4-9 端口 C 端口 C PC0 PC1 PC2 PC3 PC4 PC5 管脚功能 OUT (XMON) OUT (YPON) OUT (XMON) OUT (YPON) VD7 VD6 端口 C PC6 PC7 PC8 PC9 PC10 PC11 管脚功能 VD5 VD4 OUT(ALE) OUT(CLE) RTS1 CTS1 端口 C PC12 PC13 PC14 PC15 管脚功能 TXD1 RXD1 RTS0 CTS0 PCONC寄存器地址:0X01D20010 PDATC寄存器地址:0X01D20014 PUPC 寄存器地址:0X01D20018 PCONC复位默认值:0X0FF0FFFF

表4-10 端口 D

端口 D PD0 PD1 PD2 管脚功能 VD0 VD1 VD2 端口 D PD3 PD4 PD5 管脚功能 VD3 VCLK VLINE 端口 D PD6 PD7 管脚功能 VM VFRAME PCOND寄存器地址:0X01D2001C PDATD寄存器地址:0X01D20020 PUPD 寄存器地址:0X01D20024 PCOND复位默认值:0XA

表4-11端口 E

端口 E PE0 PE1

管脚功能 OUT (PS2_IO) TXD0 端口 E PE3 PE4 管脚功能 OUT (PWM1) OUT (PWM2) 48

端口 E PE6 PE7 管脚功能 OUT (L3DATA) OUT (L3MODE) PE2 RXD0 PE5 OUT (L3CLK) PE8 CODECLK PCONE寄存器地址:0X01D20028 PDATE寄存器地址:0X01D2002C PUPE 寄存器地址:0X01D20030 PCONE复位默认值:0X25529

表4-12 Port F 端口 F PF0 PF1 PF2 管脚功能 IICSCL IICSDA nWAIT 端口 F PF3 PF4 PF5 管脚功能 OUT (LED4) OUT (LED3) IISLRCLK 端口 F PF6 PF7 PF8 管脚功能 IISSDO IISSDI IISSCLK PCONF寄存器地址:0X01D20034 PDATF寄存器地址:0X01D20038 PUPF 寄存器地址:0X01D2003C PCONF复位默认值:0X00252A

表4-13 Port G 端口 G PG0 PG1 PG2 管脚功能 EXINT0 EXINT1 EXINT2 端口 G PG3 PG4 PG5 管脚功能 EXINT3 EXINT4 EXINT5 端口 G PG6 PG7 管脚功能 EXINT6 EXINT7 PCONG寄存器地址:0X01D20040 PDATG寄存器地址:0X01D20044 PUPG 寄存器地址:0X01D20048 PCONG复位默认值:0XFFFF

2. 电路设计

如图4-4所示,发光二极管LED1204和LED1205的正极与芯片的47脚VDD33连接,VDD33可以输出3.3V的电压,负极通过限流电阻R95、R96和芯片的13脚(GPB4)、14(GPB5)脚连接。这两个管脚属于端口B,已经配置为输出口。通过向PDATB寄存器中相应的位写入0或1可以使管脚13、14输出低电平或高电平。当13、14管脚输出低电平时,LED点亮;当13、14管脚输出高电平时,LED熄灭。

49

13 14 GPB5 R1212 R1213 LED 1 GPB4 S3C44B0VDD33 47 LED 2 图4-4发光二极管控制电路

4.2.5 实验操作步骤

1. 准备实验环境

使用Embest仿真器连接目标板,使用Embest Arm EduKit-II实验板附带的串口线,连接实验板上的UART0和PC机的串口。 2. 串口接收设置

在PC机上运行windows自带的超级终端串口通信程序(波特率115200、1位停止位、无校验位、无硬件流控制);或者使用其它串口通信程序。 3. 打开实验例程 1

)拷贝光盘CD1\\Software\\EduKit44b0EmbestIDE\\Examples\\Samsung\\目录下;

2) 使用Embest IDE通过Embest JTAG仿真器连接实验板,打开实验例程目录

4.2_led_test子目录下的led_test.pjf 例程,编译链接工程; 3) 点击IDE 的Debug菜单,选择Remote Connect项或F8键,远程连接目标板; 4) 点击IDE 的Debug菜单,选择Download下载调试代码到目标系统RAM中; 5) 在工程管理窗口中双击led.c就会打开该文件,在“leds_off();”设置断点后,点击

Debug菜单Go或F5键运行程序; 6) 当程序停留到断点后,观察当前led 1204、led 1205的状态,点击Debug菜单下

的Step over或F10键执行程序,观察led 1204、led 1205的变化; 7) 结合实验内容和实验原理部分,掌握ARM芯片中复用I/O口的使用。 4. 观察实验结果

在PC机上观察超级终端程序主窗口,可以看到如下界面: boot success... Led Test Example 程序正确运行后,可以看到实验系统上LED 1204和LED1205进行以下循环:

50


嵌入式实验指导书(计算机专业适用) - 图文(5).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:演讲稿《做一名有创新精神的人》

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: