日常生活中接触到的大多数信号都是模拟信号,如声音和温度的变化。模拟信号用连续变化的物理量来表示的,信号随时间做连续的变化。在TI LaunchPad中,常用0~VCC的电压来表示模拟量。
在MSP430G2 LaunchPad引脚图(见图D-1)中有蓝色填充色的引脚都可以作为模拟输入引脚,有紫色填充色的引脚都可以作为模拟输出引脚。
模拟输入引脚带有模/数转换器(anglog-to-digital converter,ADC),它可以将外部输入的模拟信号转换成MCU运算时可以识别的数字信号,从而达到读入模拟值的功能。使用MSP430G2553芯片作为控制器的LaunchPad模拟输入功能有10位精度,可以将0~VCC的电压转换成0~1 023(210-1)的整数形式表示(见图4-7)。
图4-7 模/数转换示例
模拟输入功能需要使用analogRead()函数,用法是:
其中参数pin为需要读取模拟值的引脚编号。
需要注意的是:每读取一次需要花100μs左右的时间。(www.xing528.com)
与模拟输入功能对应的是模拟输出功能,需要使用analogWrite()函数。但是该函数并不是输出真正意义上的模拟值,而是以一种特殊的方式来达到输出模拟值的效果,这种方式称为脉冲宽度调制(pulse width modulation,PWM)。当使用analog Write()函数时,指定的引脚会通过高低电平的不断转换来输出一个周期固定(约为490 Hz)的方波,通过改变高低电平在每个周期所占的比例(占空比,duty),从而得到近似输出不同电压的效果,如图4-8所示。1/8(12.5%)的占空比得到的平均电压为VCC/8,2/8(25%)的占空比得到的平均电压为VCC/4,依次类推100%的占空比得到的平均电压为VCC。
需要注意的是,这里仅仅得到了近似模拟值输出的效果,如果要输出真正的模拟值,还需要加上外围滤波电路。
analogWrite()函数的用法是:
其中参数pin为需要输出PWM信号的引脚编号,参数value是PWM的脉冲宽度,范围为0~255。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。