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

下載本文檔

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

文檔簡介

1、<p>  畢 業(yè) 設(shè) 計</p><p> 題目簡易電壓表 </p><p> 系別電氣工程系  </p><p> 專業(yè)電氣自動化技術(shù)         </p><p> 班級</p><p> 姓名</p&

2、gt;<p> 學(xué)號</p><p> 指導(dǎo)教師</p><p> 日期2 </p><p><b>  設(shè)計任務(wù)書</b></p><p><b>  設(shè)計題目:</b></p><p>  簡易數(shù)字電壓表的設(shè)計</

3、p><p><b>  設(shè)計要求:</b></p><p>  1、 設(shè)計一個具有可以測量0~5V的8路輸入電壓值,并在4個LED數(shù)碼管上顯示的數(shù)字電壓表。</p><p>  2、 設(shè)計完成該功能的硬件電路;</p><p>  3、 設(shè)計完成上述功能的相應(yīng)軟件;</p><p>  4 、用pro

4、teus仿真軟件調(diào)試出應(yīng)有的效果。</p><p><b>  設(shè)計進度要求:</b></p><p>  第一周:選定設(shè)計題目,查找、搜集相關(guān)資料,了解AT89C52、ADC0808模塊的功能及使用方法。</p><p>  第二周:查資料,收集信息,寫出初步設(shè)計方案;</p><p>  第三周:硬件電路設(shè)計; &l

5、t;/p><p>  第四周:流程圖的設(shè)計、程序設(shè)計;</p><p>  第五周:程序設(shè)計,并在PROTEUS中進行仿真調(diào)試;</p><p>  第六周:在PROTEUS中進行仿真調(diào)試;</p><p>  第七周:撰寫設(shè)計論文;</p><p>  第八周:指導(dǎo)老師對設(shè)計報告進行檢查、修改,設(shè)計論文定稿,準(zhǔn)備答辯。&

6、lt;/p><p>  指導(dǎo)教師(簽名): </p><p><b>  摘 要</b></p><p>  在現(xiàn)實生活中,電是非常重要的,電與我們息息相關(guān)。因此,電壓的測量是非常重要的,在一些工業(yè)生產(chǎn),電力的傳輸,家用電器的維修等方面,電壓的測量極其重要。近年來,隨著微電子技術(shù)的迅速發(fā)展和超大規(guī)模集成電路的出現(xiàn),特

7、別是單片機的出現(xiàn),正在引起測量控制儀表領(lǐng)域的新的技術(shù)革命。</p><p>  設(shè)計中主要由單片機AT89C52、ADC0808模塊和數(shù)碼管顯示塊組成。模擬電壓信號串行AD轉(zhuǎn)換后變?yōu)閿?shù)字信號,將此信號線性調(diào)整為電壓值,并轉(zhuǎn)換為BCD碼形式,依次送到數(shù)碼管顯示。采用74LS245芯片進行BCD碼與七段碼(共陰極數(shù)碼管)之間的解碼,即將待顯示的數(shù)字電壓值(BCD碼)通過74LS245驅(qū)動得到共陰極數(shù)碼管顯示所需的七段

8、碼。</p><p>  關(guān)鍵詞:單片機,ADC0808,74LS245,數(shù)碼管,段碼</p><p><b>  目 錄</b></p><p><b>  設(shè)計任務(wù)書I</b></p><p><b>  摘 要II</b></p><p>

9、<b>  目 錄III</b></p><p>  1 總體方案設(shè)計1</p><p>  1.1 系統(tǒng)框圖1</p><p>  1.2 顯示控制方案簡介1</p><p>  1.3 電路原理1</p><p><b>  2 硬件設(shè)計2</b></

10、p><p>  2.1 單片機AT89C522</p><p>  2.2 模/數(shù)轉(zhuǎn)換器ADC08085</p><p>  2.3驅(qū)動器74LS2457</p><p>  2.4 七段數(shù)碼管8</p><p>  2.5 顯示控制10</p><p><b>  3 軟件設(shè)計

11、12</b></p><p>  3.1 設(shè)計思路12</p><p>  3.2 主程序流程圖12</p><p>  3.3 初始化子程序12</p><p>  3.4 A/D初始化13</p><p>  3.5 LED顯示13</p><p><b>

12、  4 系統(tǒng)調(diào)試14</b></p><p>  4.1 WAVE軟件14</p><p>  4.2 PROTEUS軟件16</p><p><b>  致 謝22</b></p><p><b>  參考文獻23</b></p><p><b&

13、gt;  附錄24</b></p><p><b>  1 總體方案設(shè)計</b></p><p><b>  1.1 系統(tǒng)框圖</b></p><p>  簡易電壓表設(shè)計框圖如圖1.1所示。</p><p>  圖1.1 簡易電壓表設(shè)計框圖</p><p>  

14、1.2 顯示控制方案簡介</p><p>  設(shè)計中采用的顯示方案為動態(tài)LED顯示,設(shè)計中采用74LS245驅(qū)動芯片,P3口被用作位碼。動態(tài)掃描的特點是速度快并且動作也快。</p><p><b>  1.3 電路原理</b></p><p>  電路中的核心芯片為AT89C52單片機,在I/O口的分配中P1口作為LED的段碼輸入,P3口作為L

