單片機-簡易數字電壓表設計_第1頁
單片機-簡易數字電壓表設計_第2頁
單片機-簡易數字電壓表設計_第3頁
單片機-簡易數字電壓表設計_第4頁
單片機-簡易數字電壓表設計_第5頁
已閱讀5頁,還剩14頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、湖南科技大學本科生課程設計(論文)湖南科技大學課 程 設 計課程設計名稱: 簡易數字電壓表設計 學 生 姓 名: 李 系 部: 機電工程系 專業及班級: 機械設計制造及自動化二班 學 號: 指導教師: 2017 年 12 月 20 日I目錄前言1一、 課程設計的目的和要求21.1、 課程設計的目的21.2、 課程設計的基本要求2二、 總體設計22.1、基本工作原理22.2、硬件總體設計32.3、軟件總體設計3三、 硬件設計33.1模數轉換芯片ADC080933.2 數據處理及控制芯片AT89S5153.3AT89S51與ADC0809的連接83.4 4位一體7段LED 數碼管83.5 整機電路

2、及工作原理8四、 軟件設計94.1 主程序設計94.2 各子程序設計10五、 結束語10六、 參考文獻11II前言近年來隨著計算機在社會領域的滲透和大規模集成電路的發展,單片機的應用正在不斷地走向深入,由于它具有功能強,體積小,功耗低,價格便宜,工作可靠,使用方便等特點,因此特別適合于與控制有關的系統,越來越廣泛地應于自動控制,智能化儀器,儀表,數據采集,軍工產品以及家用電器等各個領域,單片機往往是作為一個核心部件來使用,在根據具體硬件結構,以及針對具體應用對象特點的軟件結合,以作完善。而51系列單片機是各單片機中最為典型和最有代表性的一種,通過本次課程設計進一步對單片機學習和應用,從而更熟悉

3、單片機的原理和相關設計并提高了開發軟、硬件的能力。1、 課程設計的目的和要求1.1、 課程設計的目的單片機與接口技術課程設計是在教學及實驗基礎上,對課程所學理論知識的深化和提高。因此,要求學生能綜合應用所學知識,設計與制造出具有較復雜功能的小型單片機系統,并在實踐的基本技能方面進行一次系統的訓練。能夠較全面地鞏固和應用“單片機”課程中所學的基本理論和基本方法,并初步掌握小型單片機系統設計的基本方法。培養獨立思考、獨立收集資料、獨立設計規定功能的單片機系統的能力;培養分析、總結及撰寫技術報告的能力。1.2、 課程設計的基本要求1.簡易數字電壓表可以測量0-5V內的8路輸入電壓值,并在4位LED數

4、碼管上輪流顯示或路選擇顯示。2.其測量最小分辨率為0.02V。(用歡動電阻模擬電壓傳感器輸出的模擬量,用ADC0809進行模數轉換)。2、 總體設計系統總體設計:a、控制模塊選用AT89C51單片機。  b、放大模塊選擇 OP07芯片實現。 c、A/D轉換模塊選擇ADC0809芯片,從分利用其在儀表中的應用特性。 d、顯示模塊選擇與控制模塊相配套的LCD液晶顯示。2.1、基本工作原理設計采用AT89S51單片機芯片配合ADC0809模/數轉換芯片構成一個簡易的數字電壓表,原理框圖如圖1所示。該電路通過ADC0809芯片采樣輸入口IN0輸入的05 V 的模

5、擬量電壓,經過模/數轉換后,產生相應的數字量經過其輸出通道D0D7傳送給AT89S51芯片的P0口。AT89S51負責把接收到的數字量經過數據處理,產生正確的7段數碼管的顯示段碼,并通過其P1口經三極管驅動,再傳送給數碼管。同時它還通過其三位I/O口P3.0、P3.1、P3.2產生位選信號,控制數碼管的亮滅。另外,AT89S51還控制著ADC0809的工作。其ALE 管腳為ADC0809提供了1MHz 工作的時鐘脈沖;P2.3控制ADC0809的地址鎖存端(ALE);P2.4控制ADC0809的啟動端(START);P2.5控制ADC0809的輸出允許端(OE);P3.7控制ADC0809的轉

