AVR定时器1快速PWM模式设置

2019-11-07来源: 51hei关键字:AVR  定时器1  PWM  模式设置

简单归纳一下:


快速PWM,是由匹配值和TOP 值决定的。而TOP值可以是固定的(方波产生模式5,6,7),又或者可编程(方波产生模式14,15)。方波产生模式5,6,7 分别对应0x00ff,0x01ff,0x03ff 的TOP 值,而模式14,15 的TOP 值分别为1CR1,和OCR1A 来决定。从视频教程中我们知道模式15 需要牺牲OC1A 作为代价,(OC1A=PD5)OCR1A 决定了PWM 输出的频率,而OCR1B 决定了PWM 不同的占空比输出。换一句话说,OCR1A 是OCR1B 求出占空比的参考值。(上一页有详细的介绍),虽然OC1A 被牺牲了,但是,OC1A 还可以很合理的设置依然可以工作于近似CTC 模式(勉强算是吧)。这里打上小小的补充:如果方波产生的模式是5,6,7,仅要稍微修改一下概念就可以了。


在编程的时候需要如下的步骤:


1.设置PD4~5 为输出(默认为低电平)。DDRD|=BIT(4)|BIT(5);


2.决定方波产生模式,试验中为15。OCR1A|=BIT(0)|BIT(1); OCR1B|=BIT(3)|BIT(4);


3.决定OC1A,和OC1B 的工作方式,试验中快速PWM,OC1A 作为牺牲,工作近似CTC 模式。OC1B,却是匹配时清零,TOP 时置一。OCR1A|=BIT(5)|BIT(6);


4.决定频率,OCR1A 设初值。


5.决定PWM 输出占空比,OCR1B 设初值。


关键字:AVR  定时器1  PWM  模式设置 编辑:什么鱼 引用地址:http://news.eeworld.com.cn/mcu/ic479250.html 本网站转载的所有的文章、图片、音频视频文件等资料的版权归版权所有人所有,本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如果本网所选内容的文章作者及编辑认为其作品不宜公开自由传播,或不应无偿使用,请及时通过电子邮件或电话通知我们,以迅速采取适当措施,避免给双方造成不必要的经济损失。

上一篇:单片机AD接收UART发送模块电路图PCB与vb上位机源码
下一篇:东芝LB1847 步进电机驱动芯片pdf资料与AVR单片机源程序

关注eeworld公众号 快捷获取更多信息
关注eeworld公众号
快捷获取更多信息
关注eeworld服务号 享受更多官方福利
关注eeworld服务号
享受更多官方福利

推荐阅读

avr单片机汇编参考程序
该AVR的汇编程序选自《M128》,程序中体现了AVR汇编的基本特点,仅供大家参考。该应用系统为一个带1/100秒的简易24小时制时钟,它在上电后能够自动从11时59分55秒00开始计时和显示时间。下图为简易时钟系统硬件电路图。                           图  简易24小时时钟硬件原理图系统使用8个LED数码管显示时、分、秒、1/100秒4个时段的数字,每个时段占用2个LED。显示方式采用动态扫描方式
发表于 2019-11-14
avr单片机汇编参考程序
AVR单片机一些学习笔记
下面是自己在学习AVR单片机时的学习经验,分享出来给大家,一起学习。1、AVR单片机采用RISC架构,8051单片机采用CISC架构。 前者速度为后者的2~4倍,为流水线操作指令。2、 AVR单片机有32个通用寄存器(地址在RAM区从$0000开始到$001F),其中有6个(最后6个)合并为3个16位的X,Y,Z寄存器,用来存放地址指针,Z寄存器还可以寻址程序存储器。3、 哈佛结构,131条机器指令。4、 延迟开机功能。5、 内部自带RC振荡器,可提供1/2/4/8MHZ的工作时钟。6、 FLASH+EEPROM+SRAM+SPI+USART+TWI+PWM+RTC+10位ADC+模拟比较器+JTAG。7、 堆栈指针向下增长,51
发表于 2019-11-14
avr单片机mega32之ADC程序
查手册,写程序,有问题再讨论*****************************************************************//CPU:mega32//编译器:iar#include <ioavr.h>#include "adc.h"int main(void){        int m;adc_init();             m = adc_get(0);     &n
发表于 2019-11-14
AVR I2C通信程序
uchar SDA_Return(void)//0-low level  1-hign level{          uchar flag;          uchar oldSREG=SREG;          SREG&=~(_BV(7));       DDRC&=0xfd;   PORTC|=_BV(PC1);   i
发表于 2019-11-14
ICC-AVR DS1821S温度报警程序
用DS1821的测温报警输出功能,已经过实测,可以用的,已批量用于产品。//ICC-AVR application builder : 2015-10-8 14:15:46// Target : M8// Crystal: 8.0000Mhz/*新片烧录程序,电容加热温度高低设置成0x14,0x13;化雪板设置成0X02,0X00*/#include <iom8v.h>#include <macros.h>#define uchar         unsigned char #define uint        
发表于 2019-11-14
基于LabVIEW和AVR单片机的镇痛仪系统实现
摘要:通过对穴位施加低频的脉冲电压刺激穴位神经释放内源性物质,从而达到减轻疼痛的作用已经被证实。基于此医学原理,本系统使用LabVIEW编写上位机控制界面,通过NIVISA模块驱动USB进行实时通信,采用高性能AVR主控芯片设计下位机,从而实现宽范围数字升压(12~100V)的高质量互补对称脉冲波稳定输出特性。在疼痛疾病的治疗以及医疗保健治未病等领域将有广泛的应用。疼痛治疗一向是临床医学深感棘手的问题之一,在疼痛治疗领域,穴位刺激镇痛一直备受推崇,即通过对穴位施加低频的脉冲电压实现对神经系统的刺激,使其释放阿片肽,达到减轻疼痛的目的。上世纪80年代以来,电子技术在疾病诊疗领域的取得广泛应用,穴位刺激镇痛治疗仪器成为其中的一个研究
发表于 2019-11-14
基于LabVIEW和AVR单片机的镇痛仪系统实现
小广播
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

电子工程世界版权所有 京ICP证060456号 京ICP备10001474号 电信业务审批[2006]字第258号函 京公海网安备110108001534 Copyright © 2005-2019 EEWORLD.com.cn, Inc. All rights reserved