(精品)ARM嵌入式软件开发4PWM实验.ppt
JXARM9-2410JXARM9-2410实验系统教案实验系统教案实验系统教案实验系统教案5.4 5.4 PWMPWM实验实验实验实验武汉创维特信息技术有限公司武汉创维特信息技术有限公司 1/10/2023提纲1 13 32 24 45 5基础知识实验目的实验内容预备知识实验设备6 6实验过程7 7实验报告要求2一 实验目的实验目的q了解PWM的基本原理q掌握PWM控制的编程方法3二 实验内容实验内容q编写程序对PWM控制器输出8000Hz 2/3占空比的数字信号控制峰鸣器q编写程序改变PWM控制器输出频率q编写程序改变PWM控制器输出占空比4三 预备知识预备知识q了解ADT集成开发环境的基本功能q了解PWM的基本原理以及用途5四 实验设备实验设备qJXARM9-2410教学实验箱qADT1000仿真器和ADT IDE集成开发环境 q串口连接线6五 基础知识脉宽调制-PWM q脉宽调制(PWM)就是利用微处理器的数字输出来对模拟电路进行控制的一种非常有效的技术。q广泛应用在从测量、通信到功率控制与变换的许多领域中。qPWM从处理器到被控系统信号都是数字式的,无需进行数模转换。让信号保持为数字形式可将噪声影响降到最小。7五 基础知识脉宽调制-PWM qPWM是一种对模拟信号电平进行数字编码的方法。通过高分辨率计数器的使用,方波的占空比被调制用来对一个具体模拟信号的电平进行编码。qPWM信号仍然是数字的,因为在给定的任何时刻,满幅值的直流供电要么完全有(ON),要么完全无(OFF)。q电压或电流源是以一种通(ON)或断(OFF)的重复脉冲序列被加到模拟负载上去的。通的时候即是直流供电被加到负载上的时候,断的时候即是供电被断开的时候。只要带宽足够,任何模拟值都可以使用PWM进行编码。8五 基础知识PWM信号 占空比为10%的PWM输出0.9V的模拟信号供电电压为9V占空比为50%的PWM输出4.5V的模拟信号占空比为70%的PWM输出6.3V的模拟信号9五 基础知识接通时间、周期、占空比和调制频率q以上页例子为例,接通时间为灯泡点亮时间q周期为一次通断的时间q占空比是接通时间与周期之比q调制频率为周期的倒数。要想取得调光灯(保持点亮)的效果,必须提高调制频率。通常调制频率为1kHz到200kHz之间。10五 基础知识PWM硬件控制器q许多微控制器内部都包含PWM控制器。一般都可以选择接通时间和周期。占空比是接通时间与周期之比;调制频率为周期的倒数。具体的PWM控制器在编程细节上会有所不同,但它们的基本思想通常是相同的。执行PWM操作之前,微处理器要求在软件中完成以下工作:设置提供调制方波的片上定时器/计数器的周期;在PWM控制寄存器中设置接通时间;启动定时器。11五 基础知识S3C2410的PWM控制器qS3C2410处理器有5个16位定时器,其中定时器0/1/2/3有PWM脉冲输出功能12五 基础知识S3C2410的PWM控制器q定时器0和定时器1使用相同的分频器,但他们的计数器以及控制器是各自独立的,定时器2/3/4情况相同,各定时器的精度见下表:13五 基础知识S3C2410定时器有关的寄存器qPWM定时器配置寄存器qPWM定时器初值计数器以及比较计数器qPWM定时器控制寄存器14五 基础知识PWM定时器配置寄存器15五 基础知识PWM定时器配置寄存器16五 基础知识PWM定时器初值计数器以及比较计数器17五 基础知识PWM定时器控制寄存器18五 基础知识实验说明 q本实验通过PWM控制器控制蜂鸣器的发声。JXARM9-2410教学实验系统的蜂鸣器脉冲输入端口连接到S3C2410X的TOUT0端口,即定时器0的脉冲输出端口。通过修改rTCNTB0和rTCMPB0来设置输出的频率freq和占空比rate。19五 基础知识编程改变输出的频率rTCFG0=0 xFF;/*设置定时器的预分频率值:TIME0/1=255,TIME2/3/4=0*/rTCFG1=0 x1;/*设置定时器的工作模式:中断模式*/*设置定时器的分频率值:TIMER0为1/4,其他为1/2*/*输出脉冲:频率从4000HZ到14000HZ,使用2/3的占空比*/for(freq=4000;freq14000;freq+=1000)div=(PCLK/256/4)/freq;rTCON=0 x0;rTCNTB0=div;rTCMPB0=(2*div)/3;rTCON=0 xa;/*手工装载定时器的计数值*/rTCON=0 x9;/*启动定时器*/for(index=0;index100000;index+);rTCON=0 x0;/*延时并停止定时器*/20五 基础知识编程改变输出的占空比 div=(PCLK/256/4)/8000;/*输出频率8000HZ,使用1/100-95/100的占空比*/for(rate=1;rate50;rate+=5)rTCNTB0=div;rTCMPB0=(rate*div)/50;/*修改占空比*/rTCON=0 xa;/*手工装载定时器的计数值*/rTCON=0 x9;/*启动定时器*/for(index=0;index100000;index+);rTCON=0 x0;/*延时并关闭定时器*/for(index=0;index10000;index+);21六 实验报告要求实验报告要求q简述PWM的原理和应用;q纪录实验结果,描述S3C2410的控制方法。22