6、換結束信號(EOC)。2.2、硬件總體設計2.2.1、系統組成方案硬件電路設計由6個部分組成; A/D轉換電路,AT89C51單片機系統,LED 顯示系統、時鐘電路、復位電路以及測量電壓輸入電路。硬件電路設計如圖1所示。圖1 硬件電路設計2.2.2、擴展單元編址2.2.3、鍵盤、顯示功能的定義2.3、軟件總體設計2.3.1、存儲單元的分配、標志位的定義2.3.2、主程序框圖及清單(帶有注釋)3、 硬件設計3.1模數轉換芯片ADC0809ADC0809是典型的8位8通道逐次逼近式A/D轉換器。它可以和微型計算機直接接口。ADC0809轉換器的系列芯片是ADC0808,可以相互替換。3.1.1、A

7、DC0809內部邏輯結構圖2 ADC0809的內部邏輯結構及引腳圖ADC0809的內部邏輯結構如圖2所示。圖中多路模擬開關可選通8路模擬通道,允許8路模擬量分時輸入,并共用一個A/D轉換器進行轉換。地址鎖存與譯碼電路完成對A 、B 、C 三個地址位進行鎖存與譯碼。3.1.2、ADC0809的引腳ADC0809芯片為28引腳雙列直插式封裝,其引腳排列如圖2所示。1.IN0IN7:8路模擬量輸入通道。2.A 、B 、C :模擬通道地址線。這3根地址線用于對8路模擬通道的選擇,其譯碼關系如表1所示。其中,A 為低地址,C 為高地址,引腳圖中為ADDA ,ADDB 和ADDC 。3.START :轉換

8、啟動信號。START 上升沿時,復位ADC0809;START 下降沿時啟動芯片,開始進行A/D轉換;在A/D轉換期間,START 應保持低電平。本信號有時簡寫為ST 。4.D7D0:數據輸出線。為三態緩沖輸出形式,可以和單片機的數據線直接相連。D0為最低位,D7為最高。5.OE :輸出允許信號。用于控制三態輸出鎖存器向單片機輸出轉換得到的數據。OE=0,輸出數據線呈高阻;OE=1,輸出轉換得到的數據。6.CLK :時鐘信號。ADC0809的內部沒有時鐘電路,所需時鐘信號由外界提供,因此有時鐘信號引腳。通常使用頻率為500KHz 的時鐘信號。7.EOC :轉換結束信號。EOC=0,正在進行轉換

9、;EOC=1,轉換結束。使用中該狀態信號即可作為查詢的狀態標志,又可作為中斷請求信號使用。8.Vcc : +5V電源,GND :地。9.Vref :參考電壓。參考電壓用來與輸入的模擬信號進行比較,作為逐次逼近的基準。其典型值為+5V(Vref(+)=+5V, Vref(-)=0V)。3.1.3 ADC0809的工作原理首先輸入3位地址,并使ALE=1,將地址存入地址鎖存器中。此地址經譯碼選通8路模擬輸入之一到比較器。START 上升沿將逐次逼近寄存器復位。下降沿啟動 A/D轉換,之后EOC 輸出信號變低,指示轉換正在進行。直到A/D轉換完成,EOC 變為高電平,指示A/D轉換結束,結果數據已存

10、入鎖存器,這個信號可用作中斷申請。當OE 輸入高電平時,輸出三態門打開,轉換結果的數字量輸出到數據總線上。圖3 ADC0809信號的時序配合(注意:ALE 信號常與START 信號連在一起,這樣連接可以在信號的前沿寫入地址信號,在其后沿啟動A/D轉換,圖3為ADC0809信號的時序配合圖)。3.2 數據處理及控制芯片AT89S51AT89S51是美國ATMEL 公司生產的低功耗、高性能CMOS 8位單片機。AT89S51片內含有4k 字節Flash 閃速存儲器,128字節內部 RAM,32個I/O 口線,看門狗(WDT),兩個數據指針,兩個16 位定時/計數器, 一個5向量兩級中斷結構,一個全

