數字電壓表課程設計(含程序、仿真圖)_第1頁
數字電壓表課程設計(含程序、仿真圖)_第2頁
數字電壓表課程設計(含程序、仿真圖)_第3頁
數字電壓表課程設計(含程序、仿真圖)_第4頁
數字電壓表課程設計(含程序、仿真圖)_第5頁
已閱讀5頁,還剩17頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、單片機課程設計報告單片機課程設計報告題目:簡易數字電壓表題目:簡易數字電壓表姓 名: 學 號: 專業(yè)班級: 指導老師: 所在學院: 2008 年 6 月 10 日河南理工大學本科課程設計報告 1摘要摘要本設計是簡易數字電壓表,隨著電子科學技術的發(fā)展,電子測量成為廣大電子工作者必須掌握的手段,對測量的精度和功能的要求也越來越高,而電壓的測量甚為突出,因為電壓的測量最為普遍。本設計在參閱了大量前人設計的數字電壓表的基礎上介紹一種基于 89s52 單片機的一種電壓測量電路,該電路采用 icl7135 高精度、雙積分 a/d 轉換電路,測量范圍直流 0-5 伏,使用 lcd液晶模塊顯示,可以與 pc

2、機進行串行通信。正文著重給出了軟硬件系統(tǒng)的各部分電路,介紹了雙積分電路的原理,89s52 的特點,icl7135 的功能和應用,lcd1601 的功能和應用。該電路設計新穎、功能強大、可擴展性強。本文首先簡要介紹了設計電壓表的主要方式以及單片機系統(tǒng)的優(yōu)勢;然后詳細介紹了直流數字電壓表的設計流程,以及硬件系統(tǒng)和軟件系統(tǒng)的設計,并給出了硬件電路的設計細節(jié),包括各部分電路的走向、芯片的選擇以及方案的可行性分析等。通過這一個星期的努力,另外通過同學的幫助,我做成了這個簡易數字電壓表,將程序鍵入可以顯示 0-5 的不同電壓值。通過此次課程設計使我對我們所學的知識有了更深的認識和體會,對自我動手的能力也提

3、高了很多。本論文重點介紹單片機的數字電壓表的工作原理。河南理工大學本科課程設計報告 2目錄1 1 概述概述31.1 課程設計的目的和意義 31.2 課程設計的任務 32 2 系統(tǒng)總體方案及硬件設計系統(tǒng)總體方案及硬件設計 42.1 課程設計系統(tǒng)環(huán)境 42.2 設計原理 42.3 設計方框圖 42.4 硬件電路的設計 52.5 電壓顯示電路 73 3 軟件設計軟件設計 83.1 主程序設計 83.2 通訊模塊設計設計 94 4 proteusproteus 軟件仿真軟件仿真 114.1 系統(tǒng)初始狀態(tài) 114.2 系統(tǒng)隨機狀態(tài) 115 課程設計體會課程設計體會 14參考文獻參考文獻 14附附 1 1

4、:源程序代碼:源程序代碼 16附附 2 2:系統(tǒng)原理圖:系統(tǒng)原理圖 20河南理工大學本科課程設計報告 31 1 概述概述1.1 課程設計的目的和意義:本次課程設計,讓我學習和鞏固了使用單片機的定時中斷、基本的常用的寄存器的使用方法,還有就是學習常用的外圍硬件使用、電路原理圖設計、pcb設計等等。使我對已學過的基礎知識有了更深入的理解,獨立思考、獨立工作以及應用所學基本理化分析和解決實際問題的能力有了很大的提高。1.2 課程設計的任務:數字電壓表(digital voltmeter)簡稱 dvm,它是采用數字化測量技術,把連續(xù)的模擬量(直流輸入電壓)轉換成不連續(xù)、離散的數字形式并加以顯示的儀表。

