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