15、ED的位碼輸入,P2口作為A/D采樣電路輸入口,其中P1口給LED送數(shù)據(jù),P3.4,P3.5,P3.6,P3.7作為位碼輸入口用于控制哪一位顯示,P2.0,P2.1,P2.2用于A/D數(shù)據(jù)采樣。</p><p><b>  2 硬件設(shè)計</b></p><p>  2.1 單片機AT89C52 </p><p>  1.AT89C5

16、2單片機的簡介 </p><p>  由ATMEL公司生產(chǎn)的AT89C52是51系列單片機的一個型號,它是一個低電壓,高性能CMOS 8位單片機,自身帶有8k bytes的可反復(fù)擦寫的Flash存儲器和256 bytes的隨機存取數(shù)據(jù)存儲器(RAM),特點是密度高、非易失性存儲,兼容標(biāo)準(zhǔn)MCS-51指令系統(tǒng),片內(nèi)置通用8位中央處理器和Flash存儲單元。</p><p>  2.AT89C

17、52單片機的內(nèi)部結(jié)構(gòu)</p><p>  AT89C52中包含有:8位的中央處理器、存儲器、兩個并行I/O接口、定時/計數(shù)器、可編程UART串行通道、2個外部中斷源 (共6個中斷源)、2個讀寫中斷口線(3級加密位)、低功耗空閑和掉電模式軟件設(shè)置睡眠和喚醒功能。單片機內(nèi)部結(jié)構(gòu)圖如圖2.1所示。</p><p>  圖2.1單片機的內(nèi)部結(jié)構(gòu)</p><p><b&

18、gt;  (1)中央處理器</b></p><p>  CPU是中央處理單元(Central Processing Unit)的縮寫,它可以被簡稱做(Microprocessor),CPU是計算機的核心,其重要性好比大腦對于人一樣,因為它負(fù)責(zé)處理、運算計算機內(nèi)部的所有數(shù)據(jù),而主板芯片組則更像是心臟,它控制著數(shù)據(jù)的交換。中央處理器(CPU)是整個單片機的核心部件,是8位數(shù)據(jù)寬度的處理器,能處理8位二進制

19、數(shù)據(jù)或代碼,CPU負(fù)責(zé)控制、指揮和調(diào)度整個單元系統(tǒng)協(xié)調(diào)的工作,完成運算和控制輸入輸出功能等操作。</p><p><b> ?。?)數(shù)據(jù)存儲器</b></p><p>  數(shù)據(jù)存儲器AT89C52 由讀寫存儲器RAM組成。其最大容量可擴展到64k,用于存儲實時輸入的數(shù)據(jù)。內(nèi)部有256個單元的內(nèi)部數(shù)據(jù)存儲器,其中00H~7FH為內(nèi)部隨機存儲器RAM,80H~FFH為專用

20、寄存器區(qū)。實際使用時應(yīng)首先充分利用內(nèi)部存儲器,從使用角度講,搞清內(nèi)部數(shù)據(jù)存儲器的結(jié)構(gòu)和地址分配是十分重要的。因為將來在學(xué)習(xí)指令系統(tǒng)和程序設(shè)計時會經(jīng)常用到它們。8051內(nèi)部數(shù)據(jù)存儲器地址由00H至FFH共有256個字節(jié)的地址空間,該空間被分為兩部分,其中內(nèi)部數(shù)據(jù)RAM的地址為00H~7FH(即0~127)。而用做特殊功能寄存器的地址為80H~FFH。在此256個字節(jié)中,還開辟有一個所謂“位地址”區(qū),該區(qū)域內(nèi)不但可按字節(jié)尋址,還可按“位(b

21、it)”尋址。對于那些需要進行位操作的數(shù)據(jù),可以存放到這個區(qū)域。從00H到1FH安排了四組工作寄存器,每組占用8個RAM字節(jié),記為R0~R7。</p><p>  (3)特殊功能寄存器</p><p>  在AT89C52 片內(nèi)存儲器中,80H-FFH 共128 個單元為特殊功能寄存器(SFE),特殊功能寄存器的地址范圍為80H~FFH。在MCS-51中,除程序計數(shù)器PC和四個工作寄存器區(qū)

22、外,其余21個特殊功能寄存器都在這SFR塊中。其中5個是雙字節(jié)寄存器,它們共占用了26個字節(jié)。特殊功能寄存器反映了8051的狀態(tài),實際上是8051的狀態(tài)字及控制字寄存器。用于CPU PSW便是典型一例。這些特殊功能寄存器大體上分為兩類,一類與芯片的引腳有關(guān),另一類作片內(nèi)功能的控制用。與芯片引腳有關(guān)的特殊功能寄存器是P0~P3,它們實際上是4個八位鎖存器(每個I/O口一個),每個鎖存器附加有相應(yīng)的輸出驅(qū)動器和輸入緩沖器就構(gòu)成了一個并行口。

23、MCS-51共有P0~P3四個這樣的并行口,可提供32根I/O線,每根線都是雙向的,并且大都有第二功能。</p><p> ?。?)并行輸入輸出(I/O)口</p><p>  AT89C52有32個雙向I/O口其中256x8bit是用于內(nèi)部RAM。</p><p>  3.AT89C52單片機的引腳</p><p>  AT89C52有40

