MSP430f149 AD源程序.doc
《MSP430f149 AD源程序.doc》由会员分享,可在线阅读,更多相关《MSP430f149 AD源程序.doc(14页珍藏版)》请在三一办公上搜索。
1、#include #define ADCMEM (int *) 0x0140) /ADC12MEMx定义void InitSYS(void); void InitUST0(void); /初始化系统及ADC寄存器void InitUST1(void); void InitADC(void); void SetZero(void);int GetBusData(void);void SetBusData(int busvdata);void SendRomCode(void);void Averege(void);void Filter(void);void Analysis(void);voi
2、d Delay(int delaydata);interruptADC_VECTOR void ADC12(void);interruptUSART1RX_VECTOR void USART1(void);unsigned char savedata1500;unsigned char saveromdata7;unsigned char enddata3;unsigned int adtime;unsigned int recromok;unsigned int ave; unsigned int datai;unsigned int vdata; unsigned int time; vo
3、id main(void) /使用中断方式 unsigned int i,busvdata,low,hi,ldata; InitSYS(); InitUST0(); InitUST1(); InitADC(); P1DIR |= 0x20; P1DIR |= 0x1c; /p1.4 p1.3 p1.2 P1OUT |= BIT4; SetZero(); /设置x9015到零 for(i=0;i30000;i+) _NOP(); /wait to sample busvdata=GetBusData(); / while(1) SetBusData(busvdata); busvdata=Get
4、BusData(); if(busvdata150) break; IE2 |=URXIE1; while(1) / for(time=0;time256;time+) / /IE2 |=URXIE1; /low=time; recromok=0; while(recromok!=1); SendRomCode(); for(i=0;i1500) ADC12CTL0 &= 0x02; Filter(); Averege(); Analysis(); for(i=0;i3;i+) U1TXBUF = enddatai; while(U1TCTL&0x01)=0); /* if(enddata0=
5、0x11) for(i=0;i8; /hi = ldata | 0x00; /U1TXBUF = hi; / while(U1TCTL&0x01)=0); */ break; / void SetZero(void) int i; P1OUT &= BIT4; /cs P1OUT &= BIT3; /u/d for(i=0;i20) ADC12CTL0 &= 0x02; break; /计算 vdata1=(savedata0+savedata1+savedata2+savedata3+savedata4+savedata5+savedata6+savedata7+savedata8+save
6、data9)/10; vdata2=(savedata10+savedata11+savedata12+savedata13+savedata14+savedata15+savedata16+savedata17+savedata18+savedata19)/10; vdata=(vdata1+vdata2)/2; return(vdata); void SetBusData(int busvdata) int i; unsigned int temp; unsigned int movetime; if(busvdata150) temp=busvdata-150; movetime=(te
7、mp*20*3)/256/3; P1OUT &= BIT4; /cs P1OUT |= BIT3; /u/d for(i=0;imovetime+1;i+) P1OUT = BIT2; /inc P1OUT |= BIT4; /cs void SendRomCode(void) U0TXBUF = saveromdata6; while(U0TCTL&0x01)=0); U0TXBUF = saveromdata5; while(U0TCTL&0x01)=0); U0TXBUF = saveromdata4; while(U0TCTL&0x01)=0); U0TXBUF = saveromda
8、ta3; while(U0TCTL&0x01)=0); U0TXBUF = saveromdata2; while(U0TCTL&0x01)=0); U0TXBUF = saveromdata1; while(U0TCTL&0x01)=0); void Filter(void) unsigned int i,j,m,a3,ldata; for(i=0;i1500;i+) a0=savedatai; a1=savedatai+1; a2=savedatai+2; for(j=0;j2;j+) for(m=1;maj) ldata=aj; aj=am; am=ldata; savedatai=a1
9、; void Averege(void)/取520共15个得到总线电压值 unsigned int i,he; he=0; for(i=20;iaveadd) time32+; if(savedatadatai+1aveadd) time32+; if(savedatadatai+2aveadd) time32+; if(savedatadatai+3aveadd) time32+; if(savedatadatai+4aveadd) time32+; if(time32=4) start=1; break; else if(delaytostart700) delaytostart+; da
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- MSP430f149 AD源程序 AD 源程序
链接地址:https://www.31ppt.com/p-2385692.html