5、傳統(tǒng)的指針式電壓表功能單一、精度低,不能滿足數字化時代的需求,采用單片機的數字電壓表,由精度高、抗干擾能力強,可擴展性強、集成方便,還可與 pc 進行實時通信。目前,由各種單片 a/d 轉換器構成的數字電壓表,已被廣泛用于電子及電工測量、工業(yè)自動化儀表、自動測試系統(tǒng)等智能化測量領域,示出強大的生命力。與此同時,由 dvm 擴展而成的各種通用及專用數字儀器儀表,也把電量及非電量測量技術提高到嶄新水平。本論文重點介紹單片機的數字電壓表的工作原理。河南理工大學本科課程設計報告 42 2 系統(tǒng)原理及基本框圖系統(tǒng)原理及基本框圖2.1 課程設計系統(tǒng)環(huán)境(1)proteus 仿真軟件(2)keil c51

6、軟件調試環(huán)境或 wave 調試程序2.2 設計原理單片機 at89c52 和 adc0832 設計一個數字電壓表,能夠測量 05v 之間的直流電壓值,兩位數碼顯示。重點負責單片機 at89c52 硬件部分的功能及應用。at89s52 是一個低功耗,高性能 cmos 8 位單片機,片內含 8k bytes isp(in-system programmable)的可反復擦寫 1000 次的 flash 只讀程序存儲器,器件采用 atmel 公司的高密度、非易失性存儲技術制造,兼容標準 mcs -51 指令系統(tǒng)及 80c51 引腳結構,芯片內集成了通用 8 位中央處理器和 isp flash 存儲單

7、元,功能強大的微型計算機的 at89s52 可為許多嵌入式控制應用系統(tǒng)提供高性價比的解決方案。 at89s52 具有如下特點:40 個引腳,8k bytes flash 片內程序存儲器,256 bytes 的隨機存取數據存儲器(ram) ,32 個外部雙向輸入/輸出(i/o)口,5個中斷優(yōu)先級 2 層中斷嵌套中斷,2 個 16 位可編程定時計數器,2 個全雙工串行通信口,看門狗(wdt)電路,片內時鐘振蕩器。 此外,at89s52 設計和配置了振蕩頻率可為 0hz 并可通過軟件設置省電模式。空閑模式下,cpu 暫停工作,而 ram 定時計數器,串行口,外中斷系統(tǒng)可繼續(xù)工作,掉電模式凍結振蕩器而

8、保存 ram 的數據,停止芯片其它功能直至外中斷激活或硬件復位。同時該芯片還具有 pdip、tqfp 和 plcc 等三種封裝形式,以適應不同產品的需求。2.3 設計方框圖河南理工大學本科課程設計報告 52.4 硬件電路的設計單片機采用 mcs-51 系列單片機。由 atmel 公司生產的 at89s52 是一種低功耗、高性能 cmos8 位微控制器,具有 8k 在系統(tǒng)可編程 flash 存儲器。使用atmel 公司高密度非易失性存儲器技術制造,與工業(yè) 80c51 產品指令和引腳完全兼容。在單芯片上,擁有靈巧的 8 位 cpu 和在線系統(tǒng)可編程 flash,使得at89s52 為眾多嵌入式控制

9、應用系統(tǒng)提供高靈活、有效的解決方案。at89s52 具有以下標準功能: 8k 字節(jié) flash,256 字節(jié) ram,32 位 i/o 口線,看門狗定時器,2 個數據指針,三個 16 位定時器/計數器,一個 6 向量 2 級中斷結構,全雙工串行口,片內晶振及時鐘電路??臻e模式下,cpu 停止工作,允許 ram、定時器/計數器、串口、中斷繼續(xù)工作。掉電保護方式下,ram 內容被保存,振蕩器被凍結,單片機一切工作停止,直到下一個中斷或硬件復位為止。at89s52單片機單片機選用的是atmel公司新推出的at89s52,如圖 3.2.1.1所示。該芯片具有低功耗、高性能的特點,是采用cmos工藝的8