24、個引腳,其引腳圖如圖2.2所示。</p><p>  圖2.2 AT89C52的引腳圖</p><p>  (1)P0 口:P0 口是一組8 位漏極開路型雙向I/O 口, 也即地址/數(shù)據(jù)總線復(fù)用口。作為輸出口用時,每位能吸收電流的方式驅(qū)動8 個TTL邏輯門電路。</p><p> ?。?)P1 口:P1 是一個帶內(nèi)部上拉電阻的8 位雙向I/O 口, P1 的輸出緩沖

25、級可驅(qū)動(吸收或輸出電流)4 個TTL 邏輯門電路。對端口寫“1”,通過內(nèi)部的上拉電阻把端口拉到高電平,此時可作輸入口。</p><p> ?。?)P2 口:P2 是一個帶有內(nèi)部上拉電阻的8 位雙向I/O 口,對端口P2 寫“1”,通過內(nèi)部的上拉電阻把端口拉到高電平,此時可作輸入口,作輸入口使用時,因為內(nèi)部存在上拉電阻,某個引腳被外部信號拉低時會輸出一個電流(IIL)。</p><p> 

26、 (4) P3 口輸出緩沖級可驅(qū)動(吸收或輸出電流)4 個TTL 邏輯門電路。P3 口除了作為一般的I/O 口線外,更重要的用途是它的第二功能。</p><p> ?。?)RST:復(fù)位輸入。當(dāng)振蕩器工作時,RST引腳出現(xiàn)兩個機器周期以上高電平將使單片機復(fù)位。</p><p> ?。?)XTAL1:振蕩器反相放大器的及內(nèi)部時鐘發(fā)生器的輸入端。</p><p> ?。?

27、)XTAL2:振蕩器反相放大器的輸出端。</p><p>  (8)VCC:電源。</p><p> ?。?)GND:地線。</p><p> ?。?0)ALE:地址鎖存控制信號。</p><p>  2.2 模/數(shù)轉(zhuǎn)換器ADC0808 </p><p>  1.ADC0808的主要特點</p><

28、p>  通常的模數(shù)轉(zhuǎn)換器是將一個輸入電壓信號轉(zhuǎn)換為一個輸出的數(shù)字信號。由于數(shù)字信號本身不具有實際意義,僅僅表示一個相對大小。故任何一個模數(shù)轉(zhuǎn)換器都需要一個參考模擬量作為轉(zhuǎn)換的標(biāo)準(zhǔn),比較常見的參考標(biāo)準(zhǔn)為最大的可轉(zhuǎn)換信號大小。而輸出的數(shù)字量則表示輸入信號相對于參考信號的大小。ADC0808是8位逐次逼近模數(shù)轉(zhuǎn)換器,它的轉(zhuǎn)換速度較快、精度較高。</p><p>  2.ADC0808的內(nèi)部結(jié)構(gòu)</p>

29、<p>  圖2.3 ADC0808的內(nèi)部結(jié)構(gòu)</p><p>  3.ADC0808的引腳及功能</p><p>  圖2.4 ADC0808引腳圖</p><p>  1)IN0~IN7:模擬量輸入通道。</p><p>  2)A、B、C:地址線。A為低位地址,C為高位地址,用于對模擬通道進行選擇。圖2.4中為ADD-A、

30、ADD-B和ADD-C,其地址狀態(tài)與通道對應(yīng)的關(guān)系見表2.1。</p><p>  表2.1 地址狀態(tài)與通道對應(yīng)關(guān)系</p><p>  3)ALE:地址鎖存允許信號。在對應(yīng)ALE上升沿,A、B、C地址狀態(tài)送入地址鎖存器中。</p><p>  4)START:轉(zhuǎn)換啟動信號。START上升沿時,所有內(nèi)部寄存器清0;START下降沿時,開始進行A/D轉(zhuǎn)換;在轉(zhuǎn)換期間,

31、START應(yīng)保持底電平。</p><p>  5)OUT1~OT8:數(shù)據(jù)輸出線。</p><p>  6)OE:輸出允許信號。其用于控制三態(tài)輸出鎖存器向單片機輸出轉(zhuǎn)換得到的數(shù)據(jù)。</p><p>  7)CLOCK:時鐘信號。</p><p>  8)EOC:轉(zhuǎn)換結(jié)束狀態(tài)信號。EOC=0,正在進行轉(zhuǎn)換;EOC=1,轉(zhuǎn)換結(jié)束。</p>

32、;<p>  9)VCC:+5V電源。</p><p>  10)Vref:參考電源。</p><p><b>  4.通道的選擇</b></p><p>  在設(shè)計中我選擇了IN0和IN1兩路通道,IN0用于測量滑動變阻器RV1的電阻,IN1用于測量RV2電阻。</p><p>  2.3驅(qū)動器74LS2

33、45</p><p>  1.74LS245的引腳</p><p>  74LS245的引腳如圖2.5所示。</p><p>  圖2.5 74LS245引腳圖</p><p>  2.74LS245的功能</p><p>  74LS245是8路3態(tài) 雙向緩沖驅(qū)動,也叫做總線驅(qū)動門電路或線驅(qū)動。主要使用在數(shù)據(jù)的雙向緩

