版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、<p> 畢 業(yè) 設 計</p><p> 題目簡易電壓表 </p><p> 系別電氣工程系 </p><p> 專業(yè)電氣自動化技術 </p><p> 班級</p><p> 姓名</p&
2、gt;<p> 學號</p><p> 指導教師</p><p> 日期2 </p><p><b> 設計任務書</b></p><p><b> 設計題目:</b></p><p> 簡易數字電壓表的設計</
3、p><p><b> 設計要求:</b></p><p> 1、 設計一個具有可以測量0~5V的8路輸入電壓值,并在4個LED數碼管上顯示的數字電壓表。</p><p> 2、 設計完成該功能的硬件電路;</p><p> 3、 設計完成上述功能的相應軟件;</p><p> 4 、用pro
4、teus仿真軟件調試出應有的效果。</p><p><b> 設計進度要求:</b></p><p> 第一周:選定設計題目,查找、搜集相關資料,了解AT89C52、ADC0808模塊的功能及使用方法。</p><p> 第二周:查資料,收集信息,寫出初步設計方案;</p><p> 第三周:硬件電路設計; &l
5、t;/p><p> 第四周:流程圖的設計、程序設計;</p><p> 第五周:程序設計,并在PROTEUS中進行仿真調試;</p><p> 第六周:在PROTEUS中進行仿真調試;</p><p> 第七周:撰寫設計論文;</p><p> 第八周:指導老師對設計報告進行檢查、修改,設計論文定稿,準備答辯。&
6、lt;/p><p> 指導教師(簽名): </p><p><b> 摘 要</b></p><p> 在現實生活中,電是非常重要的,電與我們息息相關。因此,電壓的測量是非常重要的,在一些工業(yè)生產,電力的傳輸,家用電器的維修等方面,電壓的測量極其重要。近年來,隨著微電子技術的迅速發(fā)展和超大規(guī)模集成電路的出現,特
7、別是單片機的出現,正在引起測量控制儀表領域的新的技術革命。</p><p> 設計中主要由單片機AT89C52、ADC0808模塊和數碼管顯示塊組成。模擬電壓信號串行AD轉換后變?yōu)閿底中盘?,將此信號線性調整為電壓值,并轉換為BCD碼形式,依次送到數碼管顯示。采用74LS245芯片進行BCD碼與七段碼(共陰極數碼管)之間的解碼,即將待顯示的數字電壓值(BCD碼)通過74LS245驅動得到共陰極數碼管顯示所需的七段
8、碼。</p><p> 關鍵詞:單片機,ADC0808,74LS245,數碼管,段碼</p><p><b> 目 錄</b></p><p><b> 設計任務書I</b></p><p><b> 摘 要II</b></p><p>
9、<b> 目 錄III</b></p><p> 1 總體方案設計1</p><p> 1.1 系統(tǒng)框圖1</p><p> 1.2 顯示控制方案簡介1</p><p> 1.3 電路原理1</p><p><b> 2 硬件設計2</b></
10、p><p> 2.1 單片機AT89C522</p><p> 2.2 模/數轉換器ADC08085</p><p> 2.3驅動器74LS2457</p><p> 2.4 七段數碼管8</p><p> 2.5 顯示控制10</p><p><b> 3 軟件設計
11、12</b></p><p> 3.1 設計思路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)調試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 總體方案設計</b></p><p><b> 1.1 系統(tǒng)框圖</b></p><p> 簡易電壓表設計框圖如圖1.1所示。</p><p> 圖1.1 簡易電壓表設計框圖</p><p>
14、1.2 顯示控制方案簡介</p><p> 設計中采用的顯示方案為動態(tài)LED顯示,設計中采用74LS245驅動芯片,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送數據,P3.4,P3.5,P3.6,P3.7作為位碼輸入口用于控制哪一位顯示,P2.0,P2.1,P2.2用于A/D數據采樣。</p><p><b> 2 硬件設計</b></p><p> 2.1 單片機AT89C52 </p><p> 1.AT89C5
16、2單片機的簡介 </p><p> 由ATMEL公司生產的AT89C52是51系列單片機的一個型號,它是一個低電壓,高性能CMOS 8位單片機,自身帶有8k bytes的可反復擦寫的Flash存儲器和256 bytes的隨機存取數據存儲器(RAM),特點是密度高、非易失性存儲,兼容標準MCS-51指令系統(tǒng),片內置通用8位中央處理器和Flash存儲單元。</p><p> 2.AT89C
17、52單片機的內部結構</p><p> AT89C52中包含有:8位的中央處理器、存儲器、兩個并行I/O接口、定時/計數器、可編程UART串行通道、2個外部中斷源 (共6個中斷源)、2個讀寫中斷口線(3級加密位)、低功耗空閑和掉電模式軟件設置睡眠和喚醒功能。單片機內部結構圖如圖2.1所示。</p><p> 圖2.1單片機的內部結構</p><p><b&
18、gt; (1)中央處理器</b></p><p> CPU是中央處理單元(Central Processing Unit)的縮寫,它可以被簡稱做(Microprocessor),CPU是計算機的核心,其重要性好比大腦對于人一樣,因為它負責處理、運算計算機內部的所有數據,而主板芯片組則更像是心臟,它控制著數據的交換。中央處理器(CPU)是整個單片機的核心部件,是8位數據寬度的處理器,能處理8位二進制
19、數據或代碼,CPU負責控制、指揮和調度整個單元系統(tǒng)協(xié)調的工作,完成運算和控制輸入輸出功能等操作。</p><p><b> ?。?)數據存儲器</b></p><p> 數據存儲器AT89C52 由讀寫存儲器RAM組成。其最大容量可擴展到64k,用于存儲實時輸入的數據。內部有256個單元的內部數據存儲器,其中00H~7FH為內部隨機存儲器RAM,80H~FFH為專用
20、寄存器區(qū)。實際使用時應首先充分利用內部存儲器,從使用角度講,搞清內部數據存儲器的結構和地址分配是十分重要的。因為將來在學習指令系統(tǒng)和程序設計時會經常用到它們。8051內部數據存儲器地址由00H至FFH共有256個字節(jié)的地址空間,該空間被分為兩部分,其中內部數據RAM的地址為00H~7FH(即0~127)。而用做特殊功能寄存器的地址為80H~FFH。在此256個字節(jié)中,還開辟有一個所謂“位地址”區(qū),該區(qū)域內不但可按字節(jié)尋址,還可按“位(b
21、it)”尋址。對于那些需要進行位操作的數據,可以存放到這個區(qū)域。從00H到1FH安排了四組工作寄存器,每組占用8個RAM字節(jié),記為R0~R7。</p><p> ?。?)特殊功能寄存器</p><p> 在AT89C52 片內存儲器中,80H-FFH 共128 個單元為特殊功能寄存器(SFE),特殊功能寄存器的地址范圍為80H~FFH。在MCS-51中,除程序計數器PC和四個工作寄存器區(qū)
22、外,其余21個特殊功能寄存器都在這SFR塊中。其中5個是雙字節(jié)寄存器,它們共占用了26個字節(jié)。特殊功能寄存器反映了8051的狀態(tài),實際上是8051的狀態(tài)字及控制字寄存器。用于CPU PSW便是典型一例。這些特殊功能寄存器大體上分為兩類,一類與芯片的引腳有關,另一類作片內功能的控制用。與芯片引腳有關的特殊功能寄存器是P0~P3,它們實際上是4個八位鎖存器(每個I/O口一個),每個鎖存器附加有相應的輸出驅動器和輸入緩沖器就構成了一個并行口。
23、MCS-51共有P0~P3四個這樣的并行口,可提供32根I/O線,每根線都是雙向的,并且大都有第二功能。</p><p> ?。?)并行輸入輸出(I/O)口</p><p> AT89C52有32個雙向I/O口其中256x8bit是用于內部RAM。</p><p> 3.AT89C52單片機的引腳</p><p> AT89C52有40
24、個引腳,其引腳圖如圖2.2所示。</p><p> 圖2.2 AT89C52的引腳圖</p><p> ?。?)P0 口:P0 口是一組8 位漏極開路型雙向I/O 口, 也即地址/數據總線復用口。作為輸出口用時,每位能吸收電流的方式驅動8 個TTL邏輯門電路。</p><p> ?。?)P1 口:P1 是一個帶內部上拉電阻的8 位雙向I/O 口, P1 的輸出緩沖
25、級可驅動(吸收或輸出電流)4 個TTL 邏輯門電路。對端口寫“1”,通過內部的上拉電阻把端口拉到高電平,此時可作輸入口。</p><p> ?。?)P2 口:P2 是一個帶有內部上拉電阻的8 位雙向I/O 口,對端口P2 寫“1”,通過內部的上拉電阻把端口拉到高電平,此時可作輸入口,作輸入口使用時,因為內部存在上拉電阻,某個引腳被外部信號拉低時會輸出一個電流(IIL)。</p><p>
26、 (4) P3 口輸出緩沖級可驅動(吸收或輸出電流)4 個TTL 邏輯門電路。P3 口除了作為一般的I/O 口線外,更重要的用途是它的第二功能。</p><p> ?。?)RST:復位輸入。當振蕩器工作時,RST引腳出現兩個機器周期以上高電平將使單片機復位。</p><p> ?。?)XTAL1:振蕩器反相放大器的及內部時鐘發(fā)生器的輸入端。</p><p> ?。?
27、)XTAL2:振蕩器反相放大器的輸出端。</p><p> (8)VCC:電源。</p><p> (9)GND:地線。</p><p> ?。?0)ALE:地址鎖存控制信號。</p><p> 2.2 模/數轉換器ADC0808 </p><p> 1.ADC0808的主要特點</p><
28、p> 通常的模數轉換器是將一個輸入電壓信號轉換為一個輸出的數字信號。由于數字信號本身不具有實際意義,僅僅表示一個相對大小。故任何一個模數轉換器都需要一個參考模擬量作為轉換的標準,比較常見的參考標準為最大的可轉換信號大小。而輸出的數字量則表示輸入信號相對于參考信號的大小。ADC0808是8位逐次逼近模數轉換器,它的轉換速度較快、精度較高。</p><p> 2.ADC0808的內部結構</p>
29、<p> 圖2.3 ADC0808的內部結構</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)與通道對應的關系見表2.1。</p><p> 表2.1 地址狀態(tài)與通道對應關系</p><p> 3)ALE:地址鎖存允許信號。在對應ALE上升沿,A、B、C地址狀態(tài)送入地址鎖存器中。</p><p> 4)START:轉換啟動信號。START上升沿時,所有內部寄存器清0;START下降沿時,開始進行A/D轉換;在轉換期間,
31、START應保持底電平。</p><p> 5)OUT1~OT8:數據輸出線。</p><p> 6)OE:輸出允許信號。其用于控制三態(tài)輸出鎖存器向單片機輸出轉換得到的數據。</p><p> 7)CLOCK:時鐘信號。</p><p> 8)EOC:轉換結束狀態(tài)信號。EOC=0,正在進行轉換;EOC=1,轉換結束。</p>
32、;<p> 9)VCC:+5V電源。</p><p> 10)Vref:參考電源。</p><p><b> 4.通道的選擇</b></p><p> 在設計中我選擇了IN0和IN1兩路通道,IN0用于測量滑動變阻器RV1的電阻,IN1用于測量RV2電阻。</p><p> 2.3驅動器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) 雙向緩沖驅動,也叫做總線驅動門電路或線驅動。主要使用在數據的雙向緩
34、沖,原來常見于51的數據接口電路,比如,早期電路中,擴展了很多的8255/8155/8251/8253/573等芯片的時候,擔心8031的數據驅動能力不足,就使用一片245作為數據緩沖電路,增強驅動能力;也常見與ISA卡的接口電路。</p><p> 3.74LS245在電路中作用</p><p> 74LS245用來驅動LED,設計的電路圖中,74LS245的A0-A7接P1口,B0
35、-B7接數碼管的段碼。當片選端/CE低電平有效時,DIR=“0”,信號由 B 向 A 傳輸;(接收) DIR=“1”,信號由 A 向 B 傳輸;(發(fā)送)當/CE為高電平時,A、B均為高阻態(tài)。</p><p> 在設計中,74LS245——CE接低電平,DIR=1即信號由A向B傳輸。</p><p><b> 2.4 七段數碼管</b></p><
36、;p><b> 1.數碼管的簡介</b></p><p> 數碼管是一種半導體發(fā)光器件,其基本單元是發(fā)光二極管LED顯示器,數碼管按段數分為七段數碼管和八段數碼管,八段數碼管比七段數碼管多一個發(fā)光二極管單元(多一個小數點顯示);按能顯示多少個“8”可分為1位、2位、4位等等數碼管;按發(fā)光二極管單元連接方式分為共陽極數碼管和共陰極數碼管。單片機應用系統(tǒng)常采用七段LED數碼管作為顯示器
37、,這重顯示器具有耗電低、配置靈活、線路簡單、安裝方便、耐轉動、價格低廉且壽命長等優(yōu)點。</p><p> 2.數碼管的驅動方式</p><p> 數碼管要正常顯示,就要用驅動電路來驅動數碼管的各個段碼,從而顯示出我們要的數字,因此根據數碼管的驅動方式的不同,可以分為靜態(tài)式和動態(tài)式兩類。</p><p> ?。?)靜態(tài)顯示驅動:靜態(tài)驅動也稱直流驅動。靜態(tài)驅動是指每
38、個數碼管的每一個段碼都由一個單片機的I/O端口進行驅動,或者使用如BCD碼二-十進制譯碼器譯碼進行驅動。</p><p> (2)動態(tài)顯示驅動:數碼管動態(tài)顯示接口是單片機中應用最為廣泛的一種顯示方式之一,動態(tài)驅動是將所有數碼管的8個顯示筆劃"a,b,c,d,e,f,g,dp"的同名端連在一起,另外為每個數碼管的公共極COM增加位選通控制電路,位選通由各自獨立的I/O線控制。</p>
39、;<p><b> 3.數碼管的結構</b></p><p> 由a、b、c、d、e、f、g、dp組成的八段數碼管示意圖如圖2.7所示。</p><p><b> 圖2.7八段數碼管</b></p><p> LED數碼管顯示器可以分為共陰極和共陽極兩種結構。</p><p>
40、 (1)共陰極結構:如果所有的發(fā)光二極管的陰極接在一起,稱為共陰極結構,則數碼顯示段輸入高電平有效,當某段輸入高電平該段便發(fā)光,如圖2.8所示。</p><p> (2)共陽極結構:如果所有的發(fā)光二極管的陽極接在一起,稱為共陽極結構,則數碼顯示段輸入低平有效,當某段輸入低電平該段便發(fā)光,如圖2.9所示。</p><p> 圖2.8共陰極 圖2.9
41、共陽極</p><p> (3)LED動態(tài)顯示接口:LED動態(tài)顯示就是利用單片機依次輸出每一位數碼管的段選碼和對應于該位數碼管的位選控制信號,一位一位輪流點亮各七段數碼管。對每位數碼管來說,每隔一段時間點亮一次,如此循環(huán)。利用人眼的“視覺暫留”效應,只要每位顯示間隔足夠短就可以給人以同時顯示的感覺。在動態(tài)顯示方式中,同一時刻,只有一位LED數碼管在顯示,其他各位是關閉的。在段選碼和位選碼每送出一次后,應保持1m
42、s左右,這個時間應根據實際情況而定。不能太小,因而發(fā)光二極管從導通到發(fā)光有一定的延時,導通時間太小,發(fā)光太弱人眼無法看清。但也不能太大,因為畢竟要受限于臨界閃爍頻率,而且此時間越長,占用CPU時間也越多。</p><p> 采用動態(tài)顯示方式比較節(jié)省I/O接口,硬件電路也較靜態(tài)顯示方式簡單,但其亮度不如靜態(tài)顯示方式,而且在顯示位數較多時,CPU要依次掃描,占用CPU較多的時間。</p><p&
43、gt; 用MCS-51單片機構建七段數碼管動態(tài)顯示系統(tǒng)時,4位數碼管均采用共陰極LED,P0接口作為段選碼輸出口,8路驅動采用74LS244總線驅動器作為字形驅動芯片,經過8路驅動電路后接至數碼管的各段,字形驅動輸出0時發(fā)光。P2接口作為位選碼輸出口,4路驅動采用74LS07(OC門驅動器),當C接口線輸出1時,選通相應位的數碼管工作。</p><p><b> 2.5 顯示控制</b>
44、</p><p> 按鍵J1和J2分別用來選擇測量RV1和RV2的電阻。當按下J1時,測量的是RV1的電壓;當按下J2時,測量的是RV2的電壓。在LED數碼管上顯示電壓值,數碼管采用動態(tài)顯示。</p><p> LED數碼管在多位顯示時,通常是將所有位上名稱相同的字段連接在一起,然后再由1個8位的I/O口驅動控制,而不同位上數碼管的COM端分別引出由其他不同的I/O口控制,如圖2.10
45、就是一個6位的LED數碼管動態(tài)顯示電路。</p><p> 數碼管動態(tài)顯示時,采用的是掃描顯示方式,即在某一個掃描周期內,顯示一位數碼管,在下一個掃描周期內顯示另外一位,以后逐位輪流循環(huán)顯示??梢钥闯觯擄@示方式在某一時刻,多位數碼管只顯示一位。將循環(huán)掃描的周期縮短到足夠小,人們肉眼看到的將不是多個數碼管輪流顯示,而是各位數碼管“同時”顯示的效果,這是利用人眼的視覺暫留效應。</p><p&
46、gt; 圖2.10 6位數碼管動態(tài)掃描顯示</p><p><b> 3 軟件設計</b></p><p><b> 3.1 設計思路</b></p><p> 簡易數字電壓測量電路主要由A/D轉換、數據處理及顯示控制等組成。P0端口作A/D轉換數據讀入用。本次設計主要是通過A/D轉換模塊的轉換將檢測到的外部電壓以
47、二進制的形式傳給單片機,經過單片機的處理顯示在LED顯示器上,本次軟件設計的主要任務就是按照時序將A/D轉換模塊的數據讀出來并進行加減乘除運算,以十進制的形式顯示在LED上,軟件設計主要包括初始化,LED顯示,A/D初始化以及數據調整子程序。初始化主要是對要用的A/D,定時器等進行初始化,使其能正常工作,數調整主要是進行加減乘除運算然后經過LED顯示子程序將其顯示出來。</p><p> 3.2 主程序流程圖&
48、lt;/p><p> 主程序主要是調用初始化,LED顯示,A/D初始化子程序。主程序流程圖如圖3.1所示。</p><p> 圖3.1 主程序流程圖</p><p> 3.3 初始化子程序</p><p> 主要對LED顯示單元給初值,設置定時器初值等。初始化子程序流程圖如圖3.2所示。</p><p> 圖3.
49、2 初始化子程序流程圖</p><p> 3.4 A/D初始化</p><p> ADC0808的模擬輸入電壓進行A/D轉換后在數碼上顯示。A/D初始化流程圖如圖3.3所示。</p><p> 圖3.3A/D初始化流程圖</p><p><b> 3.5 LED顯示</b></p><p>
50、; 采集得到的數據通過ADC0808轉換成十進制BCD碼,在LED數碼管中以XX.XX的形式顯示出來。</p><p><b> 4 系統(tǒng)調試</b></p><p> 完成了硬件的設計、制作和軟件編程之后,要使系統(tǒng)能夠按設計意圖正常運行,必須進行系統(tǒng)調試。系統(tǒng)調試包括硬件調試和軟件調試兩個部分。不過,作為一個單片機系統(tǒng),其運行是軟硬件相結合的,因此,軟硬件的調
51、試也是絕對不可能分開的。</p><p> 程序的調式應一個模塊一個模塊地進行,單獨調試各功能子程序,檢驗程序是否能夠實現預期的功能,接口電路的控制是否正常等;最后逐步將各個子程序連接起來總調。聯調需要注意的是,各程序模塊間能否正確傳遞參數,特別要注意各子程序的現場保護與恢復。調試使用WAVE軟件。</p><p> 4.1 WAVE軟件</p><p> W
52、ave軟件的調試步驟:</p><p><b> 1.設置仿真器</b></p><p> 打開偉福軟件,進行仿真器的設置,首先點擊菜單欄中的仿真器按鈕,選擇仿真器設置,分別選擇仿真器為E6000/L,仿真頭選擇P0D-8X5XP,CPU選擇8751,然后點擊“好”按鈕,具體操作如圖4.1所示。</p><p> 圖4.1 仿真器的設置&
53、lt;/p><p><b> 2.新建文件</b></p><p> 點擊菜單欄中的“文件”按鈕,選擇“打開文件”將文件保存在E盤中,命名為“電壓表.ASM”,出現如圖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模型交互外設模型有LCD顯示、RS232終端、通用鍵盤、開關、按鈕、LED等;強大的調試功能,內置超過6000標準SPICE模型,完全兼容制造商提供的SPICE模型;DLL界面為應用提供特定的模式;基于工業(yè)標準的SPICE3F5混合模型電路仿真器14
57、種虛擬儀器:示波器、邏輯分析儀、信號發(fā)生器、規(guī)程分析儀等。</p><p> 2.PROTEUS軟件的應用</p><p> (1)實現了單片機仿真和SPICE電路仿真相結合。具有模擬電路仿真、數字電路仿真、單片機及其外圍電路組成的系統(tǒng)的仿真、RS232動態(tài)仿真、I2C調試器、SPI調試器、鍵盤和LCD系統(tǒng)仿真的功能;有各種虛擬儀器,如示波器、邏輯分析儀、信號發(fā)生器等。</p&g
58、t;<p> ?。?) 支持主流單片機系統(tǒng)的仿真。目前支持的單片機類型有:68000系列、8051系列、AVR系列、PIC12系列、PIC16系列、PIC18系列、Z80系列、HC11系列以及各種外圍芯片。</p><p> ?。?)提供軟件調試功能。在硬件仿真系統(tǒng)中具有全速、單步、設置斷點等調試功能,同時可以觀察各個變量、寄存器等的當前狀態(tài),因此在該軟件仿真系統(tǒng)中,也必須具有這些功能;同時支持第三
59、方的軟件編譯和調試環(huán)境,如Keil C51 uVision2等軟件。</p><p> ?。?)具有強大的原理圖繪制功能??傊?,該軟件是一款集單片機和SPICE分析于一身的仿真軟件,功能極其強大。本章介紹Proteus ISIS軟件的工作環(huán)境和一些基本操作。</p><p> 3.PROTEUS軟件的使用方法及調試步驟</p><p> ?。?)首先點擊啟動界面區(qū)
60、域中的“P”按鈕(Pick Devices,拾取元器件)來打開“Pick Devices”(拾取元器件)對話框從元件庫中拾取所需的元器件。在對話框中的“Keywords”里面輸入要檢索的元器件的關鍵詞,比如要選擇項目中使用的AT89C52,就可以直接輸入。輸入以后就能夠在中間的“Results”結果欄里面看到所要搜索的元器件的結果。在對話框的右側,還能夠看到所要選擇的元器件的仿真模型、引腳以及PCB參數,如圖4.5所示。</p&g
61、t;<p><b> 圖4.5 拾取元件</b></p><p> 這里有一點需要注意,可能有時候選擇的元器件并沒有仿真模型,對話框將在仿真模型和引腳一欄中顯示“No Simulator Model”(無仿真模型)。那么就不能夠用該元器件進行仿真了,或者只能做它的PCB板,或者選擇其他的與其功能類似而且具有仿真模型的元器件。</p><p> 搜索
62、到所需的元器件以后雙擊元器件名來將相應的元器件加入到文檔中,接著用相同的方法來搜索并加入其他的元器件。如果已經將所需的元器件全部加入到文檔中時,點擊“OK”按鈕來完成元器件的添加。</p><p> ?。?)添加好元器件以后,就是將元器件按照需要連接成電路。首先在元器件瀏覽區(qū)中點擊所需要添加到文檔中的元器件,此時就可以在瀏覽區(qū)看到所選擇的元器件的形狀與方向,如果其方向不符合要求,可以通過點擊元器件調整工具欄中的工
63、具來任意進行調整,調整完成之后在文檔中單擊并選定好需要放置的位置即可。接著按相同的操作即可完成所有元器件的布置,如圖4.6所示,元件數量及參數如表4.1所示。</p><p> 圖4.6 元件的放置</p><p><b> 表4.1 元件匯總</b></p><p> ?。?)接下來是連線。布線時單擊選擇起點,然后在需要轉彎的地方單擊一下
64、,按照所需走線的方向移動鼠標到線的終點單擊即可,如圖4.7所示。</p><p> 圖4.7 元件的連接</p><p> Proteus中單片機芯片默認已經添加電源與地,所以可以省略。首先點擊“模式”,選擇終端模式,然后在元器件瀏覽區(qū)中點擊POWER(電源)來選中電源,通過區(qū)域中的元器件調整工具進行適當的調整,然后就可以在文檔區(qū)中單擊放置電源了。連接好電路圖以后還需要做一些修改。修改
65、方法如下:首先雙擊電阻圖標,這時軟件將彈出“Edit Component”對話框對話框中的“Component Referer”是組件標簽之意,可以隨便填寫,也可以取默認,但要注意在同一文檔中不能有兩個組件標簽相同;“Resistance”就是電阻值了,可以在其后的框中根據需要填入相應的電阻值。填寫時需注意其格式,如果直接填寫數字,則單位默認為Ω;如果在數字后面加上K或者k,則表示kΩ之意。比如:填入270,表示270Ω。</p&
66、gt;<p> ?。?)修改好各組件屬性以后就要將程序(ASM文件)載入單片機了。首先雙擊單片機圖標,系統(tǒng)同樣會彈出“Edit Component”對話框,在目標處理器選項選擇U1-AT89C52在代碼生成工具中選擇 MPASMWIN在源代碼文件名移除原代碼,然后在這個對話框中點擊“Program files”框右側的“菜單”,來打開選擇程序代碼窗口,選中相應的ASM文件后返回,這時,按鈕左側的框中就填入了相應的ASM文件
67、,點擊對話框的“確定”按鈕,回到文檔,程序文件就添加完畢了,如圖4.8所示。</p><p> 圖 4.8添加源代碼</p><p> ?。?)裝載好程序,就可以進行仿真了。工具條從左到右依次是“Play”、“Step”、“Pause”、“Stop”按鈕,即運行、步進、暫停、停止。點擊“Play”按鈕來仿真運行,可以看到系統(tǒng)按照程序在運行著,而且還能看到其高低電平的實時變化。如果已經出現
68、了結果就可以點擊“Stop”來停止運行,如圖4.9所示。</p><p><b> 圖4.9 運行狀態(tài)</b></p><p> ?。?)用鼠標點擊RV1的增大和減小按鈕可改變電壓值,從而使電壓表顯示不同的數值,對比與圖4.9,改變電壓后的效果圖如圖4.10所示。</p><p> 圖4.10 改變電阻后</p><p&
69、gt;<b> 致 謝</b></p><p> 經過兩個月的學習,我完成了簡易電壓表的畢業(yè)設計,這次設計使我學到了許多知識。通過這次設計我認識到了自己的不足之處,找到了學習的方向,同時明白了知識的重要性。在這次設計的過程中,我遇到了很多困難,那些困難使我意識到自己的掌握的知識很少。我所學的知識在以后的工作中是遠遠不夠用的,要想以后工作順利就要掌握更多的知識。</p>&l
70、t;p> 在這次設計中,雖然困難重重,但是老師和同學給了我很大的幫助,因為有了老師和同學的幫助,我才能順利完成設計。因此,我要感謝老師和同學,特別是我的指導老師任艷艷老師,在這次設計中任老師教給了我許多知識,讓我了解并運用了許多以前不知道的知識。</p><p><b> 參考文獻</b></p><p> [1] 張俊謨.單片機中級教程[M].北京:北京
71、航空航天大學出版社,2007</p><p> [2] 王偉.劉曉平 高精度數字電壓表方案設計 儀表技術2007</p><p> [3] 趙茂泰.智能儀器原理及應用(第二版)[M].北京:電子工業(yè)出版社,2004</p><p> [4] 馬彪. 單片機應用技術. 上海,同濟大學出版社,2009.5</p><p> [5] 何宗彬
72、.8位單片機開發(fā).北京:機械工程出版社,2008.8。</p><p> [6] 王為青,邱文勛.51單片機應用開發(fā)案例精選,北京,人民郵電出版社,2007.8 </p><p> [7] 肖洪兵. 跟我學用單片機. 北京:北京航空航天大學出版社,2002.8 </p><p> [8] 潘永雄,沙河,劉向陽.電子線路CAD實用教程〔M〕.西安:西安電子科技大
73、學出版社,2002</p><p> [9]單片機設計應用與仿真/陸旭明主編,北京大學出版社,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. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 畢業(yè)設計---簡易數字電壓表設計
- 簡易電壓表的制作畢業(yè)設計
- 畢業(yè)設計---簡易數字電壓表的設計
- 數字電壓表畢業(yè)設計
- 畢業(yè)設計-數字電壓表
- 數字電壓表畢業(yè)設計
- 數字電壓表課程設計--簡易數字電壓表的設計
- 畢業(yè)設計---數字電壓表
- 數字電壓表畢業(yè)設計
- 簡易數字電壓表 畢業(yè)論文
- 簡易數字電壓表的設計畢業(yè)論文
- 數字電壓表設計畢業(yè)設計
- 畢業(yè)設計(論文)-基于單片機的簡易數字電壓表設計
- 畢業(yè)設計----智能電壓表電路
- 數字電壓表畢業(yè)設計 (2)
- 直流數字電壓表畢業(yè)設計
- 簡易數字電壓表 課程設計
- 簡易數字電壓表課程設計
- 簡易數字電壓表課程設計
- 畢業(yè)設計---數字電壓表的設計
評論
0/150
提交評論