打印

MSP430 AD转换程序

[复制链接]
2295|4
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
锋康123|  楼主 | 2011-11-20 23:46 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
沙发
锋康123|  楼主 | 2011-11-20 23:47 | 只看该作者
#include
void delay(int x)
{
for(int i=0;i<80;i++)
for(int j=0;j }

*******************主函数********************
void main(void)
{
double data_AD;
WDTCTL = WDTPW + WDTHOLD;
//////////////////////////////////////////////////////////////////////////
BCSCTL1 &= ~XT2OFF; //开启XT2 8M晶振//
do
{
IFG1 &= ~OFIFG;
for(int i=0xff;i>0;i--);
}
while((IFG1 & OFIFG)!=0);
BCSCTL2 |= SELM_2+SELS;
//////////////////////////////ADC设置/////////////////////////////////////
P6SEL |= 0X01;
ADC12CTL0 = SHT0_2; //4分频
ADC12CTL1 = SHP;
ADC12MCTL0 = SREF_2; //参考电源选择Vr+=AeREF+ 输入通道为6.0
ADC12CTL0 |= ADC12ON + ENC; //开ADC + 允许转换
////////////////////////////////串口初始化////////////////////////////////
P3SEL |= 0x30; // P3.4,5=> TXD/RXD
UCTL0 |= SWRST; // 置1
ME1 |= UTXE0 + URXE0; // 使能
UCTL0 |= CHAR; // 8字节 UART
UTCTL0 |= SSEL0; // 32k
UBR00 = 0x03; // 32K 9600bps
UBR10 = 0x00; // 32K 9600bps
UMCTL0 = 0x4A; // 32K 9600bps 校正s
UCTL0 &= ~SWRST; // 置0
IE1 |= URXIE0; // 允许中断
_EINT();

使用特权

评论回复
板凳
锋康123|  楼主 | 2011-11-20 23:48 | 只看该作者
void serial_tx(double data,int i)  // 上位机现实
{
char x;
x = (int)data + '0';
while (!(IFG1 & UTXIFG0));
TXBUF0 = x;
while (!(IFG1 & UTXIFG0));
TXBUF0 = '.';
for(int j=0;j {
data = (data-(int)data)*10;
x = (int)data + '0';
while (!(IFG1 & UTXIFG0));
TXBUF0 = x;
}
while (!(IFG1 & UTXIFG0));
TXBUF0 = '#';
}

使用特权

评论回复
地板
锋康123|  楼主 | 2011-11-20 23:48 | 只看该作者
while(1)
{
ADC12CTL0 |= ADC12SC;
while((ADC12IFG&BIT0)==0);
data_AD = ADC12MEM0*3.2/0xfff;
serial_tx(data_AD,3);
delay(5000);
}

使用特权

评论回复
5
永远的不知| | 2011-11-21 23:38 | 只看该作者
void delay(int x)
{
for(int i=0;i<80;i++)
for(int j=0;j }

没看懂这个函数楼主是什么意思!

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

0

主题

169

帖子

1

粉丝