网站大量收购闲置独家精品文档,联系QQ:2885784924

TQ2440开发板蜂鸣器beep驱动测试(OK)..doc

  1. 1、本文档共10页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
TQ2440开发板蜂鸣器beep驱动测试(OK).

TQ2440开发板蜂鸣器beep驱动测试1、查看开发板TQ2440底板原理图,找到模块,如下图: 图电路图 从上图我们可以清楚地看到的管脚是2、查看TQ2440核心板原理图,找到对应的CPU管脚,如下图: 图对应CPU管脚电路图可知,通过对TOUT0/GPB0进行编程可控制蜂鸣器GPB0端口使用PWM信号驱动工作的,而GPB0口是一个复用的IO口,要使用它得先把他设置成TOUT0 PWM输出模式。 3、查看3C2440芯片手册,查看CPU管脚的模式,如下GPACON至GPJCON) S3C2440A中,大多数端口为复用引脚。因此要决定每个引脚选择哪项功能。PnCON(引脚控制寄存器)决定了每个引脚使用哪项功能。 端口数据寄存器(GPADAT至GPJDAT) 如果端口配置为输出端口,可以写入数据到PnDAT的相应位。如果端口配置为输入端口,可以从PnDAT的相应位读取数据。 表1 端口B控制寄存器(GPBCON,GPBDAT,GPBUP) 寄存器 地址 R/W 描述 复位值 GPBCON 0R/W 配置端口B的引脚 0x0 GPBDAT 0R/W 端口B的数据寄存器 – GPBUP 0R/W 端口B的上拉使能寄存器 0x0 保留 0x5600001C – 保留 – GPBDAT 位 描述 初始状态 GPB[10:0] [10:0] 端口配置为输入端口时,相应位为引脚状态。当端口配置为输出端口时,引脚状态将与相应位相同。当端口配置为功能引脚,将读取到未定义值。 - GPBCON 位 描述 初始状态 GPB0 [1:0] 00=输入 01=输出 10=TOUT0 11=保留 0 从上我们可以看出对于3C2440的来说,只需要设置GPBCON和GPBDAT寄存器即可。 、S3C2440 PWMPWM(脉冲宽度调制)简单的讲是一种变频技术,靠改变脉冲宽度来控制输出电压,通过改变周期来控制其输出频率。如果还不是很清楚,好吧,来看看我们实际生活中的例子,我们的电风扇为什么扭一下按扭,风扇的转速就会发生变化;调一下收音机的声音按钮,声音的大小就会发生变化;还有待会儿我们要讲的蜂鸣器也会根据不同的输入值而发出不同频率的叫声等,这些都是PWM的应用,都是通过PWM输出的频率信号进行控制的。 根据S3C2440的手册介绍,S3C2440A内部有5个16位的定时器,定时器0、1、2、3都带有脉冲宽度调制功能(PWM),定时器4是一个没有输出引脚的内部定时器,定时器0有一个用于大电流设备的死区生成器,请看下图解释: 图3 S3C2440内部定时器模块部分结构图 由S3C2440的技术手册和上面这幅结构图,我们来总结一下S3C2440内部定时器模块的特性吧: 1)共5个16位的定时器,定时器0、1、2、3都带有脉冲宽度调制功能(PWM); 2)每个定时器都有一个比较缓存寄存器(TCMPB)和一个计数缓存寄存器(TCNTB); 3)定时器0、1共享一个8位的预分频器(预定标器),定时器2、3、4共享另一个8位的预分频器(预定标器),其值范围是0~255; 4)定时器0、1共享一个时钟分频器,定时器2、3、4共享另一个时钟分频器,这两个时钟分频器都能产生5种不同的分频信号值(即:1/2、1/4、1/8、1/16和TCLK); 5)两个8位的预分频器是可编程的且根据装载的值来对PCLK进行分频,预分频器和时钟分频器的值分别存储在定时器配置寄存器TCFG0和TCFG1中; 6)有一个TCON控制寄存器控制着所有定时器的属性和状态,TCON的第0~7位控制着定时器0、第8~11位控制着定时器1、第12~15位控制着定时器2、第16~19位控制着定时器3、第20~22位控制着定时器4。 还是根据S3C2440手册的描述和上图的结构,要开始一个PWM定时器功能的步骤如下(假设使用的是第一个定时器): 1)分别设置定时器0的预分频值和时钟分频值,以供定时器0的比较缓存寄存器和计数缓存寄存器用; 2)设置比较缓存寄存器TCMPB0和计数缓存寄存器TCNTB0的初始值(即定时器0的输出时钟频率); 3)关闭定时器0的死区生成器(设置TCON的第4位); 4)开启定时器0的自动重载(设置TCON的第3位); 5)关闭定时器0的反相器(设置TCON的第2位); 6)开启定时器0的手动更新TCNTB0TCMPB0功能(设置TCON的第1位); 7)启动定时器0(设置TCON的第0位); 8)清除定时器0的手动更新TCNTB0TCMPB0功能(设置TCON的第1位)。 由此可以看到,PWM的输出频率跟比较缓存寄存器和计数缓存寄存器的取值有关,而比较缓存寄存器和计数缓存寄存器的值又跟预分频器和时钟分频器

文档评论(0)

xznh + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档