#ARM开发# 点亮LED和操作蜂鸣器
实例:Mini2451_Led_s (文件名)
设备:ARM实验板 PC机
编译环境:KEIL4 MiniTools
实验前准备:
实验板接通电源(不需要打开),连接电脑。打开MiniTools,按住实验板最边上的按钮同时开机,如显示没有连接成功,查看驱动是否安装完全,已经安装驱动的就可以直接显示connected。此时可以从Minitools中把 . bin 文件烧录到实验板上。
在KEIL4中新建工程Mini2451_Led_s
编译通过无误后,在工程文件output中查找 .bin 文件。
由实验板的电路原理可知: 四个LED灯的接口分别是GPB5,GPB6,GPA25,GPA26口。当这四个口接低电平时,LED灯点亮,接高电平时,LED熄灭。
查找实验板的手册:
找到对应的GPACON地址,GPADAT地址,GPA25,GPA26口的设置方式 第25,26位置0为输出状态
找到对应的GPBCON地址,GPBDAT地址,GPB5,GPB26口的设置方式,第10,11口置01为输出状态,第12,13口置01为输出状态
下面是源码加注释:
AREA Init, CODE ,READONLY
ENTRY
start
ldr r0,=0x53000000
ldr r1,=0
str r1,[r0] ;关闭看门狗
ldr r0, = 0x56000000 ; GPACON地址赋值
ldr r1, = 0
str r1, [r0]; r1的值依次赋给r0
ldr r0, = 0x56000010 ;GPBCON地址赋值
ldr r1, = 0x1401 ; 0001010000000001 对应的状态位设置
str r1, [r0]; r1的值依次赋给r0
ldr r0, = 0x5600001c ; 特殊状态位设置
ldr r1, = 0x0
str r1, [r0];
led_blink
;led on
ldr r0, = 0x56000004 ;GPADAT对应位赋值
ldr r1, = 0
str r1, [r0]; GPADAT
ldr r0, = 0x56000014 ;GPBDAT对应位赋值
ldr r1, = 0x01
str r1, [r0]; GPBDAT
END
编程需要举一反三,上面的就是使用ARM汇编语言编写的实验程序,实现的思路分俩点:
1.根据实验板手册设置对应接口I/O状态
2.根据电路原理图和实验板手册确定对应接口的高低电平的选择实现对应的现象