10、位單片機,與at89c51完全兼容。at89s52還有以下主要特點: 采用了atmel公司的高密度、非易失性存儲器(nv-sram)技術; 其片內具有256字節(jié)ram,8kb的可在線編程(isp)flash存儲器;單片機a/d 轉換器ad574a電壓顯示器模擬電壓輸入量程控制電路系統(tǒng)總框圖河南理工大學本科課程設計報告 6 有2種低功耗節(jié)電工作方式:空閑模式和掉電模式 at89s52 有 40 個引腳,32 個外部雙向輸入/輸出(i/o)端口,同時內含 2個外中斷口,2 個 16 位可編程定時計數器,2 個全雙工串行通信口,片上 flash允許程序存儲器在系統(tǒng)可編程,亦適于常規(guī)編程器。其將通用的

11、微處理器和flash 存儲器結合在一起,特別是可反復擦寫的 flash 存儲器可有效地降低開發(fā)。單片機管腳說明vcc:供電電壓。gnd:接地。p0口:p0口為一個8位漏級開路雙向i/o口,每腳可吸收8ttl門流。當p1口的管腳第一次寫1時,被定義為高阻輸入。p0能夠用于外部程序數據存儲器,它可以被定義為數據/地址的第八位。在fiash編程時,p0 口作為原碼輸入口,當fiash進行校驗時,p0輸出原碼,此時p0外部必須被拉高。p1口:p1口是一個內部提供上拉電阻的8位雙向i/o口,p1口緩沖器能接收輸出4ttl門電流。p1口管腳寫入1后,被內部上拉為高,可用作輸入,p1口被外部下拉為低電平時,

12、將輸出電流,這是由于內部上拉的緣故。在flash編程和校驗時,p1口作為第八位地址接收。 p2口:p2口為一個內部上拉電阻的8位雙向i/o口,p2口緩沖器可接收,輸出4個ttl門電流,當p2口被寫“1”時,其管腳被內部上拉電阻拉高,且作為輸入。并因此作為輸入時,p2口的管腳被外部拉低,將輸出電流。這是由于內部上拉的緣故。p2口當用于外部程序存儲器或16位地址外部數據存儲器進行存取時,p2口輸出地址的高八位。在給出地址“1”時,它利用內部上拉優(yōu)勢,當對外部八位地址數據存儲器進行讀寫時,p2口輸出其特殊功能寄存器的內容。p2口在flash編程和校驗時接收高八位地址信號和控制信號。p3口:p3口管腳

13、是8個帶內部上拉電阻的雙向i/o口,可接收輸出4個ttl門電流。當p3口寫入“1”后,它們被內部上拉為高電平,并用作輸入。作為輸入,由于外部下拉為低電平,p3口將輸出電流(ill)這是由于上拉的緣故。p3口同時為閃爍編程和編程校驗接收一些控制信號。rst:復位輸入。當振蕩器復位器件時,要保持rst腳兩個機器周期的高電平時間。ale/prog:當訪問外部存儲器時,地址鎖存允許的輸出電平用于鎖存地址河南理工大學本科課程設計報告 7的地位字節(jié)。在flash編程期間,此引腳用于輸入編程脈沖。在平時,ale端以不變的頻率周期輸出正脈沖信號,此頻率為振蕩器頻率的1/6。因此它可用作對外部輸出的脈沖或用于定

14、時目的。然而要注意的是:每當用作外部數據存儲器時,將跳過一個ale脈沖。如想禁止ale的輸出可在sfr8eh地址上置0。此時, ale只有在執(zhí)行movx,movc指令是ale才起作用。另外,該引腳被略微拉高。如果微處理器在外部執(zhí)行狀態(tài)ale禁止,置位無效。/psen:外部程序存儲器的選通信號。在由外部程序存儲器取指期間,每個機器周期兩次/psen有效。但在訪問外部數據存儲器時,這兩次有效的/psen信號將不出現(xiàn)。/ea/vpp:當/ea保持低電平時,則在此期間外部程序存儲器(0000h-ffffh) ,不管是否有內部程序存儲器。注意加密方式1時,/ea將內部鎖定為reset;當/ea端保持高電

