ARM9蜂鸣器汇编实验
来源:互联网 发布:go并发编程实战 pdf 编辑:程序博客网 时间:2024/04/27 16:26
参照飞凌FL2440的官方汇编程序,按自己的习惯写了一下。程序如下:
AREA SAMPLE,CODE,READONLY;声明代码段
ENTRY ;入口
LDR R1,=0x56000018 ;GPBUP B口上拉禁止
LDR R2,=0xFFF
STR R2,[R1]
LDR R1,=0x56000010 ;GPBCON B0口输出
LDR R2,=0xFFFFD ;不要写错位
STR R2,[R1]
LDR R1,=0x56000014 ;GPBDAT B0输出低
LDR R2,=0xFFE
STR R2,[R1]
;B端口初始化完毕
LDR R1,=0x56000058 ;GPFUP F口上拉禁止
MOV R2,#0xFF ;MOV是单字节指令
STR R2,[R1]
LDR R1,=0x56000050 ;GPFCON F0,2,3,4口为输入
LDR R2,=0xFC0C
STR R2,[R1]
;LDR R1,=0x56000054 ;GPFDA F0,2,3,4 置0
;LDR R2,=0xE2 ;when set input,this operation can not work
;STR R2,[R1]
;F端口初始化完毕
START //标号要顶格写
LDR R1,=0x56000014 ;R1->GPBDAT ->代表指向,R1存放地址值,不是指向地址的内容
LDR R2,=0x56000054 ;R2->GPFDAT
;设定寄存器指向 ;can not set the place out of START,if not ,can not link to processor
LDR R3,[R1] ;取出地址中的值
LDR R4,[R2] ;取出地址中的值
ORR R4,R4,#0xE2 ;must have ,other then,it will buzzer all the time,清空与按键相关的位
CMP R4,#0xFF
BEQ BuzzerDown
B BuzzerUp
BuzzerUp
LDR R3,=0xFFF
STR R3,[R1]
B START
BuzzerDown
LDR R3,=0xFFE
STR R3,[R1]
B START
END
自己还在百度中收集了一些条件转移指令
条件转移指令所依据的转移条件主要有:全零(Z)、正负号(N)、进位(C)、溢出(V)及它们的组合等。主要条件转移指令有:
BEQ 等于零转移
BNEQ 不等于零转移
BLS 小于转移
BGT 大于转移
BLEQ 小于等于转移,或不大于转移
BGEQ 大于等于转移,或不小于转移
BLSU 不带符号小于转移
BGTU 不带符号大于转移
BLEQU 不带符号小于等于转移,或不带符号不大于转移
BGEQU 不带符号大于等于转移,或不带符号不小于转移
BCC 没有进位转移
BCS 有进位转移
BVC 没有溢出转移
BVS 有溢出转移
还发现一个问题,工程目录名太长,codewarrior有时候不能打开工程。
- ARM9蜂鸣器汇编实验
- 蜂鸣器实验
- 蜂鸣器实验
- arm9裸机开发之蜂鸣器
- 蜂鸣器控制实验
- pwm控制蜂鸣器实验
- 4.有源蜂鸣器实验
- 驱动蜂鸣器的实验
- ARM9汇编找最值
- [Solved] [Embedded] [FL2440] ADS实验4: 蜂鸣器实验: 蜂鸣器响都不响一声
- Arduino学习(五) 蜂鸣器实验
- ARM9 汇编指令总结1
- ARM9汇编——关键字
- 实验7 PWM 控制蜂鸣器实验
- ARM9外部中断裸机实验
- 汇编实验
- 汇编 实验
- 汇编实验
- 高斯混合模型的matlab实现
- 就看见
- 编一个小程序体会一下lei的感觉
- 高级excel2003 宏代码
- 九度题目1043:Day of Week
- ARM9蜂鸣器汇编实验
- 去旅行 、我要去旅行
- UVa 537 - Artificial Intelligence?
- 漂
- 关于SSD 4K对齐
- IE8允许ActiveX控件设置
- Java native关键字
- 快快快挂号
- 入住csdn博客平台