34、沖,原來常見于51的數(shù)據(jù)接口電路,比如,早期電路中,擴展了很多的8255/8155/8251/8253/573等芯片的時候,擔(dān)心8031的數(shù)據(jù)驅(qū)動能力不足,就使用一片245作為數(shù)據(jù)緩沖電路,增強驅(qū)動能力;也常見與ISA卡的接口電路。</p><p>  3.74LS245在電路中作用</p><p>  74LS245用來驅(qū)動LED,設(shè)計的電路圖中,74LS245的A0-A7接P1口,B0

35、-B7接數(shù)碼管的段碼。當(dāng)片選端/CE低電平有效時,DIR=“0”,信號由 B 向 A 傳輸;(接收) DIR=“1”,信號由 A 向 B 傳輸;(發(fā)送)當(dāng)/CE為高電平時,A、B均為高阻態(tài)。</p><p>  在設(shè)計中,74LS245——CE接低電平,DIR=1即信號由A向B傳輸。</p><p><b>  2.4 七段數(shù)碼管</b></p><

36、;p><b>  1.數(shù)碼管的簡介</b></p><p>  數(shù)碼管是一種半導(dǎo)體發(fā)光器件,其基本單元是發(fā)光二極管LED顯示器,數(shù)碼管按段數(shù)分為七段數(shù)碼管和八段數(shù)碼管,八段數(shù)碼管比七段數(shù)碼管多一個發(fā)光二極管單元(多一個小數(shù)點顯示);按能顯示多少個“8”可分為1位、2位、4位等等數(shù)碼管;按發(fā)光二極管單元連接方式分為共陽極數(shù)碼管和共陰極數(shù)碼管。單片機應(yīng)用系統(tǒng)常采用七段LED數(shù)碼管作為顯示器

37、,這重顯示器具有耗電低、配置靈活、線路簡單、安裝方便、耐轉(zhuǎn)動、價格低廉且壽命長等優(yōu)點。</p><p>  2.數(shù)碼管的驅(qū)動方式</p><p>  數(shù)碼管要正常顯示,就要用驅(qū)動電路來驅(qū)動數(shù)碼管的各個段碼,從而顯示出我們要的數(shù)字,因此根據(jù)數(shù)碼管的驅(qū)動方式的不同,可以分為靜態(tài)式和動態(tài)式兩類。</p><p>  (1)靜態(tài)顯示驅(qū)動:靜態(tài)驅(qū)動也稱直流驅(qū)動。靜態(tài)驅(qū)動是指每

38、個數(shù)碼管的每一個段碼都由一個單片機的I/O端口進行驅(qū)動,或者使用如BCD碼二-十進制譯碼器譯碼進行驅(qū)動。</p><p>  (2)動態(tài)顯示驅(qū)動:數(shù)碼管動態(tài)顯示接口是單片機中應(yīng)用最為廣泛的一種顯示方式之一,動態(tài)驅(qū)動是將所有數(shù)碼管的8個顯示筆劃"a,b,c,d,e,f,g,dp"的同名端連在一起,另外為每個數(shù)碼管的公共極COM增加位選通控制電路,位選通由各自獨立的I/O線控制。</p>

39、;<p><b>  3.數(shù)碼管的結(jié)構(gòu)</b></p><p>  由a、b、c、d、e、f、g、dp組成的八段數(shù)碼管示意圖如圖2.7所示。</p><p><b>  圖2.7八段數(shù)碼管</b></p><p>  LED數(shù)碼管顯示器可以分為共陰極和共陽極兩種結(jié)構(gòu)。</p><p>

40、  (1)共陰極結(jié)構(gòu):如果所有的發(fā)光二極管的陰極接在一起,稱為共陰極結(jié)構(gòu),則數(shù)碼顯示段輸入高電平有效,當(dāng)某段輸入高電平該段便發(fā)光,如圖2.8所示。</p><p>  (2)共陽極結(jié)構(gòu):如果所有的發(fā)光二極管的陽極接在一起,稱為共陽極結(jié)構(gòu),則數(shù)碼顯示段輸入低平有效,當(dāng)某段輸入低電平該段便發(fā)光,如圖2.9所示。</p><p>  圖2.8共陰極 圖2.9

41、共陽極</p><p> ?。?)LED動態(tài)顯示接口:LED動態(tài)顯示就是利用單片機依次輸出每一位數(shù)碼管的段選碼和對應(yīng)于該位數(shù)碼管的位選控制信號,一位一位輪流點亮各七段數(shù)碼管。對每位數(shù)碼管來說,每隔一段時間點亮一次,如此循環(huán)。利用人眼的“視覺暫留”效應(yīng),只要每位顯示間隔足夠短就可以給人以同時顯示的感覺。在動態(tài)顯示方式中,同一時刻,只有一位LED數(shù)碼管在顯示,其他各位是關(guān)閉的。在段選碼和位選碼每送出一次后,應(yīng)保持1m

42、s左右,這個時間應(yīng)根據(jù)實際情況而定。不能太小,因而發(fā)光二極管從導(dǎo)通到發(fā)光有一定的延時,導(dǎo)通時間太小,發(fā)光太弱人眼無法看清。但也不能太大,因為畢竟要受限于臨界閃爍頻率,而且此時間越長,占用CPU時間也越多。</p><p>  采用動態(tài)顯示方式比較節(jié)省I/O接口,硬件電路也較靜態(tài)顯示方式簡單,但其亮度不如靜態(tài)顯示方式,而且在顯示位數(shù)較多時,CPU要依次掃描,占用CPU較多的時間。</p><p&

