數(shù)字電壓表的設(shè)計(jì)與實(shí)現(xiàn)_第1頁(yè)
數(shù)字電壓表的設(shè)計(jì)與實(shí)現(xiàn)_第2頁(yè)
數(shù)字電壓表的設(shè)計(jì)與實(shí)現(xiàn)_第3頁(yè)
數(shù)字電壓表的設(shè)計(jì)與實(shí)現(xiàn)_第4頁(yè)
數(shù)字電壓表的設(shè)計(jì)與實(shí)現(xiàn)_第5頁(yè)
已閱讀5頁(yè),還剩35頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、. . . 國(guó) 家 示 性 高 等 職 業(yè) 院 校職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)(論文)題目:數(shù)字電壓表的設(shè)計(jì)與實(shí)現(xiàn) 姓 名 weihongji 學(xué) 號(hào)專 業(yè) 應(yīng)用電子技術(shù) 年 級(jí) 2009級(jí) 指導(dǎo)教師 黎 藝 華 完成時(shí)間 2011年11月18日職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)(論文)任 務(wù) 書電子電氣工程系(部)應(yīng)用電子技術(shù)專業(yè)2009應(yīng)用電子技術(shù)(1)班學(xué)生weihongji學(xué)號(hào)一、畢業(yè)設(shè)計(jì)(論文)題目:數(shù)字電壓表的設(shè)計(jì)與實(shí)現(xiàn)二、畢業(yè)設(shè)計(jì)(論文)工作規(guī)定進(jìn)行的日期:2011年11月1日起至2011年12月31日止三、畢業(yè)設(shè)計(jì)(論文)進(jìn)行地點(diǎn):職業(yè)技術(shù)學(xué)院四、任務(wù)書的容:目的:通過數(shù)字電壓表的設(shè)計(jì)與制作,鞏固數(shù)

2、電的知識(shí)點(diǎn),理論聯(lián)系實(shí)際,掌握數(shù)字電壓表原理、調(diào)試方法;掌握電子線路實(shí)際操作技能(焊接、測(cè)量、器件拆裝、萬用表等);訓(xùn)練整體分析的能力,以與故障排除的能力。具體目的是:掌握3位半數(shù)字電壓表的設(shè)計(jì)、組裝和調(diào)試方法;熟悉集成電路MC14433,MC1413,CD4511和MC1413的使用方法,并掌握其工作原理。任務(wù):1 計(jì)指標(biāo) 輸入基本量程:0±2VDC 精度:0.05%FS 測(cè)量速率>2次/秒 具有極性顯示,溢出報(bào)警 顯示器件可用LED數(shù)碼管 具有較強(qiáng)的常模干擾抑制能力設(shè)計(jì)要求 畫出電路原理圖(或仿真電路圖); 元器件與參數(shù)選擇; 電路仿真與調(diào)試; PCB文件生成與打印輸出。制

3、作要求 自行裝配和調(diào)試,并能發(fā)現(xiàn)問題和解決問題。編寫設(shè)計(jì)報(bào)告 寫出設(shè)計(jì)與制作的全過程,附上有關(guān)資料和圖紙,有心得體會(huì)。設(shè)計(jì)(論文)要求:要求提供以下設(shè)計(jì)資料,匯報(bào)設(shè)計(jì)與制作的全過程,附上有關(guān)資料和圖紙,有設(shè)計(jì)心得體會(huì)并裝訂成冊(cè):1.摘要(所做的設(shè)計(jì)如有特別之處,一定要挑明);2. 原理框圖3. 元器件明細(xì)表與參數(shù)選擇4. 各功能塊電路圖5. PCB文件生成與打印輸出6. 操作原理簡(jiǎn)要說明7.調(diào)試的結(jié)果是否滿足設(shè)計(jì)要求學(xué)生開始執(zhí)行任務(wù)書日期 200 年 月 日 指導(dǎo)教師簽名:年 月 日學(xué)生送交畢業(yè)設(shè)計(jì)(論文)日期: 200年 月 日 教研室主任簽名:年月日學(xué)生簽名:年月日目錄任務(wù)書 3前言 5第

