msp430g2553单片机,读取adc电压,显示到oled
oled
// ------------------------------------------------------------
// IO口模拟I2C通信
// SCL接P2^0
// SDA接P2^1
采集P1.4电压 0到3.3V
cppunsigned int volt;
int main(void)
{
char SENDSTR[20];
WDTCTL = WDTPW + WDTHOLD; /* Stop WDT */
OLED_Init(); /* OLED初始化 */
while (1)
{
ADC10CTL0 |= ENC + ADC10SC; // Sampling and conversion start
__bis_SR_register(CPUOFF + GIE); // LPM0, ADC10_ISR will force exit
volt=volt*3.3*100/1024;
SENDSTR[0] = volt % 1000 / 100 + '0';
SENDSTR[1] = '.';
SENDSTR[2] = volt % 100 / 10 + '0';
SENDSTR[3] = volt % 10 + '0';
SENDSTR[4] = 'V';
SENDSTR[5] = 0;
OLED_ShowString(0, 2, SENDSTR);
delay_ms(100);
}
}
// ADC10 interrupt service routine
#pragma vector=ADC10_VECTOR
__interrupt void ADC10_ISR(void)
{
volt = ADC10MEM;
__bic_SR_register_on_exit(CPUOFF); // Clear CPUOFF bit from 0(SR)
}
cpphttps://docs.qq.com/sheet/DUEdqZ2lmbmR6UVdU?tab=BB08J2
本文作者:Dong
本文链接:
版权声明:本博客所有文章除特别声明外,均采用 CC BY-NC。本作品采用《知识共享署名-非商业性使用 4.0 国际许可协议》进行许可。您可以在非商业用途下自由转载和修改,但必须注明出处并提供原作者链接。 许可协议。转载请注明出处!