- 1、本文档共3页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
基于EasyARM2131開发板的蜂鸣器控制
基于EasyARM2131开发板的蜂鸣器控制
EasyARM2131开发板是广州周立功公司设计的EasyARM系列开发套件之一,采用了
PHILIPS公司基于ARM7TDMI-S核、但电源供电、LQFP64封装的LPC2131,具有JTAG仿真调试、ISP编程等功能。
开发板上提供了一些键盘、LED、蜂鸣器等常用功能部件,还具有RS232接口电路、I2C存储器电路。另外,用户也可以更换兼容的CPU进行仿真调试,如LPC2132、LPC2138、LPC2142等。灵活的跳线组合(开发板内使用的所有I/O均可断开连接),还有用户I/O接口,极大地方便了用户进行32位ARM嵌入式系统的开发实验。
在EasyARM2131开发板上,接有一个蜂鸣器,由P0.7控制,通过跳线JP11选择连接。蜂鸣器控制电路如图所示。
图1.蜂鸣器控制电路
电路参数请参考硬件原理部分的说明,如果跳线JP11选择蜂鸣器,当P0.7输出低电平时,蜂鸣器鸣叫,当P0.7输出高电平则停止鸣叫。
实验利用P0.7的输出功能,控制蜂鸣器鸣叫。程序设置PINSEL0使P0.7连接GPIO,并通过IO0DIR将其设置为输出状态,然后通过IO0CLR和IO0SET清零和置位P0.7口,控制蜂鸣器,流程图见下图2所示,程序清单代码如程序清单所示。
图2.蜂鸣器控制流程图
程序清单:
#include “config.h”
#define BEEP 17 //P0.7控制蜂鸣器,低电平蜂鸣
/******************************************************************************
**函数名称:DelayNS()
**函数功能:长软件延时
**入口参数:dly 延时参数,值越大,延时越久
**出口参数:无
*******************************************************************************
void DelayNS(uint32 dly)
{ uint32i;
for(;dly0;dly-)
for(i=0;i50000;i++);
}
/******************************************************************************
**函数名称:main()
**函数功能:用P0.7控制BEEP,让BEEP鸣叫
**调试说明:需要将跳线JP5和LED短接
*******************************************************************************
int main(void)
{ PINSEL1=0 //设置管脚连接GPIO
IO0DIR=BEEP; //设置BEEP控制口为输出
while(1)
{ IO0SET=BEEP; //BEEP停止蜂鸣
DelayNS(50); //延时
IO0CLR=BEEP; //BEEP蜂鸣
DelayNS(50); //延时
}
return 0;
}蚅肂蒄薅羃膁膃螀衿膀芆薃螅腿莈螈蚁膈薀薁肀膇芀蒄羆膆莂虿袂膆蒅蒂螈膅膄蚈蚄芄芇蒁羂芃荿蚆袈节蒁葿螄芁芁蚄螀芀莃薇聿芀蒅螃羅艿薈薅袁芈芇螁螇袄莀薄蚃羄蒂蝿羂羃膂薂羈羂莄螈袄羁蒆蚀螀羀蕿蒃肈罿芈虿羄羈莁蒁袀肈蒃蚇螆肇膃蒀蚂肆芅蚅肁肅蒇蒈羇肄蕿螃袃肃艿薆蝿膃蒀蚂肆芅蚅肁肅蒇蒈羇肄蕿螃袃肃艿薆蝿艿薆蝿膃蒀蚂肆芅蚅肁肅蒇蒈羇肄蕿螃袃肃艿薆蝿肅蒇蒈羇肄蕿螃袃肃艿薆蝿肃艿薆蝿
文档评论(0)