11、雙工串行通信口,片內振蕩器及時鐘電路。同時,S51可降至0Hz 的靜態邏輯操作,并支持兩種軟件可選的節電工作模式。空閑方式停止CPU 的工作,但允許 RAM,定時/計數器,串行通信口及中斷系統繼續工作。掉電方式保存 RAM中的內容,但振蕩器停止工作并禁止其它所有部件工作直到下一個硬件復位。由于將多功能8位CPU 和閃爍存儲器組合在單個芯片中,ATMEL 的AT89S51是一種高效微控制器,為很多嵌入式控制系統提供了一種靈活性高且價廉的方案。3.2.1 主要性能參數1. 與MCS-51產品指令系列完全兼容;2.4K 字節在系統編程(ISP)Flash閃速存儲器;3.1000次擦寫周期;4.4.0

12、5.5 V工作電壓范圍;5. 全靜態工作模式:0Hz 33MHz ;6. 三級程序加密鎖;7.128字節內部RAM ;8.32個可編程I/O口線;9.2個16位的定時/計數器;10.6個中斷源;11. 全雙工串行UART 通道;12. 低工耗空閑和掉電模式;13. 中斷可從空閑模式喚醒系統;14. 看門狗(WDT)及雙數據指針;15. 掉電標識和快速編程特性;16. 靈活的在系統編程(ISP-字節或頁寫模式) 。3.2.2 AT89S51的引腳AT89S51芯片為40引腳雙列直插式封裝,其引腳排列如圖4所示。1.P2口:P2口是一個內部提供上拉電阻的8位雙向I/O口,P2口的輸出緩沖器可驅動4

13、個TTL 邏輯門電路。對P2口管腳寫入“1”后,被內部上拉電阻拉高,可用作輸入。P2口被外部下拉為低電平時,將輸出電流,這是由于內部接有上拉電阻的緣故。P2口當用于外部程序存儲器或16位地址外部數據存儲器進行存取時,P2口輸出地址的高八位。在訪問8位地址外部數據存儲器時,P2口線上的內容,在整個訪問期間不改變。P2口在FLASH 編程和校驗時接收高八位地址信號和控制信號。2.P3口:P3口是一個內部提供上拉電阻的8位雙向I/O口,P3口的輸出緩沖器可驅動4個TTL 邏輯門電路。對P3口管腳寫入“1”后,被內部上拉電阻拉高,可用作輸入。P3口被外部下拉為低電平時,將輸出電流,這是由于內部接有上拉

14、電阻的緣故。P3口除了一般I/O線的功能外,還具有更為重要的第二功能,如表1所示。P3口同時為FLASH 編程和編程校驗接收一些控制信號。 圖4 AT89S51的引腳圖 表1 P3口的第二功能(1)VCC :電源電壓;(2)GND :接地;(3)P0口:P0口是一組8位漏極開路雙向I/O口,每位引腳可驅動8個TTL 邏輯門路。對P0口的管腳寫“1”時,被定義為高阻抗輸入。在訪問外部數據存儲器或程序存儲器時,它可以被定義為數據總線和地址總線的低八位。在FLASH 編程時,P0 口作為原碼輸入口;當FLASH 進行校驗時,P0輸出原碼,此時P0外部必須接上拉電阻。(4)P1口:P1口是一個內部提供

15、上拉電阻的8位雙向I/O口,P1口的輸出緩沖器可驅動4個TTL 邏輯門電路。對P1口管腳寫入“1”后,被內部上拉電阻拉高,可用作輸入。P1口被外部下拉為低電平時,將輸出電流,這是由于內部接有上拉電阻的緣故。在FLASH 編程和校驗時,P1口作為低八位地址接收。P1口還具有第二功能,如表3-2所示。(5)RST :復位輸入。當振蕩器復位器件時,要保持RST 腳兩個機器周期的高電平時間。(6) ALE/RPOG:當訪問外部存儲器時,地址鎖存允許的輸出電平用于鎖存地址的地位字節。在FLASH 編程期間,此引腳用于輸入編程脈沖。在平時,ALE 端以不變的頻率周期輸出正脈沖信號,此頻率為振蕩器頻率的1/