4、一章 設(shè)計(jì)任務(wù)與要求91.1任務(wù)設(shè)計(jì) 91.2設(shè)計(jì)要求 91.3設(shè)計(jì)方案 9第二 相關(guān)設(shè)計(jì)元件說明10 2.1AT89C51單片機(jī)10 2.2 ADC0809數(shù)模轉(zhuǎn)換芯片14 2.3 12864液晶顯示屏18第三章 硬件系統(tǒng)的設(shè)計(jì)22 3.1硬件電路系統(tǒng)模塊的設(shè)計(jì) 22 3.2元器件清單25第四章 系統(tǒng)軟件的設(shè)計(jì)25 4.1匯編語言與C語言的特點(diǎn)與選擇25 4.2主程序設(shè)計(jì)26 4.3全部程序27 第五章 調(diào)試與性能分析32 5.1硬件調(diào)試 32 5.2軟件調(diào)試 33 5.3測(cè)試對(duì)比 33 5.性能分析 34第六章 總結(jié) 34 致 36第七章 主要參考文獻(xiàn) 36附錄 37 前 言數(shù)字電壓表(D

5、igital Voltmeter)簡(jiǎn)稱DVM,它是采用數(shù)字化測(cè)量技術(shù),把連續(xù)的模擬量(直流輸入電壓)轉(zhuǎn)換成不連續(xù)、離散的數(shù)字形式并加以顯示的儀表。如今隨著科學(xué)技術(shù)和相關(guān)電子行業(yè)的飛速發(fā)展數(shù)字電壓表,人們對(duì)電壓表等測(cè)量工具的要求也越來越高,傳統(tǒng)的指針式電壓表功能單一、精度低,讀取數(shù)據(jù)的時(shí)候也非常不方便,很容易出錯(cuò),已經(jīng)不能滿足數(shù)字化時(shí)代的需求,而采用單片機(jī)的數(shù)字電壓表,由精度高、抗干擾能力強(qiáng),可擴(kuò)展性強(qiáng)、集成方便,還可與PC進(jìn)行實(shí)時(shí)通信。目前,由各種單片A/D 轉(zhuǎn)換器構(gòu)成的數(shù)字電壓表,已被廣泛用于電子與電工測(cè)量、工業(yè)自動(dòng)化儀表、自動(dòng)測(cè)試系統(tǒng)等智能化測(cè)量領(lǐng)域,示出強(qiáng)大的生命力。與此同時(shí),由DVM擴(kuò)

6、展而成的各種通用與專用數(shù)字儀器儀表,也把電量與非電量測(cè)量技術(shù)提高到嶄新水平。到今天為止,數(shù)字電壓表的發(fā)展已經(jīng)是非常的成熟,就原理上來講它從原來的一兩種發(fā)展到今天的多種,在功能上來講它從測(cè)單一參數(shù)發(fā)展到測(cè)多種參數(shù);從制作元件需求來說已經(jīng)發(fā)展到了集成電路;準(zhǔn)確度應(yīng)經(jīng)有了很大的提高,功能越來越強(qiáng)大,價(jià)格也越來越低。數(shù)字電壓表的基本工作原理是利用A/D轉(zhuǎn)換電路將待測(cè)的模擬信號(hào)轉(zhuǎn)換成數(shù)字信號(hào),通過相應(yīng)換算后將測(cè)試結(jié)果以數(shù)字形式顯示出來的一種電壓表。較之于一般的模擬電壓表,數(shù)字電壓表具有精度高、測(cè)量準(zhǔn)確、讀數(shù)直觀、使用方便等優(yōu)點(diǎn)。電壓表的數(shù)字化測(cè)量,關(guān)鍵在于如何把隨時(shí)連續(xù)變化的模擬量轉(zhuǎn)化成數(shù)字量,完成這種

7、轉(zhuǎn)換的電路叫模數(shù)轉(zhuǎn)換器(A/D)。數(shù)字電壓表的核心部件就是A/D轉(zhuǎn)換器,由于各種不同的A/D轉(zhuǎn)換原理構(gòu)成了各種不同類型的數(shù)字電壓表。一般說來,A/D轉(zhuǎn)換的方式可分為兩類:積分式和逐次逼近式。積分式A/D轉(zhuǎn)換器是先用積分器將輸入的模擬電壓轉(zhuǎn)換成時(shí)間或頻率,再將其數(shù)字化。根據(jù)轉(zhuǎn)化的中間量不同,它又分為U-T(電壓-時(shí)間)式和U-F(電壓-頻率)式兩種。逐次逼近式A/D轉(zhuǎn)換器分為比較式和斜坡電壓式,根據(jù)不同的工作原理,比較式又分為逐次比較式與零平衡式等。斜坡電壓式又分為線性斜坡式和階梯斜坡式兩種。過去電壓表經(jīng)歷了很多的轉(zhuǎn)變過程,傳統(tǒng)的指針式電壓表功能單一、精確度低,不能滿足數(shù)字化時(shí)代的需求,采用單片

8、機(jī)的數(shù)字電壓表,由于精度高、抗干擾能力強(qiáng),可擴(kuò)展性強(qiáng)、集成方便,還與PC進(jìn)行實(shí)時(shí)通信。目前,由各種單片機(jī)A/D轉(zhuǎn)換器構(gòu)成的數(shù)字電壓表,已被廣泛用于電子與電工測(cè)量、工業(yè)自動(dòng)化儀表、自動(dòng)測(cè)試系統(tǒng)等智能化測(cè)量領(lǐng)域,顯示出強(qiáng)大的生命力。與此同時(shí),有DVM擴(kuò)展而成的各種通用與專用數(shù)字儀器儀表,也把電量與非電量測(cè)量技術(shù)提高到嶄新新水平。數(shù)字電壓表是諸多數(shù)字化儀表的核心與基礎(chǔ),電壓表的數(shù)字化是將連續(xù)的模擬量,如直流電壓轉(zhuǎn)換成不連續(xù)的離散的數(shù)字形式并加以顯示,這有別于傳統(tǒng)的以指針式加刻度盤進(jìn)行讀數(shù)的方法,避免了讀數(shù)的視差和視覺疲勞。目前數(shù)字電壓表的部核心部件是A/D轉(zhuǎn)換器,轉(zhuǎn)換器的精度很大程度上影響著數(shù)字電壓