15、平時,此間內部程序存儲器。在flash編程期間,此引腳也用于施加12v編程電源(vpp) 。xtal1:反向振蕩放大器的輸入及內部時鐘工作電路的輸入。xtal2:來自反向振蕩器的輸出。25 電壓顯示電路設計中采用的是 8 段 led 數碼管來顯示電壓值。led 具有耗電低、亮度高、視角大、線路簡單、耐震及壽命長等優(yōu)點,它由 8 個發(fā)光二極管組成,其中 7個按8字型排列,另一個發(fā)光二極管為圓點形狀,位于右下角,常用于顯示小數點。把 8 個發(fā)光二極管連在一起,公共端接高電平,叫共陽極接法,相反,公共端接低電平的叫共陰極接法,我們采用共陽極接法。當發(fā)光二極管導通時,相應的一段筆畫或點就發(fā)亮,從而形成

16、不同的發(fā)光字符。其 8 段分別命名為 dp g f e d c b a。例如,要顯示“0” ,則 dp g f e d c b a 分別為:1100 0000b;要顯示“a” ,則 dp g f e d c b a 分別為:0001 0001b(共陽極) 。若要顯示多個數字,只要讓若干個數碼管的位碼循環(huán)為低電平就可以了。根據設計要求,顯示電路需要至少 4 位 led 數碼管來顯示電壓值,我們再多加一位用來顯示電壓單位“v” ,則有 7 位 led 循環(huán)顯示。利用單片機的 i/o 口驅動 led 數碼管的亮滅,設計中由 p0 口驅動 led 的段碼顯示,即顯示字符,由p2 口選擇 led 位碼,

17、即選擇點亮哪位 led 來顯示。河南理工大學本科課程設計報告 83 3 系統(tǒng)的軟件設計系統(tǒng)的軟件設計3.1 主程序設計icl7135a/d 與單片機連接電路的軟件設計系統(tǒng)的程序流程圖如圖所示。主程序一開始運行則設置堆棧起始地址為 70h,設置中斷寄存器,用來對 icl7135 的中斷進行計數,每 5 次后清零,完成一次數據采集工作,然后設置 icl7135的 stb 端的中斷的優(yōu)先級。緊接著 lcdm1601b 進行一次清屏,使其各個指令、數據寄存器的值進行清空,屏幕不顯示任何字符。以前面對 1601b 的介紹,只要將 01h 送到數據總線,使 rs=0,r/w=0,e 有個下降沿的脈沖就可以

18、完成清屏工作。用以下指令實現(xiàn) mov p2,#01h ;送到數據db7-db0,調用子程序 enable,由于下降沿時,內部數據要送到 ram 區(qū),所以要有一個延時子程序,使這個下降沿持續(xù) 2.5 毫秒。內部 ram 有指令代碼后就開始對 ram 進行清零,所以屏幕原有的字符將被清除。接著對 1601 進行功能的設定。mov p2,#01111000b,按表 3.4.5 來看是設定顯示器按 2 行顯示,每行 8 位,57 點陣。調用一次子程序 enable 程序,寫入 cpu 的指令寄存器中。每次向 lcdm 中寫入一個指令,就調用一次 enable,然后再對顯示器進行閃爍、光標等功能進行設定

19、。顯示器的 ram 地址按加方法進行讀寫。再設定第一行字符,也就是voltage的顯示地址 80h。字符voltage的 table 表地址送到 dptr 中,然后調用遠程查表命令,依次把數據送到 p2 口,這時再調用子程序 write3,使 lcd1601 的 rs=1,r/w=0 使使能端 e 產生一個下降沿脈沖,將數據送入到數圖 4.1.1 主程序流程圖河南理工大學本科課程設計報告 9據寄存器中,接下來執(zhí)行子程序 display1,它的主要功能是將 table 表中的字符輸出到 lcd 中去。調定好顯示字符數即遠程查表的次數,就開始查表了。 例如第一個字符“v”的 ascii 碼是 56

