下載本文檔
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、251摘要2關(guān)鍵詞21 概述31.1 設(shè)計(jì)意義31.2 系統(tǒng)主要功能32 硬件電路設(shè)計(jì)方案及描述32.1 設(shè)計(jì)方案32.2主要元器件的介紹42. 3 控制電路模塊132.4 元件清單163 數(shù)字式電流表的軟件設(shè)計(jì)163.1 糸統(tǒng)程序設(shè)計(jì)總方案163.2 系統(tǒng)子程序設(shè)計(jì)174 數(shù)字式電流表的調(diào)試194.1 軟件調(diào)試194.2顯示結(jié)果及誤差分析205 總結(jié)22附錄 1.電路原理圖及仿真圖23附錄 2.程序代碼24參考文獻(xiàn)26252基于單片機(jī)的簡(jiǎn)易數(shù)字電流表設(shè)計(jì)摘要數(shù)字電流表的誕生打破了傳統(tǒng)電子測(cè)量?jī)x器的模式和格局。它顯示清晰直觀、讀數(shù) 準(zhǔn)確,采用了先進(jìn)的數(shù)顯技術(shù),大大地減少了因人為因素所造成的測(cè)量
2、誤差事件。數(shù)字 電流表是建立在數(shù)字電壓表的基礎(chǔ)上,讓電壓表與電阻串聯(lián),其顯示的是電流,數(shù)字電 壓表是把連續(xù)的模擬量(直流輸入電壓)轉(zhuǎn)換成不連續(xù)、離散的數(shù)字形式,并加以顯示 的儀表。數(shù)字電流表把電子技術(shù)、計(jì)算技術(shù)、自動(dòng)化技術(shù)的成果與精密電測(cè)量技術(shù)密切 的結(jié)合在一起,成為儀器、儀表領(lǐng)域中獨(dú)立而完整的一個(gè)分支,數(shù)字電流表標(biāo)志著電子 儀器領(lǐng)域的一場(chǎng)革命,也開創(chuàng)了現(xiàn)代電子測(cè)量技術(shù)的先河。本設(shè)計(jì)采用了以單片機(jī)為開 發(fā)平臺(tái),控制系采用 AT89C52 單片機(jī),A/D 轉(zhuǎn)換采用 ADC0809 系統(tǒng)除能確保實(shí)現(xiàn)要求 的功能外,還可以方便進(jìn)行 8 路其它 A/D 轉(zhuǎn)換量的測(cè)量、遠(yuǎn)程測(cè)量結(jié)果傳送等擴(kuò)展功能。 簡(jiǎn)易
3、數(shù)字電流測(cè)量電路由 A/D 轉(zhuǎn)換、數(shù)據(jù)處理、顯示控制等組成。關(guān)鍵詞:?jiǎn)纹瑱C(jī) AT89C51 A/D 轉(zhuǎn)換 ADC0809 數(shù)據(jù)處理2531 .概述1.1 設(shè)計(jì)意義通過(guò)課程設(shè)計(jì),掌握電子設(shè)計(jì)的一般步驟和方法,鍛煉分析問(wèn)題解決問(wèn)題的能力,學(xué)會(huì)如何查 找所需資料,同時(shí)復(fù)習(xí)以前所學(xué)知識(shí)并加深記憶,為畢業(yè)設(shè)計(jì)打好基礎(chǔ),也為以后工作作準(zhǔn)備。通 過(guò)對(duì)選題的分析設(shè)計(jì),學(xué)習(xí)數(shù)字電流表的工作原理、組成和特性;掌握數(shù)字電流表的校準(zhǔn)方法和使 用方法;1.2 系統(tǒng)主要功能A、利用 AD 轉(zhuǎn)換芯片和精密電阻測(cè)量020mA 電流B 系統(tǒng)工作符合一般數(shù)字電流表要求2硬件電路設(shè)計(jì)方案及描述2.1 數(shù)字式電流表系統(tǒng)硬件設(shè)計(jì)硬件電
4、路設(shè)計(jì)主要包括:AT89S51 單片機(jī)系統(tǒng),A/D 轉(zhuǎn)換電路,顯示電路。測(cè)量最大電流為 20ma顯示最大值為 20.00ma。本實(shí)驗(yàn)采用 AT89S51 單片機(jī)芯片配合 ADC0809 模 /數(shù)轉(zhuǎn)換芯片構(gòu)成一個(gè)簡(jiǎn)易 的數(shù)字電流表。硬件電路設(shè)計(jì)由 6 個(gè)部分組成;A/D 轉(zhuǎn)換電路,AT89C51 單片機(jī)系統(tǒng),LED 顯示系統(tǒng)、時(shí)鐘電路、 復(fù)位電路以及測(cè)量電流輸入電路。硬件電路設(shè)計(jì)框圖如圖2.1 所示。2.1數(shù)字式電流表系統(tǒng)硬件設(shè)計(jì)框圖2542.2 主要元器件的介紹2.2.1單片機(jī) AT89S51AT89S51 是美國(guó) ATMEL 公司生產(chǎn)的低功耗、高性能CMOS 啦單片機(jī)。圖 4.2 和 4.3
5、 分別為其實(shí)物圖和內(nèi)部總體結(jié)構(gòu)圖。AT89S51 片內(nèi)含有 4k 字節(jié) Flash 閃速存儲(chǔ)器,128 字節(jié)內(nèi)部 RAM, 32 個(gè) I/O口線,看門狗(WDT),兩個(gè)數(shù)據(jù)指針,兩個(gè) 16 位定時(shí)/計(jì)數(shù)器,一個(gè) 5 向量?jī)杉?jí)中斷結(jié)構(gòu),一個(gè)全雙 工串行通信口,片內(nèi)振蕩器及時(shí)鐘電路。同時(shí),S51 可降至 0Hz 的靜態(tài)邏輯操作,并支持兩種軟件可選的節(jié)電工作模式??臻e方式停止CPU 的工作,但允許 RAM 定時(shí)/計(jì)數(shù)器,串行通信口及中斷系統(tǒng)繼續(xù)工作。掉電方式保存RAM 中的內(nèi)容,但振蕩器停止工作并禁止其它所有部件工作直到下一個(gè)硬件復(fù)位。由于將多功能 8 位 CPU 和閃爍存儲(chǔ)器組合在單個(gè)芯片中,AT
6、MEL 勺 AT89S51 是一種高效微控制器,為很多嵌入式控制系統(tǒng)提供了一種靈活性高且價(jià)廉的方案。主要性能參數(shù)與 MCS-51 產(chǎn)品指令系列完全兼容;4K 字節(jié)在系統(tǒng)編程(ISP)Flash 閃速存儲(chǔ)器;1000 次擦寫周期;4.05.5 V 工作電壓范圍;全靜態(tài)工作模式:0Hz33MHz三級(jí)程序加密鎖;128 字節(jié)內(nèi)部 RAM32 個(gè)可編程 I/O 口線;2 個(gè) 16 位的定時(shí)/計(jì)數(shù)器;6 個(gè)中斷源;全雙工串行 UART 通道;低工耗空閑和掉電模式;中斷可從空閑模式喚醒系統(tǒng);看門狗(WDT)及雙數(shù)據(jù)指針;掉電標(biāo)識(shí)和快速編程特性;靈活的在系統(tǒng)編程2552.2.1 AT89S51 的引腳AT8
7、9S51 芯片為 40 引腳雙列直插式封裝,其引腳排列如圖22所示。圖 2.2 AT89S51 的引腳圖(1) VCC :電源電壓;(2) GND:接地;(3) P0 口: P0 口是一組 8 位漏極開路雙向 I/O 口,每位引腳可驅(qū)動(dòng) 8 個(gè) TTL 邏輯門路。對(duì) P0 口的管腳寫“ 1”時(shí),被定義為高阻抗輸入。在訪問(wèn)外部數(shù)據(jù)存儲(chǔ)器或程序存儲(chǔ)器時(shí),它可以被定義為數(shù)據(jù)總線和地址總線的低八位。在FLASH 編程時(shí),P0 口作為原碼輸入口;當(dāng) FLASH 進(jìn)行校驗(yàn)時(shí),P0 輸出原碼,此時(shí) P0 外部必須接上拉電阻。(4) P1 口: P1 口是一個(gè)內(nèi)部提供上拉電阻的8 位雙向 I/O 口,P1 口
8、的輸出緩沖器可驅(qū)動(dòng) 4 個(gè)TTL 邏輯門電路。對(duì) P1 口管腳寫入“ 1”后,被內(nèi)部上拉電阻拉高,可用作輸入。P1 口被外部下拉為低電平時(shí),將輸出電流,這是由于內(nèi)部接有上拉電阻的緣故。在FLASH 編程和校驗(yàn)時(shí),P1 口作為低八位地址接收。(5)P2 口: P2 口是一個(gè)內(nèi)部提供上拉電阻的8 位雙向 I/O口,P2 口的輸出緩沖器可驅(qū)動(dòng) 4 個(gè) TTL邏輯門電路。對(duì) P2 口管腳寫入“ 1”后,被內(nèi)部上拉電阻拉高,可用作輸入。P2 口被外部下拉為低電平時(shí),將輸出電流,這是由于內(nèi)部接有上拉電阻的緣故。P2 口當(dāng)用于外部程序存儲(chǔ)器或16 位地Pi .0 CP1 .1匚円匚尸心匸PiACMOSQ P
9、1旨匚fMl-SO FM居匚SCK) P1 7匚HSTCtRX口 P3Q CTXD)P5.1匸INTO P3.2 ITP3_3匚尸33匚LWR) P3.6 c ffiP3.7 CXTAL2 CXTALl CGNLJC37-40239 1338437芻3B召3B734&3393210ai11細(xì)1229132B14271526ie2B1724ia3IQ222021Zl VOC13 RO O ADC)二IPOJ (ADTJF0 rAD2) _ FO3 (AD5)二|PO .斗AD4JP0J&AD5) =1FOJS AD6)FO T員口可S/VPP AL E/PROCi npsiP2
10、7 (AIS) ZlF2J6 rA14 n P25(A13P2 4 (A12;JP2 3月J 1二1P2P2O (AS256址外部數(shù)據(jù)存儲(chǔ)器進(jìn)行存取時(shí),P2 口輸出地址的高八位。在訪問(wèn)8 位地址外部數(shù)據(jù)存儲(chǔ)器時(shí),P2 口線上的內(nèi)容,在整個(gè)訪問(wèn)期間不改變。P2 口在 FLASH 編程和校驗(yàn)時(shí)接收高八位地址信號(hào)和控制信號(hào)。(6)P3 口: P3 口是一個(gè)內(nèi)部提供上拉電阻的8 位雙向 I/O 口,P3 口的輸出緩沖器可驅(qū)動(dòng) 4 個(gè) TTL邏輯門電路。對(duì) P3 口管腳寫入“ 1”后,被內(nèi)部上拉電阻拉高,可用作輸入。P3 口被外部下拉為低電平時(shí),將輸出電流,這是由于內(nèi)部接有上拉電阻的緣故。P3 口除了一
11、般 I/O 線的功能外,還具有更為重要的第二功能。 P3 口同時(shí)為 FLASH 編程和編程校驗(yàn)接收一些控制信號(hào)P3 口的第二功能端口引腳第二功能P3.0RXD(串行輸入口)P3.1TXD 伸行輸出口)P3.2/INTO (外部中斷 0)P3.3/INT1 (外部中斷 1)P3.4T0 (定時(shí)器 0 外部輸入)P3.5T1 (定時(shí)器 1 外部輸入)P3.6/WR (外部數(shù)據(jù)存儲(chǔ)器寫選通)P3.7/RD (外部數(shù)據(jù)存儲(chǔ)器讀選通)(7)RST :復(fù)位輸入。當(dāng)振蕩器復(fù)位器件時(shí),要保持RST 腳兩個(gè)機(jī)器周期的高電平時(shí)間。(8) ALE/RPOG 當(dāng)訪問(wèn)外部存儲(chǔ)器時(shí),地址鎖存允許的輸出電平用于鎖存地址的地
12、位字節(jié)。在FLASH 編程期間,此引腳用于輸入編程脈沖。在平時(shí),ALE 端以不變的頻率周期輸出正脈沖信號(hào),此頻率為振蕩器頻率的1/6。因此它可用作對(duì)外部輸出的脈沖或用于定時(shí)目的。然而要注意的是:每當(dāng)用作外部數(shù)據(jù)存儲(chǔ)器時(shí),將跳過(guò)一個(gè)ALE 脈沖。如想禁止 ALE 的輸出可在 SFR8EH 地址上置 0。此時(shí),ALE 只有在執(zhí)行 MOVX MOVC 旨令是 ALE 才起作用。另外,該引腳被略微拉高。如果微處理器 在外部執(zhí)行狀態(tài) ALE 禁止,置位無(wú)效。(9)/PSEN :外部程序存儲(chǔ)器的選通信號(hào)。在由外部程序存儲(chǔ)器取指期間,每個(gè)機(jī)器周期兩次/PSEN 有效。但在訪問(wèn)外部數(shù)據(jù)存儲(chǔ)器時(shí),這兩次有效的信
13、號(hào)將不出現(xiàn)。(10)/EA/VPP:當(dāng)保持低電平時(shí),則在此期間外部程序存儲(chǔ)器(0000H-FFFFH),不管是否有內(nèi)部257程序存儲(chǔ)器。注意加密方式1 時(shí),/EA 將內(nèi)部鎖定為 RESET 當(dāng)/EA 端保持高電平時(shí),此間內(nèi)部程序存儲(chǔ)器。在 FLASH 編程期間,此引腳也用于施加12V 編程電源(VPP。AT89S51 有 256 個(gè)字節(jié)的內(nèi)部 RAM 80H-FFH 高 128 個(gè)字節(jié)與特殊功能寄存器( SFR 地址是 重疊的,也就是高 128 字節(jié)的 RAM 和特殊功能寄存器的地址是相同的,但物理上它們是分開的。定時(shí)器 0 和定時(shí)器 1 :AT89S51 的定時(shí)器 0 和定時(shí)器 1 的工作方
14、式與 AT89C51 相同。定時(shí)和計(jì)數(shù)功能由特殊功能寄存 器 TMO 啲控制位 C/T 進(jìn)行選擇,這兩個(gè)定時(shí)/計(jì)數(shù)器有 4 種操作模式,通過(guò) TMO 啲 M1 和 M0 選擇。 其中模式 0、1 和 2都相同,模式 3 不同。定時(shí)器 2:定時(shí)器 2 是一個(gè) 16 位定時(shí)/計(jì)數(shù)器。它既可當(dāng)定時(shí)器使用,也可作為外部事件計(jì)數(shù)器使用,其 工作方式由特殊功能寄存器T2CON 勺 C/T2 位選擇。定時(shí)器 2 有三種工作方式:捕獲方式,自動(dòng)重裝載(向上或向下計(jì)數(shù))方式和波特率發(fā)生器方式,工作方式由T2CO N 的控制位來(lái)選擇。定時(shí)器 2 由兩個(gè) 8 位寄存器 TH2 和 TL2 組成,在定時(shí)器工作方式中,
15、每個(gè)機(jī)器周期TL2 寄存器的值加 1,由于一個(gè)機(jī)器周期由 12 個(gè)振蕩時(shí)鐘構(gòu)成,因此,計(jì)數(shù)速率為振蕩頻率的1/12。在計(jì)數(shù)工作方式時(shí),當(dāng)T2 引腳上外部輸入信號(hào)產(chǎn)生由1 至 0 的下降沿時(shí),寄存器的值加 1 ,在這種工作方式下,每個(gè)機(jī)器周期的5SP2 期間,對(duì)外部輸入進(jìn)行采樣。若在第一個(gè)機(jī)器周期中采到的值為 1,而在下一個(gè)機(jī)器周期中采到的值為0,則在緊跟著的下一個(gè)周期的S3P1 期間寄存器加1。由于識(shí)別 1 至 0 的跳變需要 2 個(gè)機(jī)器周期(24 個(gè)振蕩周期),因此,最高計(jì)數(shù)速率為振蕩頻率 的 1/24。為確保采樣的正確性,要求輸入的電平在變化前至少保持一個(gè)完整周期的時(shí)間,以保證輸 入信號(hào)至
16、少被采樣一次??删幊虝r(shí)鐘輸出:定時(shí)器 2 可通過(guò)編程從 P1.0 輸出一個(gè)占空比為 50%勺時(shí)鐘信號(hào)。P1.0 引腳除了是一個(gè)標(biāo)準(zhǔn)的 I/O 口外,還可以通過(guò)編程使其作為定時(shí) /計(jì)數(shù)器 2 的外部時(shí)鐘輸入和輸出占空比 50%勺時(shí)鐘脈沖。 當(dāng)時(shí)鐘振蕩頻率為16MHz 時(shí),輸出時(shí)鐘頻率范圍為 61Hz 4MHz UARTAT89S51 的工作方式與 AT89C51 工作方式相同。串口為全雙工結(jié)構(gòu),表示可以同時(shí)發(fā)送和接收, 它還具有接收緩沖,在第一個(gè)字節(jié)從寄存器讀出之前,可以開始接收第二個(gè)字節(jié)。(但是如果第二個(gè)字節(jié)接收完畢時(shí)第一個(gè)字節(jié)仍未讀出,其中一個(gè)字節(jié)將會(huì)丟失)。串口的發(fā)送和接收寄存器都是通過(guò)S
17、FR SBURS行訪問(wèn)的。寫入 SBUF 的數(shù)據(jù)裝入發(fā)送寄存器,對(duì)SBU F 的讀操作是對(duì)物理上分開的接收寄存器進(jìn)行訪問(wèn)。258該串口有 4 種操作模式(模式 0、模式 1、模式 2 和模式 3),在這 4 種模式中,發(fā)送過(guò)程是以 任意一條寫SBUF 作為目標(biāo)寄存器的指令開始的,模式0 時(shí)接收通過(guò)設(shè)置 R0=0 及 REN=1 初始化,其他模式下如若 REN=1 則通過(guò)起始位初始化。中斷:AT89S51 共有 6 個(gè)中斷向量:兩個(gè)外中斷(INTO 和 INT1 ), 3 個(gè)定時(shí)器中斷(定時(shí)器 0、1、2) 和串行口中斷。這些中斷源可通過(guò)分別設(shè)置專用寄存器IE 的置位或清 0 來(lái)控制每一個(gè)中斷的
18、允許或禁止。IE也有一個(gè)總禁止位 EA 它能控制所有中斷的允許或禁止。定時(shí)器 2 的中斷是由 T2CON 中的 TF2 和 EXF2 邏輯或產(chǎn)生的,當(dāng)轉(zhuǎn)向中斷服務(wù)程序時(shí),這些標(biāo)志位不能被硬件清除,事實(shí)上,服務(wù)程序需確定是TF2 或 EXF2 產(chǎn)生中斷,而由軟件清除中斷標(biāo)志位。定時(shí)器 0 和定時(shí)器 1 的標(biāo)志位 TFO 和 TF1 在定時(shí)器溢出那個(gè)機(jī)器周期的S5P2 狀態(tài)置位,而會(huì)在下一個(gè)機(jī)器周期才查詢到該中斷標(biāo)志。然而,定時(shí)器 2 的標(biāo)志位 TF2 在定時(shí)器溢出的那個(gè)機(jī)器周期的 S2P2 狀態(tài)置位,并在同一個(gè)機(jī)器周期內(nèi)查詢到該標(biāo)志。時(shí)鐘振蕩器:AT89S51 中有一個(gè)用于構(gòu)成內(nèi)部振蕩器的高增益
19、反相放大器,引腳XTAL1 和 XTAL2 分別是該放大器的輸入端和輸出端。這個(gè)放大器與作為反饋元件的片外石英晶體或陶瓷諧振器一起構(gòu)成自激振蕩器,振蕩電路。外接石英晶體(或陶瓷諧振器)及電容C1、C2 接在放大器的反饋回路中構(gòu)成并聯(lián)振蕩電路。對(duì)外接電容 C1、C2 雖然沒(méi)有十分嚴(yán)格的要求,但電容容量的大小會(huì)輕微影響振蕩頻率的高低、振 蕩器工作的穩(wěn)定性、起振的難易程序及溫度穩(wěn)定性,如果使用石英晶體,我們推薦電容使用30pF 10pF,而如使用陶瓷諧振器建議選擇40pF 10F。用戶也可以采用外部時(shí)鐘。采用外部時(shí)鐘的電路。這種情況下,外部時(shí)鐘脈沖接到XTAL1 端,即內(nèi)部時(shí)鐘發(fā)生器的輸入端,XTA
20、L2 則懸空。由于外部時(shí)鐘信號(hào)是通過(guò)一個(gè)2 分頻觸發(fā)器后作為內(nèi)部時(shí)鐘信號(hào)的,所以對(duì)外部時(shí)鐘信號(hào)的占空比沒(méi)有特殊要求,但最小高電平持續(xù)時(shí)間和最大的低電平持續(xù)時(shí)間應(yīng)符合產(chǎn)品技術(shù)條件的要求。 Flash 存儲(chǔ)器的編程:AT89S51 單片機(jī)內(nèi)部有 8k 字節(jié)的 Flash PEROM 這個(gè) Flash 存儲(chǔ)陣列出廠時(shí)已處于擦除狀態(tài)(即所有存儲(chǔ)單元的內(nèi)容均為FFH),用戶隨時(shí)可對(duì)其進(jìn)行編程。編程接口可接收高電壓(+12V)或低電259壓(Vcc)的允許編程信號(hào)。低電壓編程模式適合于用戶在線編程系統(tǒng),而高電壓編程模式可與通用 EPROM 編程器兼容。數(shù)據(jù)查詢:AT89S51 單片機(jī)用 Data Pall
21、i ng表示一個(gè)寫周期結(jié)束為特征,在一個(gè)寫周期中,如需讀取最2510后寫入的一個(gè)字節(jié),則讀出的數(shù)據(jù)的最高位(P0.7 )是原來(lái)寫入字節(jié)最高位的反碼。寫周期完成后,所輸出的數(shù)據(jù)是有效的數(shù)據(jù),即可進(jìn)入下一個(gè)字節(jié)的寫周期,寫周期開始后,Data Palli ng 可能隨時(shí)有效。 Ready/Busy:字節(jié)編程的進(jìn)度可通過(guò)“RDY/BSY 輸出信號(hào)監(jiān)測(cè),編程期間,ALE 變?yōu)楦唠娖健?H”后,P3.4 ( RDY/BSY 端電平被拉低,表示正在編程狀態(tài)(忙狀態(tài))。編程完成后,P3.4 變?yōu)楦唠娖奖硎緶?zhǔn)備就緒狀態(tài)。程序校驗(yàn):如果加密位LB1、LB2 沒(méi)有進(jìn)行編程,則代碼數(shù)據(jù)可通過(guò)地址和數(shù)據(jù)線讀回原編寫的
22、數(shù)據(jù),采用如圖 12 的電路。加密位不可直接校驗(yàn),加密位的校驗(yàn)可通過(guò)對(duì)存儲(chǔ)器的校驗(yàn)和寫入 狀態(tài)來(lái)驗(yàn)證。芯片擦除:利用控制信號(hào)的正確組合并保持ALE/PROG 引腳 10mS 的低電平脈沖寬度即可將PEROM 車列(4k 字節(jié))和三個(gè)加密位整片擦除, 代碼陣列在片擦除操作中將任何非空單元寫入“1 ”,這步驟需再編程之前進(jìn)行。2.2.2 A/D 轉(zhuǎn)換芯片 ADC0809ADC0809 是典型的 8 位 8 通道逐次逼近式 A/D 轉(zhuǎn)換器,。它可以和微型計(jì)算機(jī)直接接口。ADC0809轉(zhuǎn)換器的系列芯片是 ADC0808 可以相互替換。2.2.2 ADC0809 內(nèi)部邏輯結(jié)構(gòu)VR VRADC0809 的
23、內(nèi)部邏輯結(jié)構(gòu)圖圖中多路模擬開關(guān)可選通8 路模擬通道,允許 8 路模擬量分時(shí)輸入,并共用一個(gè)A/D 轉(zhuǎn)換器進(jìn)J輸M亍嘰DOD7INOIN7JUL Jrlif 耐A口1ST QLK2511行轉(zhuǎn)換。地址鎖存與譯碼電路完成對(duì)A、B C 三個(gè)地址位進(jìn)行鎖存與譯碼,如表所示。ADC0809 通道選擇表C(ADDC)B(ADDB)A(ADDA)選擇的通道000IN0001IN1010IN2011IN3100IN4101IN5110IN6111IN7223 ADC0809 的引腳ADC0809 芯片為 28 引腳雙列直插式芯片,其主要功能:(1) IN0IN7 : 8 路模擬量輸入通道。(2) A、B C:模
24、擬通道地址線。這 3 根地址線用于對(duì) 8 路模擬通道的選擇,其譯碼關(guān)系如表4.3所示。其中,A 為低地址,C 為高地址,引腳圖中為 ADDA ADDB 和 ADDC(3) ALE :地址鎖存允許信號(hào)。對(duì)應(yīng) ALE 上跳沿,A、B、C 地址狀態(tài)送入地址鎖存器中。(4) START :轉(zhuǎn)換啟動(dòng)信號(hào)。START 上升沿時(shí),復(fù)位 ADC0809 START 下降沿時(shí)啟動(dòng)芯片,開始進(jìn)行 A/D 轉(zhuǎn)換;在 A/D 轉(zhuǎn)換期間,START 應(yīng)保持低電平。本信號(hào)有時(shí)簡(jiǎn)寫為ST。(5) D7DO:數(shù)據(jù)輸出線。為三態(tài)緩沖輸出形式,可以和單片機(jī)的數(shù)據(jù)線直接相連。D0 為最低位,D7 為最咼。(6) OE :輸出允許信
25、號(hào)。用于控制三態(tài)輸出鎖存器向單片機(jī)輸出轉(zhuǎn)換得到的數(shù)據(jù)。OE=Q 輸出數(shù)據(jù)線呈高阻;OE=1 輸出轉(zhuǎn)換得到的數(shù)據(jù)。(7) CLK :時(shí)鐘信號(hào)。ADC0809 的內(nèi)部沒(méi)有時(shí)鐘電路,所需時(shí)鐘信號(hào)由外界提供,因此有時(shí)鐘信號(hào)引腳。通常使用頻率為500KHZ 的時(shí)鐘信號(hào)。(8) EOC:轉(zhuǎn)換結(jié)束信號(hào)。EOC=0 正在進(jìn)行轉(zhuǎn)換;EOC=1 轉(zhuǎn)換結(jié)束。使用中該狀態(tài)信號(hào)即可作為查 詢的狀態(tài)標(biāo)志,又可作為中斷請(qǐng)求信號(hào)使用。2512(9) Vcc : +5V 電源,GND 地。(10) Vref :參考電壓。參考電壓用來(lái)與輸入的模擬信號(hào)進(jìn)行比較,作為逐次逼近的基準(zhǔn)。其典型值為 +5V(Vref(+)=+5V, Vr
26、ef(-)=0V)。ADC0809 的工作原理首先輸入 3 位地址,并使 ALE=1,將地址存入地址鎖存器中。此地址經(jīng)譯碼選通8 路模擬輸入之一到比較器。START 上升沿將逐次逼近寄存器復(fù)位。下降沿啟動(dòng)A/D 轉(zhuǎn)換,之后 EOC 輸出信號(hào)變低,指示轉(zhuǎn)換正在進(jìn)行。直到A/D 轉(zhuǎn)換完成,EOC 變?yōu)楦唠娖?,指?A/D 轉(zhuǎn)換結(jié)束,結(jié)果數(shù)據(jù)已存入鎖存器,這個(gè)信號(hào)可用作中斷申請(qǐng)。當(dāng)OE 輸入高電平時(shí),輸出三態(tài)門打開,轉(zhuǎn)換結(jié)果的數(shù)字量輸出到數(shù)據(jù)總線上。(注意:ALE 信號(hào)常與 START 信號(hào)連在一起,這樣連接可以在信號(hào)的前沿寫入地址信號(hào),在其后沿啟動(dòng) A/D 轉(zhuǎn)換,圖為 ADC0809 信號(hào)的時(shí)序配
27、合圖)WRADC0809 信號(hào)的時(shí)序配合2.2.3 4 位一體 7 段 LED 數(shù)碼管本實(shí)驗(yàn)的顯示模塊主要由一個(gè)4 位一體的 7 段 LED 數(shù)碼管(SM410564)構(gòu)成,用于顯示測(cè)量到的電壓值。它是一個(gè)共陽(yáng)極的數(shù)碼管,每一位數(shù)碼管的原理圖如圖4.5 所示。每一位數(shù)碼管的a,b,c,d,e,f,g 和 dp 端都各自連接在一起,用于接收AT89C52 的 P1 口產(chǎn)生的顯示段碼。C1,C2,C3, C4 引腳端為其位選端,用于接收AT89C52 的 P3 口產(chǎn)生的位選碼。2513ABCDEFGDP1S341 1 1 1 1 11.41114 位一體 7 段 LED 數(shù)碼管圖2.3控制電路模塊
28、2.3.1總電路本課題實(shí)驗(yàn)主要采用 AT89S51 芯片和 ADC0809 芯片來(lái)完成一個(gè)簡(jiǎn)易的數(shù)字電壓表,能夠?qū)斎氲?20ma 的模擬直流電流進(jìn)行測(cè)量,并通過(guò)一個(gè)4 位一體的 7 段 LED 數(shù)碼管進(jìn)行顯示,測(cè)量誤差約為 0.02 ma。該電流表的測(cè)量電路主要由三個(gè)模塊組成:A/D 轉(zhuǎn)換模塊、數(shù)據(jù)處理模塊及顯示控制模塊。A/D 轉(zhuǎn)換主要由芯片 ADC0809 來(lái)完成,它負(fù)責(zé)把采集到的模擬量轉(zhuǎn)換為相應(yīng)的數(shù)字量再傳送到 數(shù)據(jù)處理模塊。數(shù)據(jù)處理則由芯片AT89S51 來(lái)完成,其負(fù)責(zé)把 ADC0809 傳送來(lái)的數(shù)字量經(jīng)一定的數(shù)圖 4.5 位數(shù)碼管的原理圖2514據(jù)處理,產(chǎn)生相應(yīng)的顯示碼送到顯示模塊
29、進(jìn)行顯示;另外它還控制著ADC0809 芯片的工作。顯示模 塊主要由 7 段數(shù)碼管及相應(yīng)的驅(qū)動(dòng)組成,顯示測(cè)量到的電流值。數(shù)字式電流表的設(shè)計(jì)的總電路圖見 附錄一。2.3.2AT89S51 的復(fù)位電路和時(shí)鐘電路AT89S51 的復(fù)位電路如圖所示。當(dāng)單片機(jī)一上電,立即復(fù)位;另外,如果在運(yùn)行中,外界干擾等因素使單片機(jī)的程序陷入死循環(huán)狀態(tài)或“跑飛”,就可以通過(guò)按鍵使其復(fù)位。復(fù)位也是使單片機(jī)退 出低功耗工作方式而進(jìn)入正常狀態(tài)的一種操作。電容 C 和電阻 R1 實(shí)現(xiàn)上電自動(dòng)復(fù)位。增加按鍵開關(guān)S 又可實(shí)現(xiàn)按鍵復(fù)位功能。一般取C=10uF,R1=1KQ。單片機(jī)中 CPU 每執(zhí)行一條指令,都必須在統(tǒng)一的時(shí)鐘脈沖的
30、控制下嚴(yán)格按時(shí)間節(jié)拍進(jìn)行,而這個(gè)時(shí)鐘脈沖是單片機(jī)控制中的時(shí)序電路發(fā)出的。CPU 執(zhí)行一條指令的各個(gè)微操作所對(duì)應(yīng)時(shí)間順序稱為單片機(jī)的時(shí)序。MCS-51 單片機(jī)芯片內(nèi)部有一個(gè)高增益反相放大器,用于構(gòu)成震蕩器,XTAL1 為該放大器的輸入端,XTAL2 為該放大器輸出端,但形成時(shí)鐘電路還需附加其他電路。電路中的器件選擇可以通過(guò)計(jì)算和實(shí)驗(yàn)確定,也可以參考一些典型電路的參數(shù),電路中,電容器 C1 和 C2 對(duì)震蕩頻率有微調(diào)作用,通常的取值范圍是30 10pF,在這個(gè)系統(tǒng)中選擇了 33uF;石英晶振選擇范圍最高可選 24MHz 它決定了單片機(jī)電路產(chǎn)生的時(shí)鐘信號(hào)震蕩頻率,在本系統(tǒng)中選擇的是 12MHz 因而
31、時(shí)鐘信號(hào)的震蕩頻率為12MHz25152.3.3A/D 轉(zhuǎn)換電路A/D 轉(zhuǎn)換由 ADC0809 完成。ADC0809 具有 8 路模擬輸入端口,地址線(2325 腳)可決定對(duì) 哪一路模擬輸入作 A/D 轉(zhuǎn)換。22 腳為地址控制,當(dāng)輸入為高電平時(shí),對(duì)地址信號(hào)進(jìn)行鎖存。6 腳為測(cè)試控制,當(dāng)輸入一個(gè) 2 卩 s 寬高電平脈沖時(shí),就開始 A/D 轉(zhuǎn)換。7 腳為 A/D 轉(zhuǎn)換結(jié)束標(biāo)志,當(dāng) A/D 轉(zhuǎn)換結(jié)束時(shí),7 腳輸出高電平。9 腳為 A/D 轉(zhuǎn)換數(shù)據(jù)輸出允許控制,當(dāng)0E 腳為高電平時(shí),A/D 轉(zhuǎn)換數(shù)據(jù)從該端口輸出。10 腳為 ADC0809 的時(shí)鐘輸入端,禾 U 用單片機(jī)AT89S51 的 30 腳的
32、六分頻晶振頻率再通過(guò) 14024 二分頻得到 1MHz 時(shí)鐘。AT89S51 與 ADC0809 的連接電路原理圖如圖所示。AT89S51 與 ADC0809 的連接電路原理圖AT89S51 與 ADC0809 的連接必須注意處理好 3 個(gè)問(wèn)題:(1) 在 START 端送一個(gè) 100 卩 s 寬的啟動(dòng)正脈沖;(2) 獲取 EOC 端上的狀態(tài)信息,因?yàn)樗茿/D 轉(zhuǎn)換的結(jié)束標(biāo)志;(3) 給“三態(tài)輸出鎖存器”分配一個(gè)端口地址,也就是給0E 端送一個(gè)地址譯碼器的輸出信號(hào)。2.3.4 顯示電路由于單片機(jī)的并行口不能直接驅(qū)動(dòng)LED 顯示器,所以,在一般情況下,必須采用專用的驅(qū)動(dòng)電路芯片,使之產(chǎn)生足夠大
33、的電流,顯示器才能正常工作7。如果驅(qū)動(dòng)電路能力差,即負(fù)載能力不夠時(shí),顯示器亮度就低,而且驅(qū)動(dòng)電路長(zhǎng)期在超負(fù)荷下運(yùn)行容易損壞,因此,LED 顯示器的驅(qū)動(dòng)電路設(shè)計(jì)是一個(gè)非常重要的問(wèn)題。MTAL1P3DUJI EIDH1JAD1F加閃Ftsrf MEPA亦陽(yáng)P5&I叭 d 冃Pl伽JlLEP9.4A11Pl 0円1Pl .2P2BIW14円伽EP3.1JQDPI 3P3 Si卵IT1PIN 5PI gPl .7P-370r.3.SfTi口2 匚匚72-TE1:T.Ti=i-lsTE1:T.Ti=i-lsu Cc c 1 1 i i 5 5 5 5 fi*fi* z z “ “LLrrzLLr
34、rziNiNININwINININwINlhilhiININAI&1.AININAI&1.AJ土士L: CK2516為了簡(jiǎn)化數(shù)字式直流電流表的電路設(shè)計(jì),在 LED 驅(qū)動(dòng)電路的設(shè)計(jì)上, 可以利用單片機(jī) P0 口上外2517接的上拉電阻來(lái)實(shí)現(xiàn),即將LED 的 A-G 段顯示引腳和 DP 小數(shù)點(diǎn)顯示引腳并聯(lián)到 P0 口與上拉電阻之間,這樣,就可以加大 P0 口作為輸出口德驅(qū)動(dòng)能力,使得LED 能按照正常的亮度顯示出數(shù)字。系統(tǒng)采用動(dòng)態(tài)顯示方式驅(qū)動(dòng)4 個(gè)數(shù)碼管工作,顯示電路與單片機(jī)的 P1 口相連來(lái)顯示采集到的電流值。顯示電路原理圖2.4 元件清單器件類型器件名數(shù)值數(shù)量單片機(jī)AT89S5
35、11A/D 轉(zhuǎn)換器ADC08091數(shù)碼管TSEG-MP*4-CA-BLUE1電容C1、C233uF2電解電容C310uF1電阻R110K2排阻RP12001電阻R22501晶振X112MHz1i63數(shù)字式電流表的軟件設(shè)計(jì)3.1 系統(tǒng)程序設(shè)計(jì)總方案根據(jù)模塊的劃分原則,將該程序劃分初始化模塊,A/D 轉(zhuǎn)換子程序和顯示子程序,這三個(gè)程序模塊構(gòu)成了整個(gè)系統(tǒng)軟件的主程序。數(shù)字式直流電流表主程序框圖3.2 系統(tǒng)子程序設(shè)計(jì)3.2.2 初始化程序所謂初始化,是對(duì)將要用到的C51 系列單片機(jī)內(nèi)部部件或擴(kuò)展芯片進(jìn)行初始工作狀態(tài)設(shè)定,初始化子程序的主要工作是設(shè)置定時(shí)器的工作模式,初值預(yù)置,開中斷和打開定時(shí)器等。3.
36、2.3A/D 轉(zhuǎn)換子程序A/D 轉(zhuǎn)換子程序用來(lái)控制對(duì)輸入的模塊電流信號(hào)的采集測(cè)量,并將對(duì)應(yīng)的數(shù)值存入 相應(yīng)的內(nèi)存單元,其轉(zhuǎn)換流程圖。25193.2.4 顯示子程序顯示子程序采用動(dòng)態(tài)掃描實(shí)現(xiàn)四位數(shù)碼管的數(shù)值顯示,在采用動(dòng)態(tài)掃描顯示方式時(shí),要使得 LED顯示的比較均勻,又有足夠的亮度,需要設(shè)置適當(dāng)?shù)膾呙桀l率,當(dāng)掃描頻率在1mso在本設(shè)計(jì)中,為了簡(jiǎn)化硬件設(shè)計(jì),主要采用軟件定時(shí)的方式,即用定時(shí)器11 卩 s 定時(shí),通過(guò)軟件延時(shí)程序來(lái)實(shí)現(xiàn)5ms 的延時(shí)。其轉(zhuǎn)換流程圖如圖5.3 所示。70HZ 左右時(shí),能夠產(chǎn)生比較好的顯般可以采用間隔 10ms 對(duì) LED 進(jìn)行動(dòng)態(tài)掃描一次,每一位 LED 的顯示時(shí)間為0
37、 溢出中斷功能實(shí)現(xiàn)184數(shù)字式電流表的調(diào)試4.1 軟件調(diào)試軟件調(diào)試的主要任務(wù)是排查錯(cuò)誤,錯(cuò)誤主要包括邏輯和功能錯(cuò)誤,這些錯(cuò)誤有些是顯性的,而有些是隱形的。Proteus 軟件可以對(duì)基于微控制器的設(shè)計(jì)連同所有的周圍電子器件一起仿真,用戶甚至可以實(shí)時(shí)采用諸如LED/LCD 鍵盤、RS232 終端等動(dòng)態(tài)外設(shè)模型來(lái)對(duì)設(shè)計(jì)進(jìn)行交互仿真。Proteus支持的微處理芯片包括8051 系列、AVR 系列、PIC 系列、HC11 系列及 Z80 等等。Proteus 可以完成單片機(jī)系統(tǒng)原理圖電路繪制、PCB 設(shè)計(jì),更為顯著點(diǎn)的特點(diǎn)是可以與u Visi on s3 IDE 工具軟件結(jié)合進(jìn)行編程仿真調(diào)試。1本系統(tǒng)的
38、調(diào)試主要以軟件為主,其中,系統(tǒng)電路圖的繪制和仿真我采用的是Proteus 軟件,而程序1方面,米用的是 C 語(yǔ)言。4.2 顯示結(jié)果及誤差分析1.1.1 顯示結(jié)果1.當(dāng) INO 口輸入電流為 Oma 時(shí),顯示結(jié)果如圖所示,測(cè)量誤差為Oms。2.當(dāng)INO 口輸入電流為 10.50ma 時(shí),顯示結(jié)果如圖所示,測(cè)量誤差為Oma。ar3.當(dāng) INO 口輸入電流為 5ma 時(shí),顯示結(jié)果如圖所示,測(cè)量誤差為0.01ma。WOI?2523誤差分析通過(guò)以上仿真測(cè)量結(jié)果可得到簡(jiǎn)易數(shù)字電壓表與“標(biāo)準(zhǔn)”數(shù)字電壓表對(duì)比測(cè)試表,如下表簡(jiǎn)易數(shù)字電流表與“標(biāo)準(zhǔn)”數(shù)字電流表對(duì)比測(cè)試表標(biāo)準(zhǔn)電流值/A間易電流表測(cè)量值/A絕對(duì)誤差/
39、A0.000.000.002.002.010.014.004.000.006.006.020.028.008.010.0110.0010.010.01252412.0011.980.0214.0014.000.0016.0015.980.0220.0020.000.00從上表可以看出,簡(jiǎn)易數(shù)字電流表測(cè)得的值基本上比標(biāo)準(zhǔn)電壓值偏大0-0.02mA,這可以通過(guò)校正ADC0809 的基準(zhǔn)電壓來(lái)解決。因?yàn)樵撾娏鞅碓O(shè)計(jì)時(shí)直接用5A 的供電電源作為電壓,所以電壓可能有偏差。當(dāng)要測(cè)量電流大于 5V 所對(duì)應(yīng)的電流時(shí),可在輸入口使用分壓電阻,而程序中只要將計(jì)算程序 的除數(shù)進(jìn)行調(diào)整就可以了。5.總結(jié)這次的單片機(jī)設(shè)
40、計(jì),是把硬件和軟件結(jié)合起來(lái)的設(shè)計(jì),其硬件電路是比復(fù)雜的,需要足夠的耐心加細(xì)心,同時(shí)也需要一定的硬件知識(shí)基礎(chǔ)。只有這樣才能保證電路的成功。而且在這次設(shè)計(jì)中硬 件是基礎(chǔ),只有把基礎(chǔ)打好才會(huì)有更高的設(shè)計(jì)。硬件工作完成了就是解決程序設(shè)計(jì)的問(wèn)題,程序設(shè) 計(jì)是一個(gè)很靈活的東西,它反映了我們解決問(wèn)題的邏輯思維和創(chuàng)新能力,它是一個(gè)設(shè)計(jì)的靈魂所在。要設(shè)計(jì)一個(gè)成功的電路,必須要有耐心,要有堅(jiān)持的毅力。在整個(gè)電路的設(shè)計(jì)過(guò)程中,花費(fèi)時(shí)間最多的是各個(gè)單元電路的連接及電路的細(xì)節(jié)設(shè)計(jì)上,如在多種方案的選擇中,我們仔細(xì)比較分析 其原理以及可行的原因。這就要求我們對(duì)硬件系統(tǒng)中各組件部分有充分透徹的理解和研究,并能對(duì) 之靈活應(yīng)用。通過(guò)這次實(shí)訓(xùn),我在書本理論知識(shí)的基礎(chǔ)上又有了更深層次的理解。此次課程設(shè)計(jì),學(xué)到了很多課內(nèi)學(xué)不到的東西,比如獨(dú)立思考解決問(wèn)題,出現(xiàn)差錯(cuò)的隨機(jī)應(yīng)變, 和與人合作共同提高,都受益非淺。附錄 1 總電路原理圖及仿真圖252口BpEFG;嚴(yán)已3*TTITT即胖仿真圖附錄 2 源程序#in cludeun sig ned char code dispbitcode=0 x3f,0 x06,0 x5b,0 x4f,0 x66,0 x6d,0 x7d,0 x07,0 x7f,0 x6f;un sig ned char dispbuf4; un sig ned int i;un
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 局衛(wèi)生管理工作制度匯編
- 街道辦環(huán)境衛(wèi)生管理制度
- 醫(yī)療衛(wèi)生室管理制度
- 街道各衛(wèi)生管理制度
- 怎樣水衛(wèi)生管理制度
- 衛(wèi)生院老年病科管理制度
- 衛(wèi)生院平安建設(shè)制度
- 衛(wèi)生室冷藏藥品制度
- 衛(wèi)生院完整規(guī)章制度
- 衛(wèi)生院藥房工作管理制度
- 十年(2016-2025年)高考數(shù)學(xué)真題分類匯編:專題26 導(dǎo)數(shù)及其應(yīng)用解答題(原卷版)
- 2025年江蘇省常熟市中考物理試卷及答案詳解(名校卷)
- 靜脈輸液巡視制度課件
- 旅游景區(qū)商戶管理辦法
- 2025年甘肅省中考物理、化學(xué)綜合試卷真題(含標(biāo)準(zhǔn)答案)
- DLT5210.1-2021電力建設(shè)施工質(zhì)量驗(yàn)收規(guī)程第1部分-土建工程
- 機(jī)械設(shè)備租賃服務(wù)方案
- 樂(lè)理考試古今音樂(lè)對(duì)比試題及答案
- 電影放映年度自查報(bào)告
- 水泥窯協(xié)同處置危廢可行性研究報(bào)告
- 心內(nèi)介入治療護(hù)理
評(píng)論
0/150
提交評(píng)論