9、表的準(zhǔn)確度,本文A/D轉(zhuǎn)換器采用ADC0809對(duì)輸入模擬信號(hào)進(jìn)行轉(zhuǎn)換,控制核心AT89C51再對(duì)轉(zhuǎn)換的結(jié)果進(jìn)行運(yùn)算和處理,最后驅(qū)動(dòng)輸出裝置顯示數(shù)字電壓信號(hào)。數(shù)字是電壓表是由高阻抗電壓表頭與分壓電路組成的。數(shù)字式電壓表的等效輸入電阻通常在200M歐以上,滿量程時(shí)所流經(jīng)的電流與量程有關(guān),通常在1PA至100微安之間。數(shù)字電壓表是當(dāng)前電子、電工、儀器、儀表和測(cè)量領(lǐng)域大量使用的一種基本測(cè)量工具有關(guān)數(shù)字電壓表的書籍和應(yīng)用已經(jīng)非常普與了。數(shù)字電壓表的設(shè)計(jì)和開發(fā),已經(jīng)有很多類型和款式。傳統(tǒng)的數(shù)字電壓表各有各的特點(diǎn),它們適合在現(xiàn)場(chǎng)做手工測(cè)量,要完成遠(yuǎn)程測(cè)量并要對(duì)測(cè)量數(shù)據(jù)做進(jìn)一步處理,傳統(tǒng)數(shù)字電壓表是無法完成的

10、。然后基于PC通信的數(shù)字電壓表,既可以完成測(cè)量數(shù)據(jù)的傳遞,又可以借助PC做測(cè)量數(shù)據(jù)的處理。所以這種類型的數(shù)字電壓表無論在功能和實(shí)際上,都具有傳統(tǒng)數(shù)字電壓表無法比擬的特點(diǎn),這使得它的開發(fā)和引用具有良好的前景。容摘要 在現(xiàn)代檢測(cè)技術(shù)中,我們常需用高精度的數(shù)字電壓表進(jìn)行現(xiàn)場(chǎng)電壓檢測(cè),然后將檢測(cè)到的數(shù)據(jù)導(dǎo)入微計(jì)算機(jī)系統(tǒng)中,完成計(jì)算、存儲(chǔ)、控制和顯示等功能。數(shù)字電壓表的基本工作原理是利用A/D轉(zhuǎn)換電路將待測(cè)的模擬信號(hào)轉(zhuǎn)換成數(shù)字信號(hào),通過相應(yīng)換算后將測(cè)試結(jié)果以數(shù)字形式顯示出來的一種電壓表。較之于一般的模擬電壓表,數(shù)字電壓表具有精度高、測(cè)量準(zhǔn)確、讀數(shù)直觀、使用方便等優(yōu)點(diǎn)。在這個(gè)設(shè)計(jì)中我們采用了以AT89C5

11、1單片機(jī)為核心,以逐次比較型A/D轉(zhuǎn)換器ADC8090、12864液晶顯示器為主體,構(gòu)造了一款簡(jiǎn)易的數(shù)字電壓表,該系統(tǒng)的數(shù)字電壓表電路簡(jiǎn)單,所用到的元件較少,作品體積小,成本低,使用簡(jiǎn)單方便等。關(guān)鍵詞AT89C51單片機(jī)ADC8090數(shù)模轉(zhuǎn)換器 12864液晶顯示器 數(shù)字電壓表第一章 設(shè)計(jì)任務(wù)與要求1.1設(shè)計(jì)任務(wù)我們選擇單片機(jī)與A/D轉(zhuǎn)換芯片結(jié)合的方法實(shí)現(xiàn)本設(shè)計(jì)。使用的基本元器件是:AT89C51單片機(jī),ADC0809模數(shù)轉(zhuǎn)換芯片,12864液晶顯示器,開關(guān),按鍵,電容,電阻,晶振,標(biāo)準(zhǔn)電源等等。1.2設(shè)計(jì)要求 輸入基本量程:0±2VDC 精度:0.05%FS 測(cè)量速率>2次/

12、秒 通過按鍵可以顯示5秒的平均電壓的電壓值1.3設(shè)計(jì)方案設(shè)計(jì)的基本框圖如下:?jiǎn)纹瑱C(jī)系統(tǒng)模塊1602液晶顯示模塊A/D轉(zhuǎn)換模塊輸入電路模塊按鍵模塊第二章 相關(guān)設(shè)計(jì)元件說明在這個(gè)設(shè)計(jì)中我們使用的主要元器件是:AT89C51單片機(jī),TLC2543模數(shù)轉(zhuǎn)換芯片,1602液晶顯示器,下面是這些元件的詳細(xì)資料:2.1 AT89C51單片機(jī)2.1(1)管腳說明:VCC:供電電壓。 GND:接地。 P0口:P0口為一個(gè)8位漏級(jí)開路雙向I/O口,每腳可吸收8TTL門電流。當(dāng)P1口的管腳第一次寫1時(shí),被定義為高阻輸入。P0能夠用于外部程序數(shù)據(jù)存儲(chǔ)器,它可以被定義為數(shù)據(jù)/地址的第八位。在FIASH編程時(shí),P0 口作

