ARM嵌入式软件开发+4+PWM实验.ppt_第1页
ARM嵌入式软件开发+4+PWM实验.ppt_第2页
ARM嵌入式软件开发+4+PWM实验.ppt_第3页
ARM嵌入式软件开发+4+PWM实验.ppt_第4页
ARM嵌入式软件开发+4+PWM实验.ppt_第5页
已阅读5页,还剩17页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、JXARM9-2410实验系统教案5.4 PWM实验,武汉创维特信息技术有限公司,2020/9/22,2,提纲,1,3,2,4,5,基础知识,实验目的,实验内容,预备知识,实验设备,6,实验过程,7,实验报告要求,3,一 实验目的,实验目的,了解PWM的基本原理 掌握PWM控制的编程方法,4,二 实验内容,实验内容,编写程序对PWM控制器输出8000Hz 2/3占空比的数字信号控制峰鸣器 编写程序改变PWM控制器输出频率 编写程序改变PWM控制器输出占空比,5,三 预备知识,预备知识,了解ADT集成开发环境的基本功能 了解PWM的基本原理以及用途,6,四 实验设备,实验设备,JXARM9-24

2、10教学实验箱 ADT1000仿真器和ADT IDE集成开发环境 串口连接线,7,五 基础知识,脉宽调制- PWM,脉宽调制(PWM)就是利用微处理器的数字输出来对模拟电路进行控制的一种非常有效的技术。,广泛应用在从测量、通信到功率控制与变换的许多领域中。,PWM从处理器到被控系统信号都是数字式的,无需进行数模转换。让信号保持为数字形式可将噪声影响降到最小。,8,五 基础知识,脉宽调制- PWM,PWM是一种对模拟信号电平进行数字编码的方法。通过高分辨率计数器的使用,方波的占空比被调制用来对一个具体模拟信号的电平进行编码。,PWM信号仍然是数字的,因为在给定的任何时刻,满幅值的直流供电要么完全

3、有(ON),要么完全无(OFF)。,电压或电流源是以一种通(ON)或断(OFF)的重复脉冲序列被加到模拟负载上去的。通的时候即是直流供电被加到负载上的时候,断的时候即是供电被断开的时候。只要带宽足够,任何模拟值都可以使用PWM进行编码。,9,五 基础知识,PWM信号,占空比为10%的PWM输出 0.9V的模拟信号,供电电压为9V,占空比为50%的PWM输出 4.5V的模拟信号,占空比为70%的PWM输出 6.3V的模拟信号,10,五 基础知识,接通时间、周期、占空比和调制频率,以上页例子为例,接通时间为灯泡点亮时间,周期为一次通断的时间,占空比是接通时间与周期之比,调制频率为周期的倒数。要想取

4、得调光灯(保持点亮)的效果,必须提高调制频率。通常调制频率为1kHz到200kHz之间。,11,五 基础知识,PWM硬件控制器,许多微控制器内部都包含PWM控制器。一般都可以选择接通时间和周期。占空比是接通时间与周期之比;调制频率为周期的倒数。具体的PWM控制器在编程细节上会有所不同,但它们的基本思想通常是相同的。执行PWM操作之前,微处理器要求在软件中完成以下工作: 设置提供调制方波的片上定时器/计数器的周期; 在PWM控制寄存器中设置接通时间; 启动定时器。,12,五 基础知识,S3C2410的PWM控制器,S3C2410处理器有5个16位定时器,其中定时器0/1/2/3有PWM脉冲输出功

5、能,13,五 基础知识,S3C2410的PWM控制器,定时器0和定时器1使用相同的分频器,但他们的计数器以及控制器是各自独立的,定时器2/3/4情况相同,各定时器的精度见下表:,14,五 基础知识,S3C2410定时器有关的寄存器,PWM定时器配置寄存器 PWM定时器初值计数器以及比较计数器 PWM定时器控制寄存器,15,五 基础知识,PWM定时器配置寄存器,16,五 基础知识,PWM定时器配置寄存器,17,五 基础知识,PWM定时器初值计数器以及比较计数器,18,五 基础知识,PWM定时器控制寄存器,19,五 基础知识,实验说明,本实验通过PWM控制器控制蜂鸣器的发声。JXARM9-2410

6、教学实验系统的蜂鸣器脉冲输入端口连接到S3C2410X的TOUT0端口,即定时器0的脉冲输出端口。通过修改rTCNTB0和rTCMPB0来设置输出的频率freq和占空比rate。,20,五 基础知识,编程改变输出的频率,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; freq 1

7、4000; 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; index 100000; index+); rTCON=0 x0;/* 延时并停止定时器 */ ,21,五 基础知识,编程改变输出的占空比,div = (PCLK/256/4)/8000;/* 输出频率8000HZ, 使用1/100 - 95/100的占空比 */ for ( rate = 1; rate 50; rate += 5 ) rTCNTB0= div; rTCMPB0= (rate*div)/50;/* 修改占空比 */ rTCON=0 xa;/* 手工装载定时器的计数值 */ rTCON=0 x9;/* 启动定时器*/ for( index = 0; index 100000; index+);

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论