2023年全國碩士研究生考試考研英語一試題真題(含答案詳解+作文范文)_第1頁
已閱讀1頁,還剩16頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、<p><b>  課程設(shè)計論文</b></p><p>  課題名稱 電壓測量程序設(shè)計 </p><p><b>  摘要</b></p><p>  本課程設(shè)計是電壓測量程序設(shè)計,利用實驗臺上的電壓源,經(jīng)過放大后送到a/d轉(zhuǎn)換成數(shù)字信號,計算后在LCD上顯示其電壓值

2、。主要解決A/D轉(zhuǎn)換,放大電路,數(shù)據(jù)處理和顯示模塊。A/D轉(zhuǎn)換用ADC0809,系統(tǒng)用AT單片機,放大電路用OP07同相放大,顯示用1602液晶屏顯示。</p><p>  關(guān)鍵字:A/D0809,OP07,LCD1602,AT89C52</p><p>  Abstract; This course is designed to measure the voltage programmi

3、ng, using voltage source test bench, after amplified and sent to the a/d converted into digital signals, calculated on the LCD display the voltage value. Mainly to solve the A/D conversion, amplification circuit, data pr

4、ocessing and display module. A/D conversion with ADC0809, the system uses AT microcontroller, amplifying circuit with OP07 in-phase amplifier,With 1602 LCD screen display.</p><p>  Keyword:A/D0809,OP07,LCD16

5、02,AT89C52</p><p><b>  目 錄</b></p><p><b>  引言3</b></p><p>  1.系統(tǒng)設(shè)計方案的選擇4</p><p>  1.1基于單片機系統(tǒng)及A/D轉(zhuǎn)換芯片的電壓表。4</p><p>  1.2.本設(shè)計使用的單片

6、機的簡介4</p><p>  1.3.本設(shè)計使用的1602的簡介4</p><p>  1.4.選用的A/D0809簡介4</p><p>  1.5. 選用的OP07簡介……………………………………………..5</p><p>  2. 總體設(shè)計方案 5</p><p>  3.硬件電路系統(tǒng)模塊的設(shè)計5&

7、lt;/p><p>  3.1 單片機系統(tǒng)5</p><p>  3.2輸入OP07放大電路7</p><p>  3.3A/D轉(zhuǎn)換電路7</p><p>  3.41602液晶電路7</p><p>  4. 系統(tǒng)軟件的設(shè)計8</p><p>  4.1 主程序的設(shè)計8</p

8、><p>  4.2 A/D轉(zhuǎn)換程序..........................................................9</p><p>  5.系統(tǒng)的調(diào)試10</p><p>  5.1硬件調(diào)試10</p><p>  5.2軟件調(diào)試10</p><p><b>  總結(jié)

9、11</b></p><p><b>  參考文獻(xiàn)11</b></p><p><b>  附錄1:源程序</b></p><p><b>  附錄2:電路總圖</b></p><p><b>  引言</b></p><

10、;p>  數(shù)字電壓表最初是伺服步進(jìn)電子管比較式,其優(yōu)點是準(zhǔn)確度比較高,但是采樣速度慢,重量達(dá)幾十公斤,體積大。繼之出現(xiàn)了斜波式電壓表,它的速度方面稍有提高,但是準(zhǔn)確度低,穩(wěn)定性差,再后來出現(xiàn)了比較式儀表改進(jìn)逐次漸近式結(jié)構(gòu),它不僅保持了比較式準(zhǔn)確度高的優(yōu)點,而且速度也有了很大的提高,但它有一缺點是抗干擾能力差,很容易受到外界各種因素的影響。隨后,在斜波式的基礎(chǔ)上雙引伸出階梯波式,它的唯一的進(jìn)步是成本降低了,可是準(zhǔn)確寬,速以及抗干擾能

