基于單片機的數字電壓表的設計畢業(yè)設計.doc_第1頁
基于單片機的數字電壓表的設計畢業(yè)設計.doc_第2頁
基于單片機的數字電壓表的設計畢業(yè)設計.doc_第3頁
基于單片機的數字電壓表的設計畢業(yè)設計.doc_第4頁
基于單片機的數字電壓表的設計畢業(yè)設計.doc_第5頁
免費預覽已結束,剩余25頁可下載查看

下載本文檔

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

文檔簡介

河南科技學院河南科技學院 20102010 屆本科畢業(yè)設計屆本科畢業(yè)設計 設計題目 設計題目 基于單片機的數字電壓表的設計基于單片機的數字電壓表的設計 學生姓名 學生姓名 所在院系 所在院系 所學專業(yè) 所學專業(yè) 導師姓名 導師姓名 完成時間 完成時間 2011 05 252011 05 25 摘要摘要 本文介紹了一種基于單片機的簡易數字電壓表的設計 該設計主要由三個 模塊組成 A D 轉換模塊 數據處理模塊及顯示模塊 A D 轉換主要由芯片 ADC0832 來完成 它負責把采集到的模擬量轉換為相應的數字量在傳送到數據 處理模塊 數據處理則由芯片 AT89C51 來完成 其負責把 ADC0832 傳送來的數 字量經過一定的數據處理 產生相應的顯示碼送到顯示模塊進行顯示 此外 它 還控制著 ADC0832 芯片工作 該系統(tǒng)的數字電壓表電路簡單 所用的元件較少 成本低 且測量精度和 可靠性較高 此數字電壓表可以測量 0 5V 的 1 路模擬直流輸入電壓值 并通過 一個四位一體的 7 段數碼管顯示出來 關鍵詞關鍵詞 單片機 數字電壓表 A D 轉換 AT89C51 ADC0832 Design of Simple Digital Voltmeter Based on Single chip Microcontroller Abstract This paper which introduces a kind of simple digital voltmeter is based on single chip microcontroller design The circuit of the voltage meter is mainly consisted of three mould pieces A D converting mould piece A D converting is mainly completed by the ADC0832 it converts the collected analog data into the digital data and transmits the outcome to the manifestation controlling mould piece Data processing is mainly completed by the AT89C51 chip it processes the data produced by the ADC0832 chip and generates the right manifestation codes also transmits the codes to the manifestation controlling mould piece Also the AT89C51 chip controls the ADC0832 chip to work The voltmeter features in simple electrical circuit lower use of elements low cost moreover its measuring precision and reliability The voltmeter is capable of measuring voltage inputs from 1 route ranging from 0 to 5 volt and displaying the measurements though a digital code tube of 7 pieces of LED Keywords Single chip microcontroller Digital voltmeter A D converter AT89C51 ADC0832 目目 錄錄 1 緒論 1 1 2 設計總體方案 2 2 1 設計要求 2 2 2 設計思路 2 2 3 設計方案 2 3 硬件電路設計 3 3 1 單片機最小系統(tǒng)電路 3 3 2 ADC0832 介紹 6 3 2 1 ADC0832 主要特點 7 3 2 2 ADC0832 管腳介紹 7 3 2 3 單片機對 ADC0832 的控制原理 8 3 3 LED 數碼管 10 3 3 1 LED 數碼管的主要技術參數 10 3 3 2 LED 數碼管的引腳說明 11 3 3 3 LED 數碼管編碼說明 12 3 4 單片機最小系統(tǒng)電路 13 3 5 AD0832 電路 14 3 6 四位數碼管顯示電路 14 3 7 電路原材料清單 15 3 8 使用工具及儀表清單 16 4 軟件設計 17 4 1 程序設計總方案 17 4 2 系統(tǒng)子程序設計 17 4 2 1 初始化程 17 4 2 2 AD 轉換子程序 17 4 2 3 顯示子程序 18 5電壓表的調試及性能分析 19 5 1 調試與測試 19 5 2 性能分析 19 6 總結 20 參考文獻 21 謝辭 22 附錄 23 附錄一程序源代碼 23 附錄二電路圖 27 1 1 1 緒論緒論 在電量的測量中 電壓 電流和頻率是最基本的三個被測量 其中電壓量 的測量最為經常 而且隨著電子技術的發(fā)展 更是經常需要測量高精度的電壓 所以數字電壓表就成為一種必不可少的測量儀器 數字電壓表簡稱 DVM 它是 采用數字化測量技術 把連續(xù)的模擬量轉換成不連續(xù) 離散的數字形式并加以 顯示的儀表 由于數字式儀器具有讀數準確方便 精度高 誤差小 測量速度 快等特而得到廣泛應用 傳統(tǒng)的指針式刻度電壓表功能單一 進度低 容易引起視差和視覺疲勞 因而不能滿足數字化時代的需要 采用單片機的數字電壓表 將連續(xù)的模擬量 如直流電壓轉換成不連續(xù)的離散的數字形式并加以顯示 從而精度高 抗干擾 能力強 可擴展性強 集成方便 還可與 PC 實時通信 數字電壓表是諸多數字 化儀表的核心與基礎 以數字電壓表為核心 可以擴展成各種通用數字儀表 專用數字儀表及各種非電量的數字化儀表 目前 由各種單片機和 A D 轉換器 構成的數字電壓表作全面深入的了解是很有必要的 最近的幾十年來 隨著半導體技術 集成電路 IC 和微處理器技術的發(fā) 展 數字電路和數字化測量技術也有了巨大的進步 從而促使了數字電壓表的 快速發(fā)展 并不斷出現新的類型 數字電壓表從 1952 年問世以來 經歷了不斷 改進的過程 從最早采用繼電器 電子管和形式發(fā)展到了現在的全固態(tài)化 集 成化 IC 化 另一方面 精度也從 0 01 0 005 目前 數字電壓表的內部核心部件是 A D 轉換器 轉換的精度很大程度上 影響著數字電壓表的準確度 因而 以后數字電壓表的發(fā)展就著眼在高精度和 低成本這兩個方面 本文是以簡易數字直流電壓表的設計為研究內容 本系統(tǒng)主要包括三大模 塊 轉換模塊 數據處理模塊及顯示模塊 其中 A D 轉換采用 ADC0832 對輸 入的模擬信號進行轉換 控制核心 AT89C51 再對轉換的結果進行運算處理 最 后驅動輸出裝置 LED 顯示數字電壓信號 2 2 2 設計總體方案設計總體方案 2 1 設計要求 以 MCS 51 系列單片機為核心器件 組成一個簡單的直流數字電壓表 采用 1 路模擬量輸入 能夠測量 0 5V 之間的直流電壓值 電壓顯示用 4 位一體的 LED 數碼管顯示 至少能夠顯示兩位小數 盡量使用較少的元器件 2 2 設計思路 根據設計要求 選擇 AT89C51 單片機為核心控制器件 A D 轉換采用 ADC0832 實現 電壓顯示采用 4 位一體的 LED 數碼管 LED 數碼的段碼輸入 由并行端口 P2 產生 位碼輸入 用并行端口 P0 產生 2 3 設計方案 硬件電路設計由 6 個部分組成 A D 轉換電路 AT89C51 單片機系統(tǒng) LED 顯示系統(tǒng) 時鐘電路 復位電路以及測量電壓輸入電路 硬件電路設計框圖如 圖 1 所示 時鐘電路 復位電路 A D 轉換電路測量電壓輸入 顯示系統(tǒng) AT89C51 P1 P0 P 2 圖 1 數字電壓表系統(tǒng)硬件設計框圖 3 3 3 硬件電路設計硬件電路設計 3 13 1 單片機的介紹單片機的介紹 40 個引腳 4k bytes flash 片內程序存儲器 128 bytes 的隨機存取數據 存儲器 ram 32 個外部雙向輸入 輸出 i o 口 5 個中斷優(yōu)先級 2 層中斷 嵌套中斷 2 個 16 位可編程定時計數器 2 個全雙工串行通信口 看門狗 wdt 電路 片內時鐘振蕩器 AT89S52 單片機是一種低功耗高性能的 CMOS8 位微控制器 內置 8KB 可在 線編程閃存 該器件采用 Atmel 公司的高密度非易失性存儲技術生產 其指令 與工業(yè)標準的 80C51 指令集兼容 片內程序存儲器允許重復在線編程 允許程 序存儲器在系統(tǒng)內通過 SPI 串行口改寫或用同用的非易失性存儲器改寫 通過 把通用的 8 位 CPU 與可在線下載的 Flash 集成在一個芯片上 AT89S52 便成為 一個高效的微型計算機 它的應用范圍廣 可用于解決復雜的控制問題 且成 本較低 其結構框圖如圖 3 1 所示 圖 3 1 AT89S52 結構框圖 4 圖 3 2 AT89S52 此外 AT89S52 設計和配置了震蕩頻率可為 12MHZ 并可通過軟件設置省電 模式 空閑模式下 cpu 暫停工作 而 ram 定時計數器 串行口 外中斷系統(tǒng) 可繼續(xù)工作 掉電模式凍結振蕩器而保存 ram 的數據 停止芯片其它功能直至 外中斷激活或硬件復位 同時該芯片還具有 pdip tqfp 和 plcc 等三種封裝形 式 以適應不同產品的需求 主要功能特性 主要功能特性 兼容 mcs 51 指令系統(tǒng) 4k 可反復擦寫 1000 次 isp flash rom 32 個雙向 i o 口 4 5 5 5v 工作電壓 2 個 16 位可編程定時 計數器 時鐘頻率 0 33mhz 全雙工 uart 串行中斷口線 128x8bit 內部 ram 2 個外部中斷源 低功耗空閑和省電模式 中斷喚醒省電模式 3 級加密位 看門狗 wdt 電路 軟件設置空閑和省電功能 靈活的 isp 字節(jié)和分頁編程 5 雙數據寄存器指針 按照功能 AT89S52 的引腳可分為主電源 外接晶體振蕩或振蕩器 多功 能 I O 口 控制和復位等 1 多功能 I O 口 AT89S52 共有四個 8 位的并行 I O 口 P0 P1 P2 P3 端口 對應的引腳 分別是 P0 0 P0 7 P1 0 P1 7 P2 0 P2 7 P3 0 P3 7 共 32 根 I O 線 每根線可以單獨用作輸入或輸出 P0 端口 該口是一個 8 位漏極開路的雙向 I O 口 在作為輸出口時 每 根引腳可以帶動 8 個 TTL 輸入負載 當把 1 寫入 P0 時 則它的引腳可用作 高阻抗輸入 當對外部程序或數據存儲器進行存取時 P0 可用作多路復用的低 字節(jié)地址 數據總線 在該模式 P0 口擁有內部上拉電阻 在對 Flash 存儲器 進行編程時 P0 用于接收代碼字節(jié) 在校驗時 則輸出代碼字節(jié) 此時需要外 加上拉電阻 P1 端口 該口是帶有內部上拉電阻的 8 位雙向 I O 端口 P1 口的輸出緩 沖器可驅動 吸收或輸出電流方式 4 個 TTL 輸入 對端口寫 1 時 通過內 部的上拉電阻把端口拉到高電位 此時可用作輸入口 P1 口作輸入口使用時 因為有內部的上拉電阻 那些被外部信號拉低的引腳會輸出一個電流 在對 Flash 編程和程序校驗時 P1 口接收低 8 位地址 另外 P1 0 與 P1 1 可以配置成定時 計數器 2 的外部計數輸入端 P1 0 T2 與定時 計數器 2 的觸發(fā)輸入端 P1 0 T2EX 如圖 3 3 所示 端口引腳復用功能 P1 0 T2 定時器 計算器 2 的外部輸入端 P1 1 T2EX 定時器 計算器 2 的外部觸發(fā)端和雙向控制 P1 5 MOSI 用于在線編程 P1 6 MISO 用于在線編程 P1 7 SCK 用于在線編程 圖 3 3 P1 口管腳復用功能 P2 端口 該口是帶有內部上拉電阻的 8 位雙向 I O 端口 P2 口的輸出 緩沖器可驅動 吸收或輸出電流方式 4 個 TTL 輸入 對端口寫 1 時 通過 內部的上拉電阻把端口拉到高電位 此時可用作輸入口 P2 口作輸入口使用時 因為有內部的上拉電阻 那些被外部信號拉低的引腳會輸出一個電流 在訪問外部程序存儲器或 16 位的外部數據存儲器時 P2 口送出高 8 位地 址 在訪問 8 位地址的外部數據存儲器時 P2 口引腳上的內容 就是專用寄存 器 SFR 區(qū)中 P2 寄存器的內容 在整個訪問期間不會改變 在對 Flash 編程 和程序校驗期間 P2 口也接收高位地址或一些控制信號 P3 端口 該口是帶有內部上拉電阻的 8 位雙向 I O 端口 P3 口的輸出 緩沖器可驅動 吸收或輸出電流方式 4 個 TTL 輸入 對端口寫 1 時 通過 內部的上拉電阻把端口拉到高電位 此時可用作輸入口 P3 口作輸入口使用時 6 因為有內部的上拉電阻 那些被外部信號拉低的引腳會輸出一個電流 在 AT89S52 中 同樣 P3 口還用于一些復用功能 如表 3 2 所列 在對 Flash 編程和程序校驗期間 P3 口還接收一些控制信號 端口引腳復用功能 P3 0 RXD 串行輸入口 P3 1 TXD 串行輸出口 P3 2 INT0 外部中斷 0 P3 3 INT1 外部中斷 1 P3 4 T0 定時器 0 的外部輸入 P3 5 T1 定時器 1 的外部輸入 P3 6 WR 外部數據存儲器寫選通 P3 7 RD 外部數據存儲器讀選通 圖 3 4 P3 端口引腳與復用功能表 2 RST 復位輸入端 在振蕩器運行時 在此腳上出現兩個機器周期的高電 平將使其單片機復位 看門狗定時器 Watchdog 溢出后 該引腳會保持 98 個 振蕩周期的高電平 在 SFR AUXR 地址 8EH 寄存器中的 DISRTO 位可以用于屏 蔽這種功能 DISRTO 位的默認狀態(tài) 是復位高電平輸出功能使能 3 ALE PROG 地址鎖存允許信號 在存取外部存儲器時 這個輸出信號用 于鎖存低字節(jié)地址 在對 Flash 存儲器編程時 這條引腳用于輸入編程脈沖 PROG 一般情況下 ALE 是振蕩器頻率的 6 分頻信號 可用于外部定時或時鐘 但是 在對外部數據存儲器每次存取中 會跳過一個 ALE 脈沖 在需要時 可 以把地址 8EH 中的 SFR 寄存器的 0 位置為 1 從而屏蔽 ALE 的工作 而只有 在 MOVX 或 MOVC 指令執(zhí)行時 ALE 才被激活 在單片機處于外部執(zhí)行方式時 對 ALE 屏蔽位置 1 并不起作用 4 PSEN 程序存儲器允許信號 它用于讀外部程序存儲器 當 AT89S52 在 執(zhí)行來自外部存儲器的指令時 每一個機器周期 PSEN 被激活 2 次 在對外部數 據存儲器的每次存取中 PSEN 的 2 次激活會被跳過 5 EA Vpp 外部存取允許信號 為了確保單片機從地址為 0000H FFFFH 的 外部程序存儲器中讀取代碼 故要把 EA 接到 GND 端 即地端 但是 如果鎖定 位 1 被編程 則 EA 在復位時被鎖存 當執(zhí)行內部程序時 EA 應接到 Vcc 在對 Flash 存儲器編程時 這條引腳接收 12V 編程電壓 Vpp 6 XTAL1 振蕩器的反相放大器輸入 內部時鐘工作電路的輸入 7 XTAL2 振蕩器的反相放大器輸出 3 23 2 ADC0832ADC0832 介紹介紹 ADC0832 是美國國家半導體公司生產的一種 8 位分辨率 雙通道 A D 轉換芯片 由于它體積小 兼容性強 性價比高而深受單片機愛好者及企業(yè)歡 7 迎 其目前已經有很高的普及率 學習并使用 ADC0832 可是使我們了解 A D 轉換器的原理 有助于我們單片機技術水平的提高 3 2 1 ADC0832 主要特點 8 位分辨率 雙通道 A D 轉換 輸入輸出電平與 TTL CMOS 相兼容 5V 電源供電時輸入電壓在 0 5V 之間 工作頻率為 250KHZ 轉換時間為 32 S 一般功耗僅為 15mW 8P 14P DIP 雙列直插 PICC 多種封裝 商用級芯片溫寬為 0 C to 70 C 工業(yè)級芯片溫寬為 40 C to 85 C 3 2 2ADC0832 管腳介紹 圖 3 5 ADC0832 引腳圖 CS 片選使能 低電平芯片使能 8 CH0 模擬輸入通道 0 或作為 IN 使用 CH1 模擬輸入通道 1 或作為 IN 使用 GND 芯片參考 0 電位 地 DI 數據信號輸入 選擇通道控制 DO 數據信號輸出 轉換數據輸出 CLK 芯片時鐘輸入 Vcc REF 電源輸入及參考電壓輸入 復用 ADC0832 為 8 位分辨率 A D 轉換芯片 其最高分辨可達 256 級 可以適應 一般的模擬量轉換要求 其內部電源輸入與參考電壓的復用 使得芯片的模擬 電壓輸入在 0 5V 之間 芯片轉換時間僅為 32 S 據有雙數據輸出可作為數據 校驗 以減少數據誤差 轉換速度快且穩(wěn)定性能強 獨立的芯片使能輸入 使 多器件掛接和處理器控制變的更加方便 通過 DI 數據輸入端 可以輕易的實 現通道功能的選擇 3 2 3 單片機對 ADC0832 的控制原理 正常情況下 ADC0832 與單片機的接口應為 4 條數據線 分別是 CS CLK DO DI 但由于 DO 端與 DI 端在通信時并未同時有效并與單片機的 接口是雙向的 所以電路設計時可以將 DO 和 DI 并聯(lián)在一根數據線上使用 見圖 3 當 ADC0832 未工作時其 CS 輸入端應為高電平 此時芯片禁用 CLK 和DO DI 的電平可任意 當要進行 A D 轉換時 須先將 CS 使能端置于低 電平并且保持低電平直到轉換完全結束 此時芯片開始轉換工作 同時由處理 器向芯片時鐘輸入端 CLK 輸入時鐘脈沖 DO DI 端則使用 DI 端輸入通道功能 選擇的數據信號 在第 1 個時鐘脈沖的下沉之前 DI 端必須是高電平 表示啟 始信號 在第 2 3 個脈沖下沉之前 DI 端應輸入 2 位數據用于選擇通道功能 其功能項見圖3 6 9 圖 3 6 ADC0832 功能圖 如圖3 5 所示 當此 2 位數據為 1 0 時 只對 CH0 進行單通道轉換 當 2 位數據為 1 1 時 只對 CH1 進行單通道轉換 當 2 位數據為 0 0 時 將 CH0 作為正輸入端 IN CH1 作為負輸入端 IN 進行輸入 當 2 位數據為 0 1 時 將 CH0 作為負輸入端 IN CH1 作為正輸入端 IN 進 行輸入 到第 3 個脈沖的下沉之后 DI 端的輸入電平就失去輸入作用 此后 DO DI端則開始利用數據輸出 DO 進行轉換數據的讀取 從第 4 個脈沖下沉 開始由 DO端輸出轉換數據最高位 DATA7 隨后每一個脈沖下沉 DO 端輸出 下一位數據 直到第 11 個脈沖時發(fā)出最低位數據 DATA0 一個字節(jié)的數據 輸出完成 也正是從此位開始輸出下一個相反字節(jié)的數據 即從第 11 個字節(jié) 的下沉輸出 DATD0 隨后輸出 8 位數據 到第 19 個脈沖時數據輸出完成 也標志著一次 A D 轉換的結束 最后將 CS 置高電平禁用芯片 直接將轉換 后的數據進行處理就可以了 更詳細的時序說明請見圖3 6 10 圖 3 7ADC0832 時序圖 作為單通道模擬信號輸入時 ADC0832 的輸入電壓是 0 5V 且 8 位分辨率時的電壓 精度為 19 53mV 如果作為由 IN 與 IN 輸入的輸入時 可是將電壓值設定在某一個較大 范圍之內 從而提高轉換的寬度 但值得注意的是 在進行 IN 與 IN 的輸入時 如果 IN 的電壓大于 IN 的電壓則轉換后的數據結果始終為00H 3 33 3 LEDLED 數碼管數碼管 3 3 13 3 1 LEDLED 數碼管主要技術參數數碼管主要技術參數 圖3 8 數碼管 數碼管使用條件 a 段及小數點上加限流電阻 b 使用電壓 段 根據發(fā)光顏色決定 小數點 根據發(fā)光顏色決定 11 c 使用電流 靜態(tài) 總電流 80mA 每段 10mA 動態(tài) 平均電流 4 5mA 峰值電流 100mA 上面這個只是七段數碼管引腳圖 其中共陽極數碼管引腳圖和共陰極的是一樣 的 4 位數碼管引腳圖數碼管使用注意事項說明 數碼管表面不要用手觸摸 不要用手去弄引角 焊接溫度 度 焊接時間 表面有保護膜的產品 可以在使用前撕下來 3 3 23 3 2 LEDLED數碼管的引腳說明數碼管的引腳說明 這類數碼管可以分為共陽極與共陰極兩種 共陽極就是把所有 LED 的陽極連 接到共同接點 com 而每個 LED 的陰極分別為 a b c d e f g 及 dp 小 數點 共陰極則是把所有 LED 的陰極連接到共同接點 com 而每個 LED 的陽 極分別為 a b c d e f g 及 dp 小數點 如下圖所示 圖中的 8 個 LED 分別與上面那個圖中的 A DP 各段相對應 通過控制各個 LED 的亮滅來顯示 數字 圖 3 9 共陽數碼管內部結構 12 圖 3 10 共陰數碼管內部結構 對于單個數碼管來說 從它的正面看進去 左下角那個腳為 1 腳 以逆時針 方向依次為 1 10 腳 左上角那個腳便是 10 腳了 上面兩個圖中的數字分別與 這 10 個管腳一一對應 注意 3 腳和 8 腳是連通的 這兩個都是公共腳 還有一種比較常用的是四位數碼管 內部的 4 個數碼管共用 a dp 這 8 根數據線 為人們的使用提供了方便 因為里面有 4 個數碼管 所以它有 4 個 公共端 加上 a dp 共有 12 個引腳 下面便是一個共陰的四位數碼管的內部 結構圖 共陽的與之相反 引腳排列依然是從左下角的那個腳 1 腳 開始 以逆時針方向依次為 1 12 腳 下圖中的數字與之一一對應 圖 3 11 位共陽數碼管內部結構 3 3 33 3 3 數碼管編碼說明數碼管編碼說明 4位數碼管編碼說明 如圖3 12所示 P2 7P2 6P2 5P2 4P2 3P2 2P2 1P2 0 eddpcgbfa 00010100028H 111101011EBH 20011001032H 310100010A2H 411100001E1H 510100100A4H 60010010024H 13 711101010EAH 80010000020H 910100000A0H H0110000161H L001100013DH 11110111F7H C001111003CH 圖 3 12 控制命令表 3 43 4 單片機最小系統(tǒng)電路單片機最小系統(tǒng)電路 圖 3 13 單片機最小系統(tǒng) 1 單片機 9 腳接復位電路 可按復位按鈕 S1 給單片機復位 2 晶振采用 12MHZ 3 由于單片機只訪問片內 Flash ROM 并執(zhí)行內部程序存儲器中的指令 因 此單片機的 31 腳接高電平 VCC 3 53 5 ADC832ADC832 電路電路 14 圖 3 14 ADC0832 電路 ADC0832 的 1 腳片選接 P1 3 2 腳通道 0 接電位器的抽頭 4 腳接低 5 腳 和 6 腳是數據接 P1 2 7 腳時鐘接 P1 0 8 腳接 VCC 3 63 6 四位數碼管顯示電路四位數碼管顯示電路 15 圖 3 15 數碼管顯示電路 4 位數碼管為共陽管 由于單片機輸出電流比較小 故用 4 個 PNP 型的三極 管 9015 來驅動數碼管 單片機輸出低電平時三極管導通 使數碼管的 4 各公共 端 1 4 5 和 12 腳為高電平 此時數碼管的數據端輸入低電平后數碼管被點亮 120 歐電阻 R12 到 R19 為三極管的限流電阻 3 73 7 電路原材料清單電路原材料清單 序號名稱型號單位數量備注 1電阻 1K 支1 2電阻 200 支5 3傳感器 支 4電阻 510 支8 5電阻 5 6K 支1 6電阻 10K 支4 7晶振12MHz支1 16 8普通電容33pF支2 9電解電容10uF 50V支1 105 號電池節(jié)3 11小按鈕支4 12三極管9012支4 三極管9013支1 蜂鳴器支 數碼管支 單片機 S 2支 3 83 8 使用工具及儀表清單使用工具及儀表清單 序號名稱型號單位數量備注 萬用表塊 內熱式電烙鐵 焊錫絲若干 直流穩(wěn)壓電源臺 編程燒寫器臺 導線若干 17 4 4 軟件設計軟件設計 4 14 1 程序設計總方案程序設計總方案 根據模塊的劃分原則 將該程序劃分初始化模塊 A D 轉換子程序和顯示 子程序 這三個程序模塊構成了整個系統(tǒng)軟件的主程序 如圖 4 1 所示 開始 初始化 調用 A D 轉換子程序 調用顯示子程序 結束 圖 4 1 數字式直流電壓表主程序框圖 4 24 2 系統(tǒng)子程序設計系統(tǒng)子程序設計 4 2 1 初始化程序 所謂初始化 是對將要用到的 MCS 51 系列單片機內部部件或擴展芯片進行 初始工作狀態(tài)設定 初始化子程序的主要工作是設置定時器的工作模式 初值 預置 開中斷和打開定時器等 18 4 2 2 A D 轉換子程序 A D 轉換子程序用來控制對輸入的模塊電壓信號的采集測量 并將對應的 數值存入相應的內存單元 其轉換流程圖如圖 4 2 所示 啟動轉換 A D 轉換結束 輸出轉換結果 數值轉換 顯示 結束 圖 4 2 A D 轉換流程圖 4 2 3 顯示子程序 顯示子程序采用動態(tài)掃描實現四位數碼管的數值顯示 在采用動態(tài)掃描顯 示方式時 要使得 LED 顯示的比較均勻 又有足夠的亮度 需要設置適當的掃 描頻率 當掃描頻率在 70HZ 左右時 能夠產生比較好的顯示效果 一般可以采 用間隔 10ms 對 LED 進行動態(tài)掃描一次 每一位 LED 的顯示時間為 1ms 在本設計中 為了簡化硬件設計 主要采用軟件定時的方式 即用定時器 0 溢出中斷功能實現 11 s 定時 通過軟件延時程序來實現 5ms 的延時 開始 19 5 5 電壓表的調試及性能分析電壓表的調試及性能分析 5 1 調試與測試 本設計應用 Proteus6 及 KEIL51 軟件 首先根據自己設計的電路圖用 Proteus6 軟件畫出電路模型 關于這個軟件的使用通過查一些資料和自己的摸 索學習 然后我們用 KEIL51 軟件對所編寫的程序進行編譯 鏈接 如果沒有 錯誤和警告便可生成程序的 hex 文件 將此文件加到電路圖上使軟硬件結合運 行 最后進行端口電壓的對比測試 測試的第一路對比見圖 5 1 中標準電壓值 采用 Proteus6 軟件中的模擬電壓表測得 圖 5 1 從圖中可以看出 簡易數字電壓表與 標準 數字電壓表測得的絕對誤差 均在 0 02V 以內 這與采用 8 位 A D 轉換器所能達到的理論誤差精度相一致 在一般的應用場合可以完全滿足要求 5 2 性能分析 由于單片機為 8 位處理器 當輸入電壓為 5 00V 時 輸出數據值為 255 FFH 因此單片機最大的數值分辨率為 0 0196V 5 255 這就決定了該 電壓表的最大分辨率 精度 只能達到 0 0196V 測試時電壓數值的變化一般 以 0 02V 的電壓幅度變化 如要獲得更高的精度要求 應采用 12 位 13 位的 A D 轉換器 簡易數字電壓表測得的值基本上均比標準值偏大 0 01 0 02V 這可以通過 校正 0832 的基準電壓來解決 因為該電壓表設計時直接用 7805 的供電電源作 為基準電壓 電壓可能有偏差 另外可以用軟件編程來校正測量值 20 6 6 總結總結 經過一段時間的努力 畢業(yè)論文 基于單片機的簡易數字電壓表基本完成 但設計中的不足之處仍然存在 這次設計是我第一次設計電路 并用 Proteus 實現了仿真 在這過程中 我對電路設計 單片機的使用等都有了新的認識 通過這次設計學會了 Proteus 和 Keil 軟件的使用方法 掌握了從系統(tǒng)的需要 方案的設計 功能模塊的劃分 原理圖的設計和電路圖的仿真的設計流程 積 累了不少經驗 基于單片機的數字電壓表使用性強 結構簡單 成本低 外接元件少 在 實際應用工作應能好 測量電壓準確 精度高 系統(tǒng)功能 指標達到了課題的 預期要求 系統(tǒng)在硬件設計上充分考慮了可擴展性 經過一定的改造 可以增 加功能 本文設計主要實現了簡易數字電壓表測量一路電壓的功能 詳細說明 了從原理圖的設計 電路圖的仿真再到軟件的調試 通過本次設計 我對單片機這門課有了進一步的了解 無論是在硬件連接 方面還是在軟件編程方面 本次設計采用了 AT89C51 單片機芯片 與以往的單 片機相比增加了許多新的功能 使其功能更為完善 應用領域也更為廣泛 設 計中還用到了模 數轉換芯片 ADC0832 以前在學單片機課程時只是對其理論知 識有了初步的理解 通過這次設計 對它的工作原理有了更深的理解 在調試 過程中遇到很多問題 硬件上的理論知識學得不夠扎實 對電路的仿真方面也 不夠熟練 總之這次電路的設計和仿真 基本上達到了設計的功能要求 在以后的實 踐中 我將繼續(xù)努力學習電路設計方面的理論知識 并理論聯(lián)系實際 爭取在 電路設計方面能有所提升 21 參考文獻參考文獻 1 李朝青 單片機原理及接口技術 簡明修訂版 杭州 北京航空航天大學 出版社 1998 2 李廣弟 單片機基礎 北京 北京航空航天大學出版社 1994 3 閻石 數字電子技術基礎 第三版 北京 高等教育出版社 1989 4 石東海等 單片機數據通信技術從入門到精通 西安 西安電子科技大學出版 社 2002 148 150 5 王忠飛 胥芳 MCS 一 51 單片機原理及嵌入式系 統(tǒng)應用 M 西安 西安電子科技大學出版社 2007 P268 273 6 蔡朝洋 單片機控制實習與專題制作 M 北京 北京航空航天大學出版社 2006 7 張毅剛 彭喜源 譚曉昀等 MSC 51 單片機應用設計 M 哈爾濱 哈爾濱工業(yè) 大學出版社 1999 8 周堅 單片機 C 語言輕松入門 M 北京 北京航空航天大學出版社 2006 9 李全利 遲榮強 單片機原理及接口技術 M 北京 高等教育出版社 2004 10 梅麗鳳 王艷秋 單片機原理及接口技術 修訂本 M 北京 清華大學出版 社 北京交通大學出版社 2006 11 閻石 數字電子技術基礎 M 北京 高等教育出版社 1998 12 廖常初 現場總線概述 J 電工技術 1999 13 王宜懷 劉曉升 嵌入式應用技術基礎教程 北京 清華大學出版社 2005 7 14 邵貝貝等 單片機認識與實踐 北京 航空航天大學出版社 2006 8 15 MC75 AT Command Set V03 Siemens Company 2006 16 Clark M Service Business Strategies and ArchItectures M Birmingham UK Wrox Press 2002 17 Dave Crane Eric Pascarello Darren James Ajax IN ACTION M Manning Publications CO 2006 22 謝辭謝辭 經過幾個月的忙碌和工作 本次畢業(yè)設計已經接近尾聲 作為一個本科生 的畢業(yè)設計 由于經驗的匱乏 難免有許多考慮不周的地方 如果沒有導師的 督促指導 以及一起工作的同學們的支持 想要完成這個設計是難以想象的 在這里要感謝唐俊英老師 他循導善誘的教導和不拘一格的思路給予我無 盡的啟迪 他嚴謹細致 一絲不茍的作風一直是我們工作 學習中的榜樣 并將 積極影響我今后的學習和工作 然后要感謝大學 4 年來的所有老師 為我們打 下了電子專業(yè)知識的基礎 同時還要感謝 06 電氣所有的同學們 正是因為有你 們的

溫馨提示

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

評論

0/150

提交評論