使用單片機(jī)制作多路輸入電壓表_第1頁
使用單片機(jī)制作多路輸入電壓表_第2頁
使用單片機(jī)制作多路輸入電壓表_第3頁
使用單片機(jī)制作多路輸入電壓表_第4頁
使用單片機(jī)制作多路輸入電壓表_第5頁
已閱讀5頁,還剩1頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、使用單片機(jī)制作多路輸入電壓表在工業(yè)控制和智能化儀表中,常由單片機(jī)進(jìn)行實(shí)時(shí)控制及實(shí)時(shí)數(shù)據(jù)處理。單片機(jī)所加工的信息都是數(shù)字量,而被控制或測量對(duì)象的有關(guān)參量往往是連續(xù)變化的模擬量,如溫度、速度、壓力等等,與此對(duì)應(yīng)的電信號(hào)是模擬電信號(hào)。單片機(jī)要處理這種信號(hào),首先必須將模擬量轉(zhuǎn)換成數(shù)字量,這一轉(zhuǎn)換過程就是模數(shù)轉(zhuǎn)換,實(shí)現(xiàn)模/數(shù)轉(zhuǎn)換的設(shè)備稱為A/D轉(zhuǎn)換器或ADC。AD轉(zhuǎn)換器是單片機(jī)應(yīng)用中常見的接口,從事單片機(jī)開發(fā)的人員通常都會(huì)遇到使用AD的要求,本文通過一個(gè)典型的例子來學(xué)習(xí)一種常用AD轉(zhuǎn)換器的用法。一、模數(shù)轉(zhuǎn)換簡介A/D轉(zhuǎn)換電路種類很多,在選擇模/數(shù)轉(zhuǎn)換器時(shí),主要考慮以下的一些技術(shù)指標(biāo):轉(zhuǎn)換時(shí)間和轉(zhuǎn)換頻率、

2、量化誤差與分辨率、轉(zhuǎn)換精度、接口形式等。目前,較為流行的AD轉(zhuǎn)換器件有很多都采用了串行接口,這使得這類芯片與單片機(jī)的硬件連接非常簡單,而軟件編程相對(duì)要復(fù)雜一些,下面,我們以TI公司的TLC1543為例,制作一個(gè)多路輸入的電壓表,了解一下這類芯片的使用特點(diǎn)。二、TLC1543特性簡介TLC1543是由TI公司開發(fā)的開關(guān)電容式AD轉(zhuǎn)換器,該芯片具有如下的一些特點(diǎn):10位精度、11通道、三種內(nèi)建的自測模式、提供EOC(轉(zhuǎn)換完成)信號(hào)等。該芯片與單片機(jī)的接口采用串行接口方式,引線很少,與單片機(jī)連接簡單。圖1是TLC1543的引腳示意圖,其中A0A10是11路輸入,Vcc和GND分別是電源引腳,REF+

3、和REF-分別是參考電源的正負(fù)引腳,使用時(shí)一般將REF-接到系統(tǒng)的地,達(dá)到一點(diǎn)接地的要求,以減少干擾。其余的引腳是TLC1543與CPU的接口,其中CS為片選端,如不需選片,可直接接地。I/OClock是芯片的時(shí)鐘端,Adress是地址選擇端,DataOut是數(shù)據(jù)輸出端,這三根引腳分別接到CPU的三個(gè)I/O端即可。EOC用于指示一次AD轉(zhuǎn)換已完成,CPU可以讀取數(shù)據(jù),該引腳是低電平有效,根據(jù)需要,該引腳可接入CPU的中斷引腳,一旦數(shù)據(jù)轉(zhuǎn)換完成,向CPU提出中斷請求;此外,也可將該引腳接入一個(gè)普通的I/O引腳,CPU通過查詢該引腳的狀態(tài)來了解當(dāng)前的狀態(tài),甚至該引腳也可以不接,在CPU向TLC15

4、43發(fā)出轉(zhuǎn)換命令后,過一段固定的時(shí)間去讀取數(shù)據(jù)即可。三、單片機(jī)與TLC1543芯片的接口圖2使用TLC1543制作的多路輸入電壓表的電路圖,從圖中可以看出,這里使用了TLC1543作為基準(zhǔn)電壓源,將REF-直接接地,P1.0、P1.1、P1.2、P1.3和P1.4分別與EOC、時(shí)鐘、地址、數(shù)據(jù)、片選端分別相連。制作時(shí),請參考表1進(jìn)制連線。注意電容E1和C1一定要用,E1可用10u/16V電解,C1可用0.1uCBB電容,安裝時(shí)盡量接近20腳和第10腳。輸入端可根所需要,接入相應(yīng)的信號(hào)。編程的要求是在六位數(shù)碼管的后四位數(shù)碼管上輪流顯示TLC1543各通道的測量值,同時(shí)用十六進(jìn)制表示的通道號(hào)顯示在