16、6。因此它可用作對外部輸出的脈沖或用于定時目的。然而要注意的是:每當用作外部數據存儲器時,將跳過一個ALE 脈沖。如想禁止ALE 的輸出可在SFR8EH 地址上置0。此時, ALE只有在執行MOVX ,MOVC 指令是ALE 才起作用。另外,該引腳被略微拉高。如果微處理器在外部執行狀態ALE 禁止,置位無效。(7)/PSEN:外部程序存儲器的選通信號。在由外部程序存儲器取指期間,每個機器周期兩次/PSEN有效。但在訪問外部數據存儲器時,這兩次有效的信號將不出現。(8)/EA/VPP:當保持低電平時,則在此期間外部程序存儲器(0000H-FFFFH ),不管是否有內部程序存儲器。注意加密方式1時

17、,/EA將內部鎖定為RESET ;當/EA端保持高電平時,此間內部程序存儲器。在FLASH 編程期間,此引腳也用于施加12V 編程電源(VPP )。(9)XTAL1:片內高增益反向放大器的輸入及內部時鐘工作電路的輸入。(10)XTAL2:片內高增益反向放大器的輸出端。3.2.3 AT89S51的復位電路當單片機一上電,立即復位;另外,如果在運行中,外界干擾等因素使單片機的程序陷入死循環狀態或“跑飛”,就可以通過按鍵使其復位。復位也是使單片機退出低功耗工作方式而進入正常狀態的一種操作。電容C 和電阻R1實現上電自動復位。增加按鍵開關S 和電阻R2又可實現按鍵復位功能。R2的作用是在S 按下的時候

18、,防止電容C 放電電流過大燒壞開關S 的觸點。因保證R1/R2 >10。一般取C=10uF,R2=100,R1=8.2K。3.3AT89S51與ADC0809的連接圖5 AT89S51與ADC0809的連接電路AT89S51與ADC0809的連接電路如圖5所示。AT89S51與ADC0809的連接必須注意處理好3個問題:1. 在START 端送一個100ns 寬的啟動正脈沖;2. 獲取EOC 端上的狀態信息,因為它是A/D轉換的結束標志;3. 給“三態輸出鎖存器”分配一個端口地址,也就是給OE 端送一個地址譯碼器的輸出信號。3.4 4位一體7段LED 數碼管本設計的顯示模塊主要由一個4位

19、一體的7段LED 數碼管(SM410564)構成,用于顯示測量到的電壓值。每一位數碼管的a,b,c,d,e,f,g 和dp 端都各自連接在一起,用于接收AT89S51的P1口產生的顯示段碼。1,2,3,4引腳端為其位選端,用于接收AT89S51的P3口產生的位選碼。3.5 整機電路及工作原理設計采用AT89S51單片機芯片配合ADC0809模/數轉換芯片構成一個簡易的數字電壓表。設計的硬件電路由主控部分(單片機AT89S51) 、采集模擬量部分(A/D轉換一路ADC0804)、顯示部分(四位八段數碼管)、報警電路(蜂鳴器)4個部分組成。各部分之間相互協作,構成一個統一的有機整體,實現數字電壓表

20、的功能。該電路通過ADC0809芯片采樣輸入口IN0輸入的05 V的模擬量電壓,經過模/數轉換后,產生相應的數字量經過其輸出通道D0D7傳送給AT89S51芯片的P0口。AT89S51負責把接收到的數字量經過數據處理,產生正確的7段數碼管的顯示段碼,并通過其P1口經驅動芯片74HC245驅動,再傳送給數碼管。同時它還通過其三位I/O口P3.0、P3.1、P3.2產生位選信號,控制數碼管的亮滅。另外,AT89S51還控制著ADC0809的工作。其ALE 管腳為ADC0809提供了1MHz 工作的時鐘脈沖;P2.3控制ADC0809的地址鎖存端(ALE);P2.4控制ADC0809的啟動端(STA

21、RT);P2.5控制ADC0809的輸出允許端(OE);P3.7控制ADC0809的轉換結束信號(EOC)。4、 軟件設計4.1 主程序設計初始化中主要對AT89S51,ADC0809的管腳和數碼管的位選及所用到的內存單元70H,78H,79H,7AH 進行初始化設置。準備工作做好后便啟動ADC0809對IN0腳輸入進的05V 電壓模擬信號進行數據采集并轉換成相對應的0255十進制數字量。在數據處理子程序中,運用標度變換知識,編寫算法將0255十進制數字量轉換成0.005.00V 的數據,輸出到顯示子程序進行顯示。整個主程序就是在A/D轉換,數據處理及顯示程序循環執行。整個程序流程框圖如圖6所

