999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于AVR的雙通道數(shù)字電壓測量計

2011-11-04 01:20:56朱艷菊
大眾科技 2011年4期
關鍵詞:單片機測量信號

駱 揚 朱艷菊

(桂林電子科技大學,廣西 桂林 541004)

基于AVR的雙通道數(shù)字電壓測量計

駱 揚 朱艷菊

(桂林電子科技大學,廣西 桂林 541004)

為了檢測脈沖驅(qū)動的數(shù)字電路,采用AVR單片機與峰值電壓采樣保持芯片LF398設計的雙通道數(shù)字電壓計,針對普通萬用表不能有效測量的脈沖方波電壓進行測量。通過使用高度集成的微處理器和專用芯片以避免外圍電路設計的復雜度。有效的降低了維修檢測常見數(shù)字電路的儀器成本。一個通道進行直流電壓的測量,而另一路專門針對脈沖方波驅(qū)動的峰值電壓的測量。因此使用AVR單片機制作的雙通道數(shù)字電壓測量計,完全滿足對數(shù)字電路的檢測功能且精度高。

脈沖測量;峰值電壓;A/D模數(shù)轉(zhuǎn)換;采樣保持

(一)引言

隨著數(shù)字電路的發(fā)展越來越多的設備上使用數(shù)字邏輯電路,而數(shù)字電路多以脈沖方波的電流進行驅(qū)動和控制。對于電壓或電流的測量使用最多的儀器是萬用表,但是常見的萬用表往往只能測量直流或交流的電壓,萬用表的交流檔測量出來的數(shù)值是其有效數(shù)值,普通萬用表的交流檔僅是針對正弦波形的交流電設計的。對于數(shù)字電路尤其是以脈沖方波驅(qū)動和控制電路或器具而言,使用普通的萬用表進行測量顯然不準確,這時就需要使用價格昂貴的示波器或是真有效值萬用表。無疑給沒有試驗條件的情況下帶來不小的麻煩。

使用常見的微控制器和一些專用的集成電路通過簡單的編程就可以實現(xiàn)對數(shù)字電路中常見的峰值電壓或電流檢測,不但簡單易用而且成本極低。為了降低開發(fā)的難度和電路設計的復雜度,本系統(tǒng)使用 Atmega32這款基于增強型的 AVR RISC結(jié)構(gòu)的低功耗8 位CMOS微控制器。其具有32K字節(jié)的系統(tǒng)內(nèi)可編程 Flash(具有同時讀寫的能力),1024 字節(jié)EEPROM,2K 字節(jié) SRAM,32 個通用 I/O 口線,32 個通用工作寄存器,用于邊界掃描的JTAG 接口,支持片內(nèi)調(diào)試與編程,三個具有比較模式的靈活的定時器/ 計數(shù)器(T/C),片內(nèi)/外中斷,可編程串行USART,有起始條件檢測器的通用串行接口,8路10位具有可選差分輸入級可編程增益的ADC,具有片內(nèi)振蕩器的可編程看門狗定時器,一個SPI 串行端口,以及六個可以通過軟件進行選擇的省電模式。可以滿足針對數(shù)字電路檢測的絕大多數(shù)要求。

(二)硬件組成

因此使用ATMega32單片機即可以滿足設計的需要又可以降低開發(fā)成本。該單片機具有 8路模數(shù)轉(zhuǎn)換通道,選擇其中一路作為測量直流電的通道,將負載和采樣電阻串聯(lián)后接入電路,根據(jù)負載阻值的不同來設定不同的檔位,達到不同范圍的測量。而另一路則需要先利用ATMega32單片機的ICP捕獲功能,捕獲脈沖方波的上升沿并且根據(jù)這個上升沿信號再產(chǎn)生一個跟隨信號作為峰值采用保持芯片LF398的控制信號,當LF398的控制信號為高電平時LF398為采樣狀態(tài),而控制信號為低電平時 LF398為保持狀態(tài),因此單片機產(chǎn)生的這個跟隨信號正好與要測量的脈沖方波信號為同頻同相的信號。當要測量的脈沖方波信號為低電平時,產(chǎn)生的跟隨信號也是低電平信號將之前 LF398采樣到得峰值電平進行保持。這時再利用單片機的 A/D模數(shù)轉(zhuǎn)換將該峰值進行模數(shù)轉(zhuǎn)換進行測量得到了脈沖方波的峰值電壓值。兩個通道測量的數(shù)值均顯示在 LCD顯示屏上結(jié)果一目了然。系統(tǒng)的總體結(jié)構(gòu)圖如下圖1。