43、gt;  用MCS-51單片機構(gòu)建七段數(shù)碼管動態(tài)顯示系統(tǒng)時,4位數(shù)碼管均采用共陰極LED,P0接口作為段選碼輸出口,8路驅(qū)動采用74LS244總線驅(qū)動器作為字形驅(qū)動芯片,經(jīng)過8路驅(qū)動電路后接至數(shù)碼管的各段,字形驅(qū)動輸出0時發(fā)光。P2接口作為位選碼輸出口,4路驅(qū)動采用74LS07(OC門驅(qū)動器),當(dāng)C接口線輸出1時,選通相應(yīng)位的數(shù)碼管工作。</p><p><b>  2.5 顯示控制</b>

44、</p><p>  按鍵J1和J2分別用來選擇測量RV1和RV2的電阻。當(dāng)按下J1時,測量的是RV1的電壓;當(dāng)按下J2時,測量的是RV2的電壓。在LED數(shù)碼管上顯示電壓值,數(shù)碼管采用動態(tài)顯示。</p><p>  LED數(shù)碼管在多位顯示時,通常是將所有位上名稱相同的字段連接在一起,然后再由1個8位的I/O口驅(qū)動控制,而不同位上數(shù)碼管的COM端分別引出由其他不同的I/O口控制,如圖2.10

45、就是一個6位的LED數(shù)碼管動態(tài)顯示電路。</p><p>  數(shù)碼管動態(tài)顯示時,采用的是掃描顯示方式,即在某一個掃描周期內(nèi),顯示一位數(shù)碼管,在下一個掃描周期內(nèi)顯示另外一位,以后逐位輪流循環(huán)顯示??梢钥闯?,該顯示方式在某一時刻,多位數(shù)碼管只顯示一位。將循環(huán)掃描的周期縮短到足夠小,人們?nèi)庋劭吹降膶⒉皇嵌鄠€數(shù)碼管輪流顯示,而是各位數(shù)碼管“同時”顯示的效果,這是利用人眼的視覺暫留效應(yīng)。</p><p&

46、gt;  圖2.10 6位數(shù)碼管動態(tài)掃描顯示</p><p><b>  3 軟件設(shè)計</b></p><p><b>  3.1 設(shè)計思路</b></p><p>  簡易數(shù)字電壓測量電路主要由A/D轉(zhuǎn)換、數(shù)據(jù)處理及顯示控制等組成。P0端口作A/D轉(zhuǎn)換數(shù)據(jù)讀入用。本次設(shè)計主要是通過A/D轉(zhuǎn)換模塊的轉(zhuǎn)換將檢測到的外部電壓以

47、二進制的形式傳給單片機,經(jīng)過單片機的處理顯示在LED顯示器上,本次軟件設(shè)計的主要任務(wù)就是按照時序?qū)/D轉(zhuǎn)換模塊的數(shù)據(jù)讀出來并進行加減乘除運算,以十進制的形式顯示在LED上,軟件設(shè)計主要包括初始化,LED顯示,A/D初始化以及數(shù)據(jù)調(diào)整子程序。初始化主要是對要用的A/D,定時器等進行初始化,使其能正常工作,數(shù)調(diào)整主要是進行加減乘除運算然后經(jīng)過LED顯示子程序?qū)⑵滹@示出來。</p><p>  3.2 主程序流程圖&

48、lt;/p><p>  主程序主要是調(diào)用初始化,LED顯示,A/D初始化子程序。主程序流程圖如圖3.1所示。</p><p>  圖3.1 主程序流程圖</p><p>  3.3 初始化子程序</p><p>  主要對LED顯示單元給初值,設(shè)置定時器初值等。初始化子程序流程圖如圖3.2所示。</p><p>  圖3.

49、2 初始化子程序流程圖</p><p>  3.4 A/D初始化</p><p>  ADC0808的模擬輸入電壓進行A/D轉(zhuǎn)換后在數(shù)碼上顯示。A/D初始化流程圖如圖3.3所示。</p><p>  圖3.3A/D初始化流程圖</p><p><b>  3.5 LED顯示</b></p><p>

50、;  采集得到的數(shù)據(jù)通過ADC0808轉(zhuǎn)換成十進制BCD碼,在LED數(shù)碼管中以XX.XX的形式顯示出來。</p><p><b>  4 系統(tǒng)調(diào)試</b></p><p>  完成了硬件的設(shè)計、制作和軟件編程之后,要使系統(tǒng)能夠按設(shè)計意圖正常運行,必須進行系統(tǒng)調(diào)試。系統(tǒng)調(diào)試包括硬件調(diào)試和軟件調(diào)試兩個部分。不過,作為一個單片機系統(tǒng),其運行是軟硬件相結(jié)合的,因此,軟硬件的調(diào)

51、試也是絕對不可能分開的。</p><p>  程序的調(diào)式應(yīng)一個模塊一個模塊地進行,單獨調(diào)試各功能子程序,檢驗程序是否能夠?qū)崿F(xiàn)預(yù)期的功能,接口電路的控制是否正常等;最后逐步將各個子程序連接起來總調(diào)。聯(lián)調(diào)需要注意的是,各程序模塊間能否正確傳遞參數(shù),特別要注意各子程序的現(xiàn)場保護與恢復(fù)。調(diào)試使用WAVE軟件。</p><p>  4.1 WAVE軟件</p><p>  W