20、h,就將這個碼送到 p2 口,再調用使能數據子程序,使 rs=1(數據區(qū)使能)寫入顯示數據區(qū),r/w=0 表示寫,e=來個下降沿延時 2.5 毫秒,使數據寫入 ram 內。完成table 表輸出以后,向指令 ram 中寫入第 2行的起始地址為 och,再調用顯示采樣數據的子程序。采樣數據存放的數據地址安排如下圖所示,首先將 60h 中的數顯示在正負號的位置上,按照 ascii 碼表,正號不顯示(#20h) ,負號顯示“”(#2dh) 。3.2 通訊模塊設計設計89s52 單片機內部有一個全雙工的串行通信口,即串行接收和發(fā)送緩沖器(sbuf) ,這兩個在物理上獨立的接收發(fā)送器,既可以接收數據也可

21、以發(fā)送數據。但接收緩沖器只能讀出不能寫入,而發(fā)送緩沖器則只能寫入不能讀出,它們的地址為 99h。這個通信口既可以用于網絡通信,亦可實現(xiàn)串行異步通信,還可以構成同步移位寄存器使用。如果在傳行口的輸入輸出引腳上加上電平轉換器,就可方便地構成標準的 rs-232 接口。89s52 的串行口有 4 種工作方式,1 種同步方式,3 種異步方式。本方式選方式 1,一幀數據有 10 位,包括起始位 0、8位數據位和 1 位停止位 1。串行口電路在發(fā)送時能自動加入起始位和停止位。在接收時,停止位進入 scon 中的 rb8 位。方式 1 的波特率是可變的,由定時器1 的溢出率決定。由定時器 1 最好工作在方式

22、 2 上(自動重裝載模式) ,這樣只需對 th1 設置一次即可。數據通過 txd 輸出,在 8 個位輸出完畢后,scon 寄存器的 ti 位被設為 1,cpu 只要判斷 ti 是 1,接著發(fā)送下一個字節(jié)。波特率的設定:定時器 t1 工作在方式 2 的初值為:為了減小誤差,時鐘振蕩頻率采用 11.0592mhz,選用定時器 t1 工作在方式2 作波特率發(fā)生器,波特率為 300,設 smod 為 0,依公式(1.1)得初值為:圖 4.1.2 數據地址(1.1)河南理工大學本科課程設計報告 10所以 th1 = tl1 = a0hmov scon ,#50h ;urat 工作在方式 1 上mov t

23、mod ,#20h ;time1 工作在方式 2 上mov th1 , #0a0h ;設置波特率為 300本設計的中斷十分重要,為了減少相互間的干擾,保證可靠性,采用查詢方式判斷是否發(fā)送完畢。 a6: jbc ti , a5 ;如果發(fā)送完畢跳,清標志位,跳到 a5。 ajmp a6 ;否則跳到 a6,等待 a5: inc r0 河南理工大學本科課程設計報告 114 4 proteusproteus 軟件仿真軟件仿真用偉福軟件編輯程序,在仿真設置中選擇 lab2000p 仿真實驗仿真器,選擇8088/86 實驗仿真頭,選擇 8088/86cpu 進行匯編程序編輯,然后進行 proteus進行仿真

24、,其仿真圖如下:4.1 系統(tǒng)初始狀態(tài)如圖:河南理工大學本科課程設計報告 124.2 系統(tǒng)的隨機狀態(tài):電壓為 0.50v 時顯示如圖:電壓為 1.50v 時顯示如圖:河南理工大學本科課程設計報告 13電壓為 4.00v 時顯示如圖:河南理工大學本科課程設計報告 145 5 課程設計體會課程設計體會通過一周的課程能夠設計,使我深刻的認識到單片機的應用已經在工業(yè)、電子等方方面面展示出了它的優(yōu)越性,利用單片機在設計電路逐漸成了趨勢,它與外圍的簡單電路再加上優(yōu)化程序就可以構建任意的產品,使得本設計成為現(xiàn)實。隨著單片機的日益發(fā)展,它必將在未來顯示出更大的活力,為電子設計增加更多精彩。同時我也學到了很多書本

25、上學習不到的東西,不僅使我加深了對單片機理論的理解,將理論很好地應用到實際當中去,而且我還學會了如何去培養(yǎng)我們的創(chuàng)新精神,從而不斷地戰(zhàn)勝自己,超越自己。創(chuàng)新,是要我們學會將理論很好地聯(lián)系實際,并不斷地去開動自己的大腦,從為人類造福的意愿出發(fā),做自己力所能及的,別人卻沒想到的事。使之不斷地戰(zhàn)勝別人,超越前人。同時,更重要的是,我在這一設計過程中,學會了堅持不懈,不輕易言棄。設計過程,也好比是我們人類成長的歷程,常有一些不如意,也許這就是在對我們提出了挑戰(zhàn),勇敢過,也戰(zhàn)勝了,勝利的鐘聲也就一定會為我們而敲響。河南理工大學本科課程設計報告 15這個設計過程中,我遇到過許多次失敗的考驗,就比如,自己對

26、實際生活中的交通秩序的不了解給整個設計帶來的困擾,真想要就此罷休,然而,就在想要放棄的那一刻,我明白了,原來結果并不那么重要,我們更應該注重的是這一整個過程。于是,我堅持了下來。最后,終于按要求把作品做出來了,雖然看似很簡單,但是對我們的實際動手能力卻是很考驗的,這也對我們今后的工作敲響了警鐘:要認真的看待每個需要處理的問題,不要認為事情過于簡單,不能急于求成,更不要輕易說放棄,要保持你的頭腦清醒。這次單片機課程設計給我的最大的印象就是努力的動手去做,困難在你的勇氣和毅力下是抬不了頭的。從做這個設計開始無論遇到什么困難,我都沒有一絲的放棄的念頭。出于對知識的渴望,出于對新技術的好奇,出于對一切

27、未知的求知。希望以后有更多的機會多多參與這樣的設計和實習,鍛煉我們的動手能力,為今后的工作和學習奠定基礎。河南理工大學本科課程設計報告 16參考文獻參考文獻1 余發(fā)山.單片機原理及應用.徐州:中國礦業(yè)大學出版社,20032 譚浩強.c 語言設計(第二版).北京:清華大學出版社,20063 吳金戌,沈慶陽,郭庭吉.8051 單片機實踐與應用m.北京:清華大學出版社,2002.4 劉偉,趙俊逸,黃勇, 一種基予 c8051f 單片機的 soc 型數據采錄器的設計與實現(xiàn) a.天津市計算機學會單片機分會編. 2003 年全國單片機及嵌如入式系統(tǒng)學術年會論文集(下冊) c .北京:北京航空航天大學出版社

28、,2003 .790-7945 何立民.單片機應用技術大全.北京:北京航空航天大學出版社, 1994附 1 源程序代碼org 0000hajmp mainorg 000bh ;定時器 t0 的入口ajmp disp ;顯示程序org 0030hmain:mov sp,#5fh ;設置堆棧mov p1,#0ffhmov p0,#0ffhmov p2,#0ffh ;初始化,所顯示器,led 滅mov tmod,#00000001b ;定時器 t0 工作于模式 1(16 位定時/計數模式)mov th0,#high(65536-2000)mov tl0,#low(65536-2000)setb tr

29、0 ;開定時器 0setb ea ;開總中斷setb et0 ;開定時器 0 中斷河南理工大學本科課程設計報告 17mov counter,#0 ;計數器初始化loop:lcall adc_demo ;調用 ad 子程序ajmp loop;/=;/ 啟動 ad 轉換;/=adc_start:clr ad_csnopclr ad_wrnopsetb ad_wrnopsetb ad_csnopret;/=;/ 讀 ad 轉換;/=adc_read:mov ad_input_port,#0ffhclr ad_csnopclr ad_rdnopnopmov a,ad_input_portnopsetb ad_rdnopsetb ad_csret;/=;/ ad 轉換讀取延時程序,顯示讀到的數值;/=adc_demo:河南理工大學本科課程設計報告 18lcall adc_startlcall delay1mslcall adc_readmov b,#100 ;ad 轉換出的值除 100 商為百位數div ab ; 取百位數 余數在 b 寄存器mov dispbuf,a ;把

溫馨提示

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

最新文檔

評論

0/150

提交評論