欢迎来到天天文库
浏览记录
ID:12136126
大小:78.64 KB
页数:4页
时间:2018-07-15
《通过按键控制蜂鸣器》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、嵌入式系统设计与开发嵌入式系统设计与开发实验一:通过按键控制蜂鸣器所在系(院):学生姓名:指导教师:起止日期:嵌入式系统设计与开发实验目的:了解ARM2131开发板;搭建JLINK开发环境;运行第一个嵌入式程序参考书本:P44,P1541、实验电路图2、实验流程图开始P0.7选择接GPIO设置P0.7为输出状态置位P0.7口,关闭蜂鸣器延时清零P0.7,蜂鸣器鸣叫延时2嵌入式系统设计与开发3、程序清单#ifndef__CONFIG_H_#include"config.h"#endifvoidWaitKey(void){uint32i;while(1){//等待KEY1按下(即等待KE
2、Y1对应的口线为低电平,若为高电平则一直循环等待)//通过IO0PIN读取P0.0~P0.31口的电平值,屏蔽其它位后判断P0.7是否为低电平。while((IO0PIN&KEY1)!=0);for(i=0;i<50000;i++);//软件延时,去抖动(根据系统时钟调整)//判断KEY1是否仍为低电平,若是表明按键有效,否则表明是假按键if((IO0PIN&KEY1)==0)break;}//等待KEY1放开(即等待KEY1对应的口线为高电平,若为低电平则一直循环等待)while((IO0PIN&KEY1)==0);}********************************
3、************************************************************函数名称:DelayNS()**函数功能:长软件延时。**入口参数:dly延时控制值,值越大延时越长**出口参数:无*******************************************************************************************/voidDelayNS(uint32dly){uint32i;for(;dly>0;dly--)for(i=0;i<50000;i++);}2嵌入式系统设计与开发/***
4、******************************************************************************************名称:main()**功能:初始化GPIO,然后等待KEY1按键,若有按键则控制蜂鸣器响两声。*******************************************************************************************/intmain(void){//由于LPC2131的P0口的I/O与其它功能复用,比如P0.7与PWM2、SSEL0、EINT2复用
5、,//所以要先设置管脚连接。把口线设置为GPIO功能时,才能进行I/O控制。PINSEL0=0x00000000;//设置P0.0~P0.15为GPIO功能PINSEL1=0x00000000;//设置P0.16~P0.31为GPIO功能IO0DIR=BEEP;//设置BEEP控制口P0.7为输出模式,(P0的)其它I/O为输入模式IO0SET=BEEP;//控制BEEP(P0.7)输出高电平1while(1){WaitKey();//等待KEY1按键//控制蜂鸣器响第一声IO0CLR=BEEP;//控制BEEP(P0.7)输出低电平0,蜂鸣器响DelayNS(20);//延时IO0
6、SET=BEEP;//控制BEEP(P0.7)输出高电平1,蜂鸣器不响DelayNS(30);//延时//控制蜂鸣器响第二声IO0CLR=BEEP;DelayNS(20);IO0SET=BEEP;DelayNS(20);//控制蜂鸣器响第二声IO0CLR=BEEP;DelayNS(20);IO0SET=BEEP;DelayNS(20);}return0;}2
此文档下载收益归作者所有