版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quá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è)計論文定稿,準備答辯。&
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),特點是密度高、非易失性存儲,兼容標準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; ?。?)中央處理器</b></p><p> CPU是中央處理單元(Central Processing Unit)的縮寫,它可以被簡稱做(Microprocessor),CPU是計算機的核心,其重要性好比大腦對于人一樣,因為它負責(zé)處理、運算計算機內(nèi)部的所有數(shù)據(jù),而主板芯片組則更像是心臟,它控制著數(shù)據(jù)的交換。中央處理器(CPU)是整個單片機的核心部件,是8位數(shù)據(jù)寬度的處理器,能處理8位二進制
19、數(shù)據(jù)或代碼,CPU負責(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> ?。?)特殊功能寄存器</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> ?。?)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> (5)RST:復(fù)位輸入。當振蕩器工作時,RST引腳出現(xiàn)兩個機器周期以上高電平將使單片機復(fù)位。</p><p> ?。?)XTAL1:振蕩器反相放大器的及內(nèi)部時鐘發(fā)生器的輸入端。</p><p> (7
27、)XTAL2:振蕩器反相放大器的輸出端。</p><p> ?。?)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)換的標準,比較常見的參考標準為最大的可轉(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等芯片的時候,擔心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ù)碼管的段碼。當片選端/CE低電平有效時,DIR=“0”,信號由 B 向 A 傳輸;(接收) DIR=“1”,信號由 A 向 B 傳輸;(發(fā)送)當/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> ?。?)靜態(tài)顯示驅(qū)動:靜態(tài)驅(qū)動也稱直流驅(qū)動。靜態(tài)驅(qū)動是指每
38、個數(shù)碼管的每一個段碼都由一個單片機的I/O端口進行驅(qū)動,或者使用如BCD碼二-十進制譯碼器譯碼進行驅(qū)動。</p><p> ?。?)動態(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ù)碼顯示段輸入高電平有效,當某段輸入高電平該段便發(fā)光,如圖2.8所示。</p><p> (2)共陽極結(jié)構(gòu):如果所有的發(fā)光二極管的陽極接在一起,稱為共陽極結(jié)構(gòu),則數(shù)碼顯示段輸入低平有效,當某段輸入低電平該段便發(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ū)動器),當C接口線輸出1時,選通相應(yīng)位的數(shù)碼管工作。</p><p><b> 2.5 顯示控制</b>
44、</p><p> 按鍵J1和J2分別用來選擇測量RV1和RV2的電阻。當按下J1時,測量的是RV1的電壓;當按下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”中輸入目標程序,如圖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標準SPICE模型,完全兼容制造商提供的SPICE模型;DLL界面為應(yīng)用提供特定的模式;基于工業(yè)標準的SPICE3F5混合模型電路仿真器14
57、種虛擬儀器:示波器、邏輯分析儀、信號發(fā)生器、規(guī)程分析儀等。</p><p> 2.PROTEUS軟件的應(yīng)用</p><p> (1)實現(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)試功能,同時可以觀察各個變量、寄存器等的當前狀態(tài),因此在該軟件仿真系統(tǒng)中,也必須具有這些功能;同時支持第三
59、方的軟件編譯和調(diào)試環(huán)境,如Keil C51 uVision2等軟件。</p><p> ?。?)具有強大的原理圖繪制功能。總之,該軟件是一款集單片機和SPICE分析于一身的仿真軟件,功能極其強大。本章介紹Proteus ISIS軟件的工作環(huán)境和一些基本操作。</p><p> 3.PROTEUS軟件的使用方法及調(diào)試步驟</p><p> ?。?)首先點擊啟動界面區(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> ?。?)添加好元器件以后,就是將元器件按照需要連接成電路。首先在元器件瀏覽區(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、,按照所需走線的方向移動鼠標到線的終點單擊即可,如圖4.7所示。</p><p> 圖4.7 元件的連接</p><p> Proteus中單片機芯片默認已經(jīng)添加電源與地,所以可以省略。首先點擊“模式”,選擇終端模式,然后在元器件瀏覽區(qū)中點擊POWER(電源)來選中電源,通過區(qū)域中的元器件調(diào)整工具進行適當?shù)恼{(diào)整,然后就可以在文檔區(qū)中單擊放置電源了。連接好電路圖以后還需要做一些修改。修改
65、方法如下:首先雙擊電阻圖標,這時軟件將彈出“Edit Component”對話框?qū)υ捒蛑械摹癈omponent Referer”是組件標簽之意,可以隨便填寫,也可以取默認,但要注意在同一文檔中不能有兩個組件標簽相同;“Resistance”就是電阻值了,可以在其后的框中根據(jù)需要填入相應(yīng)的電阻值。填寫時需注意其格式,如果直接填寫數(shù)字,則單位默認為Ω;如果在數(shù)字后面加上K或者k,則表示kΩ之意。比如:填入270,表示270Ω。</p&
66、gt;<p> ?。?)修改好各組件屬性以后就要將程序(ASM文件)載入單片機了。首先雙擊單片機圖標,系統(tǒng)同樣會彈出“Edit Component”對話框,在目標處理器選項選擇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> ?。?)用鼠標點擊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è)計我認識到了自己的不足之處,找到了學(xué)習(xí)的方向,同時明白了知識的重要性。在這次設(shè)計的過程中,我遇到了很多困難,那些困難使我意識到自己的掌握的知識很少。我所學(xué)的知識在以后的工作中是遠遠不夠用的,要想以后工作順利就要掌握更多的知識。</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)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 畢業(yè)設(shè)計---簡易數(shù)字電壓表設(shè)計
- 簡易電壓表的制作畢業(yè)設(shè)計
- 畢業(yè)設(shè)計---簡易數(shù)字電壓表的設(shè)計
- 數(shù)字電壓表畢業(yè)設(shè)計
- 畢業(yè)設(shè)計-數(shù)字電壓表
- 數(shù)字電壓表畢業(yè)設(shè)計
- 數(shù)字電壓表課程設(shè)計--簡易數(shù)字電壓表的設(shè)計
- 畢業(yè)設(shè)計---數(shù)字電壓表
- 數(shù)字電壓表畢業(yè)設(shè)計
- 簡易數(shù)字電壓表 畢業(yè)論文
- 簡易數(shù)字電壓表的設(shè)計畢業(yè)論文
- 數(shù)字電壓表設(shè)計畢業(yè)設(shè)計
- 畢業(yè)設(shè)計(論文)-基于單片機的簡易數(shù)字電壓表設(shè)計
- 畢業(yè)設(shè)計----智能電壓表電路
- 數(shù)字電壓表畢業(yè)設(shè)計 (2)
- 直流數(shù)字電壓表畢業(yè)設(shè)計
- 簡易數(shù)字電壓表 課程設(shè)計
- 簡易數(shù)字電壓表課程設(shè)計
- 簡易數(shù)字電壓表課程設(shè)計
- 畢業(yè)設(shè)計---數(shù)字電壓表的設(shè)計
評論
0/150
提交評論