11、力都未能提高。而現(xiàn)在,數(shù)字電壓表的發(fā)展已經(jīng)是非常的成熟,就原理來講,它從原來的一,二種已發(fā)展到多種,在功能上講,則從測單一參數(shù)發(fā)展到能測多種參數(shù);從制作元件來看,發(fā)展到了集成電路,準(zhǔn)確度已經(jīng)有了很大的提高,精度高達(dá)1NV;讀數(shù)每秒幾萬次,而相對以前,它的價格也有了降低了很多。</p><p>  目前實現(xiàn)電壓數(shù)字化測量的方法仍然模-數(shù)(A/D)轉(zhuǎn)換的方法。而數(shù)字電壓表種類繁多,型號新異,目前國際仍未有統(tǒng)一的分類方

12、法。而常用的分類方法有如下幾種:</p><p>  按用途來分:有直流數(shù)字電壓表,交、直流數(shù)字電壓表,交直流萬用表等。</p><p>  按顯示位數(shù)來分:有4位,5位,6位,7位,8位等。</p><p>  按測量速度來分:有低準(zhǔn)確度,中準(zhǔn)確度,高準(zhǔn)確度等。</p><p>  按測量速度來分:有低速,中速,高速,超高速等。</p

13、><p>  但在日常生活中,數(shù)字電壓表一般是按照原理不同進(jìn)行分類的,目前大致分為以下幾類:比較式,電壓——時間變換式,積分式等。</p><p>  在電量的測量中,電壓、電流和頻率是最基本的三個被測量。其中,電壓量的測量最為經(jīng)常。而且隨著電子技術(shù)的發(fā)展,更是經(jīng)常需要測量高精度的電壓,所以數(shù)字電壓表就成為一種必不可少的測量儀器。另外,由于數(shù)字式儀器具有讀數(shù)準(zhǔn)確方便、精度高、誤差小、靈敏度高和

14、分辨率高、測量速度快等特點而倍受用戶青睞,數(shù)字式電壓表就是基于這種需求而發(fā)展起來的,是一種必不可少的電子測量儀表。</p><p>  1.1基于單片機系統(tǒng)及A/D轉(zhuǎn)換芯片的電壓表</p><p>  這種方案是利用單片機系統(tǒng)與模數(shù)轉(zhuǎn)換芯片、顯示模塊等的結(jié)合構(gòu)建數(shù)字電壓表。由于單片機的發(fā)展已經(jīng)成熟,利用單片機系統(tǒng)的軟硬件結(jié)合,可以組裝出許多的應(yīng)用電路來。此方案的原理是模數(shù)(A/D)轉(zhuǎn)換芯片

15、的基準(zhǔn)電壓端,被測量電壓輸入端分別輸入基準(zhǔn)電壓和被測電壓。模數(shù)(A/D)轉(zhuǎn)換芯片將被測量電壓輸入端所采集到的模擬電壓信號轉(zhuǎn)換成相應(yīng)的數(shù)字信號,然后通過對單片機系統(tǒng)進(jìn)行軟件編程,使單片機系統(tǒng)能按規(guī)定的時序來采集這些數(shù)字信號,通過一定的算法計算出被測量電壓的值。最后單片機系統(tǒng)將計算好了的被測電壓值按一定的時序送入顯示電路模塊加以顯示。</p><p>  1.2本設(shè)計使用的單片機的簡介</p><

16、p>  本設(shè)計中選用是51系列的AT89C52,它是低電壓、低功耗、高性能的CMOS8位單片機,片內(nèi)含4KB的可反復(fù)擦寫的只讀程序存儲器和128B的隨機存取數(shù)據(jù)存儲器,32個I/O口線,片內(nèi)振蕩器及時鐘電路,并與MCS-51系列單片機兼容。在設(shè)計中,單片機起著連接硬件電路與程序運行及存儲數(shù)據(jù)的任務(wù),一方面,它將A/D轉(zhuǎn)換器、顯示器等通過I/O口地址線和數(shù)據(jù)線連接起來;另一方面,它將用戶下載的程序通過控制總線控制數(shù)據(jù)的輸入輸出,從而