13、為原碼輸入口,當(dāng)FIASH進(jìn)行校驗(yàn)時(shí),P0輸出原碼,此時(shí)P0外部必須被拉高。 P1口:P1口是一個(gè)部提供上拉電阻的8位雙向I/O口,P1口緩沖器能接收輸出4TTL門電流。P1口管腳寫入1后,被部上拉為高,可用作輸入,P1口被外部下拉為低電平時(shí),將輸出電流,這是由于部上拉的緣故。在FLASH編程和校驗(yàn)時(shí),P1口作為第八位地址接收。 P2口:P2口為一個(gè)部上拉電阻的8位雙向I/O口,P2口緩沖器可接收,輸出4個(gè)TTL門電流,當(dāng)P2口被寫“1”時(shí),其管腳被部上拉電阻拉高,且作為輸入。并因此作為輸入時(shí),P2口的管腳被外部拉低,將輸出電流。這是由于部上拉的緣故。P2口當(dāng)用于外部程序存儲(chǔ)器或16位地址外部

14、數(shù)據(jù)存儲(chǔ)器進(jìn)行存取時(shí),P2口輸出地址的高八位。在給出地址“1”時(shí),它利用部上拉優(yōu)勢(shì),當(dāng)對(duì)外部八位地址數(shù)據(jù)存儲(chǔ)器進(jìn)行讀寫時(shí),P2口輸出其特殊功能寄存器的容。P2口在FLASH編程和校驗(yàn)時(shí)接收高八位地址信號(hào)和控制信號(hào)。 P3口:P3口管腳是8個(gè)帶部上拉電阻的雙向I/O口,可接收輸出4個(gè)TTL門電流。當(dāng)P3口寫入“1”后,它們被部上拉為高電平,并用作輸入。作為輸入,由于外部下拉為低電平,P3口將輸出電流(ILL)這是由于上拉的緣故。 P3口也可作為AT89C51的一些特殊功能口,如下表所示: 2.1(2)接口管腳備選功能介紹:P3.0 RXD(串行輸入口) P3.1 TXD(串行輸出口) P3.2

15、/INT0(外部中斷0) P3.3 /INT1(外部中斷1) P3.4 T0(記時(shí)器0外部輸入) P3.5 T1(記時(shí)器1外部輸入) P3.6 /WR(外部數(shù)據(jù)存儲(chǔ)器寫選通) P3.7 /RD(外部數(shù)據(jù)存儲(chǔ)器讀選通) P3口同時(shí)為閃爍編程和編程校驗(yàn)接收一些控制信號(hào)。 RST:復(fù)位輸入。當(dāng)振蕩器復(fù)位器件時(shí),要保持RST腳兩個(gè)機(jī)器周期的高電平時(shí)間。 ALE/PROG:當(dāng)訪問外部存儲(chǔ)器時(shí),地址鎖存允許的輸出電平用于鎖存地址的地位字節(jié)。在FLASH編程期間,此引腳用于輸入編程脈沖。在平時(shí),ALE端以不變的頻率周期輸出正脈沖信號(hào),此頻率為振蕩器頻率的1/6。因此它可用作對(duì)外部輸出的脈沖或用于定時(shí)目的。然

16、而要注意的是:每當(dāng)用作外部數(shù)據(jù)存儲(chǔ)器時(shí),將跳過一個(gè)ALE脈沖。如想禁止ALE的輸出可在SFR8EH地址上置0。此時(shí), ALE只有在執(zhí)行MOVX,MOVC指令是ALE才起作用。另外,該引腳被略微拉高。如果微處理器在外部執(zhí)行狀態(tài)ALE禁止,置位無效。 /PSEN:外部程序存儲(chǔ)器的選通信號(hào)。在由外部程序存儲(chǔ)器取指期間,每個(gè)機(jī)器周期兩次/PSEN有效。但在訪問外部數(shù)據(jù)存儲(chǔ)器時(shí),這兩次有效的/PSEN信號(hào)將不出現(xiàn)。 /EA/VPP:當(dāng)/EA保持低電平時(shí),則在此期間外部程序存儲(chǔ)器(0000H-FFFFH),不管是否有部程序存儲(chǔ)器。注意加密方式1時(shí),/EA將部鎖定為RESET;當(dāng)/EA端保持高電平時(shí),此間部

17、程序存儲(chǔ)器。在FLASH編程期間,此引腳也用于施加12V編程電源(VPP)。 XTAL1:反向振蕩放大器的輸入與部時(shí)鐘工作電路的輸入。 XTAL2:來自反向振蕩器的輸出。芯片擦除:整個(gè)PEROM陣列和三個(gè)鎖定位的電擦除可通過正確的控制信號(hào)組合,并保持ALE管腳處于低電平10ms 來完成。在芯片擦操作中,代碼陣列全被寫“1”且在任何非空存儲(chǔ)字節(jié)被重復(fù)編程以前,該操作必須被執(zhí)行。 此外,AT89C51設(shè)有穩(wěn)態(tài)邏輯,可以在低到零頻率的條件下靜態(tài)邏輯,支持兩種軟件可選的掉電模式。在閑置模式下,CPU停止工作。但RAM,定時(shí)器,計(jì)數(shù)器,串口和中斷系統(tǒng)仍在工作。在掉電模式下,保存RAM的容并且凍結(jié)振蕩器,