由于AVR單片機內(nèi)部集成A/D模數(shù)轉(zhuǎn)換功能,因此可以大大的降低硬件電路的設計復雜度,其外圍電路及器件可以盡量的減少。但是在 PCB布線的時候應盡量緊湊以避免電磁的干擾。

圖1 系統(tǒng)的總體結(jié)構(gòu)圖

1.電源模塊

因系統(tǒng)中要使用到峰值采樣保持芯片LF398,其供電需要±15伏,因此購買一個18伏的電源作為適配器,需要接7815和7915獲得LF398所需的±15伏。在7815后再接7805可獲得+5伏的電壓給單片機和液晶屏供電。再通過電阻分壓的方式與 TL431做一個外部的參考電壓。該參考電壓作為ATMega32單片機的模數(shù)轉(zhuǎn)換的參考電壓接在單片機的 AREF引腳上。

2.峰值電壓采樣保持模塊

采用National Semiconductor所生產(chǎn)的LF398芯片作為峰值電壓的采樣保持芯片。并根據(jù)圖 2保持時間與保持電容的曲線選取所需的保持電容,為能達到理想的保持時間應使用高品質(zhì)的聚苯乙烯電容。

圖2 保持時間與保持電容的選取曲線

LF398的連接示意圖如圖3所示。引腳3用于連接被測量的脈沖方波的觸點,引腳8則接單片機產(chǎn)生的用于控制LF398何時采樣和保持的跟隨信號控制引腳。引腳 5輸出的則是被保持住的峰值電壓值,將這個模擬量再接回單片機的另一個模數(shù)轉(zhuǎn)換通道進行模數(shù)轉(zhuǎn)換。

圖3 LF398的連接示意圖

3.顯示模塊

由于需要顯示漢字部分,系統(tǒng)選用內(nèi)核驅(qū)動芯片為KS0108的12864液晶顯示屏,根據(jù)要寫的字制作字模即可。液晶顯示屏使用并口方式連接在Atmega32 單片機的PC端口的 8個引腳上。液晶屏上的 9~16引腳分別對應接單片機的PC0~PC7引腳。另外液晶屏上還需5個端口。分別是E、RW、DI、CS1、CS2端口分別接在PD端口上的五個引腳即可。液晶屏的供電也來自7805轉(zhuǎn)換后得到的5伏電壓。液晶屏和峰值保持電路的接口連接電路圖如4所示。

圖4 液晶屏和峰值保持電路的接口連接電路圖

(三)軟件組成

軟件部分主要由 ICP功能模塊、液晶屏顯示模塊、A/D模數(shù)轉(zhuǎn)換模塊三大部分組成。開發(fā)環(huán)境為AVR Studio應用GCC編程。ICP功能使用服務中斷的方式,當有上升沿脈沖接入時則發(fā)生服務中斷并進入中斷程序,在服務中斷程序中設置延時,設定何時開始和終止跟隨信號的產(chǎn)生和關閉。以確保采樣保持住的是峰值電壓。液晶屏顯示模塊主要負責液晶屏的初始化和顯示功能。A/D模塊使用交替法對兩個通道進行循環(huán)轉(zhuǎn)換,并將數(shù)值顯示在液晶屏上。

1.ICP捕獲及跟隨控制信號的產(chǎn)生

首先要對 ICP端口進行設置和初始化,其目的就是使能ICP捕獲中斷,同時使能T/C0的溢出中斷,跟隨控制信號的產(chǎn)生是在捕捉中斷處理程序中完成。其端口的初始化程序為:

void init_icp(void)

{

MCUCR = 0x00;

GICR = 0x00;

TIMSK=0X21; //使能 ICP捕捉中斷;使能T/C0溢出中斷

TCCR0=0X02; //8分頻,溢出中斷T0

TCCR1A=0X00;

TCCR1B=0XC2;

TCNT0=0;

ICR1=0;

TCNT1=0;

SEI();

}

使用ATMega32單片機的PB0引腳作為跟隨控制信號產(chǎn)生的引腳,跟隨控制信號應在源信號的上升沿之后一定時間后再產(chǎn)生,這樣避免采集到的峰值電壓偏低,因此要在整個程序中設置兩個全局變量,整數(shù) f用于設定被測量信號的上升沿之后到產(chǎn)生跟隨控制信號的之間的間隔時間,整數(shù) b用于設定峰值期間采樣的時間,當選擇合適容值的保持電容時可以將這兩個時間設定值設置的很小以便測量高頻率的脈沖信號。為了使 A/D轉(zhuǎn)換器滿足一定的轉(zhuǎn)換精度[10],應盡量進行多次采樣保持測量以保持測量精度。跟隨控制信號的中斷服務程序為:

