嵌入式-蜂鸣器控制实验..docxVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
嵌入式-蜂鸣器控制实验.

实验二 蜂鸣器控制实验实验目的:1 了解ARM处理器PWM接口的处理机制 2 掌握在S3C2440A平台下进行PWM接口应用编程实验器材: Sinosys-EA2440实验箱 PC机实验原理:脉冲宽度调制(PWM)是一种对模拟信号电平进行数字编码的方法。通过高分辨率计数器的使用,方波的占空比被调制用来对一个具体模拟信号的电平进行编码。即通过改变方波的占空比表示不同的模拟信号的电平。在ARM嵌入式实验中,其实是通过微处理器中的计数器,对经过频率变换的输出频率周期进行计数,在PWM中,是通过两个寄存器(TCNTBn和TCMPBn)对输出信号的占空比进行调制,TCNTBn可以设置为TCMPBn+X,当TCNTBn在TCMPBn和TCMPBn+X 之间计数时,TOUTn(即输出信号)输出低电平,当TCNTBn计数下降到TCMPBn时,TOUTn电平反转,变为高电平,直到TCNTBn计数减到0,如果此时开启了重载,则又把预定的值重新装入TCNTBn和TCMPBn中,重复以上过程。在ARM嵌入式PWM中,会提供一个基准时钟作为输入时钟,PWM调制会对输入的时钟进行分频等操作进入计时器逻辑,其电路图2.1如下: 图2.1 PWM计时器框图如图2.1,输入的时钟PCLK经过一个8bit预置器和一个分频器,将得到的时钟进入计数器逻辑板块作为驱动时钟,而输出的TOUT则作为蜂鸣器(蜂鸣器控制电路如图2.2)的驱动信号。 图2.2 蜂鸣器控制电路实验总结:实验的主函数首先设置时钟,端口初始化,并捕捉进入测试函数的指令,与实验一大致相同,在此不在赘述,重点分析测试函数。测试函数如下:void Beep(int freq,int ms){int div,irGPBCON=~0x3; //将GPB0作为输入口rGPBCON|=0X2; // 接入TIMER0rTCFG0=~0XFF; // 设置prescaler为32rTCFG0|=0XF;rTCFG1=~0XF; //选择mux=1/16rTCFG1|=0X3;div=plck/32/16/freq 计算TCNTB0的值rTCNTB0=div;rTCMPB0=rTCNTB02; 占空比为4:1rTCON=~0X1F; 设置死区 自动重载 反转 人工载入 开始rTCON|=0XB; 关闭死区 开启重载 关反转 开人工载入 开始rTCON=~2; 关闭人工载入for(i=1,ims,i++);}void beep_test(void){ U8 key; freq=1000; beep(freq,0); while(1) { Uart_Printf(\nWant to quit Alarm I/O test,OK? (Y/N)\n); key=Uart_Getch(); if(key==y||key==Y) break; else if(key==+){ freq+=100; beep(freq,0) ; //加号增加频率 Uart_Printf( Press +to increase/reduce the frequency of beep !\n ) ; } else if( key == - ) //减号降低频率{freq-=100; beep(freq,0) ; Uart_Printf( Press - to increase/reduce the frequency of beep !\n ) ; }实验中,通过DNW将bin文件下载到实验箱中,发现蜂鸣器开始想起,通过“+”“-”的控制,使得频率改变,明显感到蜂鸣器的响声变尖或者变低沉,说明程序有效。

文档评论(0)

sdgr + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档