下载后可任意编辑 实验二 蜂鸣器控制实验实验目的: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){i