17、實現(xiàn)測電壓的功能。</p><p>  1.3本設(shè)計使用的1602的簡介</p><p>  1602液晶是工業(yè)字符型液晶,能夠同時顯示16*2即32個字符。1602液晶模塊內(nèi)部的字符發(fā)生存儲器已經(jīng)存儲了160個不同的點陣字符圖形,這些字這些字符有:阿拉伯?dāng)?shù)字、英文字母的大小寫、常用的符號、和日文假名等,每一個字符都有一個固定的代碼。使用時直接編寫軟件程序按一定的時序驅(qū)動即可。它的特點是顯

18、示字跡清楚,價格相對便宜。</p><p>  1.4選用的A/D0809簡介</p><p>  AD0809是8位逐次逼近型A/D轉(zhuǎn)換器,它是由一個8路的模擬開關(guān)、一個地址鎖存譯碼器、一個A/D 轉(zhuǎn)換器和一個三態(tài)輸出鎖存器組成。多路開關(guān)可選通8個模擬通道,允許8 路模擬量分時輸入,共用A/D 轉(zhuǎn)換器進(jìn)行轉(zhuǎn)換。些A/D轉(zhuǎn)換器是的特點是8位精度,屬于并行口,如果輸入的模擬量變化大快,必須在

19、輸入之前增加采樣電路。</p><p>  1.5選用的OP07簡介</p><p>  Op07芯片是一種低噪聲,非斬波穩(wěn)零的雙極性運算放大器集成電路。由于OP07具有非常低的輸入失調(diào)電壓(對于OP07A最大為25μV),所以O(shè)P07在很多應(yīng)用場合不需要額外的調(diào)零措施。OP07同時具有輸入偏置電流低(OP07A為±2nA)和開環(huán)增益高(對于OP07A為300V/mV)的特點,這

20、種低失調(diào)、高開環(huán)增益的特性使得OP07特別適用于高增益的測量設(shè)備和放大傳感器的微弱信號等方面。</p><p><b>  2.0設(shè)計方案</b></p><p>  根據(jù)上述,我們選擇單片機與A/D轉(zhuǎn)換芯片結(jié)合的方法實現(xiàn)本設(shè)計。使用的基本元器件是:AT89C52單片機,ADC0809模數(shù)轉(zhuǎn)換芯片,1602液晶顯示器,OP07放大電路,電容,電阻,晶振,標(biāo)準(zhǔn)電源等等。

21、設(shè)計的基本框圖如下:</p><p><b>  圖2.1</b></p><p>  3.硬件電路系統(tǒng)模塊的設(shè)計</p><p><b>  3.1單片機系統(tǒng) </b></p><p>  單片機最小系統(tǒng)其原理圖如下:</p><p><b>  圖3.1<

22、/b></p><p><b>  晶振電路如下圖:</b></p><p><b>  圖3.2</b></p><p><b>  復(fù)位電路如下圖:</b></p><p><b>  圖3.3</b></p><p>&

23、lt;b>  3.2輸入電路</b></p><p>  于輸入電路的電壓要經(jīng)過OP07放大電路放大,電路圖如下:</p><p><b>  圖3.4</b></p><p>  3.3A/D轉(zhuǎn)換電路</p><p>  ADC0809轉(zhuǎn)換電路如下:</p><p><b

24、>  圖3.5</b></p><p><b>  3.4顯示電路</b></p><p>  1602液晶顯示電路如下:</p><p><b>  圖3.6</b></p><p><b>  4.系統(tǒng)軟件的設(shè)計</b></p><p&

25、gt;  4.1主程序的總體流程圖:</p><p><b>  圖4.1</b></p><p>  4.2 A/D轉(zhuǎn)換程序:</p><p><b>  圖4.2</b></p><p><b>  5.系統(tǒng)的調(diào)試</b></p><p>  完成