18、禁止所用其他芯片功能,直到下一個(gè)硬件復(fù)位為止。 2.2 ADC0890模數(shù)轉(zhuǎn)換芯片 ADC0809介紹ADC0809是帶有8位A/D轉(zhuǎn)換器、8路多路開關(guān)以與微處理機(jī)兼容的控制邏輯的CMOS組件。它是逐次逼近式A/D轉(zhuǎn)換器,可以和單片機(jī)直接接口。1.主要技術(shù)指標(biāo)和特性(1)分辨率:8位。(2)總的不可調(diào)誤差:ADC0809為±1LSB。(3)轉(zhuǎn)換時(shí)間:取決于芯片時(shí)鐘頻率, 如CLK=500kHz時(shí),TCONV=128s。(4)單一電源:+5V。(5)模擬輸入電壓圍:?jiǎn)螛O性05V;雙極性±5V,±10V(需外加一定電路)。(6)具有可控三態(tài)輸出緩存器。(7)啟動(dòng)轉(zhuǎn)換控

19、制為脈沖式(正脈沖),上升沿使所有部寄存器清零,下降沿使A/D轉(zhuǎn)換開始。(8)使用時(shí)不需進(jìn)行零點(diǎn)和滿刻度調(diào)節(jié)。ADC0809的部邏輯結(jié)構(gòu) 圖2.1 ADC0809的部邏輯結(jié)構(gòu)上圖可知,ADC0809由一個(gè)8路模擬開關(guān)、一個(gè)地址鎖存與譯碼器、一個(gè)A/D轉(zhuǎn)換器和一個(gè)三態(tài)輸出鎖存器組成。多路開關(guān)可選通8個(gè)模擬通道,允許8路模擬量分時(shí)輸入,共用A/D轉(zhuǎn)換器進(jìn)行轉(zhuǎn)換。三態(tài)輸出鎖器用于鎖存A/D轉(zhuǎn)換完的數(shù)字量,當(dāng)OE端為高電平時(shí),才可以從三態(tài)輸出鎖存器取走轉(zhuǎn)換完的數(shù)據(jù)。引腳結(jié)構(gòu) 圖2.2 ADC0809引腳結(jié)構(gòu)圖IN0IN7:8條模擬量輸入通道 ADC0809對(duì)輸入模擬量要求:信號(hào)單極性,電壓圍是05V,

20、若信號(hào)太小,必須進(jìn)行放大;輸入的模擬量在轉(zhuǎn)換過程中應(yīng)該保持不變,如若模擬量變化太快,則需在輸入前增加采樣保持電路。 地址輸入和控制線:4條 ALE為地址鎖存允許輸入線,高電平有效。當(dāng)ALE線為高電平時(shí),地址鎖存與譯碼器將A,B,C三條地址線的地址信號(hào)進(jìn)行鎖存,經(jīng)譯碼后被選中的通道的模擬量進(jìn)轉(zhuǎn)換器進(jìn)行轉(zhuǎn)換。A,B和C為地址輸入線,用于選通IN0IN7上的一路模擬量輸入。通道選擇表如下表所示。表2.3 地址輸入線的通道選擇CBA選擇的通道000IN0001IN1010IN2011IN3100IN4101IN5110IN6111IN7數(shù)字量輸出與控制線:11條 ST為轉(zhuǎn)換啟動(dòng)信號(hào)。當(dāng)ST上跳沿時(shí),所

21、有部寄存器清零;下跳沿時(shí),開始進(jìn)行A/D轉(zhuǎn)換;在轉(zhuǎn)換期間,ST應(yīng)保持低電平。EOC為轉(zhuǎn)換結(jié)束信號(hào)。當(dāng)EOC為高電平時(shí),表明轉(zhuǎn)換結(jié)束;否則,表明正在進(jìn)行A/D轉(zhuǎn)換。OE為輸出允許信號(hào),用于控制三條輸出鎖存器向單片機(jī)輸出轉(zhuǎn)換得到的數(shù)據(jù)。OE1,輸出轉(zhuǎn)換得到的數(shù)據(jù);OE0,輸出數(shù)據(jù)線呈高阻狀態(tài)。D7D0為數(shù)字量輸出線。 CLK為時(shí)鐘輸入信號(hào)線。因ADC0809的部沒有時(shí)鐘電路,所需時(shí)鐘信號(hào)必須由外界提供,通常使用頻率為500KHZ, VREF(),VREF()為參考電壓輸入。 ADC0809應(yīng)用說明:(1) ADC0809部帶有輸出鎖存器,可以與AT89S51單片機(jī)直接相連。 (2) 初始化時(shí),使S

22、T和OE信號(hào)全為低電平。 (3) 送要轉(zhuǎn)換的哪一通道的地址到A,B,C端口上。 (4) 在ST端給出一個(gè)至少有100ns寬的正脈沖信號(hào)。 (5) 是否轉(zhuǎn)換完畢,我們根據(jù)EOC信號(hào)來判斷。 (6) 當(dāng)EOC變?yōu)楦唠娖綍r(shí),這時(shí)給OE為高電平,轉(zhuǎn)換的數(shù)據(jù)就輸出給單片機(jī)了。2.3 12864液晶顯示屏1. 12864液晶接線原理(1)串口接口信號(hào)說明:(2)并口接口說明管腳號(hào)管腳名稱電平管腳功能描述1VSS0V電源地2VCC3.0+5V電源正3V0-對(duì)比度(亮度)調(diào)整4RS(CS)H/LRS=“H”,表示DB7DB0為顯示數(shù)據(jù)RS=“L”,表示DB7DB0為顯示指令數(shù)據(jù)5R/W(SID)H/LR/W=

