华北电力大学科技学院ARM课内实验一.docxVIP

  • 0
  • 0
  • 约5.45千字
  • 约 11页
  • 2019-09-27 发布于广东
  • 举报

华北电力大学科技学院ARM课内实验一.docx

科技学院 课程设计报告 (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)

1亿VIP精品文档

相关文档