基于單片機(jī)的直流電壓檢測(cè)系統(tǒng)設(shè)計(jì)-課程設(shè)計(jì)說(shuō)明書_第1頁(yè)
基于單片機(jī)的直流電壓檢測(cè)系統(tǒng)設(shè)計(jì)-課程設(shè)計(jì)說(shuō)明書_第2頁(yè)
基于單片機(jī)的直流電壓檢測(cè)系統(tǒng)設(shè)計(jì)-課程設(shè)計(jì)說(shuō)明書_第3頁(yè)
基于單片機(jī)的直流電壓檢測(cè)系統(tǒng)設(shè)計(jì)-課程設(shè)計(jì)說(shuō)明書_第4頁(yè)
基于單片機(jī)的直流電壓檢測(cè)系統(tǒng)設(shè)計(jì)-課程設(shè)計(jì)說(shuō)明書_第5頁(yè)
已閱讀5頁(yè),還剩15頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

山東建筑大學(xué)課程設(shè)計(jì)說(shuō)明書題目:基于單片機(jī)的直流電壓檢測(cè)系統(tǒng)設(shè)計(jì)課程:?jiǎn)纹瑱C(jī)原理及應(yīng)用B課程設(shè)計(jì)院〔部〕:信息與電氣工程學(xué)院專業(yè):班級(jí):學(xué)生姓名:學(xué)號(hào):指導(dǎo)教師:完成日期:2023年6月TOC\o"1-3"\h\u3106摘要I226711設(shè)計(jì)目的1195162設(shè)計(jì)要求265393設(shè)計(jì)內(nèi)容3243283.1單片機(jī)電壓測(cè)量系統(tǒng)的總體設(shè)計(jì)3212483.1.1硬件選擇49583.1.2軟件選擇452353.2硬件電路的設(shè)計(jì)41495輸入電路模塊設(shè)計(jì)41587LM7805穩(wěn)壓電源電路介紹5268113.2.3顯示模塊電路設(shè)計(jì)6129903.2.4A/D轉(zhuǎn)換設(shè)計(jì)7272843.2.5單片機(jī)模塊的簡(jiǎn)介93563.3系統(tǒng)軟件的設(shè)計(jì)12285693.3.1主程序的設(shè)計(jì)13229643.3.2各子程序的設(shè)計(jì)1416172總結(jié)與致謝1729335參考文獻(xiàn)1832593附錄一系統(tǒng)整體電路圖1911491附錄二A/D轉(zhuǎn)換電路的程序203802附錄三1602LCD顯示模塊的程序22摘要隨著電子科學(xué)技術(shù)的開(kāi)展,電子測(cè)量成為廣闊電子工作者必須掌握的手段。對(duì)測(cè)量的精度和功能的要求也越來(lái)越高,而電壓的測(cè)量甚為突出,因?yàn)殡妷旱臏y(cè)量最為普遍。本設(shè)計(jì)在查閱了大量前人設(shè)計(jì)的數(shù)字電壓表的根底上,利用單片機(jī)技術(shù)結(jié)合A/D轉(zhuǎn)換芯片ADC0832構(gòu)建了一個(gè)直流數(shù)字電壓表。本文首先簡(jiǎn)要介紹了單片機(jī)系統(tǒng)的優(yōu)勢(shì),然后詳細(xì)介紹了直流數(shù)字電壓表的設(shè)計(jì)流程,以及硬件系統(tǒng)和軟件系統(tǒng)的設(shè)計(jì)。本文介紹了基于89S51單片機(jī)的電壓測(cè)量系統(tǒng)設(shè)計(jì),介紹1602LCD液晶的功能和ADC0832的轉(zhuǎn)換原理。該電路設(shè)計(jì)簡(jiǎn)單,方便。該設(shè)計(jì)可以測(cè)量0~5V的電壓值,并在1602LCD液晶上顯示出來(lái)。本系統(tǒng)主要包括三大模塊:主程序模塊、顯示模塊、A/D轉(zhuǎn)換模塊,繪制點(diǎn)哭原理圖與工作流程圖,并進(jìn)行調(diào)試,最終設(shè)計(jì)完成了該系統(tǒng)的硬件電路,在軟件編程上,采用了c語(yǔ)言進(jìn)行編程,開(kāi)發(fā)了顯示模塊程序,A/D轉(zhuǎn)換程序。關(guān)鍵詞:89S51單片機(jī);1602LCD液晶;ADC08321設(shè)計(jì)目的電壓是屬于電子測(cè)量中的一個(gè)重要組成局部。了解,測(cè)出各種電壓的值,有助于讓我們更加平安、方便的使用電壓。因?yàn)檠芯侩妷旱臏y(cè)量值具有重要價(jià)值。傳統(tǒng)的指針式電壓表功能單一、精度低,已經(jīng)滿足不了現(xiàn)在時(shí)代的需求,而采用單片機(jī)的數(shù)字電壓表,精度高、抗干擾能力強(qiáng),可擴(kuò)張性強(qiáng)、集成方便,還可與PC實(shí)行實(shí)時(shí)通信,目前,由各種單片機(jī)和A/D轉(zhuǎn)換器構(gòu)成的數(shù)字電壓表,已被廣泛用于電子及電工測(cè)量、工業(yè)自動(dòng)化儀表、自動(dòng)測(cè)試系統(tǒng)等智能化測(cè)量領(lǐng)域?;趩纹瑱C(jī)的電壓檢測(cè)系統(tǒng)設(shè)計(jì),控制系統(tǒng)采用89S51單片機(jī),A/D轉(zhuǎn)換器采用ADC0832為主要硬件,實(shí)現(xiàn)數(shù)字電壓表的硬件電路與軟件設(shè)計(jì)。數(shù)字電壓表可以測(cè)量0~5V的輸入電壓值,并在1602LCD液晶模塊上顯示。2設(shè)計(jì)要求1.根據(jù)參數(shù)對(duì)輸入信號(hào)特征進(jìn)行分析、需求分析,選擇確定單片機(jī)型號(hào)、各種外圍芯片型號(hào),完成系統(tǒng)硬件設(shè)計(jì)。2.根本教學(xué)要求:每人一臺(tái)計(jì)算機(jī),計(jì)算機(jī)安裝Keil、Protel等軟件。3.〔利用單片機(jī)設(shè)計(jì)并制作簡(jiǎn)易的直流數(shù)字電壓表,能夠測(cè)出0~5V的直流電壓,電路組成框圖如下圖?!?〕測(cè)量精度0.02V?!?〕利用數(shù)碼管或者液晶顯示器顯示電壓值。〔3〕測(cè)量范圍0~5V。3設(shè)計(jì)內(nèi)容3.1單片機(jī)電壓測(cè)量系統(tǒng)的總體設(shè)計(jì)本設(shè)計(jì)從各個(gè)角度分析了由單片機(jī)組成的數(shù)字電壓表的設(shè)計(jì)過(guò)程及各局部電路的組成及其原理??驁D如下:本設(shè)計(jì)主要分為兩局部:硬件電路及軟件程序。而硬件電路又大體可分為單片機(jī)小系統(tǒng)電路、A/D轉(zhuǎn)換電路、液晶顯示電路,各局部電路的設(shè)計(jì)及原理將會(huì)在硬件電路設(shè)計(jì)局部詳細(xì)介紹;程序的設(shè)計(jì)使用C語(yǔ)言編程。電壓是檢測(cè)中最根本的測(cè)量值,主要過(guò)程是模擬信號(hào)經(jīng)過(guò)輸入電路調(diào)理,在經(jīng)過(guò)放大電路,變換成適宜范圍的信號(hào)幅度,接著該信號(hào),經(jīng)過(guò)A/D轉(zhuǎn)換電路轉(zhuǎn)化成數(shù)字信號(hào),數(shù)字信號(hào)既可以直接經(jīng)過(guò)單片機(jī)的處理、保存,再由液晶顯示器顯示出來(lái)。總體設(shè)計(jì)的內(nèi)容:被測(cè)電壓經(jīng)過(guò)運(yùn)算放大電路,可以被AD接收的電壓范圍,然后該信號(hào)經(jīng)過(guò)ADC0832芯片A/D轉(zhuǎn)換電路轉(zhuǎn)化成數(shù)字信號(hào),再經(jīng)過(guò)89S51單片機(jī)的處理、保存,由1602LCD液晶模塊顯示出來(lái)。該電壓表可到達(dá)如下程度:(1)電壓表量程范圍0V~5V;(2)能用液晶顯示電壓值;(3)測(cè)量精度可到達(dá)0.02mV。3.1.1硬件選擇選擇89S51作為單片機(jī)芯片,選用1602LCD液晶屏來(lái)實(shí)現(xiàn)電壓顯示,由于ADC0832的基準(zhǔn)電壓由它內(nèi)部本身提供,所以為了方便,我就利用ADC0832作為數(shù)模轉(zhuǎn)換芯片,利用P0至P4的各個(gè)串口來(lái)進(jìn)行不同設(shè)備間的連接,計(jì)算機(jī)進(jìn)行匯編,H51/L仿真器,單片機(jī)多功能實(shí)驗(yàn)箱。3.1.2軟件選擇本設(shè)計(jì)是硬件電路和軟件編程相結(jié)合的設(shè)計(jì)方案,選擇適宜的編程語(yǔ)言是一個(gè)重要的環(huán)節(jié)。在單片機(jī)的應(yīng)用系統(tǒng)程序設(shè)計(jì)時(shí),常用的是匯編語(yǔ)言和C語(yǔ)言。匯編語(yǔ)言的特點(diǎn)是占用內(nèi)存單元少,執(zhí)行效率高。執(zhí)行速度快。但它依賴于計(jì)算機(jī)硬件,程序可讀性和可移植性比擬差。而C語(yǔ)言雖然執(zhí)行效率沒(méi)有匯編語(yǔ)言高,但語(yǔ)言簡(jiǎn)潔,使用方便,靈活,運(yùn)算豐富,表達(dá)化類型多樣化,數(shù)據(jù)結(jié)構(gòu)類型豐富,具有結(jié)構(gòu)化的控制語(yǔ)句,程序設(shè)計(jì)自由度大,有很好的可重用性,可移植性等特點(diǎn)。由于現(xiàn)在單片機(jī)的開(kāi)展已經(jīng)到達(dá)了很高的水平,內(nèi)部的各種資源相當(dāng)?shù)呢S富,CPU的處理速度非常的快。用C語(yǔ)言來(lái)控制單片機(jī)無(wú)疑是一個(gè)理想的選擇。所以在本設(shè)計(jì)中采用C語(yǔ)言編寫軟件程序。3.2硬件電路的設(shè)計(jì)3.2.1輸入電路模塊設(shè)計(jì)電壓測(cè)量原理如下圖,電壓輸入到LM358的正相端。最高輸入電壓可到5V,使輸入電壓處于AD量程范圍。LM358構(gòu)成一個(gè)電壓跟隨器,起到隔離前后通道的作用,其較低的輸出電阻還可以提高帶負(fù)載能力,輸出端接入ADC。由于該設(shè)計(jì)精度要到達(dá)0.01mV左右,所以我們參加了LM358的放大器,來(lái)放大較小的被測(cè)電壓,輸入到AD轉(zhuǎn)換器中,再經(jīng)過(guò)單片機(jī)處理從液晶上顯示出來(lái)。如下圖,是由LM358放大器組成的,LM358內(nèi)部包括有兩個(gè)獨(dú)立的、高增益、內(nèi)部頻率補(bǔ)償?shù)碾p運(yùn)算放大器,適合于電源電壓范圍很寬的單電源使用,也適用于雙電源工作模式,在推薦的工作條件下,電源電流與電源電壓無(wú)關(guān)。它的使用范圍包括傳感放大器、直流增益模塊和其他所有可用單電源供電的使用運(yùn)算放大器的場(chǎng)合。電容C5是阻容濾波,為了使得信號(hào)更穩(wěn)定。3.2.2LM7805穩(wěn)壓電源電路介紹用lm78/lm79系列三端穩(wěn)壓IC來(lái)組成穩(wěn)壓電源所需的外圍元件很少,電路內(nèi)部有過(guò)流、過(guò)熱和調(diào)整管的保護(hù)電路,使用方便、可靠,而且價(jià)格低廉。該系列集成穩(wěn)壓IC型號(hào)中的lm78或lm79后面的數(shù)字代表此三端集成穩(wěn)壓電路的輸出電壓。因?yàn)槿斯潭煞€(wěn)壓電路的使用方便,電子制作中經(jīng)常采用。這是一個(gè)輸出正5V直流電壓的穩(wěn)壓電源電路。IC采集成穩(wěn)壓器lm7805,C4為輸出端濾波電容,D1為輸入反向保護(hù)。3.2.3顯示模塊電路設(shè)計(jì)顯示模塊的選擇關(guān)系到整個(gè)系統(tǒng)設(shè)計(jì)的功能多少,我們只需要顯示最后電壓的數(shù)字值和電壓的單位,根據(jù)各種顯示器件的特點(diǎn):數(shù)碼管只能顯示數(shù)字,不能顯示單位字符,不符合本設(shè)計(jì)的要求。而點(diǎn)陣顯示器件驅(qū)動(dòng)顯示軟件程序編寫麻煩,占用的引腳相對(duì)也較多。也不是理想的顯示器件。所以在本設(shè)計(jì)中,我們考慮用液晶顯示器件,雖然12864液晶比1602液晶的功能強(qiáng),不過(guò)在價(jià)格方面卻貴了好多。而1602液晶也足夠滿足本設(shè)計(jì)的需要。因此,在本設(shè)計(jì)實(shí)驗(yàn)我們選擇1602液晶顯示器件。1602LCD分為帶背光和不帶背光兩種,帶背光的比不帶背光的厚,是否帶背光在應(yīng)用中并無(wú)差異,1602液晶模塊內(nèi)部的字符發(fā)生存儲(chǔ)器有存儲(chǔ)了160個(gè)不同的點(diǎn)陣字符圖形,這些字符有:阿拉伯?dāng)?shù)字、英文字母的大小寫、常用的符號(hào)等,每一個(gè)字符都有一個(gè)固定的代碼,比方大寫的阿拉伯?dāng)?shù)字“8〞的代碼是00111000B〔38H〕,顯示時(shí)模塊把地址38H中的點(diǎn)陣字符圖形顯示出來(lái),我們就能看到數(shù)字“8〞。LCD1602與單片機(jī)接口如下圖。GND為電源地,VCC接5V電源正極,V0為液晶顯示器比照度調(diào)整端,接正電源時(shí)比照度最弱,接地電源時(shí)比照度最高〔比照度過(guò)高時(shí)那么會(huì)產(chǎn)生“鬼影〞,使用時(shí)那么可以通過(guò)一個(gè)10K的電位器調(diào)整比照度〕。通過(guò)RW的高電平時(shí)讀取輸入電壓的數(shù)字信號(hào),再經(jīng)過(guò)RW的低電平進(jìn)行寫操作,在LCD上顯示出來(lái)。RS為存放器選擇,高電平1時(shí)選擇數(shù)據(jù)存放器、低電平0時(shí)選擇指令存放器。E(或EN)端為使能(enable)端。D0~D7與單片機(jī)的P0端口相接。3.2.4A/D轉(zhuǎn)換設(shè)計(jì)3.2.4.1A/D電路的介紹和選擇在該設(shè)計(jì)中,模數(shù)〔A/D〕轉(zhuǎn)換模塊是一個(gè)非常重要的模塊,它關(guān)系到最后數(shù)字電壓表電壓值的精確度。所以,A/D芯片的選擇是設(shè)計(jì)過(guò)程中一個(gè)很重要的環(huán)節(jié)。模數(shù)轉(zhuǎn)換器即A/D轉(zhuǎn)換器,或簡(jiǎn)稱ADC,通常是指一個(gè)將模擬信號(hào)轉(zhuǎn)變?yōu)閿?shù)字信號(hào)的電子元件。通常的模數(shù)轉(zhuǎn)換器是將一個(gè)輸入模擬電壓信號(hào)轉(zhuǎn)換為一個(gè)輸出的數(shù)字信號(hào)。模數(shù)轉(zhuǎn)換器最重要的參數(shù)是轉(zhuǎn)換的精度,通常用輸出的數(shù)字信號(hào)的位數(shù)的多少表示。轉(zhuǎn)換器能夠準(zhǔn)確輸出的數(shù)字信號(hào)的位數(shù)越多,表示轉(zhuǎn)換器能夠分辨輸入信號(hào)的能力越強(qiáng),轉(zhuǎn)換器的性能也就越好。A/D轉(zhuǎn)換一般要經(jīng)過(guò)采樣,保持,量化及編碼4個(gè)過(guò)程。在實(shí)際電路中,有些過(guò)程是合并進(jìn)行的,如采樣和保持,量化和編碼在轉(zhuǎn)換過(guò)程中是同時(shí)實(shí)現(xiàn)的。ADC0832是8腳雙列直插式雙通道A/D轉(zhuǎn)換器,能分別對(duì)兩路模擬信號(hào)實(shí)現(xiàn)?!獢?shù)轉(zhuǎn)換,可以用在單端輸入方式和差分方式下工作。ADC0832采用串行通信方式,通過(guò)DI數(shù)據(jù)輸入端進(jìn)行通道選擇、數(shù)據(jù)采集及數(shù)據(jù)傳送。8位的分辨率〔最高分辨可達(dá)256級(jí)〕,可以適應(yīng)一般的模擬量轉(zhuǎn)換要求。其內(nèi)部電源輸入與參考電壓的復(fù)用,使得芯片的模擬電壓輸入在0~5V之間。具有雙數(shù)據(jù)輸出可作為數(shù)據(jù)校驗(yàn),以減少數(shù)據(jù)誤差,轉(zhuǎn)換速度快且穩(wěn)定性能強(qiáng)。獨(dú)立的芯片使能輸入,使多器件掛接和處理器控制變的更加方便。ADC0832是8位精度,在本設(shè)計(jì)中,為了減少數(shù)字電壓表的誤差率,在同類比的AD轉(zhuǎn)換器中,ADC0832性價(jià)比擬高,于是我就選擇了ADC0832作為這次設(shè)計(jì)的AD轉(zhuǎn)換器。3.2.4.2ADC0832與單片機(jī)的接口電路CH0、CH1,是ADC0832的兩個(gè)通道,在ADC0832的工作時(shí),被測(cè)的電壓進(jìn)行通道選擇進(jìn)入CH0或者CH1通道,ADC0832采用串行通信方式,通過(guò)DI數(shù)據(jù)輸入端進(jìn)行通道選擇、數(shù)據(jù)采集及數(shù)據(jù)傳送。CS,CLK,DI,DO四個(gè)是與單片機(jī)P3接口相連,只有在使能端CS為低電平時(shí),ADC0832才開(kāi)始工作,此時(shí)處理器向AD傳送時(shí)鐘信號(hào),而根據(jù)DI和DO來(lái)選擇需要通道的信號(hào),傳入單片機(jī)處理和保存。在第一個(gè)時(shí)鐘脈沖的下降之前DI端必須是高電平,表示開(kāi)始信號(hào)。在第二、三個(gè)脈沖下將之前DI端應(yīng)輸入兩個(gè)數(shù)據(jù)用于選擇通道功能。通道地址通道工作方式說(shuō)明SGL/DIFODD/SIGN0100+-差分方式01-+10+單端輸入方式11+當(dāng)此兩個(gè)數(shù)據(jù)為“1〞、“0〞時(shí),只對(duì)CH0進(jìn)行單通道轉(zhuǎn)換。當(dāng)兩個(gè)數(shù)據(jù)為“1〞、“1〞時(shí),只對(duì)CH1進(jìn)行單通道轉(zhuǎn)換。當(dāng)兩個(gè)數(shù)據(jù)為“0〞、“0〞時(shí),將CH0作為正輸入端IN+,CH1作為負(fù)輸入端IN-進(jìn)行輸入。當(dāng)兩位數(shù)據(jù)為“0〞、“1〞時(shí),將CH0作為負(fù)輸入端IN-,CH1作為正輸入端IN+進(jìn)行輸入。到第三個(gè)脈沖的下降之后DI端的輸入電平就失去輸入作用,此后DO/DI端那么開(kāi)始利用數(shù)據(jù)輸出DO進(jìn)行轉(zhuǎn)換數(shù)據(jù)的讀取。從第4個(gè)脈沖下降沿開(kāi)始由DO端輸出轉(zhuǎn)換數(shù)據(jù)最高位Data7,隨后每一個(gè)脈沖的下降沿DO端輸出下一個(gè)數(shù)據(jù)。直到第11個(gè)脈沖時(shí)發(fā)出最低位數(shù)據(jù)Data0,一個(gè)字節(jié)的數(shù)據(jù)輸出就完成了。也正是從此位開(kāi)始輸出下一個(gè)相反字節(jié)的數(shù)據(jù),即從第11個(gè)字節(jié)的下降沿輸出Data0。隨后輸出8位數(shù)據(jù),到第19個(gè)脈沖時(shí)數(shù)據(jù)輸出完成,也標(biāo)志著一次A/D轉(zhuǎn)換的結(jié)束。最后將CS置高電平停用芯片,直接將轉(zhuǎn)換后的數(shù)據(jù)進(jìn)行處理就可以了。作為單通道模擬信號(hào)輸入時(shí)ADC0832的輸入電壓是0—5V且8位分辨率時(shí)的電壓精度為19.53mV,即〔5/256〕V。如果作為由IN+與IN-輸入的輸入時(shí),可是將電壓值設(shè)定在某一個(gè)較大范圍之內(nèi),從而提高轉(zhuǎn)換的寬度。但值得注意的是,在進(jìn)行IN+與IN-的輸入時(shí),如果IN-的電壓大于IN+的電壓那么轉(zhuǎn)換后的數(shù)據(jù)結(jié)果始終為00H。3.2.5單片機(jī)模塊的簡(jiǎn)介單片機(jī)是指一個(gè)集成在一塊芯片上的完整計(jì)算機(jī)系統(tǒng),具有一個(gè)完整計(jì)算機(jī)所需要的大局部部件:CPU,內(nèi)存,總線系統(tǒng)等。而目前常用的單片機(jī)的8位有51系列單片機(jī),AVR單片機(jī),PIC單片機(jī)。應(yīng)用最廣的8位單片機(jī)還是intel的51系列單片機(jī)。51系列單片機(jī)的特點(diǎn)是:硬件結(jié)構(gòu)合理,指令系統(tǒng)標(biāo)準(zhǔn),加之生產(chǎn)歷史悠久,世界有許多芯片公司都買了51的芯片核心專利技術(shù),并在其根底上擴(kuò)充其性能,使得芯片的運(yùn)行速度變得更快,性價(jià)比更高。我們?cè)诒敬卧O(shè)計(jì)中選擇了89S51芯片,正因?yàn)榫哂泄δ軓?qiáng)、體積小、本錢低、功耗小等特點(diǎn),所以它可單獨(dú)地完成現(xiàn)代工業(yè)控制所要求的智能化控制功能,能在軟件的控制下準(zhǔn)確、迅速、高效地完成程序設(shè)計(jì)者事先規(guī)定的任務(wù)。89S51是一種帶4K字節(jié)閃爍可編程可擦除只讀存儲(chǔ)器的低電壓,高性能CMOS8位微處理器,俗稱單片機(jī)。該器件采用ATMEL高密度非易失存儲(chǔ)器制造技術(shù)制造,與工業(yè)標(biāo)準(zhǔn)的MCS-51指令集和輸出管腳相兼容。由于將多功能8位CPU和閃爍存儲(chǔ)器組合在單個(gè)芯片中,ATMEL的89S51是一種高效微控制器,為很多嵌入式控制系統(tǒng)提供了一種靈活性高且價(jià)廉的方案。3.2.5.1單片機(jī)小系統(tǒng)單片機(jī)最小系統(tǒng)包括晶振電路,電源。在此模塊中,單片機(jī)的晶振是12MHZ。P1端口與AD轉(zhuǎn)換器連接,RS、RW、EN和P0端口與1602LCD連接。被測(cè)電壓被AD轉(zhuǎn)換后從P1端口輸入,由單片機(jī)進(jìn)行數(shù)據(jù)的采集然后保存在RAM中。再經(jīng)過(guò)單片機(jī)系統(tǒng)的軟件程序編寫,適合1602LCD的輸入,那么通過(guò)P1端口輸出,在1602LCD上顯示出來(lái)被測(cè)的電壓。3.2.5.289S51單片機(jī)的根本組成〔1〕一個(gè)8位的微處理器〔CPU〕?!?〕片內(nèi)256字節(jié)數(shù)據(jù)存儲(chǔ)器RAM/SFR,用以存放可以讀/寫的數(shù)據(jù),如運(yùn)算的中間結(jié)果、最終結(jié)果以及欲顯示的數(shù)據(jù)等?!?〕片內(nèi)4KB程序存儲(chǔ)器FlashROM,用以存放程序、一些原始數(shù)據(jù)和表格?!?〕4個(gè)8位并行I/O端口P0-P3,每個(gè)端口既可以用作輸入,也可以用作輸出?!?〕兩個(gè)16位的定時(shí)器/計(jì)數(shù)器,每個(gè)定時(shí)器/計(jì)數(shù)器都可以設(shè)置成計(jì)數(shù)方式。〔6〕具有5個(gè)中斷源、兩個(gè)中斷優(yōu)先級(jí)的中斷控制系統(tǒng)?!?〕一個(gè)全雙工UART的串行I/O口,用于實(shí)現(xiàn)單片機(jī)之間或單片機(jī)與PC機(jī)之間的串行通信。〔8〕片內(nèi)振蕩器和時(shí)鐘產(chǎn)生電路,但石英晶體和微調(diào)電容需要外接。〔9〕具有節(jié)電工作方式,即休閑方式和掉電方式。以上各個(gè)局部通過(guò)片內(nèi)八位數(shù)據(jù)總線相連接。3.2.5.389S51引腳及其功能〔1〕XTAL1〔19腳〕:振蕩器反相放大器及內(nèi)部時(shí)鐘發(fā)生器的輸入端。〔2〕XTAL2〔18腳〕:振蕩器反相放大器的輸出端。〔3〕RST〔9腳〕:復(fù)位輸入,當(dāng)振蕩器工作時(shí),RST引腳出現(xiàn)兩個(gè)機(jī)器周期以上高電平將使單片機(jī)復(fù)位?!?〕P0口〔39~32腳〕:P0口是一個(gè)漏極開(kāi)路的8位準(zhǔn)雙向I/O端口。作為漏極開(kāi)路的輸出端口,每位能驅(qū)動(dòng)8個(gè)LS型TTL負(fù)載。當(dāng)P0口作為輸入口使用時(shí),應(yīng)先向口鎖存器寫入全1,此時(shí)P0口的全部引腳浮空,可作為高阻抗輸入?!?〕P3口〔10~17腳〕:P3口是一組帶有內(nèi)部上拉電阻的8位雙向I/O多功能口。P3口輸出緩沖器可驅(qū)動(dòng)4個(gè)TTL邏輯門電路。對(duì)P3口寫入“1〞時(shí),它們被內(nèi)部上拉電阻拉高并可作為輸入端口,此時(shí),被外部拉低的P3口將用上拉電阻輸出電流。當(dāng)CPU不對(duì)P3口進(jìn)行SFR尋址訪問(wèn)時(shí),即用作第二功能輸出/輸入線時(shí),由內(nèi)部硬件使鎖存器Q置1。整個(gè)PEROM陣列和三個(gè)鎖定位的電擦除可通過(guò)正確的控制信號(hào)組合,并保持ALE管腳處低電平10ms來(lái)完成。在芯片擦除操作中,代碼陳列全被寫“1〞且在任何非空存儲(chǔ)字節(jié)被重復(fù)編程以前,該操作必須被執(zhí)行。此外,89S51設(shè)有穩(wěn)態(tài)邏輯,支持兩種軟件可選的掉電模式。在閑置模式下,CPU停止工作。但RAM,定時(shí)器,計(jì)數(shù)器,串口和中斷系統(tǒng)仍在工作。在掉電模式下,保存RAM的內(nèi)容并且凍結(jié)振蕩器,禁止所用其他芯片功能,直到下一個(gè)硬件復(fù)位為止。3.3系統(tǒng)軟件的設(shè)計(jì)本設(shè)計(jì)是硬件電路和軟件編程相結(jié)合的設(shè)計(jì)方案,選擇適宜的編程語(yǔ)言是一個(gè)重要的環(huán)節(jié)。在單片機(jī)的應(yīng)用系統(tǒng)程序設(shè)計(jì)時(shí),常用的是匯編語(yǔ)言和C語(yǔ)言。匯編語(yǔ)言的特點(diǎn)是占用內(nèi)存單元少,執(zhí)行效率高。執(zhí)行速度快。但它依賴于計(jì)算機(jī)硬件,程序可讀性和可移植性比擬差。而C語(yǔ)言雖然執(zhí)行效率沒(méi)有匯編語(yǔ)言高,但語(yǔ)言簡(jiǎn)潔,使用方便,靈活,運(yùn)算豐富,表達(dá)化類型多樣化,數(shù)據(jù)結(jié)構(gòu)類型豐富,具有結(jié)構(gòu)化的控制語(yǔ)句,程序設(shè)計(jì)自由度大,有很好的可重用性,可移植性等特點(diǎn)。由于現(xiàn)在單片機(jī)的開(kāi)展已經(jīng)到達(dá)了很高的水平,內(nèi)部的各種資源相當(dāng)?shù)呢S富,CPU的處理速度非常的快。用C語(yǔ)言來(lái)控制單片機(jī)無(wú)疑是一個(gè)理想的選擇。所以在本設(shè)計(jì)中采用C語(yǔ)言編寫軟件程序。3.3.1主程序的設(shè)計(jì)初始化中,主要針對(duì)89S51、ADC0832的管腳和1602LCD液晶的位選進(jìn)行初始化的設(shè)置。利用公式VOT=(unsignedint)((unsignedlong)val*5000/255);得出數(shù)據(jù)顯示在液晶顯示器上的第一行;利用VAL=GetVal0832(1);得出的數(shù)據(jù)顯示在液晶顯示器上的第二行。主程序:voidmain(){ ucharval; init(); while(1) { val=GetVal0832(1); Vot=(unsignedint)((unsignedlong)val*5000/255); //顯示電壓 WriteChar(0,0,'V'); WriteChar(1,0,'O'); WriteChar(2,0,'T'); WriteChar(3,0,':'); WriteChar(4,0,(Vot%10000)/1000+0x30); WriteChar(5,0,'.'); WriteChar(6,0,(Vot%1000)/100+0x30); WriteChar(7,0,(Vot%100)/10+0x30); WriteChar(8,0,(Vot%10)+0x30); WriteChar(0,1,'V'); WriteChar(1,1,'A'); WriteChar(2,1,'L'); WriteChar(3,1,':'); WriteChar(4,1,val/1000+0x30); WriteChar(5,1,(val%1000)/100+0x30); WriteChar(6,1,(val%100)/10+0x30); WriteChar(7,1,(val%10)+0x30); delay(10); }}3.3.2各子程序的設(shè)計(jì)3.3.2.1A/D程序的流程圖為了高速有效的實(shí)現(xiàn)通信,我們采用匯編語(yǔ)言編寫接口程序。由于ADC0832的數(shù)據(jù)轉(zhuǎn)換時(shí)間僅為32μS,所以A/D轉(zhuǎn)換的數(shù)據(jù)采樣頻率可以很快,從而也保證的某些場(chǎng)合對(duì)A/D轉(zhuǎn)換數(shù)據(jù)實(shí)時(shí)性的要求。數(shù)據(jù)讀取程序以子程序調(diào)用的形式出現(xiàn),方便了程序的移植。程序占用資源有累加器A,工作存放器R7,通用存放器B和特殊存放器CY。通道功能存放器和轉(zhuǎn)換值共用存放器B。在使用轉(zhuǎn)換子程序之前必須確定通道功能存放器B的值,其賦值語(yǔ)句為“MOVB,#data〞〔00H~03H〕。運(yùn)行轉(zhuǎn)換子程序后的轉(zhuǎn)換數(shù)據(jù)值被放入B中。子程序退出后即可以對(duì)B中數(shù)據(jù)處理。3.3.2.2顯示程序的流程圖LCD進(jìn)行初始化,從通電開(kāi)始延時(shí),先經(jīng)過(guò)判忙后再進(jìn)行功能設(shè)置,過(guò)一段時(shí)間后可以設(shè)置顯示狀態(tài)再經(jīng)過(guò)延時(shí)清屏后才可以設(shè)置輸入方式,具體實(shí)現(xiàn)過(guò)程如下列圖所示:LCD顯示程序的設(shè)計(jì)一般先要確定LCD的初始化、光標(biāo)定位、確定顯示字符后,顯示程序流程圖如下:總結(jié)與致謝目前電子測(cè)量設(shè)備在性能、測(cè)試功能、工藝結(jié)構(gòu)等各方面都取得了巨大的開(kāi)展,其研制和生產(chǎn)正向著系統(tǒng)化、數(shù)字化、高性能、多功能、快速、小型等方面開(kāi)展。更不用說(shuō)電壓的測(cè)量。擁有先進(jìn)的科學(xué)實(shí)驗(yàn)手段,這是科學(xué)技術(shù)現(xiàn)代化的一個(gè)重要標(biāo)志,而一個(gè)國(guó)家電子測(cè)量水平的上下,往往是反映這個(gè)國(guó)家科技水平的重要方面。所以,我們必須努力提高我們的電子測(cè)量技術(shù),爭(zhēng)取早日到達(dá)國(guó)際先進(jìn)水平[4]。傳統(tǒng)的指針式電壓表功能單一、精度低,已經(jīng)滿足不了現(xiàn)在時(shí)代的需求,而本次設(shè)計(jì)設(shè)計(jì)的系統(tǒng)具有精度高、速度快、讀數(shù)方便、抗干擾能力強(qiáng)、可擴(kuò)展性強(qiáng)、集成方便,還可與PC進(jìn)行實(shí)時(shí)通信等優(yōu)點(diǎn),但同時(shí)存在一些缺乏,比方采樣緩慢,難以操作等缺點(diǎn)。單片機(jī)的應(yīng)用如今已經(jīng)是在工業(yè),電子等方面展示出了它的優(yōu)越性,利用單片機(jī)在設(shè)計(jì)電路逐漸成了趨勢(shì),它與外圍電路再加上軟件程序就可以構(gòu)建任意的產(chǎn)品,使得本設(shè)計(jì)成為現(xiàn)實(shí)。隨著單片機(jī)的日益開(kāi)展,它必將在未來(lái)顯示出更大的活力,為電子設(shè)計(jì)更多精彩。對(duì)于數(shù)字電壓表而言,功能將會(huì)越來(lái)越強(qiáng)大,以后一定要加強(qiáng)單片機(jī)知識(shí)的學(xué)習(xí)。通過(guò)本次課程設(shè)計(jì),使我對(duì)單片機(jī)及數(shù)模電等知識(shí)的掌握和理解有了進(jìn)一步加深,穩(wěn)固了我在《單片機(jī)原理及應(yīng)用B》課程中所學(xué)的根本理論知識(shí)和實(shí)驗(yàn)技能,使我對(duì)《單片機(jī)原理及應(yīng)用B》課程有了更深入的了解,同時(shí)對(duì)《數(shù)字電子技術(shù)》、《模擬電子技術(shù)》等課程加深了理解,進(jìn)一步激發(fā)了我對(duì)所學(xué)專業(yè)學(xué)習(xí)的興趣;提高了我的認(rèn)識(shí)和理解以及實(shí)踐能力。在設(shè)計(jì)的過(guò)程和設(shè)計(jì)說(shuō)明書的撰寫過(guò)程中,高老師給予了我熱心的幫助和大力的支持,給我提了諸多的珍貴意見(jiàn),拓寬了我的思路。在此我向老師致以崇高的敬意和衷心的感謝!在我的學(xué)習(xí)過(guò)程中,張老師,胡老師等其它老師也給了我耐心的指導(dǎo)和幫助。我在此對(duì)各位老師表示誠(chéng)摯的感謝!參考文獻(xiàn)[1]王珊,薩師煊.數(shù)據(jù)庫(kù)系統(tǒng)概論[M].北京:高等教育出版社.2006.[2]蔣煥文,孫續(xù)編著.電子測(cè)量.第二版[M].北京:中國(guó)計(jì)量出版社,1988.[3]楊桔祥,詹宏英編著.電子測(cè)量技術(shù)根底[M].南京:東南大學(xué)出版社,1999.[4]陳杰美,古天祥編.電子儀器[M].北京:國(guó)防工業(yè)出版社,1986.[5]張乃國(guó)編,電子測(cè)量技術(shù)[M].北京:人民郵電出版社,1985.[6]劉君華編著.現(xiàn)代檢測(cè)技術(shù)與測(cè)試系統(tǒng)設(shè)計(jì)[M].西安:西安交通大學(xué)出版,1999[7]李廣第.單片機(jī)根底[M].北京:北京航空航天大學(xué)出版社,1999.[8]徐惠民、安德寧.單片微型計(jì)算機(jī)原理接口與應(yīng)用.[M].北京:北京郵電大學(xué)出版社,1996[9]何立民.中一片機(jī)高級(jí)教程[M].北京:北京航空航天大學(xué)出版社.2000.[10]徐江海.中一片機(jī)實(shí)用教程[M]北京:機(jī)械工業(yè)出版社,2006.[11]康華光,陳大欽.電子技術(shù)根底(模擬局部)[M]北京:i}}等教育出版社,1999.[12]孟慶浩,翟振鐸,孫冰A/D轉(zhuǎn)換器MC14433實(shí)際應(yīng)用中假設(shè)干問(wèn)題的探討[J].天津理工學(xué)院學(xué)報(bào),1996.附錄一系統(tǒng)整體電路圖附錄二A/D轉(zhuǎn)換電路的程序#include<reg51.h>#include<intrins.h>#defineucharunsignedchar#defineuintunsignedint//定義液晶接口sbitrs=P2^0;sbitlcden=P2^2;sbitrw=P2^1;// ADC0832連接端口sbitADC0832_CLK=P1^3;sbitADC0832_DO =P1^5;sbitADC0832_DI =P1^4;sbitADC0832_CS=P1^2;uintVot=0;//讀ADC0832指定通道AD轉(zhuǎn)換數(shù)值ucharGetVal0832(ucharchannel){ uchari,dat=0; //讀到的數(shù)據(jù),MSBFIRSTDATA bitSGL_DIF,ODD_SIGN; //通道選擇信號(hào)switch(channel){case1:SGL_DIF=1;ODD_SIGN=0;break;//選單通道case2:SGL_DIF=1;ODD_SIGN=1;break;//選單通道case3:SGL_DIF=0;ODD_SIGN=0;break;//CH0為+,CH1為-case4:SGL_DIF=0;ODD_SIGN=1;break;//CH0為-,CH1為+default:break; //通道選擇錯(cuò)誤} ADC0832_CS=1;//片選無(wú)效 //一個(gè)無(wú)效時(shí)鐘周期 ADC0832_CLK=1; _nop_(); ADC0832_CLK=0; _nop_(); ADC0832_CS=0;//片選有效,開(kāi)始AD轉(zhuǎn)換 //傳STARTBIT信號(hào) ADC0832_CLK=0; _nop_(); ADC0832_DI=1;//STARTBIT ADC0832_CLK=1;//上升沿鎖住STARTBIT信號(hào) _nop_(); //傳通道選擇信號(hào) ADC0832_CLK=0; _nop_(); ADC0832_DI=SGL_DIF; ADC0832_CLK=1;//上升沿鎖住SGL/DIF信號(hào) _nop_(); ADC0832_CLK=0; _nop_(); ADC0832_DI=ODD_SIGN; ADC0832_CLK=1;//上升沿鎖住ODD_SIGN信號(hào) _nop_(); ADC0832_CLK=0;//此下降沿開(kāi)始轉(zhuǎn)換,開(kāi)始讀取數(shù)值 _nop_(); //讀取AD轉(zhuǎn)換數(shù)值 for(i=0;i<8;i++) { ADC0832_CLK=1;//CLK為1時(shí),DO肯定保持在穩(wěn)定態(tài) _nop_();//故此時(shí)可讀出數(shù)據(jù) if(ADC0832_DO) dat++; dat=dat<<1; ADC0832_CLK=0; _nop_();}// 釋放總線ADC0832_CLK=1;_nop_();ADC0832_CLK=0;_nop_();ADC0832_CS=1;

溫馨提示

  • 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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論