- 0
- 0
- 约5.45千字
- 约 11页
- 2019-09-27 发布于广东
- 举报
科技学院课程设计报告
(2015 — 2016年度第二学期)
名 称:ARM试验GPIO
题 目:—
院 系:科技学院
班 级:13k2
学 号:3j
学生姓名:
指导教师:张老师
设计周数:
成 绩:
日期:2016年5月10日
实验一:GPIO
(1)蜂鸣器
—:实验现象
本次实验是使用LPC178/177X系列Cortex-M3中GPIO的引脚功 能模块,使用P3. 30来控制蜂鸣器,使得蜂鸣器按一定的频率鸣 叫。控制电路如下图所示:
JP13|R2410KL 01R28
JP13
|R24
10K
L 0
1
R28 /
VDD 3.3V
1K
VDD 3.3V
跳线器
Q1
SS8550
U12
1
v 7DGND直流蜂鸣器实验代码分析
v 7
DGND
直流蜂鸣器
实验代码分析
#include . /LPC177x_8x/LPC177x_8x. h〃
#i nc I ude :. /LPC177x_8x/type. h
#define BEEPON(LPC_GP103-CLR = lul ? 30)
#define BEEPOFF(LPC_GP103-SET = 1ul ? 30)
vo i d myDe I ay (u i nt32_t ulTime) //延时子函数
{
uint32 t i 二 0;
while (uITime—) {
for (i = 0; i 20000; i卄);
}
}
void GPIOInit( void ) //GPI0 口初始化子函数
//工程模块
//蜂鸣器工作
//蜂鸣器不工作
LPC_GP103-DIR |= 1?30;
LPC_GPI03-SET | 二 1?30;
//设置P3.30为输出
//设置P3.30为高电平
while (1) {BEEPON; myDeI ay (4000);BEEPOFF; myDelay (4000);}}int main (void) //
while (1) {
BEEPON; myDeI ay (4000);
BEEPOFF; myDelay (4000);
}
}
int main (void) //主函数
//蜂鸣器鸣叫
//蜂鸣器不鸣叫
Systemln i t ();
GPIOInit(); beepOperate (400);
}
(2)读取按键状态
//系统初始化,不能删除
//通用I/O 口初始化
//蜂鸣器工作
实验现象
本次实验是使用LPC178/177X系列Cortex-M3中GPIO的引脚功
能模块,通过判断按键连接的P0. 12引脚是否为低电平来控制蜂 鸣器,使得按键Key1按下,蜂鸣器按一定的频率鸣叫。控制电 路如下图所示:
实验代码分析
#include . /LPC177x_8x/LPC177x_8x. h〃
#include . /LPC177x_8x/type. h //工程模块
#define BEEPON (LPC_GPI03-CLR = lul ? 30)
#define BEEPOFF (LPC_GP103-SET = 1ul ? 30)
vo i d myDeI ay (u i nt32_t ulTime)
{
uint32 t i 二 0;
//蜂鸣器鸣叫
//蜂鸣器不鸣叫
while (uITime—) {
for (i = 0; i 20000; i卄); }
}
void GPIOInit( void )
LPC_GPI00-DIR =
~(1
? 12);
//设置P0. 12为输入
LPC_GP103-DIR |二
1
? 30;
//设置P3.30为输出
LPC_GP103-SET |二
1
? 30;
//设置P3.30为高电平
}
void key 1 Scan(void) //按键扫描子函数
{
while (1) {
if (! (LPC_GP100-PIN 1 ? 12)) { myDe I ay (40);
if (!(LPC_GPI00-PIN 1 ? 12)) { break;
}
}
//判断按键是否按下
〃按键确实按下,退岀死循环
voi d beepOperate (u i nt32_t u i Frequency) //蜂鸣器子函数
while (1) {
BEEPON; //蜂鸣器响 myDe I ay (400);
BEEPOFF; //蜂鸣器不响 myDeI ay (400);
}
}
int main (void)
{
Systeml n i t ();
GPIOInit();
//系统初始化,不可删除
//管脚初始化
key 1 Scan (); beepOperate (400);
//按键扫描
〃蜂鸣器以一定
原创力文档

文档评论(0)