void Icp_timer1(void)

{

ICR1=0;

TCNT1=0;

TCCR1B=0XC2;

delay_nus(f);

TCNT0=1;

i++;

PORTB=i;

delay_nus(b);

PORTB=0;

}

2.A/D模數(shù)轉(zhuǎn)換

本系統(tǒng)采用8MHz晶振,參考電壓為外部AVCC即為5.0伏。設置ADC初始化程序為:

void ADCINI(void)

{

ADCSRA = 0x00;

ADMUX =(adc_mux&0x1f)|(1<

ADCSRA=(1<

SEI();

}

轉(zhuǎn)換的程序為:

while(!(ADCSRA&(1<<(ADIF)))); //等待轉(zhuǎn)換結(jié)束

Ddata=ADCL;

Ddata+=ADCH*256;

Ddata=(unsigned

int)(((float)Ddata)*5000/1023);

在平面直角坐標系中,圓C1:(x+1)2+(y-6)2=25,圓C2:(x-17)2+(y-30)2=r2.

通過這樣的轉(zhuǎn)換后得到的 Ddata就是量化后的電壓數(shù)值單位是毫伏。通過對這個整數(shù)求商或是余數(shù)得到其各個位上的數(shù)值,若想使用引腳 AREF上的電壓為參考電壓時,可使ADMUX=(adc_mux&0x1f),根據(jù)參考電壓的穩(wěn)定性系統(tǒng)會有1~2mV的偏差。這樣就所得到的被測脈沖電壓的峰值電壓了。

3.液晶屏顯示模塊

硬件方面系統(tǒng)選用的是內(nèi)核驅(qū)動芯片為KS0108的12864液晶顯示屏,KS0108驅(qū)動芯片是專用于圖形點陣顯示的液晶顯示控制器,每一個KS0108芯片內(nèi)置8x64字節(jié)顯示RAM,可直接控制顯示64x64點的LCD顯示,用戶只需要向KS0108的顯示RAM中送數(shù)據(jù),KS0108就會自動掃描將顯示RAM的數(shù)據(jù)自動在 LCD液晶顯示器上顯示出來。顯示操作的指令僅有 5條,使用起來極其方便。在使用液晶屏之前先要對其進行初始化操作,初始化程序為:

void init_lcd(void) //初始化函數(shù)

{

set_start_line_L(0); //顯示起始行為

set_start_line_R(0); //顯示起始行為

write_LCD(LEFT,CMD,DISPLAY_ON);

write_LCD(RIGHT,CMD,DISPLAY_ON);

}

要將數(shù)據(jù)顯示在液晶屏上的話,就是對液晶屏進行寫的操作。寫液晶屏的操作程序為:

void write_LCD(unsigned char lr,unsigned char cd,unsigned char data) //寫入指令或數(shù)據(jù)

{

CLI();

LCD_BUSY(lr);

if(cd==CMD) SET_LCD_CMD;

else SET_LCD_DATA;

SET_LCD_WRITE;

SET_LCD_E;

LCD_DIR_PORT = 0xff;

LCD_OP_PORT = data;

asm("nop"); asm("nop");

asm("nop"); asm("nop");

CLEAR_LCD_E;

LCD_OP_PORT = 0xff;

SEI();

}

在主函數(shù)中將 A/D模數(shù)轉(zhuǎn)換后的數(shù)值寫入到液晶屏上就實現(xiàn)了數(shù)值的顯示功能,由于是實時顯示結(jié)果的。所以把顯示數(shù)值的函數(shù)放入到While(1)的死循環(huán)中再加上一定的延時程序就完成了實時顯示和刷新數(shù)值的功能。當沒有被測的脈沖方波電壓時,由于單片機的 ICP引腳沒有捕獲到上升沿,就不會觸發(fā)采樣保持芯片 LF398進行采樣保持,因此測量出的數(shù)據(jù)就是0伏。

(四)結(jié)語

基于ATMega32單片機和電壓采樣保持芯片LF398制作的雙通道數(shù)字電壓測量計,主要是利用了 AVR單片機強大的集成多通道的 A/D模數(shù)轉(zhuǎn)換功能。在使用高精度外部參考電壓的情況下,A/D模數(shù)轉(zhuǎn)換的精度非常的高,誤差僅在幾毫伏之間。且AVR單片機的抗干擾能力強,基于哈佛結(jié)構(gòu)的AVR單片機具有更高的數(shù)據(jù)吞吐能力,能完成相當復雜的設計功能,具有普通的單片機所無法比擬的優(yōu)勢。通過細致的制版可以將這個測量計制作的很小便于攜帶和使用,且測量精度高。對于實驗室的學生非常適合。

[1]劉海成.AVR 單片機原理及測控工程應用:基于ATmega48/ATmega16[M].北京航空航天大學出版社,2008.3.

[2]李泓,等.AVR 單片機入門與實踐[M].北京:電子工業(yè)出版社,2001.

[3]金鐘夫,等.AVR ATmega128單片機C程序設計與實踐[M].北京:北京航空航天大學出版社,2008.

[4]周興華.AVR單片機C語言高級程序設計[M].北京:中國電力出版社,2008.

[5]張軍,宋濤.AVR單片機C語言程序設計實例精粹[M].北京:電子工業(yè)出版社,2009.

TM932

B

1008-1151(2011)04-0054-03

2011-01-24

駱揚(1984-),男,河北石家莊人,桂林電子科技大學在讀碩士,從事LED光電特性自動檢測系統(tǒng)和光電特性參數(shù)自動測量的研究。

猜你喜歡
單片機測量信號
信號
鴨綠江(2021年35期)2021-04-19 12:24:18
完形填空二則
基于單片機的SPWM控制逆變器的設計與實現(xiàn)
電子制作(2019年13期)2020-01-14 03:15:28
把握四個“三” 測量變簡單
基于單片機的層次漸變暖燈的研究
電子制作(2019年15期)2019-08-27 01:12:10
基于單片機的便捷式LCF測量儀
電子制作(2019年9期)2019-05-30 09:42:02
滑動摩擦力的測量和計算
基于FPGA的多功能信號發(fā)生器的設計
電子制作(2018年11期)2018-08-04 03:25:42
滑動摩擦力的測量與計算
測量
主站蜘蛛池模板: 无码国产偷倩在线播放老年人| 欧美在线网| 国产日韩精品欧美一区喷| 亚洲日韩高清在线亚洲专区| 免费看av在线网站网址| 毛片在线看网站| 91国内在线视频| www精品久久| 欧美日韩导航| 国产精品久久久久久久久久久久| swag国产精品| 亚洲自偷自拍另类小说| 国产乱子伦视频在线播放| 毛片卡一卡二| 婷婷久久综合九色综合88| 5388国产亚洲欧美在线观看| 国产精品主播| 人妻精品久久无码区| 国产91成人| 国产乱子伦无码精品小说 | 亚洲天堂2014| 91精品人妻互换| AV不卡无码免费一区二区三区| 蝌蚪国产精品视频第一页| 2021国产v亚洲v天堂无码| AⅤ色综合久久天堂AV色综合| 久久天天躁夜夜躁狠狠| 久久99国产精品成人欧美| 91亚洲视频下载| 囯产av无码片毛片一级| 嫩草在线视频| 思思99热精品在线| 国产成人亚洲精品蜜芽影院| 黄色三级网站免费| 免费在线视频a| 青草视频免费在线观看| 又爽又大又黄a级毛片在线视频| 综合网久久| 国内精品视频区在线2021| 国产精品免费福利久久播放| 亚洲一欧洲中文字幕在线| 亚洲天堂网在线播放| 亚洲男女天堂| 久久国产精品波多野结衣| 久久视精品| 9999在线视频| 天天综合色网| 青青草原国产免费av观看| 国产成人调教在线视频| 2021亚洲精品不卡a| 久久这里只有精品66| 一本大道视频精品人妻 | 久久人妻xunleige无码| 刘亦菲一区二区在线观看| 呦女亚洲一区精品| 亚洲欧洲综合| 国产一级视频在线观看网站| 91黄视频在线观看| 国语少妇高潮| 99国产在线视频| 高清色本在线www| www.亚洲一区| 成年A级毛片| 亚洲一区二区在线无码| 播五月综合| 国产伦精品一区二区三区视频优播| 国产精品对白刺激| 54pao国产成人免费视频| 中文字幕在线看| 成AV人片一区二区三区久久| 国产一二三区视频| 亚洲丝袜中文字幕| 亚洲精品欧美重口| 日韩中文字幕免费在线观看 | 国产成人精品视频一区二区电影| 亚欧乱色视频网站大全| 欧美午夜小视频| 本亚洲精品网站| 欧美α片免费观看| 亚洲国产成人久久精品软件| 永久免费无码日韩视频| 在线综合亚洲欧美网站|