版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
單片機的接口技術第1頁,共73頁,2023年,2月20日,星期一第9章目錄9.1單片機鍵盤接口技術
9.1.1獨立鍵盤
9.1.2矩陣式鍵盤9.2數碼顯示器接口電路
9.2.1數碼管顯示原理
9.2.2數碼管動態(tài)顯示9.3A/D轉換接口技術9.4D/A轉換接口技術第2頁,共73頁,2023年,2月20日,星期一9.1單片機鍵盤接口技術9.1.1獨立鍵盤在單片機系統(tǒng)中廣泛使用機械式非編碼鍵盤,通過鍵盤向單片機輸入數字、字符等代碼,是最常用的輸入手段。彈性按鍵被按下時閉合,松手后自動斷開。自鎖式按鍵按下時閉合且會自動鎖住,只有再次按下時才彈起斷開。通常我們把自鎖式按鍵當做開關使用,比如單片機系統(tǒng)中的電源開關就使用自鎖按鍵。單片機的外圍輸入控制用彈性按鍵較好。(a)彈性按鍵實物圖(b)自鎖按鍵按鍵實物圖(C)按鍵引腳電氣關系第3頁,共73頁,2023年,2月20日,星期一9.1單片機鍵盤接口技術9.1.1獨立鍵盤1、獨立按鍵與單片機的連接電路獨立式按鍵特點是:一鍵一線,各鍵相互獨立,每個鍵各接一條I/O口線,通過檢測I/O輸入線的電平狀態(tài),可容易地判斷哪個按鍵被按下。獨立式按鍵的連接方法非常簡單,I/O端與單片機的任一I/O口相連。圖9-2獨立式按鍵與單片機的連接第4頁,共73頁,2023年,2月20日,星期一9.1單片機鍵盤接口技術9.1.1獨立鍵盤2、獨立式按鍵的識別(1).測試有鍵被按下否單片機檢測按鍵的原理是:單片機的I/O口既可作為輸出也可作為輸入使用,當檢測按鍵時用的是它的輸入功能,我們把按鍵的一端接地,另一端與單片機的某個I/O口相連,開始時先給該I/O口賦一高電平,然后讓單片機不斷地檢測該I/O口是否變?yōu)榈碗娖?,當按鍵閉合時,即相當于該I/O口通過按鍵與地相連,變成低電平,程序一旦檢測到I/O口變?yōu)榈碗娖絼t說明按鍵被按下。第5頁,共73頁,2023年,2月20日,星期一9.1單片機鍵盤接口技術9.1.1獨立鍵盤2、獨立式按鍵的識別(2).去抖動
鍵是一種開關結構,由于機械觸點的彈性及電壓突跳等原因,在閉合及斷開的瞬間,行線上會出現電壓抖動。按鍵在被按下時,其觸點電壓變化過程如下圖所示。
理想波形與實際波形之間是有區(qū)別的,實際波形在按下和釋放的瞬間都有抖動現象,抖動時間的長短和按鍵的機械特性有關,一般為5~10ms。通常我們手動按下鍵然后立即釋放,這個動作中穩(wěn)定閉合的時間超過20ms。因此單片機在檢測鍵盤是否按下時都要加上去抖動操作軟件或專用的去抖動電路及去抖動芯片。(a)按鍵按下時電壓的理想波形(b)按鍵按下時電壓的實際波形第6頁,共73頁,2023年,2月20日,星期一9.1單片機鍵盤接口技術9.1.1獨立鍵盤2、獨立式按鍵的識別(3).鍵掃描以確定被按鍵的物理位置要想知道被按下的是哪個鍵,單片機只需要讀入P0口的數值,如執(zhí)行指令:MOVA,P0。然后執(zhí)行測試條件轉移指令如:JBACC.*(0~7),rel。根據累加器A中的值判斷連接P0口的鍵盤是哪一位被按下。(4).等待鍵釋放確定鍵的物理位置后,再以延時的方法判定鍵釋放。鍵釋放之后,就可以根據得到的鍵碼轉去執(zhí)行相應的鍵處理子程序,進行數據的輸入或命令的處理。第7頁,共73頁,2023年,2月20日,星期一9.1單片機鍵盤接口技術9.1.1獨立鍵盤3、獨立式鍵盤的識別程序
下面是識別某一鍵是否按下的子程序:KEYIN:MOVP1,0FFH;P1口寫入1,設置P1口為輸入狀態(tài)
MOVA,P1 ;讀入8個按鍵的狀態(tài)
CJNEA,#0FFH,QUDOU;有鍵按下,跳去抖動
LJMPRETURN ;無鍵按下,返回 QUDOU:MOVR3,A ;8個按鍵的狀態(tài)送R3保存
LCALLDELAY10;調用延時子程序,軟件去鍵抖動
MOVA,P1 ;再一次讀入8個按鍵的狀態(tài)
CJNEA,R3,RETURN;兩次鍵值比較,不同,則是抖動KEY0:MOVC,P1.0;有鍵按下,讀P1.0的按鍵狀態(tài)
JCKEY1;P1.0為高,該鍵未按下,跳KEY1,判下一個鍵
LJMPPKEY0 ;P1.0的鍵按下,跳PKEY0功能程序第8頁,共73頁,2023年,2月20日,星期一9.1單片機鍵盤接口技術9.1.1獨立鍵盤3、獨立式鍵盤的識別程序KEY1:MOVC,P1.1;讀P1.1的按鍵狀態(tài)
JCKEY2 ;P1.1為高,該鍵未按下,跳KEY2,判下一個鍵
LJMPPKEY1 ;P1.1的鍵按下,跳PKEY1功能程序KEY2:MOVC,P1.2;讀P1.2的按鍵狀態(tài)
JCKEY3 ;P1.2為高,該鍵未按下,跳KEY3判下一個鍵
LJMPPKEY2 ;P1.2的鍵按下,跳PKEY2功能程序KEY3:MOVC,P1.3;讀P1.3的按鍵狀態(tài)
…… ……KEY7:MOVC,P1.7;讀P1.7的按鍵狀態(tài)
JCRETURN ;P1.7為高,該鍵未按下,跳RETURN處
LJMPPKEY7 ;P1.7的鍵按下,跳PKEY7功能程序RETURN:RET;子程序返回說明:其中子程序PKEY0、PKEY1……PKEY7為按鍵0~7的鍵盤功能程序,由于篇幅所限此處省略。第9頁,共73頁,2023年,2月20日,星期一9.1單片機鍵盤接口技術9.1.2矩陣式鍵盤矩陣式鍵盤通常是由若干個鍵按行列排成矩陣而組成的,在行列的交點處對應有一個鍵。研究鍵盤接口技術的主要內容就是如何確定被按鍵的行列位置,并據此產生鍵碼,CPU根據鍵碼產生相應的鍵功能程序。1、矩陣式鍵盤與單片機的連接將16個按鍵排成4行4列,第一行將每個按鍵的一端連接在一起構成行線,第一列將每個按鍵的另端連接在一起構成列線,這樣便一共有4行4列共8根線,我們將這8根線連接到單片機的8個I/O口上,通過程序掃描鍵盤就可檢測16個鍵。第10頁,共73頁,2023年,2月20日,星期一9.1單片機鍵盤接口技術9.1.2矩陣式鍵盤圖9-4(a)矩陣式鍵盤與單片機的連接圖9-4(b)矩陣式鍵盤單個按鍵的電氣圖第11頁,共73頁,2023年,2月20日,星期一9.1單片機鍵盤接口技術9.1.2矩陣式鍵盤2、矩陣式按鍵的識別(1).測試有鍵被按下否①矩陣式鍵盤有鍵按下的判斷方法單片機檢測矩陣式鍵盤是否有鍵被按下的依據與獨立式鍵盤一樣,也是檢測與該鍵對應的I/O口是否為低電平。矩陣鍵盤兩端都與單片機I/O口相連,因此在檢測時需人為通過單片機I/O口送出低電平。鍵盤的行線一端經電阻接+5V電源,另一端接單片機系統(tǒng)的輸入口;各列線一端接輸出口,另一端接+5V電源。為判斷有沒有鍵被按下,可先經輸出口向所有列線輸出低電平,然后再經輸入口輸入各行線狀態(tài)。若各行線狀態(tài)皆為高電平,則表明無鍵被按下;若各行線狀態(tài)中有低電平出現,則表明有鍵被按下。第12頁,共73頁,2023年,2月20日,星期一9.1單片機鍵盤接口技術9.1.2矩陣式鍵盤2、矩陣式按鍵的識別(1).測試有鍵被按下否②單片機鍵掃描方式鍵盤掃描工作方式選取原則是:既要保證及時響應按鍵操作,又不過多占用單片機工作時間。鍵盤掃描工作方式有3種,即查詢掃描、定時掃描和中斷掃描。查詢方式,利用單片機空閑時,調用鍵盤掃描子程序,反復掃描鍵盤。如果單片機的查詢的頻率過高,雖能及時響應鍵盤的輸入,但也會影響其他任務的進行。查詢的頻率過低,可能會對鍵盤的輸入漏判。所以要根據單片機系統(tǒng)的繁忙程度和鍵盤的操作頻率,來調整鍵盤掃描的頻率。定時掃描,每隔一定的時間對鍵盤掃描一次。在這種方式中,通常利用單片機內的定時器產生的定時中斷,進入中斷子程序來對鍵盤進行掃描,在有鍵按下時識別出該鍵,并執(zhí)行相應鍵的功能程序。為了不漏判有效的按鍵,定時中斷的周期一般應小于100ms。第13頁,共73頁,2023年,2月20日,星期一9.1單片機鍵盤接口技術9.1.2矩陣式鍵盤中斷方式,利用外部中斷0和外部中斷1的輸入引腳觸發(fā)鍵掃描程序。圖9-5中斷掃描方式電路第14頁,共73頁,2023年,2月20日,星期一9.1單片機鍵盤接口技術9.1.2矩陣式鍵盤2、矩陣式按鍵的識別(2).去抖動矩陣式鍵盤也需要去抖動操作,在單片機系統(tǒng)中多采用軟件方法,延遲時間大約10ms左右。(3).鍵掃描以確定被按鍵的物理位置①列掃描要想確定被按鍵的物理位置,先送一列為低電平,其余幾列全為高電平,然后立即檢測各行是否有低電平,若檢測到某一行為低電平,則我們便可確認當前被按下的鍵是哪一行哪一列的,用同樣方法輪流送各列一次低電平,并檢測相應各行是否變?yōu)榈碗娖?,這樣即可檢測完所有的按鍵,當有鍵被按下時便可判斷出按下的鍵是哪一個鍵。當然我們也可以將行線置低電平,掃描列是否有低電平。這就是矩陣鍵盤檢測的原理和方法,通常被稱為列掃描。第15頁,共73頁,2023年,2月20日,星期一9.1單片機鍵盤接口技術9.1.2矩陣式鍵盤在鍵盤中假定有A鍵被按下,這時鍵盤矩陣中A點處的行線和列線相通。鍵掃描的過程是:先從端口輸出FEH,即是左端列線為低電平,然后CPU讀取行線狀態(tài),判斷行線狀態(tài)中是否有低電平者(見圖9-6(a));如果沒有低電平,再從輸出口輸出FDH,再判斷行線狀態(tài)(見圖9-6(b));依次向下,當輸出口輸出FBH時,行線狀態(tài)中有一條為低電平,則閉合鍵找到(見圖9-6(c))。如此繼續(xù)進行下去,以發(fā)現可能出現的多鍵同時被按下的現象。圖9-6鍵掃描過程第16頁,共73頁,2023年,2月20日,星期一9.1單片機鍵盤接口技術9.1.2矩陣式鍵盤圖9-4所示電路的列掃描程序如下:SMKEY:MOVP1,#0FH;置P1口高4位為“0”、低4位為輸入狀態(tài)
MOVA,P1;讀P1口
ANLA,#0FH;屏蔽高4位
CJNEA,#0FH,HKEY;有鍵按下,轉HKEYSJMPSMKEY;無鍵按下轉回HKEY:LCALLDELAY10;延時10ms,去抖
MOVA,P1;
ANLA,#0FH;
CJNEA,#0FH,WKEY;確認有鍵按下,轉判哪一鍵按下
SJMPSMKEY;是抖動轉回WKEY:MOVP1,#11101111B;置掃描碼,檢測P1.4列
MOVA,P1;
ANLA,#0FH;
CJNEA,#0FH,PKEY;P1.4列(Y0)有鍵按下,轉鍵處理第17頁,共73頁,2023年,2月20日,星期一9.1單片機鍵盤接口技術9.1.2矩陣式鍵盤MOVP1,#11011111B;置掃描碼,檢測P1.5列MOVA,P1;ANLA,#0FH;CJNEA,#0FH,PKEY;P1.5列(Y1)有鍵按下轉鍵處理MOVP1,#10111111B;置掃描碼,檢測P1.6列MOVA,P1;ANLA,#0FH;CJNEA,#0FH,PKEY;P1.6列(Y2)有鍵按下,轉鍵處理MOVP1,#01111111B;置掃描,檢測P1.7列MOVA,P1;ANLA,#0FH;CJNEA,#0FH,PKEY;P1.7列(Y3)有鍵按下,轉鍵處理LJMPSMKEY;PKEY:……;鍵處理第18頁,共73頁,2023年,2月20日,星期一9.1單片機鍵盤接口技術9.1.2矩陣式鍵盤2、矩陣式按鍵的識別(3).鍵掃描以確定被按鍵的物理位置②反轉法掃描法要逐列掃描查詢,有時則要多次掃描。而線反轉法則很簡練,無論被按鍵是處于第一列或最后一列,均只需經過兩步便能獲得此按鍵所在的行列值,下面以圖9-4(a)所示的矩陣式鍵盤為例,介紹線反轉法的具體步驟。首先讓行線編程為輸入線,列線編程為輸出線,并使輸出線輸出為全低電平,則行線中電平由高變低的所在行為按鍵所在行。再把行線編程為輸出線,列線編程為輸入線,并使輸出線輸出為全低電平,則列線中電平由高變低所在列為按鍵所在列。兩步即可確定按鍵所在的行和列,從而識別出所按的鍵。第19頁,共73頁,2023年,2月20日,星期一9.1單片機鍵盤接口技術9.1.2矩陣式鍵盤以圖9-4(a)為例的反轉法程序如下:SMKEY:MOVP1,#0FH;置P1口高4位“0”、低4位輸入狀態(tài)
MOVA,P1;讀P1口
ANLA,#0FH;屏蔽高4位
CJNEA,#0FH,HKEY;有鍵按下,轉HKEYSJMPSMKEY;無鍵按下轉回
HKEY:LCALLDELAY10;延時10ms,去抖
MOVA,P1;
ANLA,#0FH;
MOVB,A;行線狀態(tài)在B的低4位
CJNEA,#0FH,WKEY;有鍵按下,判哪一鍵按下
SJMPSMKEY;是抖動轉回
WKEY:MOVP1,#0F0H;置P1高4位為輸入、低4位為“0”MOVA,P1;
ANLA,#0F0H;屏蔽低4位
ORLA,B;列線高4位,與行線合成于B……;鍵處理第20頁,共73頁,2023年,2月20日,星期一9.1單片機鍵盤接口技術9.1.2矩陣式鍵盤(4).計算鍵碼根據輸出低電平的列線號和變?yōu)榈碗娖降男芯€值,可以求得閉合鍵的鍵碼。鍵碼實際上就是鍵在矩陣中按從左向右、從上向下的序號。按這種規(guī)律,圖9-7所示鍵盤的32個鍵的鍵碼為00H~1FH。鍵碼的計算公式為:鍵碼=行首鍵碼+列值圖9-7的行首鍵碼為分別為:00H、08H、10H、18H,列值為0~7。圖9-74×8鍵盤鍵碼第21頁,共73頁,2023年,2月20日,星期一9.1單片機鍵盤接口技術9.1.2矩陣式鍵盤(5).等待鍵釋放計算鍵碼之后,再以延時和掃描的方法等待和判定鍵釋放。鍵釋放之后,就可以根據得到的鍵碼轉相應的鍵處理子程序,進行數據的輸入或命令的處理。第22頁,共73頁,2023年,2月20日,星期一9.1單片機鍵盤接口技術9.1.2矩陣式鍵盤3、矩陣鍵盤舉例【例9-1】鍵盤的接口電路如圖9-8所示,其接口芯片為8155。其中PA口為輸出口,接鍵盤列線。PC口為輸入口,以PC3~PC0接鍵盤的四條行線。此外,已知PA口的地址為0101H,PC口的地址為0103H。試編制8155的鍵掃描和讀鍵碼程序。圖9-8典型的鍵盤接口電路第23頁,共73頁,2023年,2月20日,星期一9.1單片機鍵盤接口技術9.1.2矩陣式鍵盤在鍵盤程序中共調用兩個子程序,它們分別是:①DELAY延時子程序(程序略),該程序的執(zhí)行時間約為6ms。②KS1判斷子程序,用于判斷鍵盤上是否有鍵閉合。KS1的程序如下:KS1:MOVDPTR,#0101H;設定PA口地址
MOVA,#00HMOVX@DPTR,A;PA口向列線輸出00HINCDPTR;設定PC口地址
INCDPTRMOVXA,@DPTR;PC口輸入行線狀態(tài)
CPLA;行線狀態(tài)取反
ANLA,#0FH;屏蔽A的高半字節(jié)
RET;返回第24頁,共73頁,2023年,2月20日,星期一9.1單片機鍵盤接口技術9.1.2矩陣式鍵盤⑵鍵盤掃描程序KEY:ACALLKS1;調用子程序,檢查有鍵閉合否
JNZLK1;A非0則有鍵按下,轉移到消抖處理程序
ACALLDELAY;執(zhí)行一次延時程序(延時6ms)
AJMPKEYLK1:ACALLDELAY;有鍵閉合,延時12ms以去抖動
ACALLDELAYACALLKS1;再檢查有鍵閉合否
JNZLK2;若有鍵閉合,則轉LK2ACALLDELAY;若無鍵閉合,則說明是干擾信號,不處理
AJMPKEY;延時6ms后轉KEY繼續(xù)等待鍵人第25頁,共73頁,2023年,2月20日,星期一9.1單片機鍵盤接口技術9.1.2矩陣式鍵盤LK2:MOVR2,#FEH;掃描初值送R2MOVR4,#00H;列號初值送R4LK4:MOVDPTR,#0101H;建立PA口地址MOVA,R2MOVX@DPTR,A;掃描初值送PA口INCDPTRINCDPTR;指向PC口MOVXA,@DPTR;輸入行狀態(tài)JBACC.0,LONE;ACC.0=1,第0行無鍵閉合,轉LONEMOVA,#00H;第0行行值AJMPLKP第26頁,共73頁,2023年,2月20日,星期一9.1單片機鍵盤接口技術9.1.2矩陣式鍵盤LTWO:JBACC.2,LTHR;ACC.2=1,第2行無鍵閉合,轉LTHRMOVA,#10H;第2行行值AJMPLKPLTHR:JBACC.3,NEXT;ACC.3=1,第3行無鍵閉合,轉NEXTMOVA,#18H;第3行行值LKP:ADDA,R4;計算鍵碼PUSHACC;保存鍵碼LK3:ACALLDELAY;延時6msACALLKS1;判斷鍵是否繼續(xù)閉合若閉合再延時第27頁,共73頁,2023年,2月20日,星期一9.1單片機鍵盤接口技術9.1.2矩陣式鍵盤JNZLK3POPACC;若鍵起,則鍵碼送ARETNEXT:INCR4;列號加1MOVA,R2JNBACC.7,KND;第7位為0,已掃描到最高列轉KNDRLA ;循環(huán)右移1位MOVER2,AAJMPLK4;進行下一列掃描KND:AJMPKEY;掃描完畢,開始新的一輪鍵盤掃描程序的運行結果是,把被按鍵的鍵碼放在累加器A中然后再根據鍵碼進行下一步的處理。第28頁,共73頁,2023年,2月20日,星期一9.2數碼顯示器接口電路9.2.1數碼管顯示原理我們先來看幾個數碼管的圖片,圖9-9(a)為單位數碼管、圖9-9(b)為雙位數碼管、圖9-9(c)為四位數碼管。不管將幾位數碼管連在一起,數碼管的顯示原理都是一樣的,都是靠點亮內部的發(fā)光二極管來發(fā)光。圖9-9(a)單位數碼管圖9-9(b)雙位數碼管圖9-9(c)四位數碼管第29頁,共73頁,2023年,2月20日,星期一9.2數碼顯示器接口電路9.2.1數碼管顯示原理一位數碼管的引腳是10個,顯示一個8字需要7個小段,另外還有一個小數點“.”,所以其內部一共有8個小的發(fā)光二極管,最后還有一個公共端,生產商為了封裝統(tǒng)一,單個數碼管都封裝10個引腳,其中第3和第8引腳是連接在一起的。而它們的公共端又可分為共陽極和共陰極。
(a)數碼管引腳圖(b)共陰極數碼管內部電路(C)共陽極數碼管內部電路第30頁,共73頁,2023年,2月20日,星期一9.2數碼顯示器接口電路9.2.1數碼管顯示原理使用LED顯示器時,為了顯示數字和符號,要為LED顯示器提供代碼,代碼通過各段的亮與滅來顯示字符,把控制發(fā)光二極管的8位二進制數稱為段選碼,通常各段位與數據位的對應關系如表9-1所示。表9-1各段位與數據位的對應關系段碼位D7D6D5D4D3D2D1D0顯示位DpgfeDcba第31頁,共73頁,2023年,2月20日,星期一9.2數碼顯示器接口電路9.2.1數碼管顯示原理共陰極和共陽極的段選碼互為反碼,常用的字符及段選碼如表9-2所示。顯示字符共陰極段選碼共陽極段選碼顯示字符共陰極段選碼共陽極段選碼03FHC0HD5EHA1H106HF9HE79H86H25BHA4HF71H84H34FHB0HP73H82H466H99HU3EHC1H56DH92HH76H89H67DH82HL38HC7H707HF8Hn54HABH87FH80Hr31HCEH96FH90Hy6EH91HA77H88H.80H7FHB7CH83H8.FFH00HC39HC6H“滅”00HFFH第32頁,共73頁,2023年,2月20日,星期一9.2數碼顯示器接口電路9.2.1數碼管顯示原理注意:字符的段選碼是相對的,由各字段在字節(jié)中所處的位置決定。例如8段LED段碼是按格式:.、g、f、e、d、c、b、a(由高到低)而形成的,0的段碼為3FH(共陰)。反之,如果格式按照:.、a、b、c、d、e、f、g而形成的,0的段碼為7EH(共陰)。因此上述對應關系并不是絕對的,可根據實際情形,自行設定,靈活選用。第33頁,共73頁,2023年,2月20日,星期一9.2數碼顯示器接口電路9.2.2數碼管動態(tài)顯示LED顯示器工作在靜態(tài)顯示方式下,共陰極或共陽極連接在一起接地或+5V,每位的段選線(a~dp)與一個8位并行口相連,如圖9-12所示。圖9-124位靜態(tài)LED顯示器電路第34頁,共73頁,2023年,2月20日,星期一9.2數碼顯示器接口電路9.2.2數碼管動態(tài)顯示靜態(tài)顯示方式由于每一位由一個8位輸出口控制段選碼,故在同一時間里每一位顯示的字符可以各不相同。靜態(tài)顯示的優(yōu)點明顯,一旦刷新之后就能夠保持,直至下一次數據到來,并不需要反復刷新,節(jié)省CPU運行時的資源;其缺點是N位靜態(tài)顯示器要求有N×8根I/O口線,占用I/O資源較多,所有的LED位一直同時發(fā)光,功耗較大。第35頁,共73頁,2023年,2月20日,星期一9.2數碼顯示器接口電路9.2.2數碼管動態(tài)顯示在多位LED顯示時,為了節(jié)約I/O端口,簡化電路,降低成本,往往采用動態(tài)顯示方式將所有位的段選線并聯(lián)在一起,由一個8位的I/O端口控制,而共陰極點或共陽極點分別由另外的I/O口線控制。
I/O(2))圖9-138位LED動態(tài)顯示器電路第36頁,共73頁,2023年,2月20日,星期一9.3A/D轉換接口技術在單片機的實時控制和智能儀表等應用系統(tǒng)中,被控制或測量對象的有關參量往往是一些連續(xù)變化的模擬量,如溫度、壓力、流量、速度等物理量,這些模擬量必須轉換成數字量后才能輸入到計算機進行處理。實現模擬量轉換成數字量的過程稱為“量化”,也稱為A/D轉換,實現模/數轉換的設備稱為模/數轉換器。A/D轉換器種類很多,按轉換原理可以分成逐次逼近式、雙積分式、并行式及計數器式。第37頁,共73頁,2023年,2月20日,星期一9.3A/D轉換接口技術衡量A/D轉換器性能的主要參數是:分辨率:即輸出的數字量變化一個相鄰的值所對應的輸入模擬量的變化值。A/D轉換器的分辨率是指輸出的單位數字量變化對應的輸入模擬量的變化。通常定義為滿刻度值與2n之比(n為A/D轉換器的二進制位數),顯然二進制位數越多,分辨率越高,A/D轉換器對輸入量變化的敏感程度越高。轉換時間:轉換時間是指啟動A/D轉換到轉換結束所需的時間,轉換時間的倒數為轉換速率。轉換速度取決于芯片采用的時鐘頻率。轉換精度:A/D轉換器的轉換精度定義為一個實際A/D轉換器與一個理想A/D轉換器在量化值上的差值,即轉換結果相對于理想值的偏差。轉換精度有絕對精度和相對精度兩種表示方法。絕對精度:指滿刻度輸出的實際電壓與理想輸出值之差,用二進制最低位(LSB)的倍數來表示,如±(1/2)LSB、±1LSB等。相對精度指相對于轉換器滿刻度輸出模擬電壓的百分比,如±0.05%等。第38頁,共73頁,2023年,2月20日,星期一9.3A/D轉換接口技術1、A/D轉換器芯片ADC0809的結構及引腳圖9-14為ADC0809的內部結構和引腳圖。(a)ADC0809結構圖(b)ADC0809引腳圖第39頁,共73頁,2023年,2月20日,星期一9.3A/D轉換接口技術1、A/D轉換器芯片ADC0809的結構及引腳圖9-14為ADC0809的內部結構和引腳圖。圖中,多路開關可選通8個模擬量分時輸入,共用一個8位A/D轉換器進行轉換。地址鎖存與譯碼電路完成對A、B、C地址位進行鎖存和譯碼,鎖存3位地址信號并選擇要轉換8個模擬量中的哪一個。三態(tài)輸出鎖存器能對轉換后的數字量進行三態(tài)鎖存輸出。第40頁,共73頁,2023年,2月20日,星期一9.3A/D轉換接口技術1、A/D轉換器芯片ADC0809的結構及引腳ADC0809有28只引腳,為雙列直插式封裝,ADC0809引腳功能說明如下:IN0~IN7:8個模擬量輸入通道。D0~D7:8位三態(tài)數字量輸出線。C、B、A:通道選擇輸入線,其中C為最高位,A為最低位,三位地址的取值關系對應8個模擬量通道。START:啟動轉換輸入信號,正脈沖有效。該信號的上升沿清除ADC0809內部寄存器(復位),下降沿啟動控制電路開始轉換。ALE:通道地址鎖存信號,ALE正跳變時把3個地址信號送入地址鎖存器,并經譯碼器得到地址輸出,以選擇相應的模擬輸入通道。第41頁,共73頁,2023年,2月20日,星期一9.3A/D轉換接口技術1、A/D轉換器芯片ADC0809的結構及引腳EOC:轉換結束信號輸出線。OE:輸出允許控制信號輸出線。OE為高電平時,換結果送到數據線D7~D0上;OE為低電平時,D7~D0上呈現高組態(tài)。CLK:時鐘信號接入端。ADC0809的時鐘頻率的范圍是:10~1280KHZ,典型值為640KHZ,其完成一次轉換所需要的時間大月為100μs。VREF(+):參考電壓輸入端,典型值為+5V。VREF(-):參考電壓輸入端,典型值為0V。VCC:主電源+5V。GND:數字地。第42頁,共73頁,2023年,2月20日,星期一9.3A/D轉換接口技術2、單片機與ADC0809的接口方法ADC0809和80C51單片機的接口電路連接要考慮三個問題:一是8路模擬信號通道的選擇;二是ADC0809的啟動;三是轉換結果數據的傳送方式。由于ADC0809帶有三態(tài)鎖存器,所以其輸出端D7~D0和80C51單片機P0可以直接連接。第43頁,共73頁,2023年,2月20日,星期一9.3A/D轉換接口技術
2、單片機與ADC0809的接口方法(1).8路模擬信號通道的選擇由于ADC0809內部有地址鎖存器,因此地址線C、B、A可以直接與80C51地址總線的任意3條線直接連接,也可以和P0口經鎖存器輸出的8條線中的任意3條連接。C、B、A信號與通道號的關系如表所示。表9-3ADC0809的A、B、C與通道號的關系CBA通道000IN0001IN1010IN2011IN3100IN4101IN5110IN6111IN7第44頁,共73頁,2023年,2月20日,星期一9.3A/D轉換接口技術2、單片機與ADC0809的接口方法(2).ADC0809的啟動及轉換
ADC0809轉換時序圖圖9-15ADC0809轉換時序第45頁,共73頁,2023年,2月20日,星期一9.3A/D轉換接口技術ADC0809的啟動及轉換的條件將某個通道的模擬信號進行A/D轉換,需滿足以下條件:①在START端需產生一個正脈沖,上升沿復位ADC0809,下降沿啟動A/D轉換。②在START信號之前,待轉換的模擬通道的地址應穩(wěn)定地出現在地址線上,同時需在ALE端產生一個正跳變,將地址鎖存起來,使得在A/D轉換期間,比較器內部輸入始終是選中的模擬通道輸入信號。③在轉換結束之前,在START端和ALE端不能再次出現正脈沖信號。第46頁,共73頁,2023年,2月20日,星期一9.3A/D轉換接口技術ADC0809的啟動轉換的方法啟動轉換的硬件連接方法是:利用80C51寫選通信號與A15~A0地址線中的任意一位“或非”后作為ADC0809啟動信號(START)和ALE信號相連接。在單片機系統(tǒng)中,單片機將ADC0809作為數據存儲器一樣看待。啟動轉換的軟件語句:
MOVDPTR,#addr16MOVXA,@DPTR第47頁,共73頁,2023年,2月20日,星期一9.3A/D轉換接口技術(3).ADC0809數據的輸出方式ADC0809數據的輸出方式
A/D轉換器轉換后得到的是數字量,可采用下述三種方式將這些數據應傳送給單片機進行處理。①定時傳送方式:對于一種A/D轉換器來說,只要工作在典型時鐘頻率范圍,其轉換時間基本是固定的。例如,ADC0809轉換時間為128s,相當于采用6MHz晶振的80C51單片機的64個機器周期,因此,可設計一個延時子程序,A/D轉換啟動后,就調用這個延時子程序,延遲時間一到,轉換肯定已經完成。接著,就可進行數據傳送。②查詢方式:A/D轉換芯片有表明轉換完成的狀態(tài)信號,例如ADC0809的EOC端。因此可以通過查詢方式用軟件測試EOC的狀態(tài),確認轉換是否完成,若完成,則接著進行數據傳送。③中斷方式:轉換完成的狀態(tài)信號EOC可與單片機的外部中斷輸入引腳INTX相連接,作為中斷請求信號,以中斷方式進行數據傳送。第48頁,共73頁,2023年,2月20日,星期一9.3A/D轉換接口技術ADC0809數據的輸出電路及指令①ADC0809數據的輸出電路將80C51單片機讀選通信號與A15~A0地址線中的任意一位相“或非”后與ADC0809的讀出信號(OE)相連接。②ADC0809數據的輸出指令
ADC0809轉換結速后,單片機讀取轉換數據的指令:
MOVDPTR,#addr16MOVX@DPTR,A
如圖9-16所示,addr16的取值與啟動轉換相同,不再詳述。執(zhí)行MOVX@DPTR,A指令會使得信號呈現低電平,P2.0呈現低電平,兩者相“或非”后可以使得OE出現高電平,ADC0809將轉換后的結構鎖存輸出。。第49頁,共73頁,2023年,2月20日,星期一9.3A/D轉換接口技術9.2.2數碼管動態(tài)顯示3、應用實例圖9-16為80C51單片機與ADC0809的接口電路圖,采用的是中斷方式進行轉換結果數據的傳送方式。圖中用80C51的ALE信號2分頻后作為ADC0809的時鐘信號(CLK),用80C51的P2.7線作線選址方式,ADC0809的地址碼為7FEF8H~7FEFFH(未用12條地址線都選取為1)。圖9-1680C51單片機與ADC0809的接口電路第50頁,共73頁,2023年,2月20日,星期一9.3A/D轉換接口技術3、應用實例如果要對其中IN1通道進行模/數轉換,應執(zhí)行如下初始化程序和中斷服務程序。(1)初始化程序MAIN:SETBIT1;設置脈沖觸發(fā)中斷方式
SETBEX1;允許外部中斷1SETBEA;開中斷
MOVDPTR,#7FEF9H;設置ADC0809地址START:MOVA,#01H;對IN1通道進行轉換,A的值可選任何數,無實際意義
MOVX@DPTR,A;啟動A/D轉換HERE:SJMPHERE;等待中斷
…………;其他程序第51頁,共73頁,2023年,2月20日,星期一9.3A/D轉換接口技術(2)中斷服務程序NTR1:…………;保護現場
MOVXA,@DPTR;讀取轉換數據
…………;保存數據或進行其他處理(略)
RETI;返回斷點第52頁,共73頁,2023年,2月20日,星期一9.4D/A轉換接口技術模擬量必須轉換成數字量后才能輸入到計算機進行處理,計算機處理的結果,也常常需要轉換為模擬信號,驅動相應的執(zhí)行機構,實現對被控對象的控制。以下介紹常用的DAC0832數/模轉換器工作原理及其與單片機的接口方法。DAC0832是CMOS工藝制造的8位的單片D/A轉換器,其主要的特性參數如下:分辨率為8位??蓡尉彌_、雙緩沖或直接數字輸入。單一電源供電(+5~+15V)。低功耗20mV。DAC0832內部無參考電源,須外接參考電壓源。建立時間為1μs。第53頁,共73頁,2023年,2月20日,星期一9.4D/A轉換接口技術1、DAC0832結構和引腳
DAC0832主要由兩個8位寄存器和一個8位D/A轉換器組成。使用兩個寄存器(輸入寄存器和DAC寄存器)的好處是能簡化某些應用中的硬件接口電路設計。
(a)DAC0832引腳圖(b)DAC0832結構圖第54頁,共73頁,2023年,2月20日,星期一9.4D/A轉換接口技術
DAC0832轉換器芯片為20引腳,雙列直插式封裝,DAC0832的引腳功能如下:D7~D0:數字量數據輸入線。ILE:數據鎖存允許信號,高電平有效。/CS:輸入寄存器選擇信號,低電平有效。/WR1:輸入寄存器的“寫”選通信號,負脈沖有效(脈沖寬度大于500ns)。當/CS=0、ILE=1、/WR1為0至1的跳變時,/LE1發(fā)生由1到0的跳變,D7~D0的數據狀態(tài)被鎖存至輸入寄存器。第55頁,共73頁,2023年,2月20日,星期一9.4D/A轉換接口技術2、DAC0832的工作原理在圖9-17中,/LE1、/LE2是寄存命令,下降沿有效。當/LE1=1時,輸入寄存器的輸出隨輸入變化;發(fā)生由高電平到低電平的跳變時,數據鎖存在寄存器中,不再隨數據總線上的數據變化而變化。ILE為高電平,/CS為低/WR1同時為低時,使得/LE1=1;當/WR1由低變高時,8位輸入寄存器便將輸入數據鎖存。/XFER與/WR2同時為低,使得/LE2=1,8位DAC寄存器的輸出隨寄存器的輸入變化。/WR2上升沿將輸入寄存器的信息鎖存在DAC寄存器中。第56頁,共73頁,2023年,2月20日,星期一9.4D/A轉換接口技術3、單片機與DAC0832接口及應用
DAC0832利用/WR1、/WR2、ILE、/XFER通過與單片機連接成可形成三種工作方式:即直通方式、單緩沖方式、雙緩沖方式。直通工作方式時,/WR1=/WR2=0,數據可以從輸入端經兩個寄存器直接進入D/A轉換器;單緩沖方式時,兩個寄存器之一始終處于直通,即/WR1=0或/WR2=0,另一個寄存器處于受控狀態(tài);雙緩沖方式時,兩個寄存器均處與受控狀態(tài),這種工作方式適合于多模擬信號同時輸出的應用場合。第57頁,共73頁,2023年,2月20日,星期一9.4D/A轉換接口技術3、單片機與DAC0832接口及應用單緩沖工作方式單片機與DAC0832構成的數/模轉換電路圖9-18DAC0832與80C51的單緩沖接口第58頁,共73頁,2023年,2月20日,星期一9.4D/A轉換接口技術3、單片機與DAC0832接口及應用單緩沖工作方式單片機執(zhí)行操作指令MOVX@DPTR,A即能完成一次D/A轉換。要想進行一次D/A轉換只需要執(zhí)行下述指令:MOVDPTR,#addr16;addr16=7FFFHMOVA,#DATA;DATA—待轉換數字量MOVX@DPTR,A;數字量從P0口送到P2.7所指向的地
址,有效時完成一次D/A輸入與轉換。第59頁,共73頁,2023年,2月20日,星期一9.4D/A轉換接口技術3、單片機與DAC0832接口及應用單緩沖工作方式【例9-2】DAC0832用作波形發(fā)生器,分別寫出產生鋸齒波、三角波和矩形波的程序。解:1)鋸齒波的產生程序如下:ORG0100HSTART:MOVDPTR,#7FFFH;將DAC0832的地址送DPTRMOVA,#00H;數字量初值→ALOOP:MOVX@DPTR,A;數字量→D/A轉換器INCA ;數字量逐次加1NOP;延時NOPSJMPLOOPEND第60頁,共73頁,2023年,2月20日,星期一9.4D/A轉換接口技術3、單片機與DAC0832接口及應用圖9-19例9-2產生的鋸齒波第61頁,共73頁,2023年,2月20日,星期一9.4D/A轉換接口技術3、單片機與DAC0832接口及應用單緩沖工作方式2)三角波的產生程序如下:ORG0100HSTART:MOVDPTR,#7FFFH;將DAC0832的地址送DPTRMOVA,#00H ;數字量初值→ALOOP:MOVX@DPTR,A;數字量→D/A轉換器INCAJNZLOOPDOWN:DECA ;A=0時再減1又為FFHMOVX@DPTR,A;三角波下降邊JNZDOWN SJMPLOOPEND第62頁,共73頁,2023年,2月20日,星期一9.4D/A轉換接口技術3、單片機與DAC0832接口及應用圖9-20例9-2產生的三角波第63頁,共73頁,2023年,2月20日,星期一9.4D/A轉換接口技術3、單片機與DAC0832接口及應用3)矩形波的產生程序如下:ORG0100HSTART:MOVDPTR,#7FFFH;將DAC0832的地址送DPTRLOOP:MOVA,#DATA1 ;矩形波上線數字量初值→AMOVX@DPTR,A;輸出矩形波上線電平 LCALLDELAY1 ;調用高電平延時程序MOVA,#DATA2;矩形波下線數字量初值→AMOVX@DPTR,A ;輸出矩形波上線電平 LCALLDELAY2 ;調用低電平延時程序SJMPLOOP ;重復進行下一個周期第64頁,共73頁,2023年,2月20日,星期一9.4D/A轉換接口技術3、單片機與DAC0832接口及應用圖9-21例9-2產生的矩形波第65頁,共73頁,2023年,2月20日,星期一9.4D/A轉
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 個人向公司借款合同(2024年)
- 2025版民房建筑工程勞務分包合同4篇
- 2025年建筑保溫材料專用黏結劑銷售合同3篇
- 2025年度農用車出口貿易代理合同范本3篇
- 2025年度能源行業(yè)個人勞務派遣及安全生產合同3篇
- 2025年度個人企業(yè)全額承包經營服務合同規(guī)范3篇
- 2025年度智能培訓班租賃合同范本3篇
- 二零二五模具加工企業(yè)臨時工用工合同范本4篇
- 二零二五年度特色商業(yè)街店面租賃合同4篇
- 2025年度體育場館租賃合同合法經營促進體育事業(yè)繁榮4篇
- 副總經理招聘面試題與參考回答(某大型國企)2024年
- PDCA循環(huán)提高護士培訓率
- 2024-2030年中國智慧水務行業(yè)應用需求分析發(fā)展規(guī)劃研究報告
- 《獅子王》電影賞析
- 河北省保定市定州市2025屆高二數學第一學期期末監(jiān)測試題含解析
- 中醫(yī)護理人文
- 2024-2030年中國路亞用品市場銷售模式與競爭前景分析報告
- 貨物運輸安全培訓課件
- 前端年終述職報告
- 2024小說推文行業(yè)白皮書
- 市人民醫(yī)院關于開展“改善就醫(yī)感受提升患者體驗主題活動”2023-2025年實施方案及資料匯編
評論
0/150
提交評論