5、第1位數(shù)碼管上。圖2用單片機(jī)制作多路輸入電壓表四、TLC1543驅(qū)動(dòng)程序編寫由于采用串行接口,在硬件電路簡單的同時(shí),帶來了軟件編制的復(fù)雜性,初學(xué)單片機(jī)的入門者很難掌握這類芯片的編程方法,這給此類芯片的應(yīng)用帶來一定的限制。為解決這一問題,我們在實(shí)際應(yīng)用該芯片的基礎(chǔ)上寫出了該芯片的驅(qū)動(dòng)程序,有了驅(qū)動(dòng)程序,使用者不必再關(guān)心TLC1543數(shù)據(jù)手冊中的時(shí)序圖之類不易懂的部份,只要了解清楚驅(qū)動(dòng)程序的用法,即可使用該芯片。TLC1543共有11條輸入通道,這11條通道的編號(hào)從010,讀取時(shí),根據(jù)編號(hào)來獲得想應(yīng)通道的數(shù)據(jù),此外,內(nèi)部還有三條用于測試的通道,分別是接:、和其通道編號(hào)分別是11、12和13.1驅(qū)動(dòng)

6、程序;以下定義各引腳ADCLK EQU P1.1 ;時(shí)鐘ADaddr EQU P1.2 ;地址引腳ADDout EQU P1.3 ;數(shù)據(jù)端ADCS EQU P1.4 ;片選端命令:ADConver參數(shù):r2通道號(hào),轉(zhuǎn)換前存入轉(zhuǎn)換結(jié)后數(shù)據(jù)在r0r1中,高位在前資源占用:r0,r1,r7,AADConver:CLR ADClk CLR ADCSMOV A,R2RLC A;送出地址信號(hào)MOV R7,#4C_L1:RLC AMOV ADAddr,CSETB ADClkNOPNOPNOPNOPCLR ADClkDJNZ R7,C_L1;補(bǔ)6個(gè)脈沖MOV R7,#6C_L2:SETB ADClkNOPNO

7、PNOPNOPCLR ADClkDJNZ R7,C_L2;等待轉(zhuǎn)換結(jié)束 SETB ADCSNOPNOPNOPNOPCLR ADCS;取高2位NOPNOPNOPNOPSETB ADDoutSETB ADClkMOV C,ADDoutMOV ACC.1,CCLR ADClkNOPNOPNOPNOPSETB ADDoutSETB ADClkMOV C,ADDoutMOV ACC.0,CCLR ADClkANL A,#00000011B ;清A的高6位MOV R0,A ;保存數(shù)據(jù)MOV R7,#8C_L3:NOPNOPNOPNOPSETB ADDoutSETB ADClkMOV C,ADDoutMOV

8、 ACC.0,C RLC ACLR ADClkDJNZ R7,C_L3SETB ADCSMOV R1,ARET2驅(qū)動(dòng)程序的使用該驅(qū)動(dòng)程序中用到了四個(gè)標(biāo)記符號(hào):ADClk與TLC1543的Clk引腳相連的單片機(jī)引腳ADaddr與TLC1543的Address引腳相連的單片機(jī)引腳ADDout與TLC1543的AdDout引腳相連的單片機(jī)引腳ADCS 與TLC1543的引腳相連的單片機(jī)引腳實(shí)際使用時(shí),根據(jù)接線的情況定義好ADclk、ADaddr、ADDout、ADCS,將通道號(hào)送入R2,調(diào)用ADConver,即可從R0、R1中得到轉(zhuǎn)換后的數(shù)據(jù),使用非常簡單。;*;平凡單片機(jī)工作室;Copyright

9、2003pingfansMcuStudio;AllrightsReserved;作者:周堅(jiān);文件名:ad.asm;功能簡介:每隔1s輪流將一個(gè)通道的值顯示在數(shù)碼管后4位,首位顯示通道號(hào);*gCoun DATA 22H ;通道計(jì)數(shù)器CLK bit P1.1 ;時(shí)鐘端ADDR bit P1.0 ;地址端Dout bit P1.4 ;數(shù)據(jù)輸出端CS bit P1.3 ;片選端Hidden DATA 10H ;消隱碼Counter DATA 57H ;顯示程序用計(jì)數(shù)器DISPBUFDATA 58H ;顯示緩沖區(qū)首地址ORG 0000HJMP STARTORG 000BH ;定時(shí)中斷使用T0JMP DI

10、SP ;定時(shí)中斷程序ORG 30HSTART:MOV SP,#5FH ;初始化MOV P1,#0FFHMOV P0,#0FFHMOV P2,#0FFH ;關(guān)所有LED及數(shù)碼管MOV TMOD,#00000001B MOV TH0,#HIGH(65536-3000)MOV TL0,#LOW(65536-3000)SETB TR0SETB EASETB ET0MOV Counter,#0 ;計(jì)數(shù)器清零MOV DISPBUF+1,#Hidden ;第2位顯示器消隱MOV gCoun,#0 ;通道計(jì)數(shù)器清零,指向通道0LOOP:CALL Delay ;延時(shí)1sMOV R2,gCoun ;送通道號(hào)CALL ADConverMOV A,R0MOV R6,AMOV A,R1MOV R7,ACALL HB2;調(diào)用二十進(jìn)制轉(zhuǎn)換程序;入口:待轉(zhuǎn)換的雙字節(jié)十六進(jìn)制數(shù)在R6和R7中;出口:轉(zhuǎn)換結(jié)束的結(jié)果在R3、R4和R5中,壓縮BCD碼方式存儲(chǔ)MOV A,R4ANL A,#0F0HSWAP A ;高低4位互換MOV DispBuf+2,A ;最高位MOV A,R4ANL A,#0FHMOV DispBuf+3,AMOV A,R5ANL A,#0F0HSWAP AMOV DispBuf+4,AMOV A,R5ANL A,#0FHMOV DispBuf+5,A ;以上程序段將壓縮BCD碼轉(zhuǎn)換

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論