简单归纳一下:
快速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 设初值。
上一篇:单片机AD接收UART发送模块电路图PCB与vb上位机源码
下一篇:东芝LB1847 步进电机驱动芯片pdf资料与AVR单片机源程序
推荐阅读
史海拾趣
Many RF applications require power combiners or dividers, impedance transformers and directional couplers. In the case of combiners, it is critical, particularly at higher frequencies, that the correct types are used to achieve th ...… 查看全部问答∨ |
|
引 言 无线传感器网络是面向事件的监测网络,对于大多数应用,不知道传感器位置而感知的数据是没有意义的。实时地确定事件发生的位置或获取消息的节点位置是传感器网络最基本的功能之一,也是提供监测事件位置信息的前提,所以定位 ...… 查看全部问答∨ |
|
各位有遇到过这样的问题吗? 测LED的程序我已写成功,现在写一个测试LCD的程序能正常显示R,G,B,但不能显示图片,以下是我的一部份程序: #include"stdlib.h" .... .... #define pfbbuffer 0x33800000 //显示缓冲区的大小 ...… 查看全部问答∨ |
|
这是stm32f10x系列的一个头文件中的 #define IS_RCC_APB1_PERIPH(PERIPH) ((((PERIPH) & 0x81013600) == 0x00) && ((PERIPH) != 0x00)) 我看不懂,求解释0x81013600这个是哪来的… 查看全部问答∨ |
|
物联网智能家居-厨房之富士通MB9B506的串口通讯传输数据成功 先上张富士通MB9B506与MSP430G2553的数据传输图片:黑白线为串口线!可以看到两边的数据相同!程序:接收(中断法):void MFSI_RX2_IRQHandler(void){ if(((UART2_SSR&0x08)>>3) == 1) UART2_SSR = 0 ...… 查看全部问答∨ |