52、ave軟件的調(diào)試步驟:</p><p><b>  1.設(shè)置仿真器</b></p><p>  打開偉福軟件,進行仿真器的設(shè)置,首先點擊菜單欄中的仿真器按鈕,選擇仿真器設(shè)置,分別選擇仿真器為E6000/L,仿真頭選擇P0D-8X5XP,CPU選擇8751,然后點擊“好”按鈕,具體操作如圖4.1所示。</p><p>  圖4.1 仿真器的設(shè)置&

53、lt;/p><p><b>  2.新建文件</b></p><p>  點擊菜單欄中的“文件”按鈕,選擇“打開文件”將文件保存在E盤中,命名為“電壓表.ASM”,出現(xiàn)如圖4.2所示的界面。</p><p><b>  圖4.2 打開文件</b></p><p><b>  3.輸入程序<

54、;/b></p><p>  點擊打開,在新建的文件夾“電壓表.ASM”中輸入目標(biāo)程序,如圖4.3所示。</p><p><b>  圖4.3 新建文件</b></p><p><b>  4.編譯</b></p><p>  程序輸入完成以后點擊菜單欄中的“編譯”按鈕進行編譯,如果程序有錯誤

55、則需重新審核程序,如果程序無誤則會在下方信息欄中顯示全部為對勾,如圖4.4所示。</p><p><b>  圖4.4 編譯成功</b></p><p>  4.2 PROTEUS軟件</p><p>  1.PROTEUS軟件簡介 </p><p>  Proteus ISIS是英國Labcenter公司開發(fā)的電路分析

56、與實物仿真軟件。它運行于Windows操作系統(tǒng)上,可以仿真、分析(SPICE)各種模擬器件和集成電路,該軟件的特點是:支持ARM7,PIC ,AVR,HC11以及8051系列的微處理器CPU模型交互外設(shè)模型有LCD顯示、RS232終端、通用鍵盤、開關(guān)、按鈕、LED等;強大的調(diào)試功能,內(nèi)置超過6000標(biāo)準(zhǔn)SPICE模型,完全兼容制造商提供的SPICE模型;DLL界面為應(yīng)用提供特定的模式;基于工業(yè)標(biāo)準(zhǔn)的SPICE3F5混合模型電路仿真器14

57、種虛擬儀器:示波器、邏輯分析儀、信號發(fā)生器、規(guī)程分析儀等。</p><p>  2.PROTEUS軟件的應(yīng)用</p><p> ?。?)實現(xiàn)了單片機仿真和SPICE電路仿真相結(jié)合。具有模擬電路仿真、數(shù)字電路仿真、單片機及其外圍電路組成的系統(tǒng)的仿真、RS232動態(tài)仿真、I2C調(diào)試器、SPI調(diào)試器、鍵盤和LCD系統(tǒng)仿真的功能;有各種虛擬儀器,如示波器、邏輯分析儀、信號發(fā)生器等。</p&g

58、t;<p> ?。?) 支持主流單片機系統(tǒng)的仿真。目前支持的單片機類型有:68000系列、8051系列、AVR系列、PIC12系列、PIC16系列、PIC18系列、Z80系列、HC11系列以及各種外圍芯片。</p><p> ?。?)提供軟件調(diào)試功能。在硬件仿真系統(tǒng)中具有全速、單步、設(shè)置斷點等調(diào)試功能,同時可以觀察各個變量、寄存器等的當(dāng)前狀態(tài),因此在該軟件仿真系統(tǒng)中,也必須具有這些功能;同時支持第三

59、方的軟件編譯和調(diào)試環(huán)境,如Keil C51 uVision2等軟件。</p><p>  (4)具有強大的原理圖繪制功能??傊?,該軟件是一款集單片機和SPICE分析于一身的仿真軟件,功能極其強大。本章介紹Proteus ISIS軟件的工作環(huán)境和一些基本操作。</p><p>  3.PROTEUS軟件的使用方法及調(diào)試步驟</p><p>  (1)首先點擊啟動界面區(qū)

60、域中的“P”按鈕(Pick Devices,拾取元器件)來打開“Pick Devices”(拾取元器件)對話框從元件庫中拾取所需的元器件。在對話框中的“Keywords”里面輸入要檢索的元器件的關(guān)鍵詞,比如要選擇項目中使用的AT89C52,就可以直接輸入。輸入以后就能夠在中間的“Results”結(jié)果欄里面看到所要搜索的元器件的結(jié)果。在對話框的右側(cè),還能夠看到所要選擇的元器件的仿真模型、引腳以及PCB參數(shù),如圖4.5所示。</p&g

61、t;<p><b>  圖4.5 拾取元件</b></p><p>  這里有一點需要注意,可能有時候選擇的元器件并沒有仿真模型,對話框?qū)⒃诜抡婺P秃鸵_一欄中顯示“No Simulator Model”(無仿真模型)。那么就不能夠用該元器件進行仿真了,或者只能做它的PCB板,或者選擇其他的與其功能類似而且具有仿真模型的元器件。</p><p>  搜索