26、了系統(tǒng)的硬件設(shè)計,制作和軟件編程之后,要使系統(tǒng)能夠按設(shè)計意圖正常運行,必須進(jìn)行系統(tǒng)調(diào)試。調(diào)試分了硬件和軟件調(diào)試</p><p><b>  5.1硬件調(diào)試</b></p><p>  硬件調(diào)試的主要任務(wù)是排除硬件故障,其中包括設(shè)計的錯誤和工藝性故障等。</p><p>  檢查所設(shè)計的硬件電路板所有的器件和引腳是否正確,尤其是電源的連接是否正確

27、;檢查各總線是否有短路的故障。檢查開關(guān)/按鍵是否正常,是否連接正確,為了保護(hù)芯片,應(yīng)先對各插座電位進(jìn)行檢查,確認(rèn)無誤后再插入芯片。</p><p>  將40芯片的仿真插頭插入單片機插座進(jìn)行調(diào)試,檢查各接口是否滿足設(shè)計的要求,有正常的程序測試硬件電路的好壞。</p><p><b>  5.2軟件調(diào)試</b></p><p>  軟件調(diào)試的任務(wù)

28、是利用開發(fā)工具進(jìn)行在線仿真調(diào)試,發(fā)現(xiàn)和糾正程序的錯誤,同時也能發(fā)現(xiàn)硬件的故障。軟件調(diào)試是一個模塊一個模塊進(jìn)行的。首先單獨調(diào)試各子程序是否能夠按照預(yù)期的功能,接口電路的控制是否正常。最后調(diào)試整個程序。尤其注意的是各模塊間能否正確的傳遞參數(shù)。</p><p>  檢查液晶顯示模塊程序。在主程序中調(diào)用display()和dislay_zifu()函數(shù),觀察在1602液晶上是否能夠顯示相應(yīng)的字符。如果不能,則在相關(guān)的子程

29、序中設(shè)計斷點,反復(fù)調(diào)試直到能夠顯示。</p><p>  檢查按鍵模塊程序。本設(shè)計的按鍵模塊程序是用狀態(tài)機的方法,可以在key_state1狀態(tài)下加一個任務(wù),如顯示一個字符在液晶上。觀察是否正確顯示。</p><p>  檢查A/D轉(zhuǎn)換模塊程序??梢栽谟布娐返妮斎攵溯斎胍阎膸讉€電壓,分別觀察液晶上是否顯示相應(yīng)的電壓值。</p><p>  檢查數(shù)據(jù)的轉(zhuǎn)換模塊程序

30、。可以按硬件電路的按鍵開關(guān),輸入相應(yīng)的電壓,觀察液晶顯示的電壓值是否一致。如果一致。則數(shù)據(jù)轉(zhuǎn)換的算法正確的。</p><p>  總調(diào)試。當(dāng)相應(yīng)的各模塊環(huán)節(jié)都正確后,可程序下載到單片機。接上電源運行。再檢查所有功能,觀察是否能預(yù)期的一樣。如果一樣,說明設(shè)計成功完成。</p><p>  總結(jié):這次的課程認(rèn)識到了我們的動手能力還不夠,理論知識也學(xué)得不夠扎實,還有我們的經(jīng)驗也不夠。經(jīng)過了設(shè)計后

31、我們的動手能力得到提高,也進(jìn)一步鞏固了我們的理論知識,同時也增加了一些設(shè)計的經(jīng)驗。</p><p><b>  參考文獻(xiàn):</b></p><p>  [1]楊毅剛,彭喜元編著,單片機原理與應(yīng)用設(shè)計 北京:電子工業(yè)出版社。2008.4</p><p>  [2]趙月飛等編著,Protel 99 SE基礎(chǔ)與實例教程 北京:機械工業(yè)出版社。2009

32、.12</p><p>  [3]姜志海編著,單片機的C語言程序設(shè)計與應(yīng)用北京:電子工業(yè)出版社。2011.7</p><p>  [4]史建芳編著,智能儀器設(shè)計基礎(chǔ) 北京:電子工業(yè)出版社。2012.9</p><p><b>  附錄1:源程序</b></p><p><b>  主程序:</b>&

