freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

[信息與通信]應(yīng)用單片機(jī)進(jìn)行簡(jiǎn)易數(shù)字電壓表的設(shè)計(jì)-文庫(kù)吧

2025-01-03 14:19 本頁(yè)面


【正文】 單片機(jī)數(shù)字電壓表的理論基礎(chǔ)和硬件選型 嵌入式控制系統(tǒng)原理嵌入式系統(tǒng)一般指非PC系統(tǒng)[4]。其結(jié)構(gòu)如圖所示: A/D轉(zhuǎn)換技術(shù)分析常見的直流電壓-數(shù)字轉(zhuǎn)換方法有:VT轉(zhuǎn)換法;VF轉(zhuǎn)換法和逐位逼近法。具體性能指標(biāo)如下表。根據(jù)以下比較,可知采用逐位逼近法完全可以滿足題目要求。逐位逼近法[5]:此法與用砝碼在天平上稱量質(zhì)量相仿。標(biāo)準(zhǔn)電壓源產(chǎn)生一列由大到小的標(biāo)準(zhǔn)電壓,相當(dāng)于不同大小的砝碼,因而稱之為“電壓砝碼”。先以最大的“電壓砝碼”與被測(cè)電壓Ux進(jìn)行比較。若大于Ux,則換以較小的進(jìn)行比較;反之,則保留這個(gè)電壓砝碼,并再補(bǔ)加較小的“電壓砝碼”進(jìn)行比較。如此逐個(gè)進(jìn)行下去,直至最小的一個(gè)“電壓砝碼”參與比較后為止。此時(shí)保留下來未被更換的全部“砝碼”值的總和,與被測(cè)電壓Ux基本相等。各電壓砝碼之間為二進(jìn)制關(guān)系。圖中表示在比較過程中,具有權(quán)值為23和21的“砝碼”被撤換,而權(quán)值為222和20的“砝碼”被保留下來,最終的二進(jìn)制讀數(shù)為10101。設(shè)最小的“電壓砝碼”值為1毫伏,則被測(cè)電壓Ux接近等于10101(二進(jìn)制)=21(十進(jìn)制)毫伏。逐位逼近法的優(yōu)點(diǎn)是可實(shí)現(xiàn)極快的轉(zhuǎn)換,但抗干擾能力不如前幾種方法。 系統(tǒng)框架本系統(tǒng)的控制器采用Atmel公司的AT89C52單片機(jī)。其外圍電路包括復(fù)位電路、A/D轉(zhuǎn)換接口電路、電源電路、LED顯示電路。如圖22 圖22 系統(tǒng)框架圖 硬件設(shè)備及器件選擇系統(tǒng)的功能要求為:可以測(cè)量0~5V的8路輸入電壓值,測(cè)量誤差約為177。單片機(jī)具有體積小、功耗低、控制功能強(qiáng)、擴(kuò)展靈活、微型化和使用方便等優(yōu)點(diǎn),廣泛應(yīng)用于儀器儀表中,結(jié)合不同類型的傳感器,可實(shí)現(xiàn)諸如電壓、功率、頻率、濕度、溫度、流量、速度、厚度、角度、長(zhǎng)度、硬度、元素、壓力等物理量的測(cè)量。采用單片機(jī)控制使得儀器儀表數(shù)字化、智能化、微型化,且功能比起采用電子或數(shù)字電路更加強(qiáng)大。例如精密的測(cè)量設(shè)備(功率計(jì),示波器,各種分析儀)。AT89C52是一個(gè)低電壓,高性能CMOS 8位單片機(jī),片內(nèi)含8k bytes的可反復(fù)擦寫的Flash只讀程序存儲(chǔ)器和256 bytes的隨機(jī)存取數(shù)據(jù)存儲(chǔ)器(RAM),器件采用ATMEL公司的高密度、非易失性存儲(chǔ)技術(shù)生產(chǎn),兼容標(biāo)準(zhǔn)MCS51指令系統(tǒng),片內(nèi)置通用8位中央處理器和Flash存儲(chǔ)單元,功能強(qiáng)大的AT89C52單片機(jī)可為您提供許多較復(fù)雜系統(tǒng)控制應(yīng)用場(chǎng)合。AT89C52有40個(gè)引腳,32個(gè)外部雙向輸入/輸出(I/O)端口,同時(shí)內(nèi)含2個(gè)外中斷口,3個(gè)16位可編程定時(shí)計(jì)數(shù)器,2個(gè)全雙工串行通信口,2個(gè)讀寫口線,AT89C52可以按照常規(guī)方法進(jìn)行編程,也可以在線編程。其將通用的微處理器和Flash存儲(chǔ)器結(jié)合在一起,特別是可反復(fù)擦寫的Flash存儲(chǔ)器可有效地降低開發(fā)成本。根據(jù)題目要求精度,采用 8位逐位逼近A/D轉(zhuǎn)換器ADC0509,8路多路開關(guān)以及微處理機(jī)兼容的控制邏輯的CMOS組件。它是逐次逼近式A/D轉(zhuǎn)換器,可以和單片機(jī)直接接口。(1)ADC0809的內(nèi)部邏輯結(jié)構(gòu)圖23 ADC0809的內(nèi)部邏輯結(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ù)。(2)引腳結(jié)構(gòu)IN0-IN7:8條模擬量輸入通道ADC0809對(duì)輸入模擬量要求:信號(hào)單極性,電壓范圍是0-5V,若信號(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為地址輸入線,用于選通IN0-IN7上的一路模擬量輸入。通道選擇表如下表所示。數(shù)字量輸出及控制線:11條ST為轉(zhuǎn)換啟動(dòng)信號(hào)。當(dāng)ST上跳沿時(shí),所有內(nèi)部寄存器清零;下跳沿時(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ù)。OE=1,輸出轉(zhuǎn)換得到的數(shù)據(jù);OE=0,輸出數(shù)據(jù)線呈高阻狀態(tài)。D7-D0為數(shù)字量輸出線。CLK為時(shí)鐘輸入信號(hào)線。因ADC0809的內(nèi)部沒有時(shí)鐘電路,所需時(shí)鐘信號(hào)必須由外界提供,通常使用頻率為500KHZ,VREF(+),VREF(-)為參考電壓輸入。(3)ADC0809應(yīng)用說明 圖24 ADC0809管腳圖(1)ADC0809內(nèi)部帶有輸出鎖存器,可以與AT89S51單片機(jī)直接相連。(2)初始化時(shí),使ST和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ī)了。3 系統(tǒng)硬件設(shè)計(jì)數(shù)字電壓測(cè)量電路由A/D轉(zhuǎn)換、數(shù)據(jù)處理及顯示控制等組成,A/D轉(zhuǎn)換由集成電路0809完成。0809具有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)OE腳為高電平時(shí),A/D轉(zhuǎn)換數(shù)據(jù)從該端口輸出。10腳為0809時(shí)鐘輸入端,利用單片機(jī)30腳的六分頻晶振頻率再通過7474二分頻得到1MHZ時(shí)鐘。單片機(jī)的P—。P0端口作A/D轉(zhuǎn)換數(shù)據(jù)輸入用,P2端口用作0809的A/D轉(zhuǎn)換控制。 穩(wěn)壓電源電路的設(shè)計(jì)AT89C52單片機(jī)正常工作電壓為+5V,最低不能低于+,工作電流為16mA,故需要設(shè)計(jì)一個(gè)+5V的穩(wěn)壓電源。如圖31。穩(wěn)壓電源通常由電源變壓器、整流、濾波和穩(wěn)壓電路等四個(gè)部分組成。電源變壓器是將交流電網(wǎng)220V的電壓變?yōu)樗枰碾妷褐?,然后通過整流電路將交流電壓變?yōu)槊}動(dòng)的直流電壓。此脈動(dòng)的直流電壓還含有較大的紋波,必須通過濾波電路加以濾除,從而得到平滑的直流電壓。但這樣的電壓還隨電網(wǎng)電壓波動(dòng)(一般有10%左右的波動(dòng))、負(fù)載和溫度的變化而變化。因而在整流、濾波電路之后,還需接穩(wěn)壓電路。穩(wěn)壓電路的作用是當(dāng)電網(wǎng)電壓波動(dòng)、負(fù)載和溫度變化時(shí),維持輸出真流電壓穩(wěn)定。圖31 電源原理 顯示驅(qū)動(dòng)電路的設(shè)計(jì)數(shù)碼管共陽型和共陰型的外型相同,共陰極是把所有的發(fā)光二極管的陰極倆在一起,通常接地,通過控制每一只的陽極電平來使其發(fā)光或者熄滅。陽極為高電平發(fā)光,為低電平熄滅。共陽極是把所有的陽極連在一起,通常接高電平(+5V),通過控制每一只的陰極電平使其發(fā)光或者熄滅,陰極為低電平發(fā)光,為高電平熄滅。COM口作為位選端,8只發(fā)光二極管被分成兩個(gè)組,所以有兩個(gè)COM端,在使用時(shí)把它們并聯(lián)起來。為了保證發(fā)光二極管經(jīng)久耐用而不被燒毀,需要外接限流電阻。取值一般是流經(jīng)的電流在10~20mA[7],由于高亮度數(shù)碼管的使用,電流還可以取得小一些。發(fā)光二極管開啟電壓,~。設(shè)導(dǎo)通電壓為 +,正向電流為5~20mA ,限流電阻R取值在170 ~680 ,考慮單片機(jī)本身的驅(qū)動(dòng)能力很大,實(shí)際設(shè)計(jì)取值560 。在多位LED顯示時(shí),為了降低成本和功耗,將所有位的段選線并聯(lián)起來,由一個(gè)8位口控制,由另一個(gè)端口進(jìn)行顯示位的控制。但是,由于段選是公用的,要讓各位數(shù)碼管顯示不同的字符,就必須采用掃描方式[8],即動(dòng)態(tài)掃描顯示方式。首先從段選線上送出字段碼,再控制位選線,字符就顯示在指定位置上,持續(xù)1~5ms時(shí)間,然后關(guān)閉所有顯示;接下來又送出新的字段碼,按照上述過程又顯示在新的位置上,直到每一位數(shù)碼管都掃描完為止,即為一個(gè)掃描周期。由于人的視覺停留效應(yīng),因此當(dāng)掃描周期小到一定程度時(shí),人就感覺不出字符的移動(dòng)或閃爍,覺得每位數(shù)碼管到一直在顯示,達(dá)到一種穩(wěn)定的視覺效果。動(dòng)態(tài)掃描顯示[8]的掃描方式有程序控制和定時(shí)中斷掃描兩種。程序控制掃描方式要占用許多CPU時(shí)間,在計(jì)算機(jī)的任務(wù)較重時(shí),難以得到好的效果,所以在實(shí)際中常采用定時(shí)中斷掃描方式,這種方式是每隔一定時(shí)間(如1ms)顯示一位數(shù)碼管,假設(shè)有8位數(shù)碼管,顯示掃描周期為8ms,顯示效果十分良好。本次設(shè)計(jì)采用這種方法。 圖32 LED顯示原理 時(shí)鐘電路的設(shè)計(jì)MCS51單片機(jī)各功能部件的運(yùn)行都是以時(shí)鐘控制信號(hào)為基準(zhǔn),有條不紊地一拍一拍地工作。因此,時(shí)鐘頻率直接影響單片機(jī)的速度,時(shí)鐘電路的質(zhì)量也直接影響單片機(jī)系統(tǒng)的穩(wěn)定性。常用的時(shí)鐘電路設(shè)計(jì)有兩種方式,一種是內(nèi)部時(shí)鐘方式,另一種方式為外部時(shí)鐘方式。本系統(tǒng)采用內(nèi)部時(shí)鐘方式。MCS51內(nèi)部有一個(gè)用于構(gòu)成振蕩器的高增益反相放大器,該高增益反相放大器的輸入端為芯片引腳XTAL1,輸出端為XTAL2。這兩個(gè)引腳跨接石英晶體振蕩器和微調(diào)電容,這就構(gòu)成了一個(gè)穩(wěn)定的自己振蕩器,圖33是MCS51內(nèi)部時(shí)鐘方式的振蕩器電路。電路中的電容C1和C2典型值通常選擇為30pF左右。對(duì)外接電容的值雖然沒有嚴(yán)格的要求,但電容的大小會(huì)影響振蕩器頻率的高低、振蕩器的穩(wěn)定性和起振的快速性。具體電路圖如圖33圖33 時(shí)鐘電路原理圖 分頻電路的設(shè)計(jì)分頻電路是為ADC0809設(shè)計(jì)的,因?yàn)锳DC0809正常工作需要一個(gè)合適的時(shí)鐘脈沖,大約在500左右。從單片機(jī)ALE引腳出來的信號(hào)是單片機(jī)時(shí)鐘頻率的6分頻,本系統(tǒng)的時(shí)鐘頻率是12MHZ,ALE6分頻之后為2MHZ。在經(jīng)過兩個(gè)D觸發(fā)器設(shè)計(jì)的4分頻電路,出來的脈沖是500KHZ。如圖34。 圖34 二分頻電路 A/D轉(zhuǎn)換接口電路的設(shè)計(jì)ADC0809與單片機(jī)的接口方式采用查詢式,地址線(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)OE腳為高電平時(shí),A/D轉(zhuǎn)換數(shù)據(jù)從該端口輸出。10腳為0809時(shí)鐘輸入端,利用單片機(jī)30腳的六分頻晶振頻率再通過7474二分頻得到1MHZ時(shí)鐘。單片機(jī)的P—。P0端口作A/D轉(zhuǎn)換數(shù)據(jù)度入用,P2端口用作0809的A/D轉(zhuǎn)換控制。具體如圖35圖35 A/D轉(zhuǎn)換接口電路設(shè)計(jì) 硬件設(shè)計(jì)電路原理圖見附錄1 本章小結(jié)本章介紹了硬件電路的設(shè)計(jì),包括電源電路,顯示電路分頻電路,時(shí)鐘電路等。4 系統(tǒng)軟件設(shè)計(jì) 編程流程圖設(shè)計(jì) 主程序流程圖設(shè)計(jì) 圖41 主程序流程圖 主程序主要包括三部分,一是初始化各端口,二是執(zhí)行A/D轉(zhuǎn)換程序,三是執(zhí)行顯示程序,如此反復(fù)循環(huán),達(dá)到循環(huán)監(jiān)測(cè)顯示的功能。主程序主要包括三部分,一是初始化各端口,二是執(zhí)行A/D轉(zhuǎn)換程序,三是執(zhí)行顯示程序,如此反復(fù)循環(huán),達(dá)到循環(huán)監(jiān)測(cè)顯示的功能。 A/D轉(zhuǎn)換測(cè)量流程圖設(shè)計(jì)A/D轉(zhuǎn)換采用查詢的方式首先啟動(dòng)A/D轉(zhuǎn)換,然后一直在查詢ADC0809的轉(zhuǎn)換結(jié)束標(biāo)志位,一旦轉(zhuǎn)換結(jié)束標(biāo)志位為1,給ADC0809的Out Eneble腳置1,將數(shù)據(jù)送入單片機(jī),如此反復(fù)執(zhí)行8次。如圖42。 圖42 A/D轉(zhuǎn)換測(cè)量流程圖 詳細(xì)程序設(shè)計(jì)思路 段碼轉(zhuǎn)換程序設(shè)計(jì)dis[2]為顯示的個(gè)位數(shù),dis[1]為小數(shù)點(diǎn)后第一位,dis[0]為小數(shù)點(diǎn)后第二位,ad_data[n]為A/D轉(zhuǎn)換后送入單片機(jī)的數(shù)據(jù)。ad_data[n]/51的由來是(5V/255)* ad_data[n]= ad_data[n]/51,小數(shù)點(diǎn)后第一位和第二位原理也是如此。 dis[2]=ad_data[n]/51。 dis[4]=ad_data[n]%51。 dis[4]=dis[4]*10。 dis[1]=dis[4]/51。 dis[4]=dis[4]%51。 dis[4]=dis[4]*10。 dis[0]=dis[4]/51。 8路A/D轉(zhuǎn)換程序設(shè)計(jì)本程序采用查詢式,啟動(dòng)A/D轉(zhuǎn)換之后,就開始查詢ADC0809的轉(zhuǎn)換結(jié)束標(biāo)志位。一旦轉(zhuǎn)換結(jié)束就把數(shù)據(jù)送入單片機(jī),如此反復(fù)循環(huán)8次。test(){ uchar m。 uchar s=0x00。 ad_con=s。 for(m=0。m8。m++) { ALE=1。_nop_()。_nop_()。ALE=0。 START=1。_nop_()。_nop_()。START=0。 _nop_()。_nop_()。_nop_()。_nop_()。 while(EOC==0)。 OE=1。ad_data[m]=addata。OE=0。s++。ad_con=s。 } ad_con=0x00。} 顯示程序設(shè)計(jì)采用動(dòng)態(tài)顯示方式,即每位顯示的時(shí)間大約為1ms,利用人眼的余輝造成同時(shí)顯示的假象。每1路顯示大概半秒。循環(huán)顯示0
點(diǎn)擊復(fù)制文檔內(nèi)容
環(huán)評(píng)公示相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1