- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
实验目的
1.熟悉 ARM 9 实验箱 OURS-2410RP;
2. 理解如何通过 ARM 汇编控制硬件操作;
3. 熟练使用 ARM 调试软件 RVDS 进行硬件调试
二、实验内容
1、掌握ARM处理器GPIO相关寄存器的使用;
2、用ARM汇编实现控制开发LED按照一定方式点亮。
三、实验环境
1. 硬件:ARM 9 实验箱 OURS-2410RP,PC 机 Pentium III 以上,J-Link 调试器;
2. 软件:Windows 操作系统,RVDS2.2软件。
四、实验步骤
LED汇编实验
1、通过查看S3C2410处理器B口控制寄存器,在ledtest.s文件中添加汇编代码,设置GPB5~GPB8为output。
2、在ledtest.s文件中添加汇编代码,禁止GPB5~GPB8端口的上拉电阻。
3、在ledtest.s文件中添加汇编代码,点亮LED2,熄灭LED1,LED3,LED4,并调用延时。
4、在ledtest.s文件中添加汇编代码,点亮LED3,熄灭LED1,LED2,LED4,并调用延时。
5、在ledtest.s文件中添加汇编代码,点亮LED4,熄灭LED1,LED2,LED3,并调用延时。
6、在ledtest.s文件中添加汇编代码,实现LED1~LED4依次点亮。
7、串口的一端连电脑,另一端连实验箱的串口0,利用RVDS软件编译生成*.bin文件,打开实验箱电源,利用超级终端将*.bin文件下载到实验箱中并运行,检验LED显示逻辑是否与设计的程序逻辑相符,拍照记录LED的亮灭情况。
LED C语言实验
在C程序中添加实验代码,实现LED的循环点亮,步骤如上(尝试用其他几种方法实现LED灯循环点亮)。
下载程序并运行,观察并拍照记录S3C2410RP实验箱核心板右上角处D1至D4四个灯的亮灭情况。
五、实验数据及结果分析
1. LED汇编实验结果图
2. LEDC语言实验结果图
六、源代码(手写)
1. LED汇编实验源代码
;GPIO寄存器宏定义
GPBCON EQU 0
GPBDAT EQU 0GPBUP EQU 0
AREA
LEDTESTASM,CODE,READONLY ;该伪指令定义了一个代码段,段名为LEDTESTASM,属性只读
ENTRY
LED
;设置GPG5-GPG8(即LED4--LED7)为output
;设置GPB5-GPB8(即LED1--LED4)为output
ldr r0,=GPBCON
ldr r1,[r0]
mov r1,#0
str r1,[r0]
;禁止GPG5-GPG8(即LED4--LED7)端口的上拉电阻
;禁止GPB5-GPB8(即LED1--LED4)端口的上拉电阻
ldr r0,=GPBUP
ldr r1,[r0]
mov r1,#0x01e0
str r1,[r0]
looptest
;将数据端口B的数据寄存器的地址赋值给寄存器r2
ldr r2,=GPBDAT
; 点亮LED5,熄灭LED6-LED8,并调用延时
; 点亮LED1,熄灭LED2-LED4,并调用延时
ldr r3,[r2]
orr r3,r3,#0x01e0
bic r3,r3,#0x00200
str r3,[r2] ;GPB5(即LED1) output 0
ldr r0,=0xffffff ;初始计数值
bl delay ;调用延迟子程序
;----------点亮LED6,熄灭LED5,LED7,LED8,并调用延时----
orr r3,r3,#0x01e0
bic r3,r3,#0x004
str r3,[r2] ;GPB5(即LED1) output 0
ldr r0,=0xffffff ;初始计数值
bl delay ;调用延迟子程序
;----------点亮LED7,熄灭LED5,LED6,LED8,并调用延时----
orr r3,r3,#0x01e0
bic r3,r3,#0x0080
str r3,[r2] ;GPB5(即LED1) output 0
ldr r0,=0xffffff ;初始计数值
bl delay ;调用延迟子程序
;----------点亮LED8,熄灭LED5,LED6,LED7,并调用延时----
orr r3,r
文档评论(0)