基于GPRS和單片機(jī)的串口通訊設(shè)計(jì)
(作者未知) 2010/1/1
(接上頁(yè))0傳感器相連,由于從SHT10傳感器送來的是標(biāo)準(zhǔn)信號(hào)(即4mA~20mA),所以需要A/D轉(zhuǎn)換,把電流信號(hào)轉(zhuǎn)換為電壓信號(hào)。
模擬量采集電路通過一個(gè)高精度電阻將電流轉(zhuǎn)換成電壓信號(hào),這樣可以提高采集的精度。電路中采用二極管作為ESD保護(hù)電路,考慮到干擾問題,采用電容進(jìn)行濾波處理。
該模塊主要涉及到A/D轉(zhuǎn)換和定時(shí)器A的操作:采集8通道模擬數(shù)據(jù),并通過定時(shí)器A來控制采集的頻率,另外也設(shè)置一個(gè)標(biāo)志來通知主程序已經(jīng)獲得新的數(shù)據(jù),通過全局變量來實(shí)現(xiàn)與主處理程序?qū)崿F(xiàn)數(shù)據(jù)的交互。這部分采用中斷來實(shí)現(xiàn),在定時(shí)器A里先停止A/D轉(zhuǎn)換,讀取數(shù)據(jù)后再啟動(dòng)A/D轉(zhuǎn)換,然后再等待下一次中斷的到來[1]。
A/D轉(zhuǎn)換的初始化程序如下:
VoidInit_ADC(viod)
{
P6SEL=0XFF;//設(shè)置P6.0為模擬輸入通道
ADC12CTL0&=~(ENC);//設(shè)置ENC為0,從而修改ADC12寄存器的值
ADC12CTL1|=CSTARTADD_0;//轉(zhuǎn)換的起始地址為:ADCMEM0
ADC12MCTL0=INCH_0;//設(shè)置參考電壓分別為AVSS和AVCC,輸入通道為A0
ADC12MCTL1=INCH_1;//設(shè)置參考電壓分別為AVSS和AVCC,輸入通道為A1
ADC12MCTL2=INCH_2;//設(shè)置參考電壓分別為AVSS和AVCC,輸入通道為A2
ADC12MCTL3=INCH_3;//設(shè)置參考電壓分別為AVSS和AVCC,輸入通道為A3
ADC12MCTL4=INCH_4;//設(shè)置參考電壓分別為AVSS和AVCC,輸入通道為A4
ADC12MCTL5=INCH_5;//設(shè)置參考電壓分別為AVSS和AVCC,輸入通道為A5
ADC12MCTL6=INCH_6;//設(shè)置參考電壓分別為AVSS和AVCC,輸入通道為A6
ADC12MCTL7=INCH_7+EOS;//設(shè)置參考電壓分別為AVSS和AVCC,輸入通道為A7
ADC12CTL0|=ADC12ON;
ADC12CTL0|=MSC;//上升沿觸發(fā)
ADC12CTL1|=CONSEQ_1;//轉(zhuǎn)換模式為:多通道、單次轉(zhuǎn)換
ADC12CTL1|=ADC12SSEL_1;//SMCLK
ADC12CTL1|=ADC12DIV_0;//時(shí)鐘分頻為1
ADC12CTL1|=(SHP);//采樣脈沖由采用定時(shí)器產(chǎn)生
ADC12CTL0|=ENC;//使能ADC轉(zhuǎn)換
Return;
}
2.2 GPRS無(wú)線通訊模塊
單片機(jī)通過串口和GPRS模塊交換數(shù)據(jù),所以首先要編寫串口驅(qū)動(dòng)程序,包括串口初始化(Init_Comm)、寫串口數(shù)據(jù)(PrintChar)等函數(shù)。讀串口數(shù)據(jù)是通過中斷來完成的。串口初始化的代碼如下:
voidInit_Comm(void)
{
TMOD=TMOD&0x0F;
TMOD=TMOD|0x20;//定時(shí)器1采用方式2,用于產(chǎn)生串口1的波特率
TL1=0xFD,TH1=0xFD;//32MHz-57600bps
WDCON=0x80;//SMOD1=1
SCON1=0x50;//串口1采用方式1
TR1=1;//啟動(dòng)定時(shí)器1
}[2]
在這些串口函數(shù)的基礎(chǔ)上編寫GPRS模塊的驅(qū)動(dòng)函數(shù)。單片機(jī)通過AT命令進(jìn)行撥號(hào)后,GPRS模塊就轉(zhuǎn)入在線模式,此時(shí)通過PPP協(xié)議取得一個(gè)IP地址,就可以連接到互聯(lián)網(wǎng)了。
2.3電源供電
整個(gè)系統(tǒng)采用3.3V供電,考慮到硬件系統(tǒng)對(duì)電源要求具有穩(wěn)壓功能和紋波小、低功耗等特點(diǎn),因此采用TI公司的TPS76033芯片實(shí)現(xiàn)。該芯片具有個(gè)很小的封裝,因此能有效節(jié)約PCB板的面積[1]。
2.4復(fù)位電路
該系統(tǒng)采用MAX809芯片來實(shí)現(xiàn)復(fù)位電路。用復(fù)位芯片復(fù)位代替R-C復(fù)位電路,保證了復(fù)位電路的可靠性。
3.PC機(jī)程序設(shè)計(jì)
本實(shí)驗(yàn)室承接的項(xiàng)目是墻體外表面保溫材料監(jiān)測(cè)及評(píng)估系統(tǒng)。
需求:針對(duì)全國(guó)不同地區(qū)(南北方不同氣候)的墻體外表面保溫材料在四季氣候影響下是否符合標(biāo)準(zhǔn)及人體舒適度問題
解決方案:在墻體外表面安裝恒溫箱、熱流計(jì)和傳感器等設(shè)備,捕獲數(shù)據(jù)后,經(jīng)過MSP430F149芯片處理轉(zhuǎn)發(fā)后,由編寫的上位機(jī)java程(未完,下一頁(yè))
|