62、到所需的元器件以后雙擊元器件名來將相應(yīng)的元器件加入到文檔中,接著用相同的方法來搜索并加入其他的元器件。如果已經(jīng)將所需的元器件全部加入到文檔中時,點擊“OK”按鈕來完成元器件的添加。</p><p>  (2)添加好元器件以后,就是將元器件按照需要連接成電路。首先在元器件瀏覽區(qū)中點擊所需要添加到文檔中的元器件,此時就可以在瀏覽區(qū)看到所選擇的元器件的形狀與方向,如果其方向不符合要求,可以通過點擊元器件調(diào)整工具欄中的工

63、具來任意進行調(diào)整,調(diào)整完成之后在文檔中單擊并選定好需要放置的位置即可。接著按相同的操作即可完成所有元器件的布置,如圖4.6所示,元件數(shù)量及參數(shù)如表4.1所示。</p><p>  圖4.6 元件的放置</p><p><b>  表4.1 元件匯總</b></p><p> ?。?)接下來是連線。布線時單擊選擇起點,然后在需要轉(zhuǎn)彎的地方單擊一下

64、,按照所需走線的方向移動鼠標(biāo)到線的終點單擊即可,如圖4.7所示。</p><p>  圖4.7 元件的連接</p><p>  Proteus中單片機芯片默認(rèn)已經(jīng)添加電源與地,所以可以省略。首先點擊“模式”,選擇終端模式,然后在元器件瀏覽區(qū)中點擊POWER(電源)來選中電源,通過區(qū)域中的元器件調(diào)整工具進行適當(dāng)?shù)恼{(diào)整,然后就可以在文檔區(qū)中單擊放置電源了。連接好電路圖以后還需要做一些修改。修改

65、方法如下:首先雙擊電阻圖標(biāo),這時軟件將彈出“Edit Component”對話框?qū)υ捒蛑械摹癈omponent Referer”是組件標(biāo)簽之意,可以隨便填寫,也可以取默認(rèn),但要注意在同一文檔中不能有兩個組件標(biāo)簽相同;“Resistance”就是電阻值了,可以在其后的框中根據(jù)需要填入相應(yīng)的電阻值。填寫時需注意其格式,如果直接填寫數(shù)字,則單位默認(rèn)為Ω;如果在數(shù)字后面加上K或者k,則表示kΩ之意。比如:填入270,表示270Ω。</p&

66、gt;<p> ?。?)修改好各組件屬性以后就要將程序(ASM文件)載入單片機了。首先雙擊單片機圖標(biāo),系統(tǒng)同樣會彈出“Edit Component”對話框,在目標(biāo)處理器選項選擇U1-AT89C52在代碼生成工具中選擇 MPASMWIN在源代碼文件名移除原代碼,然后在這個對話框中點擊“Program files”框右側(cè)的“菜單”,來打開選擇程序代碼窗口,選中相應(yīng)的ASM文件后返回,這時,按鈕左側(cè)的框中就填入了相應(yīng)的ASM文件

67、,點擊對話框的“確定”按鈕,回到文檔,程序文件就添加完畢了,如圖4.8所示。</p><p>  圖 4.8添加源代碼</p><p> ?。?)裝載好程序,就可以進行仿真了。工具條從左到右依次是“Play”、“Step”、“Pause”、“Stop”按鈕,即運行、步進、暫停、停止。點擊“Play”按鈕來仿真運行,可以看到系統(tǒng)按照程序在運行著,而且還能看到其高低電平的實時變化。如果已經(jīng)出現(xiàn)

68、了結(jié)果就可以點擊“Stop”來停止運行,如圖4.9所示。</p><p><b>  圖4.9 運行狀態(tài)</b></p><p> ?。?)用鼠標(biāo)點擊RV1的增大和減小按鈕可改變電壓值,從而使電壓表顯示不同的數(shù)值,對比與圖4.9,改變電壓后的效果圖如圖4.10所示。</p><p>  圖4.10 改變電阻后</p><p&

69、gt;<b>  致 謝</b></p><p>  經(jīng)過兩個月的學(xué)習(xí),我完成了簡易電壓表的畢業(yè)設(shè)計,這次設(shè)計使我學(xué)到了許多知識。通過這次設(shè)計我認(rèn)識到了自己的不足之處,找到了學(xué)習(xí)的方向,同時明白了知識的重要性。在這次設(shè)計的過程中,我遇到了很多困難,那些困難使我意識到自己的掌握的知識很少。我所學(xué)的知識在以后的工作中是遠(yuǎn)遠(yuǎn)不夠用的,要想以后工作順利就要掌握更多的知識。</p>&l

70、t;p>  在這次設(shè)計中,雖然困難重重,但是老師和同學(xué)給了我很大的幫助,因為有了老師和同學(xué)的幫助,我才能順利完成設(shè)計。因此,我要感謝老師和同學(xué),特別是我的指導(dǎo)老師任艷艷老師,在這次設(shè)計中任老師教給了我許多知識,讓我了解并運用了許多以前不知道的知識。</p><p><b>  參考文獻</b></p><p>  [1] 張俊謨.單片機中級教程[M].北京:北京