23、“H”,E=“H”,數(shù)據(jù)被讀到DB7DB0R/W=“L”,E=“HL”, DB7DB0的數(shù)據(jù)被寫到IR或DR6E(SCLK)H/L使能信號(hào)7DB0H/L三態(tài)數(shù)據(jù)線8DB1H/L三態(tài)數(shù)據(jù)線9DB2H/L三態(tài)數(shù)據(jù)線10DB3H/L三態(tài)數(shù)據(jù)線11DB4H/L三態(tài)數(shù)據(jù)線12DB5H/L三態(tài)數(shù)據(jù)線13DB6H/L三態(tài)數(shù)據(jù)線14DB7H/L三態(tài)數(shù)據(jù)線15PSBH/LH:8位或4位并口方式,L:串口方式(見注釋1)16NC-空腳17/RESETH/L復(fù)位端,低電平有效(見注釋2)18VOUT-LCD驅(qū)動(dòng)電壓輸出端19AVDD背光源正端(+5V)(見注釋3)20KVSS背光源負(fù)端(見注釋3)2.控制器接口信號(hào)

24、說明:(1)E信號(hào)E狀態(tài)執(zhí)行動(dòng)作結(jié)果高>低I/O緩沖>DR配合/W進(jìn)行寫數(shù)據(jù)或指令高DR>I/O緩沖配合R進(jìn)行讀數(shù)據(jù)或指令低/低>高無動(dòng)作(2)RS,R/W的配合選擇決定控制界面的4種模式:RSR/W功能說明LLMPU寫指令到指令暫存器(IR)LH讀出忙標(biāo)志(BF)與地址記數(shù)器(AC)的狀態(tài)HLMPU寫入數(shù)據(jù)到數(shù)據(jù)暫存器(DR)HHMPU從數(shù)據(jù)暫存器(DR)中讀出數(shù)據(jù)(3) 指令表1說明:(RE=0:基本指令)指令指 令 碼功 能RSR/WD7D6D5D4D3D2D1D0清除顯示0000000001將DDRAM填滿"20H",并且設(shè)定DDRAM的地址

25、計(jì)數(shù)器(AC)到"00H"地址歸位000000001X設(shè)定DDRAM的地址計(jì)數(shù)器(AC)到"00H",并且將游標(biāo)移到開頭原點(diǎn)位置;這個(gè)指令不改變DDRAM 的容顯示狀態(tài)開/關(guān)0000001DCBD=1:整體顯示ONC=1:游標(biāo)ONB=1:游標(biāo)位置反白允許進(jìn)入點(diǎn)設(shè)定00000001I/DS指定在數(shù)據(jù)的讀取與寫入時(shí),設(shè)定游標(biāo)的移動(dòng)方向與指定顯示的移位游標(biāo)或顯示移位控制000001S/CR/LXX設(shè)定游標(biāo)的移動(dòng)與顯示的移位控制位;這個(gè)指令不改變DDRAM 的容功能設(shè)定00001DLXREXXDL=0/1:4/8位數(shù)據(jù)RE=1:擴(kuò)充指令操作RE=0:基本指令操作

26、設(shè)定CGRAM地址0001AC5AC4AC3AC2AC1AC0設(shè)定CGRAM 地址設(shè)定DDRAM地址0010AC5AC4AC3AC2AC1AC0設(shè)定DDRAM 地址(顯示位址)第一行:80H87H第二行:90H97H讀取忙標(biāo)志和地址01BFAC6AC5AC4AC3AC2AC1AC0讀取忙標(biāo)志(BF)可以確認(rèn)部動(dòng)作是否完成,同時(shí)可以讀出地址計(jì)數(shù)器(AC)的值寫數(shù)據(jù)到RAM10數(shù)據(jù)將數(shù)據(jù)D7D0寫入到部的RAM (DDRAM/CGRAM/IRAM/GRAM)讀出RAM的值11數(shù)據(jù)從部RAM讀取數(shù)據(jù)D7D0(DDRAM/CGRAM/IRAM/GRAM)指令表2:(RE=1:擴(kuò)充指令)指令指 令 碼功

27、 能RSR/WD7D6D5D4D3D2D1D0待命模式0000000001進(jìn)入待命模式,執(zhí)行其他指令都棵終止待命模式卷動(dòng)地址開關(guān)開啟000000001SRSR=1:允許輸入垂直卷動(dòng)地址SR=0:允許輸入IRAM和CGRAM地址反白選擇00000001R1R0選擇2行中的任一行作反白顯示,并可決定反白與否。初始值R1R000,第一次設(shè)定為反白顯示,再次設(shè)定變回正常睡眠模式0000001SLXXSL=0:進(jìn)入睡眠模式SL=1:脫離睡眠模式擴(kuò)充功能設(shè)定00001CLXREG0CL=0/1:4/8位數(shù)據(jù)RE=1:擴(kuò)充指令操作RE=0:基本指令操作G=1/0:繪圖開關(guān)設(shè)定繪圖RAM地址0010AC60A

