控制fl2440开发板led灯亮灭,蜂鸣器发声
来源:互联网 发布:vb 读取西门子plc 编辑:程序博客网 时间:2024/04/28 08:08
led灯亮灭,蜂鸣器发声是通过设置相应寄存器的值来控制的,主要有GPBCON、GPBDAT、GPBUP等,GPBCON有GPB0-10,每一个GPBi设置不同的值来表示输入输出等,设置GPBDAT的每一位表示高低电平,GPBUP设置GPBi是否有效,通过对这三个寄存器的设置则可实现led灯和蜂鸣器。
下面有一个简单的程序:
实现led灯轮流亮灭,led.c:
#define GPBCON (*(volatile unsigned *)0x56000010)
#define GPBDAT (*(volatile unsigned *)0x56000014)
#define GPBUP (*(volatile unsigned *)0x56000018)
void delay(int t)
{
int i,j;
for(i=0;i<t;i++)
for(j=0;j<t;j++);
}
int ledMain(void)
{
GPBCON=0x111400;
GPBDAT=0xfff;
while(1)
{
GPBDAT=0xfdf;
delay(500);
GPBDAT=0xfbf;
delay(500);
GPBDAT=0xeff;
delay(500);
GPBDAT=0x9ff;
delay(500);
}
return 0;
}
通过汇编程序进入函数,init.s:
AREA |DATA|,CODE,READONLY
ENTRY
ldr r13,=0x1000
IMPORT ledMain
b ledMain
END
用ADS编译,下载到开发板则可看见led的效果。
控制蜂鸣器的发声,bell.c:
#define GPBCON (*(volatile unsigned *)0x56000010)
#define GPBDAT (*(volatile unsigned *)0x56000014)
#define GPBUP (*(volatile unsigned *)0x56000018)
void delay(int t)
{
int i,j;
for(i=0;i<t;i++)
for(j=0;j<t;j++);
}
int bellmain()
{
GPBCON=0x0001;
while(1)
{
GPBDAT=0x0;
delay(1000);
GPBDAT=0x1;
delay(1000);
}
return 0;
}
汇编程序如上,只需改函数的入口即可,编译同上,则可是想蜂鸣器的发声。
以上只是我现在的理解,当然可能有一些不懂的地方,今后慢慢学习。
- 控制fl2440开发板led灯亮灭,蜂鸣器发声
- 基于fl2440开发板的按键以及蜂鸣器控制
- C# 控制蜂鸣器发声
- beep 控制蜂鸣器发声
- C# 控制蜂鸣器发声
- C# 控制蜂鸣器发声
- C# 报警 控制蜂鸣器发声
- Linux 下控制蜂鸣器发声的程序
- Linux 下控制蜂鸣器发声的程序
- 基于fl2440开发板的led实验
- FL2440开发板上应用程序-----LED实验
- FL2440开发板LEd驱动及其应用程序
- 飞凌Fl2440开发板蜂鸣器pwm的驱动
- FL2440裸机开发之LED
- TQ2440使用定时器产生PWM,控制蜂鸣器发声
- 4412驱动-fifth_fasyn 控制led 蜂鸣器 按键
- Jlink FL2440 裸机开发(一) 点亮LED和按键控制
- #ARM开发# 点亮LED和操作蜂鸣器
- java 抽象类
- annotation的配置
- 心情好坏
- java 接口特性
- 定义java类的语法格式
- 控制fl2440开发板led灯亮灭,蜂鸣器发声
- 艾尔
- 越基础越难改变
- java输入语句
- 单元测试基础知识
- 我喜欢的生活
- 今天学习数据库对象
- Linux之网络配置
- html页面中嵌入另一个html页面