标题:
Arduino-Lite系列学习(三)
[打印本页]
作者:
wxg1988
时间:
2012-9-23 22:28
标题:
Arduino-Lite系列学习(三)
在这篇文章中,我主要讲的是有关于
AVR
用
Arduino-Lite
编程时的
PWM
输出控制
的介绍,
脉冲宽度调制
(PWM)
,是英文
“
Pulse Width Modulation
”
的缩写,简称脉宽调制,是利用微处理器的数字输出来对模拟电路进行控制的一种非常有效的技术,广泛应用在从测量、通信到功率控制与变换的许多领域中。
在
AVR
单片机
ATMag8
,
X8
中,有直接输出
PWM
波形的功能,但是相对于用
Aduino_lite
编程来说,当它编写
PWM
输出时,可以直接引用已有的的函数,用起来十分方便。
PWM
输出控制
ANALOG_WRITE( pin, pwm_value )
在指定引脚上输出
PWM
信号,如果该引脚没有启用
PWM
输出模式,则自动开启
analogWrite()
的高效版本,等价于如下代码。
pin:
希望控制的
Arduino-Lite
的
IO
引脚号,
对应引脚必须支持
PWM
输出,否则将编译错误
。接受数字常量、宏常量,不支持变量输入。
Pwm
value
PWM
占空比数值,范围
0-255
,接受立即数常量、变量、宏定义
PWM_SET( pin, pwm_value )
在指定引脚上输出
PWM
信号,仅生成单条指令。指定引脚需要事先开启
PWM
输出模式
(PWM_ENABLE)
pin:
希望控制的
Arduino-Lite
的
IO
引脚号,
对应引脚必须支持
PWM
输出,否则将编译错误
。接受数字常量、宏常量,不支持变量输入。
pwmvalue
PWM
占空比数值,范围
0-255
,接受立即数常量、变量、宏定义
PWM_SET_SAFE( pin, pwm_value )
在指定引脚上输出
PWM
信号,仅生成单条指令。
如果
PWM
占空比为
0
,则将引脚设置为输入模式
。
指定引脚需要事先开启
PWM
输出模式
(PWM_ENABLE)
pin:
希望控制的
Arduino-Lite
的
IO
引脚号,
对应引脚必须支持
PWM
输出,否则将编译错误
。接受数字常量、宏常量,不支持变量输入。
pwmvalue
PWM
占空比数值,范围
0-255
,接受立即数常量、变量、宏定义电平
例子
:
在第
3
号引脚
(PD3)
输出占空比由变量
pwm_val
决定的的
PWM
信号
PWM_ENABLE( pin )
开启指定引脚的
PWM
输出模式,
指定的引脚必须支持
PWM
输出,否则将出现编译错误
。
高效版本,仅生成单条指令。
pin:
希望设定的
Arduino-Lite
的
PWM
引脚号,接受数字常量、宏常量,不支持变量输入。
例子
:
开启
10
号引脚的
PWM
输出功能
PWM_DISABLE( pin )
关闭指定引脚的
PWM
输出模式,
指定的引脚必须支持
PWM
输出,否则将出现编译错误
。
高效版本,仅生成单条指令。。
pin:
希望设定的
Arduino-Lite
的
PWM
引脚号,接受数字常量、宏常量,不支持变量输入。
先把
AVR
的引脚图画上
程序
#include "arduino_lit.h"
#define ledPin 11
void setup() {
PIN_MODE(ledPin,OUTPUT);
PWM_ENABLE(ledPin);
}
void loop() {
ANALOG_WRITE(ledPin,230);
}
int main()
{
init();
setup();
while(1)
loop();
}
实验效果图
欢迎光临 电子技术论坛_中国专业的电子工程师学习交流社区-中电网技术论坛 (http://bbs.eccn.com/)
Powered by Discuz! 7.0.0