28、C50AC4AC3AC3AC2AC2AC1AC1AC0AC0設(shè)定繪圖RAM先設(shè)定垂直(列)地址AC6AC5AC0再設(shè)定水平(行)地址AC3AC2AC1AC0將以上16位地址連續(xù)寫入即可第三章 硬件系統(tǒng)的設(shè)計(jì)3.1 硬件電路系統(tǒng)模塊的設(shè)計(jì)(1)單片機(jī)系統(tǒng) (2) 按鍵電路(3)12864液晶電路(4)ADC0809的電路原理圖(5)ADC0809與單片機(jī)的連接圖(6)ADC0809電路的PCB圖3.2元器件清單元器件清單元件名稱數(shù)量參數(shù)型號(hào)/規(guī)格STC89C521塊ADC08091塊電阻3個(gè)10K 10K 1K1/4W電容3個(gè)20pF 0.1電解電容發(fā)光二極管1個(gè)TOPLED5050NE5551

29、塊排針若干第四章 系統(tǒng)軟件的設(shè)計(jì)4.1匯編語言和C語言的特點(diǎn)與選擇本設(shè)計(jì)是硬件電路和軟件編程相結(jié)合的設(shè)計(jì)方案,選擇合適的編程語言是一個(gè)重要的環(huán)節(jié)。在單片機(jī)的應(yīng)用系統(tǒng)程序設(shè)計(jì)時(shí),常用的是匯編語言和C語言。匯編語言的特點(diǎn)是占用存單元少,執(zhí)行效率高。執(zhí)行速度快。但它依賴于計(jì)算機(jī)硬件,程序可讀性和可移植性比較差。而C語言雖然執(zhí)行效率沒有匯編語言高,但語言簡(jiǎn)潔,使用方便,靈活,運(yùn)算豐富,表達(dá)化類型多樣化,數(shù)據(jù)結(jié)構(gòu)類型豐富,具有結(jié)構(gòu)化的控制語句,程序設(shè)計(jì)自由度大,有很好的可重用性,可移植性等特點(diǎn)。由于現(xiàn)在單片機(jī)的發(fā)展已經(jīng)達(dá)到了很高的水平,部的各種資源相當(dāng)?shù)呢S富,CPU的處理速度非常的快。用C語言來控制單片

30、機(jī)無疑是一個(gè)理想的選擇。所以在本設(shè)計(jì)中采用C語言編寫軟件程序。4.2 主程序設(shè)計(jì)主程序設(shè)計(jì)包括以下方面:按照硬件電路對(duì)單片機(jī)位定義。編寫延時(shí)模塊程序。編寫驅(qū)動(dòng)1602液晶顯示模塊程序。編寫驅(qū)動(dòng)A/D轉(zhuǎn)換模塊程序。編寫鍵盤掃描模塊程序。主程序的總體流程如下圖:開始對(duì)液晶,定時(shí)器初始化A/D轉(zhuǎn)換數(shù)據(jù)轉(zhuǎn)換顯示瞬時(shí)電壓值鍵盤判斷顯示5秒的平均電壓值3秒后清屏4.3全部軟件程序如下:#include<reg52.h>#define uint unsigned int#define uchar unsigned charuint get_result;sbit st=P32;sbit eoc=

31、P33;sbit oe=P34; sbit e_clk=P37; /串行時(shí)鐘信號(hào)sbit rw_sid=P36; /串行數(shù)據(jù)線void delay_50ms(uint j)uint i;for(;j>0;j-)for(i=6245;i>0;i-);void delay_50us(uint j)uint i;for(;j>0;j-)for(i=19;i>0;i-);/串行發(fā)送一字節(jié)數(shù)據(jù)void send_byte(uchar dat)uchar i;for(i=0;i<8;i+)e_clk=0;if(dat&0x80)/讀取最高位的值如果是1則rw_sid為

32、1,否則rw_sid為0;rw_sid=1;elserw_sid=0; e_clk=1;dat=dat<<1; /右移一位/寫控制命令分三個(gè)字節(jié)寫 void write_(uchar dat) send_byte(0xF8);/串口控制格式 1111 1000 RW=0,RS=0 RW=0表示數(shù)據(jù)從MCU寫到LCD RS=0表示數(shù)據(jù)是控制指令 send_byte(dat&0xF0);/并行8位數(shù)據(jù)高4位格式 1111 0000 低四位置0 RW=1表示數(shù)據(jù)從LCD寫到MCD RS=1表示顯示數(shù)據(jù) send_byte(dat&0x0F)<<4);/并行8位

33、數(shù)據(jù)低4位格式 高四位置0 0000 1111 左移4位后位1111 0000 /寫顯示數(shù)據(jù)或單字節(jié)字符 void write_data(uchar dat) send_byte(0xFA);/1111 1010 RW=0,RS=1 send_byte(dat&0xF0);/高四位send_byte(dat&0x0F)<<4);/低四位void disp_line(uchar n,uchar m,uchar *s) /寫字符在哪行那列switch(n)case 1:write_(0x80+m-1);break;case 2:write_(0x90+m-1);brea

34、k;case 3:write_(0x88+m-1);break;case 4:write_(0x98+m-1);break;default:;while(*s>0)write_data(*s);s+;delay_50us(1);/初始化 LCM void init_12864(void) delay_50us(100); /初始化等待時(shí)間40ms write_(0x30);/功能設(shè)置,一次送8位數(shù)據(jù),基本指令集 delay_50us(3);/等待是間要大于100個(gè)uswrite_(0x30);/功能設(shè)置,一次送8位數(shù)據(jù),基本指令集 delay_50us(2);/等待是間要大于37個(gè)us

