單片機AD轉(zhuǎn)換實驗代碼及電路圖
單片機AD轉(zhuǎn)換實驗代碼及電路圖ADC0809ADC0832
描述:單片機AD原理圖圖片:
這是自己這段時間做的AD轉(zhuǎn)換的實驗
以下是程序的源代碼,希望能對大家有用,同時希望和大家一起討論共同進步ORG00H
START:MOVP3,#0FFH;
CLRP3.3;CS=0選中芯片進行AD轉(zhuǎn)換CLRP3.6;NOP
SETBP3.6;WR由低到高,開始轉(zhuǎn)換NOP
JBP3.2,$;查詢轉(zhuǎn)換結(jié)束產(chǎn)生INTR信號(低電平有效)SETBP3.3;停止AD轉(zhuǎn)換NOP
MOVP1,#0FFHCLRP3.3;選中ADCLRP3.7;讀取轉(zhuǎn)換數(shù)據(jù)結(jié)果NOP
SETBP3.7;數(shù)據(jù)轉(zhuǎn)換完成MOVA,P1;SETBP3.3;數(shù)據(jù)轉(zhuǎn)換完成jisuan:MOVB,#100
DIVAB;求轉(zhuǎn)換后的百位MOVR3,A;將百位存入R3MOVA,B;余數(shù)存入AMOVB,#10;分離十位DIVAB;B存入余數(shù)MOVR2,A;R2存十位MOVR0,B;個位存入R0;SETBP2.7;不明白作用MOVR4,#40;數(shù)碼管掃描次數(shù)QQQQ:MOVR1,#255;延時;數(shù)碼管動態(tài)掃描顯示QQQ:SETBP2.1;百位顯示SETBP2.2;MOVA,R3;百位顯示MOVDPTR,#TABLEMOVCA,@A+DPTRMOVP0,A;段選CLRP2.0NOP;十位顯示SETBP2.0SETBP2.2MOVA,R2
MOVDPTR,#TABLEMOVCA,@A+DPTRMOVP0,ACLRP2.1NOP;個位顯示SETBP2.0SETBP2.1MOVA,R0
MOVDPTR,#TABLEMOVCA,@A+DPTRMOVP0,ANOPCLRP2.2;重復(fù)顯示DJNZR1,QQQDJNZR4,QQQQSJMPSTARTTABLE:DB0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H,0FFH;END
擴展閱讀:基于單片機的AD轉(zhuǎn)換電路與程序設(shè)計
目錄
摘要..............................................................1ABSTRACT..........................................................20文獻綜述........................................................31引言............................................................31.1任務(wù)分析與方案確定...........................................31.2單片機的系統(tǒng)分析..............................................41.3A/D轉(zhuǎn)換器的選取..............................................61.4傳感器的數(shù)據(jù)采集..............................................71.5顯示與鍵盤分析................................................92系統(tǒng)硬件設(shè)計...................................................112.1A/D轉(zhuǎn)換的一般步驟...........................................112.2ADC0809內(nèi)部功能與引腳介紹...................................112.3ADC0809與MCS-51系列單片機的接口方法........................142.4控制器、振蕩源和復(fù)位電路.....................................152.5鍵盤與顯示電路...............................................173軟件設(shè)計......................................................183.1A/D轉(zhuǎn)換.....................................................183.2標度變換....................................................213.3數(shù)制轉(zhuǎn)換.....................................................223.4鍵盤程序.....................................................233.5LED顯示程序.................................................244結(jié)論...........................................................25參考文獻.........................................................26致謝.............................................................西南大學(xué)成人高等教育畢業(yè)論文(設(shè)計)
基于單片機的A/D轉(zhuǎn)換電路與程序設(shè)計
XXX
西南大學(xué)工程技術(shù)學(xué)院,重慶400716
摘要:A/D轉(zhuǎn)換是指將模擬信號轉(zhuǎn)換為數(shù)字信號,這在信號處理、信號傳輸?shù)阮I(lǐng)域具
有重要的意義。常用的A/D轉(zhuǎn)換電路有專用A/D集成電路、單片機ADC模塊,前者精度高、電路復(fù)雜,后者成本低、設(shè)計簡單;趩纹瑱C的A/D轉(zhuǎn)換電路在實際電路中獲得了廣泛的應(yīng)用,論文對這一電路結(jié)構(gòu)進行了詳細的研究。關(guān)鍵詞:單片機;AD轉(zhuǎn)換器;電路
西南大學(xué)成人高等教育畢業(yè)論文(設(shè)計)
BasedonSCMA/DCircuitandProgramDesign
TANGXiaoling
CollegeofEngineeringandTechnology,SouthwestUniversity,Chongqing400716,China
Abstract:A/Dconversionreferstoanalogsignalsintodigitalsignals,whichinsignal
processing,signaltransmissionfieldshasthevitalsignificance.CommonlyusedA/DcircuithasdedicatedA/DICchip,highprecision,theformerADCmodulecircuit,thecomplex,lowcost,simpledesign.BasedonSCMA/Dcircuitinpracticalcircuithasbeenwidelyusedinthecircuit,thispapermakesAdetailedstudyofthestructure.
西南大學(xué)成人高等教育畢業(yè)論文(設(shè)計)
0文獻綜述
數(shù)據(jù)采集系統(tǒng)用于將模擬信號轉(zhuǎn)換為計算機可以識別的數(shù)字信號。該系統(tǒng)目的是便于對某些物理量進行監(jiān)視。數(shù)據(jù)采集系統(tǒng)的好壞取決于他的精度和速度。設(shè)計時,應(yīng)在保證精度的情況下盡可能的提高速度以滿足實時采樣、實時處理、實時控制的要求。在科學(xué)研究中應(yīng)用該系統(tǒng)可以獲得大量動態(tài);是研究瞬間物理過程的重要手段;亦是獲取科學(xué)奧秘的重要手段之一。
本文采用新穎的方法完成設(shè)計,用到的集成芯片主要有8051單片機、ADC0809、等.ADC0809主要作用是對八路模擬信號進行選擇采集,并將其轉(zhuǎn)化為八位數(shù)字信號,再送至主控制器(8051單片機);由單片機外界鍵盤控制,由數(shù)碼管顯示。
1引言
在設(shè)計一個控制系統(tǒng)時,首先要對系統(tǒng)進行分析明確設(shè)計任務(wù)和設(shè)計要求,作為系統(tǒng)方案設(shè)計的依據(jù)。合理選著系統(tǒng)的構(gòu)成方案,合理規(guī)劃分硬件和軟件的功能,以有利于兼顧性能、價格比和縮短開發(fā)周期。硬件設(shè)計應(yīng)以在充分滿足系統(tǒng)功能的前提下最簡單為原則,在系統(tǒng)的運用中,單片機被廣泛運用。A/D轉(zhuǎn)換的方法是由傳輸信號與接收信號圖解方法,借助這種方法可以在已知發(fā),接收點和存儲的條件下,制造出各式各樣的電器產(chǎn)品。1.1任務(wù)分析與方案確定
根據(jù)系統(tǒng)基本要求,將本系統(tǒng)劃分為如下幾個部分:信號調(diào)理電路
8路模擬信號的產(chǎn)生與A/D轉(zhuǎn)換器發(fā)送端的數(shù)據(jù)采集與傳輸控制器
西南大學(xué)成人高等教育畢業(yè)論文(設(shè)計)
人機通道的接口電路
數(shù)據(jù)采集與傳輸系統(tǒng)一般由信號調(diào)理電路,多路開關(guān),采樣保持電路,A/D,單片機,電平轉(zhuǎn)換接口,接收端單片機(或PC機)組成。系統(tǒng)框圖如圖1所示
LED被測物理傳感器預(yù)處理輸入接口ADCMCU鍵盤圖1一般系統(tǒng)框圖Fig.1generalsystemdiagram
1.2單片機的系統(tǒng)分析1.復(fù)位電路
單片機在開機時都需要復(fù)位,以便中央處理器CPU以及其他功能部件都處于一個確定的初始狀態(tài),并從這個狀態(tài)開始工作。51的RST引腳是復(fù)位信號的輸入端。復(fù)位電平是高電平有效持續(xù)時間要有24個時鐘周期以上。本系統(tǒng)中單片機時鐘頻率為6MHz則復(fù)位脈沖至少應(yīng)為4us。方案一:上電復(fù)位電路
圖2上電復(fù)位圖3外部復(fù)位Fig.2TheresetFig.3Externalreset
上電瞬間,RST端的的電位與Vcc相同,隨著電容的逐步充電,充電電流減小,RST電位逐漸下降。上電復(fù)位所需的最短時間是振蕩器建立時間加上二個機器周期,在這段時間里,振蕩建立時間不超過10ms。復(fù)位電路的典型參數(shù)為:
西南大學(xué)成人高等教育畢業(yè)論文(設(shè)計)
C取10uF,R取8.2k,故時間常數(shù)
=RC=101068.2103=82ms
以滿足要求。方案二.外部復(fù)位電路
按下開關(guān)時,電源通過電阻對外接電容進行充電,使RES端為高電平,復(fù)位按鈕松開后,電容通過下拉電阻放電,逐漸使RET端恢復(fù)低電平。
圖4外部上電復(fù)位Fig.4Theexternalelectricreset
方案三:上電外部復(fù)位電路
典型的上電外部復(fù)位電路是既具有上電復(fù)位又具有外部復(fù)位電路,上電瞬間,C與Rx構(gòu)成充電電路,RST引腳出現(xiàn)正脈沖,只要RST保持足夠的高電平,就能使單片機復(fù)位。
一般取C=22uF,R=200,Rx=1k,此時
=221061103=22ms
當按下按鈕,RST出現(xiàn)2.振蕩源
在MCS-51內(nèi)部有一個用于構(gòu)成振蕩器的高增益反相放大器。引腳XTAL1(19)、XTAL2(18)分別是此放大器的輸入端和輸出端。方案一:內(nèi)部方式
與作為反饋元件的片外晶體或陶瓷諧振器一起組成一個自激振蕩器。方案二:外部方式
外部振蕩器信號的接法與芯片類型有關(guān)。CMOS工藝的MCU其XTAL1端接外部時鐘信號,XTAL2端可懸空。HMOS工藝的MCU則XTAL2端接外部時
510005=4.2V時,使單片機復(fù)位。12西南大學(xué)成人高等教育畢業(yè)論文(設(shè)計)
鐘信號,XTAL1端須接地。
在MCS-51單片機系列芯片中,用8051或8751芯片可以構(gòu)成最小系統(tǒng)。因為8051和8751是片內(nèi)有ROM/EPROM的單片機,用這種芯片構(gòu)成的單片及最小系統(tǒng)簡單、可靠。8051構(gòu)成的最小系統(tǒng)特點:
受集成度所限,只能用于小型控制單元。有可供用戶使用的大量的I/O口線。
僅有芯片內(nèi)部的存儲器,故存儲器的容量有限。
8051的應(yīng)用軟件要依靠半導(dǎo)體掩膜技術(shù)植入,適于在大批量生產(chǎn)的應(yīng)用系統(tǒng)中使用。
1.3A/D轉(zhuǎn)換器的選取1.轉(zhuǎn)換時間的選擇
轉(zhuǎn)換速度是指完成一次A/D轉(zhuǎn)換所需時間的倒數(shù),是一個很重要的指標。A/D轉(zhuǎn)換器型號不同,轉(zhuǎn)換速度差別很大。通常,8位逐次比較式ADC的轉(zhuǎn)換時間為100us左右。由于本系統(tǒng)的控制時間允許,可選8位逐次比較式A/D轉(zhuǎn)換器。
2.ADC位數(shù)的選擇
A/D轉(zhuǎn)換器的位數(shù)決定著信號采集的精度和分辨率。
要求精度為0.5%。對于該8個通道的輸入信號,8位A/D轉(zhuǎn)換器,其精度為
2輸入為0~5V時,分辨率為
Fs80.39%
v50.0196V2121N8v
FsA/D轉(zhuǎn)換器的滿量程值
NADC的二進制位數(shù)
量化誤差為
QNvFs(21)25(21)280.0098V
西南大學(xué)成人高等教育畢業(yè)論文(設(shè)計)
ADC0809是TI公司生產(chǎn)的8位逐次逼近式模數(shù)轉(zhuǎn)換器,包括一個8位的逼近型的ADC部分,并提供一個8通道的模擬多路開關(guān)和聯(lián)合尋址邏輯,為模擬通道的設(shè)計提供了很大的方便。
用它可直接將8個單端模擬信號輸入,分時進行A/D轉(zhuǎn)換,在多點巡回監(jiān)測、過程控制等領(lǐng)域中使用非常廣泛,所以本設(shè)計中選用該芯片作為A/D轉(zhuǎn)換電路的核心。
1.4傳感器的數(shù)據(jù)采集
數(shù)據(jù)采集方式有順序控制數(shù)據(jù)采集和程序控制數(shù)據(jù)采集。
方案一:順序控制數(shù)據(jù)采集,顧名思義,它是對各路被采集參數(shù),按時間順序依次輪流采樣。原理如下圖5所示,系統(tǒng)的性能完全由硬件設(shè)備決定。在每次的采集過程中,所采集參數(shù)的數(shù)目、采樣點數(shù)、采樣速率、采樣精度都固定不變。若要改變這些指標,需改變接線或更換設(shè)備方能實現(xiàn)。數(shù)據(jù)采集時,控制多路傳輸門開啟和關(guān)閉的信號來自脈沖分配器,在時鐘脈沖的推動下,這些控制信號不斷循環(huán),使傳輸門以先后順序循環(huán)啟閉。
圖5順序數(shù)據(jù)采集原理
Fig.5Sequentialdatacollectionprinciple
方案二:程序控制數(shù)據(jù)采集,由硬件和軟件兩部分組成。,據(jù)不同的采集需要,在程序存儲器中,存放若干種信號采集程序,選擇相應(yīng)的采集程序進行采集工作,還可通過編新的程序,以滿足不同采樣任務(wù)的要求。如圖6所示。
西南大學(xué)成人高等教育畢業(yè)論文(設(shè)計)
圖6程序控制數(shù)據(jù)采集原理
Fig.6Programcontroldatacollectionprinciple
程序控制數(shù)據(jù)采集的采樣通道地址可隨意選擇,控制多路傳輸門開啟的通道地址碼由存儲器中讀出的指令確定。即改變存儲器中的指令內(nèi)容便可改變通道地址。
由于順序控制數(shù)據(jù)采集方式
缺乏通用性和靈活性,所以本設(shè)計中選用程序控制數(shù)據(jù)采集方式。
采集多路模擬信號時,一般用多路模擬開關(guān)巡回檢測的方式,即一種數(shù)據(jù)采集的方式。利用多路開關(guān)(MUX)讓多個被測對象共用同一個采集通道,這就是多通道數(shù)據(jù)采集系統(tǒng)的實質(zhì)。當采集高速信號時,A/D轉(zhuǎn)換器前端還需加采樣/保持(S/H)電路。
待測量一般不能直接被轉(zhuǎn)換成數(shù)字量,通常要進行放大、特性補償、濾波等環(huán)節(jié)的預(yù)處理。被測信號往往因為幅值較小,而且可能還含有多余的高頻分量等原因,不能直接送給A/D轉(zhuǎn)換器,需對其進行必要的處理,即信號調(diào)理。如對信號進行放大、衰減、濾波等。
通常希望輸入到A/D轉(zhuǎn)換器的信號能接近A/D轉(zhuǎn)換器的滿量程以保證轉(zhuǎn)換精度,因此在直流電流電源輸出端與A/D轉(zhuǎn)換器之間應(yīng)接入放大器以滿足要求。
本題要求中的被測量為0~5V直流信號,由于輸出電壓比較大,滿足A/D轉(zhuǎn)換輸入的要求,故可省去放大器,而將電源輸出直接連接至A/D轉(zhuǎn)換器輸入端。
多路數(shù)據(jù)采集輸入通道的結(jié)構(gòu)圖7所示。
西南大學(xué)成人高等教育畢業(yè)論文(設(shè)計)
圖7多路數(shù)據(jù)采集輸入通道結(jié)構(gòu)Fig.7datacollectioninputchannelstructure
注:緩慢變化信號和直流信號,采樣保持電路可以省略。1.5顯示與鍵盤分析
對系統(tǒng)發(fā)出命令和輸出顯示測量結(jié)果,主要是由鍵盤和LED數(shù)碼顯示器組成。
緩慢變化信號和直流信號,要求用數(shù)碼管適時地進行十進制顯示,由于精度要達到0.5%,所以這里用5只LED數(shù)碼顯示器來表示該十進制數(shù),用兩只七段數(shù)碼顯示器表示通道號。為實現(xiàn)通道的選取,用鍵盤實現(xiàn)控制功能。1.譯碼方法
用單片機驅(qū)動LED數(shù)碼管有很多方法,按顯示方式分,有靜態(tài)顯示和動態(tài)(掃描)顯示,按譯碼方式可分硬件譯碼和軟件譯碼之分。方案一:硬件譯碼
硬件譯碼就是顯示的段碼完全由硬件完成,CPU只要送出標準的BCD碼即可,硬件接線有一定標準。方案二:軟件譯碼
軟件譯碼是用軟件來完成硬件的功能,接線靈活,顯示段碼完全由軟件來處理,是目前常用的顯示驅(qū)動方式。2.顯示方法
在該單片機系統(tǒng)中,使用7段LED顯示器構(gòu)成8位顯示器,段選線控制顯示的字符,位選線控制顯示位的亮或暗。方案一:靜態(tài)顯示
靜態(tài)顯示,顯示驅(qū)動電路具有輸出鎖存功能,單片機將所要顯示的數(shù)據(jù)送出
西南大學(xué)成人高等教育畢業(yè)論文(設(shè)計)
后就不用再管,直到下一次顯示數(shù)據(jù)需要更新時再傳送一次數(shù)據(jù)。
編程容易,管理簡單,顯示亮度高,顯示數(shù)據(jù)穩(wěn)定,占用很少的CPU時間。但引線多,線路復(fù)雜,硬件成本高。方案二:動態(tài)顯示
動態(tài)顯示需要CPU時刻對顯示器件進行數(shù)據(jù)刷新,顯示數(shù)據(jù)會有閃爍感,占用的CPU時間多。
這兩種顯示方式各有利弊;靜態(tài)顯示雖然數(shù)據(jù)穩(wěn)定,占用很少的CPU時間,但每個顯示單元都需要單獨的顯示驅(qū)動電路,使用的硬件較多;動態(tài)顯示雖然有閃爍感,占用的CPU時間多,但使用的硬件少,能節(jié)省線路板空間。
當顯示裝置中有多個多段LED時,通常采用動態(tài)掃描驅(qū)動電路,節(jié)省開銷。3.顯示接口芯片的選擇方案一:8279接口芯片
8279是Intel公司的通用可編程鍵盤和顯示器接口電路芯片,內(nèi)部有顯示RAM。8279可以實現(xiàn)對鍵盤和顯示器的自動掃描,識別閉合鍵的鍵號,完成顯示器的動態(tài)顯示。從而大大節(jié)省了CPU處理鍵盤和顯示器的時間,提高了CPU的工作效率。另外,8279與單片機的接口簡單,顯示穩(wěn)定,工作可靠。但8279所需外圍元件多(顯示驅(qū)動、譯碼等)、命令字多,調(diào)試困難,占用電路板面積大、綜合成本高,在中小系統(tǒng)中常常大材小用。方案二:8155接口芯片
采用并行口擴展芯片擴展并行口的方法來設(shè)計顯示系統(tǒng)。用做顯示系統(tǒng)的傳統(tǒng)的芯片有8155、8255、8279等。這種方式的優(yōu)點是速度快,顯示數(shù)據(jù)簡單。缺點是,占用單片機口線多。如用8155,其內(nèi)部集成有:256個字節(jié)的SRAM、一個14位二進制減法計數(shù)器和3個并行端口PA、PB和PC。但此方案同樣需要驅(qū)動顯示,同時顯示掃描還需占用CPU大量時間。但為設(shè)計的簡單化帶來方便,所以采用該芯片作為顯示接口芯片,A口為位選線,B口為段選線。4.鍵盤電路的確定
為了在控制系統(tǒng)中完成采集通道的選擇,還需要為該系統(tǒng)設(shè)置鍵盤。由于功能要求簡單,僅用兩個按鍵即可完成選擇功能,降低了系統(tǒng)的硬件開銷,軟件處理簡單。
西南大學(xué)成人高等教育畢業(yè)論文(設(shè)計)
2系統(tǒng)硬件設(shè)計
2.1A/D轉(zhuǎn)換的一般步驟1.采樣-保持
為了能不失真的恢復(fù)原模擬信號,采樣頻率應(yīng)不小于輸入模擬信號的頻譜中最高頻率的兩倍,這就是采樣定理,即
fs2fImax
由于A/D轉(zhuǎn)換需要一定的時間,所以在每次采樣結(jié)束后,應(yīng)保持采樣電壓在一段時間內(nèi)不變,直到下一次采樣的開始。實際中采樣-保持是做成一個電路。2.量化與編碼
模擬信號經(jīng)采樣-保持電路后,得到了連續(xù)模擬信號的樣值脈沖,他們是連續(xù)模擬信號在給定時刻上的瞬時值,并不是數(shù)字信號。還要把每個樣值脈沖轉(zhuǎn)換成與它幅值成正比的數(shù)字量。
以上為A/D轉(zhuǎn)換的一般步驟,在本電路中由ADC0809芯片完成。2.2ADC0809內(nèi)部功能與引腳介紹
ADC0809八位逐次逼近式A/D轉(zhuǎn)換器是一種單片CMOS器件,包括8位模擬轉(zhuǎn)換器、8通道轉(zhuǎn)換開關(guān)和與微處理器兼容的控制邏輯。8路轉(zhuǎn)換開關(guān)能直接連通8個單端模擬信號中的任何一個。其內(nèi)部結(jié)構(gòu)如圖8所示。
西南大學(xué)成人高等教育畢業(yè)論文(設(shè)計)
圖8ADC0809內(nèi)部結(jié)構(gòu)Fig.8ADC0809internalstructure
主要性能
逐次比較型CMOS工藝制造單電源供電
無需零點和滿刻度調(diào)整
具有三態(tài)鎖存輸出緩沖器,輸出與TTL兼容易與各種微控制器接口具有鎖存控制的8路模擬開關(guān)分辨率:8位功耗:15mW
最大不可調(diào)誤差小于±1LSB(最低有效位)轉(zhuǎn)換時間(fCLK500KHz)128us轉(zhuǎn)換精度:0.4%
121.ADC08西南大學(xué)成人高等教育畢業(yè)論文(設(shè)計)
ADC0809沒有內(nèi)部時鐘,必須由外部提供,其范圍為10~1280kHz。典型時鐘頻率為640kHz
2.引腳排列及各引腳的功能,引腳排列如圖9所示。
圖9A/DC0809引腳Fig.9A/DC0809pin
各引腳的功能如下:
IN0~IN7:8個通道的模擬量輸入端。可輸入0~5V待轉(zhuǎn)換的模擬電壓。D0~D7:8位轉(zhuǎn)換結(jié)果輸出端。三態(tài)輸出,D7是最高位,D0是最低位。A、B、C:通道選擇端。當CBA=000時,IN0輸入;當CBA=111時,IN7輸入。ALE:地址鎖存信號輸入端。該信號在上升沿處把A、B、C的狀態(tài)鎖存到內(nèi)部的多路開關(guān)的地址鎖存器中,從而選通8路模擬信號中的某一路。
START:啟動轉(zhuǎn)換信號輸入端。從START端輸入一個正脈沖,其下降沿啟動ADC0809開始轉(zhuǎn)換。脈沖寬度應(yīng)不小于100~200ns。
EOC:轉(zhuǎn)換結(jié)束信號輸出端。啟動A/D轉(zhuǎn)換時它自動變?yōu)榈碗娖。OE:輸出允許端。
CLK:時鐘輸入端。ADC0809的典型時鐘頻率為640kHz,轉(zhuǎn)換時間約為100μs。REF(-)、REF(+):參考電壓輸入端。ADC0809的參考電壓為+5V。VCC、GND:供電電源端。ADC0809使用+5V單一電源供電。
當ALE為高電平時,通道地址輸入到地址鎖存器中,下降沿將地址鎖存,并譯碼。在START上升沿時,所有的內(nèi)部寄存器清零,在下降沿時,開始進行A/D轉(zhuǎn)換,此期間START應(yīng)保持低電平。在START下降沿后10us左右,轉(zhuǎn)換
西南大學(xué)成人高等教育畢業(yè)論文(設(shè)計)
結(jié)束信號變?yōu)榈碗娖剑珽OC為低電平時,表示正在轉(zhuǎn)換,為高電平時,表示轉(zhuǎn)換結(jié)束。OE為低電平時,D0~D7為高阻狀態(tài),OE為高電平時,允許轉(zhuǎn)換結(jié)果輸出。
2.3ADC0809與MCS-51系列單片機的接口方法
ADC0809與8051單片機的硬件接口有3種形式,分別是查詢方式、中斷方式和延時等待方式,本題中選用中斷接口方式。
由于ADC0809無片內(nèi)時鐘,時鐘信號可由單片機的ALE信號經(jīng)D觸發(fā)器二分頻后獲得。ALE引腳得脈沖頻率是8051時鐘頻率的1/6。該題目中單片機時鐘頻率采用6MHz,則ALE輸出的頻率是1MHz,二分頻后為500KHz,符合ADC0809對頻率的要求。
由于ADC0809內(nèi)部設(shè)有地址鎖存器,所以通道地址由P0口的低3位直接與ADC0809的A、B、C相連。通道基本地址為0000H~0007H。
控制信號:將P2.7作為片選信號,在啟動A/D轉(zhuǎn)換時,由單片機的寫信號和P2.7控制ADC的地址鎖存和啟動轉(zhuǎn)換。由于ALE和START連在一起,因此ADC0809在鎖存通道地址的同時也啟動轉(zhuǎn)換。
在讀取轉(zhuǎn)換結(jié)果時,用單片機的讀信號RD和P2.7引腳經(jīng)或非門后,產(chǎn)生正脈沖作為OE信號,用一打開三態(tài)輸出鎖存器。其接口電路如圖10所示。
圖10ADC0809與MCS-51的接口電路Fig.10ADC0809withMCS-51interfacecircuit
西南大學(xué)成人高等教育畢業(yè)論文(設(shè)計)
START信號和OE信號的邏輯表達式為
圖11ADC0809時序圖
Fig.11ADC0809timingdiagram
當8051通過對0000H~0007H(基本地址)中的某個口地址進行一次寫操作,即可啟動相應(yīng)通道的A/D轉(zhuǎn)換;當轉(zhuǎn)換結(jié)束后,ADC0809的EOC端向8051發(fā)出中斷申請信號;8051通過對0000H~0007H中的某個口地址進行一次讀操作,即可得到轉(zhuǎn)換結(jié)果。
注:ADC0809的基準電壓可通過基準電壓芯片供給,如MAX875,可供給5V基準電壓。
2.4控制器、振蕩源和復(fù)位電路
復(fù)位即回到初始狀態(tài),是單片機經(jīng)常進入的工作狀態(tài)。單片機振蕩電路的振蕩周期和時鐘電路的時鐘周期決定了CPU的時序。1.復(fù)位電路
單片機的復(fù)位是靠外部電路實現(xiàn)的。無論是HMOS還是CHMOS型,在振蕩器正運行的情況下,RST引腳保持二個機器周期以上時間的高電平,系統(tǒng)復(fù)位。
西南大學(xué)成人高等教育畢業(yè)論文(設(shè)計)
在RST端出現(xiàn)高電平的第二個周期,執(zhí)行內(nèi)部復(fù)位,以后每個周期復(fù)位一次,直至RST端變低。本文采用上電外部復(fù)位電路,如圖12所示,相關(guān)參數(shù)為典型值。
圖12上電外部復(fù)位電路Fig.12Theexternalresetcircuit
2.振蕩源
內(nèi)部方式時鐘電路如圖13所示。外接晶體以及電容c1、c2構(gòu)成并聯(lián)諧振電路,接在放大器的反饋回路中,內(nèi)部振蕩器產(chǎn)生自激振蕩,一般晶振可在2~12MHz之間任選。對外接電容值雖然沒有嚴格的要求,但電容的大小多少會影響振蕩頻率的高低、振蕩器的穩(wěn)定性、起振的快速性和溫度的穩(wěn)定性。外接晶體時,c1和c2通常選30pF左右;外接陶瓷諧振器時,c1和c2的典型值為47pF。
圖13內(nèi)部振蕩器方式
Fig.13Internaloscillator
西南大學(xué)成人高等教育畢業(yè)論文(設(shè)計)
2.5鍵盤與顯示電路1.鍵盤
鍵盤由一組常開按鍵開關(guān)組成。鍵盤系統(tǒng)的主要工作包括及時發(fā)現(xiàn)有鍵閉合,并作相應(yīng)的處理。
圖14鍵盤硬件邏輯Fig.14Keyboardhardwarelogic
本系統(tǒng)中采用中斷方式的開關(guān)代替鍵盤,完成采集通道的選擇。硬件邏輯如圖14所示。2.顯示
顯示部分為8個共陰極的七段LED顯示器,8個七段LED的a~dp字段的引腳分別由8個OC門同相驅(qū)動器驅(qū)動。OC門驅(qū)動器用7407,當7407輸出低電平時,沒有電流流過LED,當7407輸出為開路狀態(tài)時,電流經(jīng)100限流電阻流入LED顯示器,每個七段LED的公共端都接一個反相驅(qū)動器,反相驅(qū)動器使用75452,當某一字段需要亮?xí)r,該LED公共端的反相驅(qū)動器必須是低電平輸出,并且這一字段的同相驅(qū)動器必須是高電平輸出。單片機通過8155接口芯片的A口位選,經(jīng)B口確定那些字段LED發(fā)光。LED發(fā)光時,驅(qū)動電流計算如下,每一字段脈沖電流
I1VCC(VFVCS)5(1.60.9)25mA
R0.1VFLED正向壓降VCS晶體管的飽和壓降
公共端最大電流
I2NI1825200mA
西南大學(xué)成人高等教育畢業(yè)論文(設(shè)計)
原理圖如圖15所示
圖15顯示電路原理Fig.15Displaycircuitprinciple
3軟件設(shè)計
3.1A/D轉(zhuǎn)換
中斷方式使用EOC信號作為向8051的中斷申請。在主程序中,向ADC發(fā)出首次啟動轉(zhuǎn)換信號后,并計數(shù)管理轉(zhuǎn)換通道數(shù)。當檢測到EOC的請求后,轉(zhuǎn)去執(zhí)行中斷服務(wù)程序,讀取轉(zhuǎn)換結(jié)果,并啟動下一次轉(zhuǎn)換,后繼續(xù)執(zhí)行。圖16為A/D轉(zhuǎn)換程序流程圖。17為中斷流程圖。
西南大學(xué)成人高等教育畢業(yè)論文(設(shè)計)
各通道采完?Y關(guān)中斷中斷處理N啟動轉(zhuǎn)換等待中斷置通道數(shù)置DPTR定義A/D轉(zhuǎn)換緩沖區(qū)首地址開中斷開始返回圖16數(shù)據(jù)采集程序流程Fig.16Datacollectionprocessflow
源程序:1.由電路圖可以知道:ADC0809的地址是70FFh
2.ADC0809的8個模擬通道所對應(yīng)的口地址是78FFh~7FFFh
3.采樣的開始,只要對模擬通道對應(yīng)的地址寫入一個數(shù)即啟動轉(zhuǎn)換。4.由P1.0查詢ADC0809的EOC信號,即可確定轉(zhuǎn)換是否完成5.8個通道的轉(zhuǎn)換結(jié)果依次放入20h~27h存儲單元中
西南大學(xué)成人高等教育畢業(yè)論文(設(shè)計)
以下是8路數(shù)據(jù)采集程序org0000h
movr1,#20h
movr2,#8h;channelnumber!movtl0,#0hmovth0,#0b8h;movtmod,#1hclret0setbtr0movscon,#40hmovdptr,#78ffhloop:mova,r2subba,r1jnzloop2movr1,#0h
movdptr,#78ffhmovr1,#0h
movdptr,#78ffhloop1:jnbtf0,loop1clrtf0movtl0,#0hmovth0,#0b8h
loop2:movx@dptr,a;startA/Dloop3:jbp1.0,loop3
loop4:jnbp1.0,loop4;checkflag
movxa,@dptr;readresultmov@r1,a;saveresultincdph;nextchannelincr1ljmploop
開始取轉(zhuǎn)換量存入A/D轉(zhuǎn)換數(shù)據(jù)緩沖區(qū)通道號+1緩存單元地址+1通道數(shù)-1啟動下次轉(zhuǎn)換返回圖17數(shù)據(jù)采集中斷程序流程圖Fig.17Dataacquisitioninterruptrogramflowchart20
西南大學(xué)成人高等教育畢業(yè)論文(設(shè)計)
end3.2標度變換
該單片機系統(tǒng)中,被測量經(jīng)過A/D轉(zhuǎn)換,均統(tǒng)一為0~255二進制碼,因此要把A/D轉(zhuǎn)換的數(shù)碼X變換成被測量的實際數(shù)值。開始定義標度變換緩沖區(qū)R0指向A./D轉(zhuǎn)換緩沖區(qū)標度變換N變換完畢?Y返回
圖18標度變換程序流程圖Fig.18Scaletransformprogramflowchart
西南大學(xué)成人高等教育畢業(yè)論文(設(shè)計)
3.3數(shù)制轉(zhuǎn)換
由于標度變換后得到兩個字節(jié)的實際數(shù)值,不能直接送顯示端顯示,須經(jīng)過適當?shù)奶幚恚ù颂帉⑵滢D(zhuǎn)換為5位非壓縮BCD碼),才能送顯示端輸出顯示。開始置取數(shù)地址指針R0的初值置通道號存儲單元通道號左移1位取數(shù)至R4R5置BCD碼存儲單元的首地址置BCD碼個數(shù)置除數(shù)調(diào)用NDIV子程序存入顯示緩沖區(qū)顯示緩沖區(qū)地址+1NBCD轉(zhuǎn)換完畢?Y返回圖19雙字節(jié)二進制整數(shù)轉(zhuǎn)換成BCD碼程序流
Fig.19DoublebytebinaryintegerconvertBCDprogramflow
西南大學(xué)成人高等教育畢業(yè)論文(設(shè)計)
3.4鍵盤程序
鍵盤部分軟件主要功能是實現(xiàn)對通道號指示緩沖區(qū)的數(shù)值進行增或減,從而控制通道的選擇。開始PSW,ACC壓棧保護Y按鍵1中斷P1.0=1?(通道加)NYP1.1=1?按鍵2中斷(通道減)NPSW,ACC出棧返回
圖20鍵盤中斷程序流Fig.20Keyboardprogramflowinterruption
西南大學(xué)成人高等教育畢業(yè)論文(設(shè)計)
3.5LED顯示程序
將內(nèi)部RAM中20H~28H單元中的8個分離BCD碼,譯碼后從左至右依次顯示出來,編制的程序流程圖如下:開始指向A口取位選碼指定顯示位指向B口取顯示字符查七段碼段選碼B口送出調(diào)用1ms延時子程準備顯示下一位位選N8位顯示完畢?Y返回圖21LED顯示程序流程圖Fig.21LEDdisplayprogramflowchart
西南大學(xué)成人高等教育畢業(yè)論文(設(shè)計)
4結(jié)論
單片機具有體積小,功耗低,功能強,通用性好,性價比高易組裝成機電儀一體化的各種智能控制設(shè)備和儀器,儀表。面向在線應(yīng)用,能針對各類控制任務(wù)的簡繁靈活配置,因而能獲得最佳的費效比。易于實現(xiàn)規(guī)劃設(shè)計,避免不必要的二次開發(fā)過程,減少系統(tǒng)的研發(fā)費用,產(chǎn)品升級周期短。易于多機使用主從分布式的集散控制,提高控制系統(tǒng)的效率?垢蓴_能力強,適應(yīng)溫度范圍廣,能在各種惡劣環(huán)境下可靠地工作。指令精簡,實用,系統(tǒng)設(shè)計靈活易于推廣運用。
西南大學(xué)成人高等教育畢業(yè)論文(設(shè)計)
參考文獻
[1]徐愛卿,孫涵芳,盛煥鳴單片微型計算機應(yīng)用和開發(fā)系統(tǒng)北京;航空航天大學(xué)出版社1992年
[2]鄔寬明,單片機外圍器件實用手冊數(shù)據(jù)傳輸接口器件分冊北京;北京航空航天大學(xué)出版社1998年
[3]何立民,余永權(quán),李小青,陳林康單片機應(yīng)用系統(tǒng)的功率接口北京;北京航空航天大學(xué)出版社1992年
[4]張毅剛,彭喜元,孟升衛(wèi),劉兆慶MCS-51單片機實用子程序設(shè)計(第二版)哈爾濱;哈爾濱工業(yè)大學(xué)出版社,201*年
[5]胡漢才,單片機原理及接口技術(shù)(第2版)北京;清華大學(xué)出版社201*年
[6]求是科技,單片機通信技術(shù)與工程實踐,北京;人民郵電出版社201*年
西南大學(xué)成人高等教育畢業(yè)論文(設(shè)計)
致謝
經(jīng)過幾個月的準備,查閱了很多參考書,閱讀了很多關(guān)于根單片機方面的知識。本次畢業(yè)設(shè)計已經(jīng)完成但不是好滿意請張老師檢查。作為一個成考生的畢業(yè)設(shè)計,由于經(jīng)驗的匱乏,難免有許多考慮不周全的地方,回想起設(shè)計過程中的一個個困難,腦中涌動的全是單片機。首先要感謝的是我的指導(dǎo)教師張濟龍教授,從題目的確定,,到后期的詳細設(shè)計都給了我悉心的指導(dǎo)。論文的邏輯結(jié)構(gòu)不清晰時,做得不好的地方還請張老師多多體涼,指出我的問題所在。除了敬佩張老師的專業(yè)水平外,您的治學(xué)嚴謹和科學(xué)研究的精神也是我永遠學(xué)習(xí)的榜樣,并將積極影響我今后的學(xué)習(xí)和工作。使我了解了控制系統(tǒng)的分析和設(shè)計方法。然后感謝與我同窗二年的同學(xué)。他們以各自的方式在學(xué)習(xí)和生活上給與我可感知而不可言說的溫暖。這些都成為我記憶深處難以忘懷的美麗風(fēng)景。最后感謝大學(xué)二年所有的老師,為我打下了扎實的專業(yè)基礎(chǔ)知識,有利于我以后的工作和學(xué)習(xí)。
二年時間,白駒過隙,有太多的事歷歷在目,宛如昨日;有太多的人音容笑貌,躍然紙上。此刻,我心潮澎湃,再次向我尊敬的老師們和同窗們表達我最誠摯的謝意。
友情提示:本文中關(guān)于《單片機AD轉(zhuǎn)換實驗代碼及電路圖》給出的范例僅供您參考拓展思維使用,單片機AD轉(zhuǎn)換實驗代碼及電路圖:該篇文章建議您自主創(chuàng)作。
來源:網(wǎng)絡(luò)整理 免責聲明:本文僅限學(xué)習(xí)分享,如產(chǎn)生版權(quán)問題,請聯(lián)系我們及時刪除。