22、示。圖6 主程序流程框圖圖7 A/D轉換流程框圖 4.2 各子程序設計 4.2.1 A/D轉換子程序啟動ADC0809對模擬量輸入信號進行轉換,通過判斷EOC (P3.1引腳)來確定轉換是否完成,若EOC 為0,則繼續等待;若EOC 為1,則把OE 置位,將轉換完成的數據存儲到70H 中。程序流程圖如圖7所示。4.2.2 數據處理子程序數據處理子程序主要根據標度變換公式,把0255十進制數轉換為0.005.00V 。Ax A 0+(Am-A0)*(Nx-N0)/(Nm-N0)Ax:模擬測量值; A0:模擬量輸入最小值; Am:模擬量輸入最大值;Nx:摸/數轉換后的數值; N0:摸數轉換后的最小

23、值; Nm摸/數轉換的最大值。 在本設計中,根據要求知:A0=0V,Am=5V,N0=0,Nm=255則公式1-1可化簡為:Ax=A0+(Am-A0)*(Nx-N0)/(Nm-N0)=5Nx/255=Nx/514.2.3 顯示子程序顯示子程序采用動態掃描法實現三位數碼管的數值顯示。測量所得的A/D轉換數據放在70H 內存單元中,測量數據在顯示時需轉換成10進制BCD 碼放在78H 7AH 單元中,寄存器R1用作顯示數據地址指針。5、 結束語基于單片機的數字電壓表使用性強、結構簡單、成本低、外接元件少。在實際應用工作應能好,測量電壓準確,精度高。系統功能、指標達到了課題的預期要求、系統在硬件設計

24、上充分考慮了可擴展性,經過一定的改造,可以增加功能。本文設計主要實現了簡易數字電壓表測量電壓的功能。通過本次課程設計的鍛煉,我學到了很多有關儀表的設計方法與工作原。在設計的過程中,出現了很多錯誤,這讓我明白了,對總體的把握固然重要,但對于一個實際的系統,很難在設計之初就把握所有細節,設計任何一個系統都需要耐心逐步去發現和解決問題。在尋求解決困難的過程中,激發了我今后努力學習的興趣,我想這將對我以后的學習產生積極的影響。總體來說,這次實習使我受益匪淺。在摸索該如何設計電路使之實現所需功能的過程中,特別有趣,培養了我的設計思維。通過兩個星期的學習讓我把書本上的知識轉換成實際可操作的東西,讓我體會到

25、成功的喜悅和快樂。6、 參考文獻1 蔡美琴等編著,MCS-51系列單片機系統及其應用,高等教育出版社,2004.42 譚浩強 編C 語言程序設計(第二版) 清華大學出版社 3 朱定華編著微機原理、匯編與接口技術清華大學出版社4 陳堂敏.劉煥平主編單片機原理與應用 北京:北京理工大學出版社,2007.5 李廣弟等 單片機基礎 北京航空航天出版社,2001.76 樓然苗等 51系列單片機設計實例 北京航空航天出版社,2003.37 劉瑞新等 單片機原理及應用教程 機械工業出版社,2003.7 68 李朝青等編著單片機原理及接口技術 北京航空航天大學出版社,2004.1 9 霍孟友等 單片機原理與應

26、用機械工業出版社,2004.10 許泳龍等 單片機原理及應用機械工業出版社,2005.111 馬忠梅等 單片機的C 語言應用程序設計北京航空航天大學出版社,2003 修訂版。附錄/* writer:shopping.w */#include <reg52.h>#define uint unsigned int#define uchar unsigned charuchar code LEDData1=0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f;uchar code LEDData2=0xbf,0x86,0xdb,0xcf,0xe

溫馨提示

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

評論

0/150

提交評論