35、write_(0x0C);/0000,1100 整體顯示,游標(biāo)off,游標(biāo)位置off delay_50us(3);/等待是間要大于37個(gè)us write_(0x01);/0000,0001 清屏 delay_50us(200);/等待時(shí)間大于10mswrite_(0x06);/0000,0010 DDRAM地址歸位 delay_50us(10);void init_ADC0809()oe=1;st=0;oe=0; void consersion(uchar add,uint num)/分離常數(shù)uchar temp,hundred,ten,entries;temp=num/100;hundred

36、=temp;temp=num%100;ten=temp/10;temp=num%10;entries=temp;write_(add);write_data(hundred+0x30);write_data('.');write_data(ten+0x30);write_data(entries+0x30);write_data('V');void main()init_12864();init_ADC0809();disp_line(1,3,"5V電壓表");disp_line(4,2,"電壓值:");while(1)s

37、t=1;delay_50us(10);st=0;while(eoc=0)get_result=P1;oe=1;consersion(0x9d,get_result*1.96);第五章 調(diào)試與性能分析完成了系統(tǒng)的硬件設(shè)計(jì),制作和軟件編程之后,要使系統(tǒng)能夠按設(shè)計(jì)意圖正常運(yùn)行,必須進(jìn)行系統(tǒng)調(diào)試。調(diào)試分了硬件和軟件調(diào)試。5.1硬件調(diào)試硬件調(diào)試的主要任務(wù)是排除硬件故障,其中包括設(shè)計(jì)的錯(cuò)誤和工藝性故障等。1.檢查所設(shè)計(jì)的硬件電路板所有的器件和引腳是否正確,尤其是電源的連接是否正確;檢查各總線是否有短路的故障。檢查開關(guān)/按鍵是否正常,是否連接正確,確保AD轉(zhuǎn)換芯片ADC0809與51單片機(jī)的連接正確。2.檢

38、查好后給單片機(jī)和相關(guān)硬件上電進(jìn)行調(diào)試,檢查各接口是否滿足設(shè)計(jì)的要求,有正常的程序測(cè)試硬件電路的好壞。3.對(duì)實(shí)際電壓進(jìn)行測(cè)試,對(duì)照測(cè)試的效果。5.2軟件調(diào)試軟件調(diào)試的任務(wù)是利用開發(fā)工具進(jìn)行在線仿真調(diào)試,發(fā)現(xiàn)和糾正程序的錯(cuò)誤,同時(shí)也能發(fā)現(xiàn)硬件的故障。軟件調(diào)試是一個(gè)模塊一個(gè)模塊進(jìn)行的。首先單獨(dú)調(diào)試各子程序是否能夠按照預(yù)期的功能,接口電路的控制是否正常。最后調(diào)試整個(gè)程序。尤其注意的是各模塊間能否正確的傳遞參數(shù)。1. 對(duì)程序進(jìn)行仿真處理,糾正程序中出現(xiàn)的錯(cuò)誤并對(duì)相應(yīng)的數(shù)據(jù)進(jìn)行核對(duì)修改。2.程序仿真成功后,將其下載至51單片機(jī)中,并對(duì)12864液晶顯示屏進(jìn)行顯示。3.檢查A/D轉(zhuǎn)換模塊程序??梢栽谟布娐?/p>

39、的輸入端輸入已知的幾個(gè)電壓,分別觀察液晶上是否顯示相應(yīng)的電壓值。5.3測(cè)試對(duì)比采用Keil編譯器進(jìn)行源程序編譯與仿真調(diào)試,同時(shí)進(jìn)行硬件電路板的設(shè)計(jì)制作,燒錄好程序后進(jìn)行軟硬件聯(lián)調(diào),最后進(jìn)行端口電壓的對(duì)比測(cè)試測(cè)試對(duì)比表如表1所列。表1簡(jiǎn)易數(shù)字電壓表與“標(biāo)準(zhǔn)”數(shù)字電壓表對(duì)比測(cè)試表標(biāo)準(zhǔn)電壓值/V0.000.651.351.932.463.123.894.534.90簡(jiǎn)易電壓表測(cè)得值/V 0.00 0.66 1.37 1.95 2.47 3.13 3.90 4.54 4.92絕對(duì)誤差/V0.00+0.01+0.02+0.02+0.01+0.01+0.01+0.01+0.02從表1中可以看出,簡(jiǎn)易數(shù)字電壓表與“標(biāo)準(zhǔn)”數(shù)字電壓表測(cè)得的絕對(duì)誤差均在0.02V以,這與采用A/D轉(zhuǎn)換器所能達(dá)到的理論誤差精度相一致,在一般的應(yīng)用場(chǎng)合可完全滿足要求。5.4性能分析(1)由于單片機(jī)為8位處理器,當(dāng)輸入電壓為5.00V時(shí),ADC0809輸出數(shù)據(jù)值為255,因此單片機(jī)最高的數(shù)值分辨率為0.0196V。這就決定了該電壓表的最高分辨率只能達(dá)到0.0196V,測(cè)試時(shí)電壓一般以

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論