33、lt;/p><p>  #include<reg52.h> </p><p>  #include <intrins.h> </p><p>  #include "LCD1602.h" </p><p>  #include "ADC0809.h" </p><

34、p>  sbit CLOCK=P0^7; </p><p>  extern uchar display_buffer[][16]; </p><p>  void main() </p><p><b>  { </b></p><p>  TMOD=0x02; </p><

35、p>  TH0=0x14; </p><p>  TL0=0x00; </p><p><b>  IE=0x82;</b></p><p>  TR0=1; </p><p>  Initialize_LCD1602(); </p><p>  delay50us(1

36、0); </p><p>  Write_LCD_Command(0x80);//設(shè)置顯示的初始位置 </p><p>  LCD_Display(display_buffer[0]);//顯示"The voltage is: " </p><p>  while(1) </p><p>  {

37、 </p><p>  adc0809_init(); </p><p>  Refresh_show(); </p><p>  Write_LCD_Command(0xC0);//設(shè)置顯示的初始位置 </p><p>  LCD_Display(display_buffer[1]); //顯示測得的數(shù)

38、據(jù) </p><p><b>  } </b></p><p><b>  } </b></p><p>  void Timer0_INT() interrupt 1 </p><p><b>  { </b></p><p&

39、gt;  CLOCK=!CLOCK; </p><p><b>  }</b></p><p>  LCD1602頭文件:</p><p>  #ifndef __lCD1602_H__ </p><p>  #define __LCD1602_H__ </p><p>  #include

40、<reg52.h> </p><p>  #define dat_port P0 </p><p>  #define uchar unsigned char </p><p>  #define uint unsigned int </p><p>  #define delay4us() {_nop_();_nop_();

41、_nop_();_nop_();} </p><p>  sbit RS=P1^5;//RS=1 數(shù)據(jù)RS=0 命令</p><p>  sbit RW=P1^6;//RW=1 讀取RW=0 寫入</p><p>  sbit E=P1^7;//E 使能信號</p><p>  uchar LCD_Busy_Check();//忙檢查<

42、/p><p>  void Write_LCD_Command(uchar cmd);//向LCD寫入命令</p><p>  void Write_LCD_Data(uchar dat); //向LCD寫入一個字節(jié)的數(shù)據(jù)函數(shù)</p><p>  void Initialize_LCD1602(); //液晶初始化函數(shù)</p><p>  vo

43、id LCD_Display(uchar *str);//在LCD上顯示字符串</p><p><b>  #endif</b></p><p>  LCD1602C源程序:</p><p>  LCD1602.c源程序 //液晶控制與顯示驅(qū)動程序 </p><p>  #include <reg52.h>

44、</p><p>  #include <intrins.h> </p><p>  #include <string.h> </p><p>  #include "LCD1602.h" </p><p>  #include "ADC0809.h" </p>

45、<p>  //---------------忙檢查-------------------// </p><p>  uchar LCD_Busy_Check() </p><p><b>  { </b></p><p>  uchar LCD_Status; </p><p><b> 

46、 RS = 0; </b></p><p>  RW = 1; </p><p><b>  E = 1; </b></p><p>  delay4us(); </p><p>  LCD_Status = P3; </p><p>  E = 0; </

47、p><p>  return LCD_Status;</p><p><b>  } </b></p><p>  //--------------向LCD寫入命令--------------------// </p><p>  void Write_LCD_Command(uchar cmd) </p>&

48、lt;p><b>  {</b></p><p>  while((LCD_Busy_Check()& 0x80)==0x80); //忙等待 </p><p><b>  RS = 0; </b></p><p><b>  RW = 0; </b></p>

49、<p><b>  E = 0; </b></p><p>  P3 = cmd; </p><p>  delay4us(); </p><p><b>  E = 1; </b></p><p>  delay4us(); </p><p><

50、b>  E = 0; </b></p><p><b>  } </b></p><p>  //-----------向LCD寫入一個字節(jié)的數(shù)據(jù)函數(shù)-----------------*/ </p><p>  void Write_LCD_Data(uchar dat) </p><p><