71、航空航天大學(xué)出版社,2007</p><p>  [2] 王偉.劉曉平 高精度數(shù)字電壓表方案設(shè)計 儀表技術(shù)2007</p><p>  [3] 趙茂泰.智能儀器原理及應(yīng)用(第二版)[M].北京:電子工業(yè)出版社,2004</p><p>  [4] 馬彪. 單片機應(yīng)用技術(shù). 上海,同濟大學(xué)出版社,2009.5</p><p>  [5] 何宗彬

72、.8位單片機開發(fā).北京:機械工程出版社,2008.8。</p><p>  [6] 王為青,邱文勛.51單片機應(yīng)用開發(fā)案例精選,北京,人民郵電出版社,2007.8 </p><p>  [7] 肖洪兵. 跟我學(xué)用單片機. 北京:北京航空航天大學(xué)出版社,2002.8 </p><p>  [8] 潘永雄,沙河,劉向陽.電子線路CAD實用教程〔M〕.西安:西安電子科技大

73、學(xué)出版社,2002</p><p>  [9]單片機設(shè)計應(yīng)用與仿真/陸旭明主編,北京大學(xué)出版社,2010.2</p><p><b>  附錄 </b></p><p><b>  程序如下:</b></p><p>  #include<reg52.h></p>

74、<p>  #define uint unsigned int</p><p>  #define uchar unsigned char</p><p>  uchar code </p><p>  dispbitcode[]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90,};</p>

75、;<p>  uchar dispbuf[4];</p><p>  uchar getdata;</p><p>  uint temp;</p><p>  sbit DP=P1^7;</p><p>  sbit AA=P2^0;</p><p>  sbit BB=P2^1;</p>

76、<p>  sbit CC=P2^2; </p><p>  sbit ST=P2^4;</p><p>  sbit OE=P2^5;</p><p>  sbit EOC=P3^2;</p><p>  sbit CLK=P3^3;</p><p>  sbit B0=P3^7;</p>

77、<p>  sbit B1=P3^6;</p><p>  sbit B2=P3^5;</p><p>  sbit B3=P3^4;</p><p>  sbit J1=P3^0;</p><p>  sbit J2=P3^1; </p><p>  void Delay(uint i)</p>

78、;<p><b>  {</b></p><p><b>  uint j;</b></p><p>  for(;i>0;i--)</p><p><b>  {</b></p><p>  for(j=0;j<125;j++)</p>

79、<p><b>  {;}</b></p><p><b>  }</b></p><p><b>  }</b></p><p>  void TimeInitial()</p><p>  { TMOD=0x10;</p><p>  T

80、H1=(65536-200)/256;</p><p>  TL1=(65536-200)%256;</p><p><b>  EA=1;</b></p><p><b>  ET1=1;</b></p><p><b>  TR1=1;</b></p><

81、;p><b>  }</b></p><p>  void Display()</p><p><b>  { </b></p><p>  P1=dispbitcode[dispbuf[3]];</p><p><b>  B0=0;</b></p>&l

82、t;p><b>  B1=1;</b></p><p><b>  B2=1;</b></p><p><b>  B3=1;</b></p><p><b>  Delay(1);</b></p><p><b>  P1=0xFF;&l

83、t;/b></p><p>  P1=dispbitcode[dispbuf[2]];</p><p><b>  DP=0;</b></p><p><b>  B0=1;</b></p><p><b>  B1=0;</b></p><p>

84、<b>  B2=1;</b></p><p><b>  B3=1;</b></p><p>  Delay(1); </p><p><b>  P1=0xFF;</b></p><p>  P1=dispbitcode[dispbuf[1]];</p>&l

85、t;p><b>  B0=1;</b></p><p><b>  B1=1;</b></p><p><b>  B2=0;</b></p><p><b>  B3=1;</b></p><p><b>  Delay(1);</

86、b></p><p><b>  P1=0xFF;</b></p><p>  P1=dispbitcode[dispbuf[0]];</p><p><b>  B0=1;</b></p><p><b>  B1=1;</b></p><p>

87、<b>  B2=1;</b></p><p><b>  B3=0;</b></p><p><b>  Delay(1);</b></p><p><b>  P1=0xFF;</b></p><p><b>  }</b><

88、;/p><p>  void main()</p><p><b>  {</b></p><p>  TimeInitial();</p><p><b>  J1=1;</b></p><p><b>  J2=1;</b></p><

89、;p><b>  while(1)</b></p><p><b>  {</b></p><p><b>  ST=0;</b></p><p><b>  OE=0;</b></p><p><b>  ST=1;</b>&

90、lt;/p><p><b>  ST=0;</b></p><p>  while(J1==0)</p><p><b>  AA=0;</b></p><p><b>  BB=0;</b></p><p><b>  CC=0;</b&g

91、t;</p><p>  while(J2==0)</p><p><b>  AA=1;</b></p><p><b>  BB=0;</b></p><p><b>  CC=0;</b></p><p>  while(EOC==0);</

92、p><p><b>  OE=1;</b></p><p>  getdata=P0;</p><p><b>  OE=0;</b></p><p>  temp=getdata*1.0/255*50000;</p><p>  dispbuf[5]=temp/100000;&

93、lt;/p><p>  dispbuf[4]=temp/10000%10;</p><p>  dispbuf[3]=temp/1000%10;</p><p>  dispbuf[2]=temp/100%10;</p><p>  Display();</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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論