51、b>  { </b></p><p>  while((LCD_Busy_Check()&0x80)==0x80); </p><p><b>  RS = 1; </b></p><p><b>  RW = 0; </b></p><p><b> 

52、 E = 0; </b></p><p>  P3 = dat; </p><p>  delay4us(); </p><p><b>  E = 1; </b></p><p>  delay4us(); </p><p><b>  E = 0; <

53、;/b></p><p><b>  } </b></p><p>  //-----------LCD初始化-----------------*/ </p><p>  void Initialize_LCD1602() //液晶初始化函數(shù) </p><p><b>  { </b>

54、;</p><p>  Write_LCD_Command(0x38);</p><p>  delay50us(10); //功能設(shè)置,數(shù)據(jù)長度為8位,雙行顯示,5×7點陣 字體 </p><p>  Write_LCD_Command(0x0C);</p><p>  delay50us(10); // 顯示開,關(guān)光標(biāo)

55、 </p><p>  Write_LCD_Command(0x06);</p><p>  delay50us(10); //字符進(jìn)入模式:屏幕不動,字符后移 </p><p>  Write_LCD_Command(0x01); </p><p>  delay50us(10);//清屏 </p><p&g

56、t;<b>  } </b></p><p>  //-----------在LCD上顯示字符串-----------------*/ </p><p>  void LCD_Display(uchar *str) </p><p><b>  { </b></p><p>  uchar

57、i; </p><p>  for(i=0;i<strlen(str);i++) </p><p><b>  { </b></p><p>  Write_LCD_Data(str[i]); </p><p>  delay50us(100);</p><p>&

58、lt;b>  }</b></p><p><b>  }</b></p><p>  ADC0809頭文件:</p><p>  #ifndef __ADC0809_H__ </p><p>  #define __ADC0809_H__ </p><p>  #include

59、<reg52.h> </p><p>  #define data_port P1 </p><p>  #define uchar unsigned char </p><p>  #define uint unsigned int </p><p>  sbit START=P0^4; </p><

60、p>  sbit EOC=P0^5; </p><p>  sbit OE=P0^6; </p><p>  void delay50us(uint m);// 延時 </p><p>  uint adc0809_init(); // AD初始化 </p><p>  void Refresh_show(); </

61、p><p><b>  #endif </b></p><p>  ADC0809C源程序:</p><p>  #include<reg52.h> </p><p>  #include <intrins.h> </p><p>  #include "ADC08

62、09.h" </p><p>  unsigned long dat_adc0809; </p><p>  uchar display_buffer[][16]={ </p><p>  {"Current voltage:"}, </p>

63、<p>  {" (CH) =0.00V"} </p><p><b>  }; </b></p><p>  void delay50us(uint m) </p><p><b>  { </b></p><p>  uint

64、 n,k; </p><p>  for(n=m;n>0;n--) </p><p>  for(k=25;k>0;k--); </p><p><b>  } </b></p><p>  uint adc0809_init() // AD初始化 </p><

65、;p><b>  { </b></p><p>  START=0; </p><p><b>  OE=0; </b></p><p><b>  START=1;</b></p><p>  START=0; </p><p&

66、gt;  while(EOC==0); </p><p>  OE=1; </p><p>  dat_adc0809=P2; </p><p><b>  OE=0; </b></p><p>  return dat_adc0809; </p><p><b&g

67、t;  } </b></p><p>  void Refresh_show() //刷新顯示 </p><p><b>  { </b></p><p>  uint t=dat_adc0809*500.0/255; // </p><p>  display_buffer[1][

68、7] = t/100+'0'; //整數(shù)位 </p><p>  display_buffer[1][9] = t/10%10+'0'; //兩個小數(shù)位 </p><p>  display_buffer[1][10] = t%10+'0'; </p><p><b>  }</b&

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論