單片機(jī)原理與應(yīng)用及C51編程技術(shù)課件第八-章AT89系列單片機(jī)的接口擴(kuò)展技術(shù)_第1頁(yè)
單片機(jī)原理與應(yīng)用及C51編程技術(shù)課件第八-章AT89系列單片機(jī)的接口擴(kuò)展技術(shù)_第2頁(yè)
單片機(jī)原理與應(yīng)用及C51編程技術(shù)課件第八-章AT89系列單片機(jī)的接口擴(kuò)展技術(shù)_第3頁(yè)
單片機(jī)原理與應(yīng)用及C51編程技術(shù)課件第八-章AT89系列單片機(jī)的接口擴(kuò)展技術(shù)_第4頁(yè)
單片機(jī)原理與應(yīng)用及C51編程技術(shù)課件第八-章AT89系列單片機(jī)的接口擴(kuò)展技術(shù)_第5頁(yè)
已閱讀5頁(yè),還剩100頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

2023/7/181第8章

AT89系列單片機(jī)的接口擴(kuò)展技術(shù)單片機(jī)原理與應(yīng)用電子課件2023/7/182本章主要內(nèi)容:

8.1I/O接口的擴(kuò)展技術(shù)8.2鍵盤(pán)及其與單片機(jī)的接口技術(shù)8.3LED顯示器及其與單片機(jī)的接口技術(shù)8.4LCD顯示器及其接口技術(shù)8.5A/D、D/A轉(zhuǎn)換器及其與單片機(jī)的接口技術(shù)2023/7/183

I/O接口的功能

①實(shí)現(xiàn)和不同外設(shè)的速度匹配;②輸出數(shù)據(jù)鎖存;③輸入數(shù)據(jù)三態(tài)緩沖.◆實(shí)現(xiàn)和不同外設(shè)的速度匹配

多種多樣外設(shè)的工作速度差別很大,但大多數(shù)外設(shè)的速度很慢,無(wú)法和μs量級(jí)的單片機(jī)速度相比。單片機(jī)和外設(shè)之間的數(shù)據(jù)傳送方式有同步、異步、中斷三種。需要I/O接口電路與外設(shè)之間傳送狀態(tài)信息,以實(shí)現(xiàn)單片機(jī)與外設(shè)之間的速度匹配。8.1I/O接口的擴(kuò)展技術(shù)2023/7/184◆輸出數(shù)據(jù)鎖存

由于單片機(jī)工作速度快,數(shù)據(jù)在數(shù)據(jù)總線上保留的時(shí)間十分短暫,無(wú)法滿足慢速外設(shè)的數(shù)據(jù)接收。I/O電路應(yīng)具有數(shù)據(jù)鎖存器,以保證輸出數(shù)據(jù)能被接收設(shè)備所接收?!糨斎霐?shù)據(jù)三態(tài)緩沖

輸入設(shè)備向單片機(jī)輸入數(shù)據(jù)時(shí),要經(jīng)過(guò)數(shù)據(jù)總線,但數(shù)據(jù)總線上面可能“掛”有多個(gè)數(shù)據(jù)源,為了傳送數(shù)據(jù)時(shí)不發(fā)生沖突,只允許當(dāng)前時(shí)刻正在進(jìn)行數(shù)據(jù)傳送的數(shù)據(jù)源使用數(shù)據(jù)總線,其余的數(shù)據(jù)應(yīng)處于隔離狀態(tài),為此要求接口電路能為數(shù)據(jù)輸入提供三態(tài)緩沖功能。2023/7/185

①I(mǎi)/O端口(Port)

I/O口的編址

②I/O接口(Interface)③I/O端口編址方式

I/O端口(Port)I/O端口簡(jiǎn)稱I/O口,常指I/O接口電路中具有端口地址的寄存器或緩沖器。◆I/O接口(Interface)I/O接口是指單片機(jī)與外設(shè)的I/O接口芯片。一個(gè)I/O接口芯片可以有多個(gè)I/O端口,傳送數(shù)據(jù)的稱為數(shù)據(jù)口,傳送命令的稱為命令口,傳送狀態(tài)的稱為狀態(tài)口。2023/7/186◆I/O端口編址方式常用的I/O端口編址有兩種方式,一種是統(tǒng)一編址方式(或稱為存儲(chǔ)器映像編址),另一種是獨(dú)立編址方式。▲統(tǒng)一編址方式統(tǒng)一編址就是I/O端口的寄存器與存儲(chǔ)器單元同等對(duì)待,統(tǒng)一進(jìn)行編址,把存儲(chǔ)器的一部分地址空間分給端口,把每一個(gè)端口作為一個(gè)存儲(chǔ)單元。統(tǒng)一編址的優(yōu)點(diǎn):是對(duì)端口信息的處理就像對(duì)主存儲(chǔ)器單元一樣,不必專門(mén)設(shè)置專門(mén)的輸入/輸出指令來(lái)訪問(wèn)端口,直接使用訪問(wèn)數(shù)據(jù)存儲(chǔ)器的指令進(jìn)行I/O操作,簡(jiǎn)單、方便且功能強(qiáng)。但是,統(tǒng)一編址會(huì)減少存儲(chǔ)器容量。2023/7/187▲獨(dú)立編址方式獨(dú)立編址就是I/O地址空間和存儲(chǔ)器地址空間分開(kāi)編址,端口不占存儲(chǔ)器地址空間。獨(dú)立編址的優(yōu)點(diǎn):是I/O地址空間和存儲(chǔ)器地址空間相互獨(dú)立,界限分明。但是,必須設(shè)置專門(mén)的輸入/輸出指令訪問(wèn)端口。訪問(wèn)存儲(chǔ)器與訪問(wèn)端口采用不同的指令,譯碼后,產(chǎn)生的控制信息不同,其地址雖有重疊,但不會(huì)發(fā)生沖突。2023/7/188

I/O接口數(shù)據(jù)的傳送方式①無(wú)條件傳送方式;②查詢傳送方式;③中斷傳送方式.◆無(wú)條件傳送方式無(wú)條件傳送又稱為同步傳送。當(dāng)外設(shè)時(shí)刻都處于“準(zhǔn)備好”狀態(tài),外設(shè)的速度可與單片機(jī)速度相比擬時(shí),常采用同步傳送方式,這種方式不需要交換狀態(tài)信息。例如,將數(shù)據(jù)輸出給LED數(shù)碼管,一般采用這種傳送方式。2023/7/189◆

查詢傳送方式查詢傳送又稱為有條件傳送,也稱為異步傳送。在查詢傳送方式中,單片機(jī)首先要查詢外設(shè)是否準(zhǔn)備好,只有當(dāng)外設(shè)淮備好后,再進(jìn)行數(shù)據(jù)傳送。查詢方式的過(guò)程為:查詢→等待→數(shù)據(jù)傳送。查詢傳送的優(yōu)點(diǎn):是通用性好,可用于各種速度的外設(shè)和單片機(jī)之間的數(shù)據(jù)傳送,硬件連線和查詢程序十分簡(jiǎn)單。其缺點(diǎn)是:效率不高,在連續(xù)傳送數(shù)據(jù)時(shí),每傳送一個(gè)數(shù)據(jù),都有一個(gè)等待過(guò)程,等待期間CPU不能進(jìn)行其他操作,CPU利用率低。為了提高單片機(jī)的工作效率,通常采用中斷傳送方式。2023/7/1810◆

中斷傳送方式中斷傳送方式是利用AT89系列單片機(jī)本身的中斷功能和I/O接口的中斷功能來(lái)實(shí)現(xiàn)I/O數(shù)據(jù)的傳送。在這種方式中,CPU不再進(jìn)行查詢,只有在外設(shè)準(zhǔn)備好后,發(fā)出數(shù)據(jù)傳送請(qǐng)求,才中斷主程序,而進(jìn)入與外設(shè)進(jìn)行數(shù)據(jù)傳送的中斷服務(wù)程序,進(jìn)行數(shù)據(jù)的傳送。

因此,采用中斷傳送方式可以大大提高單片機(jī)的工作效率。2023/7/1811

簡(jiǎn)單I/O接口的擴(kuò)展

利用74LS系列TTL電路或CMOS電路鎖存器、三態(tài)門(mén)電路作為I/O端口擴(kuò)展芯片。這種I/O端口一般都是通過(guò)P0口擴(kuò)展,它具有電路簡(jiǎn)單、成本低、配置靈活的優(yōu)點(diǎn)。2023/7/1812◆一種擴(kuò)展簡(jiǎn)單I/O端口的實(shí)例電路的功能是:按下任意健,對(duì)應(yīng)的LED發(fā)光。2023/7/1813匯編語(yǔ)言程序:LOOP:MOVDPTR,#0FEFFH;擴(kuò)展I/O口地址送DPTRMOVXA,@DPTR;通過(guò)74LS244讀入數(shù)據(jù),檢測(cè)鍵的狀態(tài)

MOVX@DPTR,A;向74LS373輸出數(shù)據(jù),驅(qū)動(dòng)LEDSJMPLOOP;循環(huán)C語(yǔ)言程序:#include<reg51.h>#include<absacc.h>unsignedchari;main(){while(1)//循環(huán)

{i=XBYTE[0xfeff];//通過(guò)74LS244讀入數(shù)據(jù),檢測(cè)鍵的狀態(tài)

XBYTE[0xfeff]=i;//向74LS373輸出數(shù)據(jù),驅(qū)動(dòng)LED}}2023/7/1814

鍵盤(pán)的工作原理鍵盤(pán)是由一組規(guī)則排列的按鍵組成,一個(gè)按鍵實(shí)際上是一個(gè)開(kāi)關(guān)元件,也就是說(shuō),鍵盤(pán)是一組規(guī)則排列的開(kāi)關(guān)。◆按鍵的分類(lèi)

觸點(diǎn)式開(kāi)關(guān)按鍵結(jié)構(gòu)原理

無(wú)觸點(diǎn)式開(kāi)關(guān)按鍵

8.2鍵盤(pán)及其與單片機(jī)的接口技術(shù)

編碼鍵盤(pán)接口原理

非編碼鍵盤(pán)2023/7/18

◆按鍵的結(jié)構(gòu)特點(diǎn)

微機(jī)鍵盤(pán)通常使用機(jī)械觸點(diǎn)式按鍵開(kāi)關(guān),其主要功能是把機(jī)械上的通斷轉(zhuǎn)換成為電氣上的邏輯關(guān)系。能提供標(biāo)準(zhǔn)的TTL邏輯電平,以便與通用數(shù)字系統(tǒng)的邏輯電平相容。機(jī)械式按鍵在按下或釋放時(shí),由于機(jī)械彈性作用的影響,通常伴隨有一定時(shí)間的觸點(diǎn)機(jī)械抖動(dòng),抖動(dòng)時(shí)間的長(zhǎng)短與開(kāi)關(guān)的機(jī)械特性有關(guān),一般為5—10ms在觸點(diǎn)抖功期間檢測(cè)按鍵的通與斷狀態(tài),可能導(dǎo)致判斷出錯(cuò),必須采取去抖動(dòng)措施,可采用硬件去抖與軟件去抖的方法。2023/7/18㈠硬件去抖動(dòng)可采用在鍵輸出端加R—S觸發(fā)器或單穩(wěn)態(tài)觸發(fā)器構(gòu)成去抖動(dòng)電路。圖8-12是一種由R-S觸發(fā)器構(gòu)成的去抖動(dòng)電路。㈡軟件去抖動(dòng)在檢測(cè)到有按鍵按下時(shí),執(zhí)行一個(gè)10ms左右的延時(shí)程序后,再確認(rèn)該按鍵電平是否仍保持閉合狀態(tài)電平,若仍保持閉合狀態(tài)電平,則確認(rèn)該鍵處于閉合狀態(tài)。2023/7/18

◆按鍵編碼一組按鍵或鍵盤(pán)都要通過(guò)接口線查詢按鍵的開(kāi)關(guān)狀態(tài)。根據(jù)鍵盤(pán)結(jié)構(gòu)的不同,采用不同的編碼。無(wú)論有無(wú)編碼,以及采用什么編碼,最后都要轉(zhuǎn)換為相對(duì)應(yīng)的鍵值,以實(shí)現(xiàn)按鍵功能程序的跳轉(zhuǎn)。

◆編制鍵盤(pán)程序一個(gè)完善的鍵盤(pán)控制程序應(yīng)具備以下功能:(1)檢測(cè)有無(wú)按鍵按下,并采取硬件或軟件措施,消除鍵盤(pán)按鍵機(jī)械觸點(diǎn)抖動(dòng)的影響。(2)判斷是哪一個(gè)鍵按下,并且每次只處理一個(gè)按鍵。(3)準(zhǔn)確輸出按鍵值(或鍵號(hào)),以滿足跳轉(zhuǎn)指令要求。2023/7/1818

獨(dú)立式按鍵與單片機(jī)的接口鍵盤(pán)是由一組規(guī)則排列的按鍵組成,一個(gè)按鍵實(shí)際上是一個(gè)開(kāi)關(guān)元件,也就是說(shuō),鍵盤(pán)是一組規(guī)則排列的開(kāi)關(guān)。◆獨(dú)立式按鍵結(jié)構(gòu)獨(dú)立式鍵盤(pán)的結(jié)構(gòu)如圖8-13所示,這是最簡(jiǎn)單的鍵盤(pán)結(jié)構(gòu)形式。2023/7/18◆獨(dú)立式鍵盤(pán)與AT89單片機(jī)的接口圖8-14為獨(dú)立式按鍵程序查詢方式和中斷方式的接口電路。2023/7/18

◆獨(dú)立式按鍵的軟件設(shè)計(jì)

定時(shí)中斷方式實(shí)現(xiàn)鍵控的電子秒表:?jiǎn)纹瑱C(jī)控制2位數(shù)碼管實(shí)現(xiàn)00~59的簡(jiǎn)易秒表,并利用3個(gè)獨(dú)立按鍵實(shí)現(xiàn)秒表的啟動(dòng)、停止和復(fù)位功能。假設(shè)晶振頻率為12MHZ,硬件電路如圖8-19所示。因?yàn)榫д耦l率為12MHZ,選擇定時(shí)器T0,定時(shí)50ms,中斷20次即為1s。定時(shí)器T0工作在定時(shí)方式,選擇方式1,則TMOD為0x01,定時(shí)初值為0x3CB0。C51程序如下:#include<reg51.h>//51頭文件unsignedcharcont=0;//定義中斷次數(shù)unsignedcharsecond=0;//定義秒unsignedcharcodetable[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};timer0()interrupt1//定時(shí)50ms中斷函數(shù){TH0=0x3C;//初值重裝載

TL0=0XB0;cont++;//中斷次數(shù)增1if(t==20)//若中斷20次,相當(dāng)于1秒{cont=0; //中斷次數(shù)計(jì)數(shù)器清零

second++;//秒加1}if(second==60)second=0;//若秒=60,清零 }main(){TMOD=0x01;//定義T0定時(shí)方式1TH0=0x3C;//初值裝載TL0=0XB0ET0=1;//打開(kāi)定時(shí)器0中斷EA=1; //打開(kāi)總中斷while(1){P0=table[second/10];//顯示秒十位P2=table[second%10];//顯示秒個(gè)位P1=P1&0X07;if(P1==0x06)TR0=1;//啟動(dòng)if((P1==0X05)TR0=0;//暫停if(P1==0x03)//復(fù)位清零{TR0=0;cont=0;second=0;}} }2023/7/1823

矩陣式鍵盤(pán)與單片機(jī)的接口◆矩陣式鍵盤(pán)的結(jié)構(gòu)及工作原理2023/7/1824◆鍵盤(pán)的編碼對(duì)于矩陣式鍵盤(pán),按鍵的位置由行號(hào)和列號(hào)唯一確定,因此可分別對(duì)行號(hào)和列號(hào)進(jìn)行二進(jìn)制編碼,然后將兩值合成一個(gè)字節(jié),高4位是行號(hào),低4位是列號(hào)?!艟仃囀芥I盤(pán)按鍵的識(shí)別掃描法:1)判斷有無(wú)鍵按下。2)如果有鍵按下,識(shí)別是哪一個(gè)鍵按下,鍵盤(pán)掃描取得閉合鍵的行、列值。3)用計(jì)算法或查表法得到鍵值。

4)判斷閉合鍵是否釋放,如沒(méi)釋放則繼續(xù)等持5)將閉合鍵鍵號(hào)保存,同時(shí)轉(zhuǎn)去執(zhí)行該閉合鍵的功能。2023/7/1825◆鍵盤(pán)的工作方式(1)編程掃描方式利用CPU在完成其它工作的空余時(shí)間,調(diào)用鍵盤(pán)掃描子程序來(lái)響應(yīng)鍵盤(pán)輸入的要求。(2)定時(shí)掃描工作方式每隔一定的時(shí)間對(duì)鍵盤(pán)掃描一次,它利用單片機(jī)內(nèi)部的定時(shí)器產(chǎn)生一定時(shí)間(例如10ms)的定時(shí),當(dāng)定時(shí)時(shí)間到就產(chǎn)生定時(shí)器溢出中斷,CPU響應(yīng)定時(shí)器溢出中斷請(qǐng)求,對(duì)鍵盤(pán)進(jìn)行掃描(3)中斷掃描工作方式當(dāng)無(wú)鍵按下時(shí),CPU處理自己的工作,不需要理睬鍵盤(pán);當(dāng)有鍵按下時(shí),產(chǎn)生中斷請(qǐng)求,CPU轉(zhuǎn)去執(zhí)行鍵盤(pán)掃描子程序,并識(shí)別鍵號(hào)。2023/7/1826◆矩陣式鍵盤(pán)的軟件設(shè)計(jì)鍵盤(pán)的硬件電路如圖8-17所示。編程實(shí)現(xiàn)將按鍵值顯示在LED顯示器上。2023/7/1827

掃描時(shí),首先將行設(shè)置為低電平,在判斷有鍵按下后,讀入列狀態(tài)。如果列狀態(tài)出現(xiàn)并非全部為1狀態(tài),這時(shí)0狀態(tài)的列與行相交的鍵就是被按下的鍵。C語(yǔ)言程序:#include<reg51.h>#include<intrins.h>#include<absacc.h>#defineucharunsignedchar#defineuintunsignedintucharcodea[16]={0xc0H,0xf9H,0xa4H,0xb0H,0x99H,0x92H,0x82H,0xf8H,0x80H,0x90H,0x88H,0x83H,0xc6H,0xa1H,0x86H,0x8eH};//共陽(yáng)字型碼表voiddelay(uinti) //延時(shí)程序{uintj;for(j=0;j<i;j++);}ucharcheckkey() //檢測(cè)有沒(méi)有鍵按下,無(wú)鍵按下返回0{uchari;ucharj;j=0x0f;P3=j; //列輸出全0i=P3; //讀行線狀態(tài)

i=i&0x0f;if(i==0x0f)return(0); //無(wú)鍵按下返回0elsereturn(0xff);}ucharkeyscan() //鍵盤(pán)掃描程序,有鍵按下返回鍵碼;無(wú)鍵按下返回0x0ff.{ ucharscancode; ucharcodevalue; uchara; ucharm=0; uchark; uchari,j; if(checkkey()==0)return(0xff);else{delay(100);if(checkkey()==0)return(0xff); else

{scancode=0xf7;m=0x00; //鍵盤(pán)行掃描初值,m為首行鍵號(hào)

for(i=1;i<=4;i++)//i為行號(hào),4行逐行掃描

{k=0x80;//列檢測(cè)碼

P3=scancode;//從P3.3開(kāi)始,逐行掃描

a=P3;

for(j=0;j<4;j++) //j為列號(hào),檢測(cè)本行的4列是否有健按下

{if((a&k)==0)//檢測(cè)本列是否有鍵按下

{codevalue=m+j;//健值=首行鍵號(hào)+列號(hào)

while(checkkey()!=0);//判斷按健是否釋放

return(codevalue);//釋放則返回按健值

} elsek=k>>1;//本列無(wú)健按下,列檢測(cè)碼右移

}

m=m+4;//本行無(wú)健按下,行首健號(hào)+4scancode=~

scancode; //行掃描碼右移,為scancode右移時(shí),移入的數(shù)為1。

scancode=scancode>>1;scancode=~scancode; }

}}}voidmain() //主函數(shù){intx;P0=0xff;while(1){if(checkkey()==0x00)continue;else{x=keyscan();P0=a[x];//顯示按鍵值

delay(100);}}}2023/7/1832

LED顯示器的結(jié)構(gòu)與原理

◆LED顯示器結(jié)構(gòu)8.3

LED顯示器及其與單片機(jī)的接口技術(shù)2023/7/1833◆LED顯示器工作原理為了使LED顯示器顯示不同的符號(hào)或數(shù)字,就要把不同段的發(fā)光二極管點(diǎn)亮,這樣就需要為L(zhǎng)ED顯示器提供代碼,因?yàn)檫@些代碼是為了顯示字型的,因此稱之為字型碼(各段與字節(jié)中各位對(duì)應(yīng)關(guān)系如表8-2所示?;蚨未a)。7段發(fā)光二極管和1個(gè)小數(shù)點(diǎn)位,共計(jì)8段。2023/7/18342023/7/1835

LED顯示器的譯碼方式譯碼方式是指由顯示字符轉(zhuǎn)換得到對(duì)應(yīng)的字段碼的方式分為硬件譯碼和軟件譯碼兩種方式。

硬件譯碼方式是指利用專門(mén)的硬件電路來(lái)實(shí)現(xiàn)顯示字符到字段碼的轉(zhuǎn)換;

軟件譯碼方式就是通過(guò)編寫(xiě)軟件譯碼程序,通過(guò)譯碼程序來(lái)得到要顯示的字符的字段碼。2023/7/1836

LED顯示器的顯示方式LED顯示器有靜態(tài)和動(dòng)態(tài)2種顯示方式?!鬖ED靜態(tài)顯示方式LED靜態(tài)顯示時(shí),其公共端直接接地(共陰極)或接電源(共陽(yáng)極),各段選線分別與I/O口線相連。要顯示字符,直接在I/O線送相應(yīng)的字段碼,如圖8-19所示。2023/7/1837◆LED動(dòng)態(tài)顯示方式LED動(dòng)態(tài)顯示是將所有的數(shù)碼管的段選線并接在一起,用一個(gè)I/O口控制,公共端不是直接接地(共陰極)或電源(共陽(yáng)極),而是通過(guò)相應(yīng)的I/O口線控制,如圖8-20所示。2023/7/1838

LED顯示器與單片機(jī)的接口◆單片機(jī)與LED顯示器靜態(tài)顯示接口硬件電路連接如圖8-21所示,單片機(jī)P0端口接有一只LED顯示器2023/7/1839◆單片機(jī)與LED顯示器靜態(tài)顯示接口軟件設(shè)計(jì):硬件電路連接如圖8-21所示,在顯示器上顯示數(shù)字“7”的匯編語(yǔ)言和C語(yǔ)言程序。

匯編語(yǔ)言:START:MOVDPTR,#TABLE;存入表的起始地址

MOVA,#7;將欲顯示的數(shù)字7存入A

MOVCA,@A+DPTR;按地址取代碼并存入AMOVP0,A;將代碼送P0轉(zhuǎn)變?yōu)閿?shù)字顯示

SJMP$;程序運(yùn)行在當(dāng)前狀態(tài)TABALE:DB0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H;0-9字型碼表ENDC語(yǔ)言源程序代碼:usignedchartable[]={0xc0H,0xf9H,0xa4H,0xb0H,0x99H,0x92H,0x82H,0xf8H,0x80H,0x90H};//字型碼表voidmain(){P0=table[7];//顯示數(shù)字“7”While(1);}2023/7/1841

LED顯示器與單片機(jī)的接口◆單片機(jī)與LED顯示器動(dòng)態(tài)顯示接口硬件電路連接如圖8-22所示。2023/7/1842◆單片機(jī)與LED顯示器動(dòng)態(tài)顯示接口軟件設(shè)計(jì):硬件電路連接如圖8-22所示。單片機(jī)P0口和LED顯示器8段相連,P2口的P2.0和P2.1通過(guò)三極管T0和T1連接LED顯示器的公共端,控制與其相連的數(shù)碼管顯示器工作。

編程實(shí)現(xiàn)將R0內(nèi)容(0-99)循環(huán)顯示在兩個(gè)LED顯示器的匯編語(yǔ)言和C語(yǔ)言程序。

將R0內(nèi)容(0-99)循環(huán)顯示在兩個(gè)LED顯示器的程序如下:START:MOVR0,#0;初始化計(jì)數(shù)器

MOVDPTR,#TABLE;存入查表起始地址LOOP:MOVA,R0MOVB,#10;16進(jìn)制轉(zhuǎn)換成10進(jìn)制

DIVAB;A/B的商存入A,余數(shù)存入BMOVR1,A;R1存放1十位數(shù)

MOVR2,B;R2存放個(gè)位數(shù)

MOVR3,#50;設(shè)導(dǎo)通頻率為50LOOP1:MOVA,R2;個(gè)位數(shù)顯示

ACALLCHANG;調(diào)用顯示子程序

CLRP2.0;開(kāi)個(gè)位顯示

ACALLDLY10ms;調(diào)用延時(shí)10ms子程序

SETBP2.0;關(guān)閉個(gè)位顯示

MOVA,R1;取十位數(shù)

ACALLCHANG;調(diào)用顯示子程序

CLRP2.1;開(kāi)十位顯示

ACALLDLY10ms;調(diào)用延時(shí)10ms子程序

SETBP2.1;關(guān)閉十位顯示

DJNZR3,LOOP1;50次顯示未完成繼續(xù)掃描

INCR0;計(jì)數(shù)器加1CJNER0,#100,LOOP;沒(méi)到100SJMPSTART;跳轉(zhuǎn)到開(kāi)始處CHANG:MOVCA,@A+DPTR;顯示子程序

MOVP0,ARETDLY10ms:MOVR6,#20;10ms延時(shí)子程序D1:MOVR7,#248DJNZR7,$DJNZR6,D1RET;延時(shí)子程序返回TABLE:DB0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90HEND;程序結(jié)束

C語(yǔ)言程序:#include<reg52.h>unsignedcharcodetable[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};unsignedchardispcount=0;//計(jì)數(shù)sbitgewei=P2^0;//各位選通定義sbitshiwei=P2^1;//十位選通定義voidDelay(unsignedinttc)//延時(shí)程序{while(tc!=0){unsignedinti;for(i=0;i<100;i++);tc--;}}voidLED(unsignedcharx)//led顯示函數(shù)

{

if(x>=10)//顯示兩位數(shù)

{shiwei=0;P0=table[x/10];//顯示十位數(shù)

Delay(10);

shiwei=1;gewei=0;P0=table[x%10];//顯示個(gè)位數(shù)

Delay(10);gewei=1; }

else//顯示一位數(shù)

{shiwei=1;gewei=0;P0=table[x];Delay(10);}}voidmain(){unsignedchari;while(1)//循環(huán)執(zhí)行

{for(i=0;i<50;i++)LED(dispcount);//調(diào)用顯示函數(shù)

dispcount++;//計(jì)數(shù)器加1if(dispcount==100);//達(dá)到99后重新開(kāi)始dispcount=0;}}2023/7/1847LCD(LiquidCrystalDisplay)是液晶顯示器英文名稱的縮寫(xiě),液晶顯示器是一種被動(dòng)式的顯示器,即液晶本身不發(fā)光,而是利用液晶經(jīng)過(guò)處理后能改變光線通過(guò)方向的特性,達(dá)到白底黑字或黑底白字顯示的目的。8.4LCD顯示器及其接口技術(shù)◆8.4.1LCD顯示器的分類(lèi)

LCD顯示器分為:①段式②點(diǎn)陣式

點(diǎn)陣式又可分為:字符模式LCD和圖形模式LCD。

液晶:是一種介于固體和液體之間的特殊物質(zhì),它是一種有機(jī)化合物,常態(tài)下呈液態(tài),但是它的分子排列卻和固體晶體一樣非常規(guī)則,因此取名液晶。字符點(diǎn)陣LCD顯示器外形圖:2023/7/1849◆8.4.2字符LCD模塊的引腳字符LCD模塊目前常用的有:16字1行、16字2行,20字2行,40字2行。下面介紹常用的20字×2行字符模塊,引腳如圖8-23所示。

2023/7/18502023/7/1852◆8.4.3寄存器選擇、顯示器地址及字符發(fā)生器㈠寄存器選擇LCD內(nèi)部有兩個(gè)寄存器,一個(gè)指令寄存器IR,另一個(gè)是數(shù)據(jù)寄存器DR。IR用來(lái)存放由微控制器所送來(lái)的指令代碼,如清除顯示、光標(biāo)歸位等,DR用來(lái)存放欲顯示的數(shù)據(jù)。顯示的過(guò)程是:先把欲存放數(shù)據(jù)地址寫(xiě)入IR,再把欲顯示的數(shù)據(jù)寫(xiě)入DR,DR自動(dòng)把數(shù)據(jù)送至相應(yīng)的DDRAM或CGRAM。DDRAM是顯示數(shù)據(jù)的存儲(chǔ)器,用來(lái)存放LCD的顯示數(shù)據(jù);CGRAM是字符產(chǎn)生器,用來(lái)存放設(shè)計(jì)的5×7點(diǎn)圖形的顯示數(shù)據(jù)。2023/7/1853

LCD指令寄存器和數(shù)據(jù)寄存器的選擇如表8-5所示RS=0選擇命令寄存器;RS=1選擇數(shù)據(jù)寄存器=0==0,數(shù)據(jù)寫(xiě)入LCD控制器;=1,讀LCD控制器數(shù)據(jù)E由高電平變?yōu)榈碗娖?,LCD執(zhí)行命令。2023/7/1854㈡顯示器地址與位置對(duì)應(yīng)關(guān)系20字×2行顯示器DDRAM地址如表8-6所示。LCD1602液晶模塊內(nèi)部的字符發(fā)生存儲(chǔ)器(CGROM)已經(jīng)存儲(chǔ)了160個(gè)不同的點(diǎn)陣字符圖形,如表8-7所示。這些字符有:阿拉伯?dāng)?shù)字、英文字母的大小寫(xiě)、常用的符號(hào)、和日文假名等,每一個(gè)字符都有一個(gè)固定的代碼,比如大寫(xiě)的英文字母“A”的代碼是01000001B(41H),顯示時(shí)模塊把地址41H中的點(diǎn)陣字符圖形顯示出來(lái),我們就能看到字母“A”(三)字符發(fā)生存儲(chǔ)器

8.4.4LCM控制命令

1.清屏指令

功能:<1>清除液晶顯示器,即將DDRAM的內(nèi)容全部填入“空白"的ASCII碼20H;

<2>光標(biāo)歸位,即將光標(biāo)撤回液晶顯示屏的左上方;

<3>將地址計(jì)數(shù)器(AC)的值設(shè)為0。2.光標(biāo)歸位指令

功能:<1>把光標(biāo)撤回到顯示器的左上方;

<2>把地址計(jì)數(shù)器(AC)的值設(shè)置為0;

<3>保持DDRAM的內(nèi)容不變

3.進(jìn)入模式設(shè)置指令

功能:設(shè)定每次定入1位數(shù)據(jù)后光標(biāo)的移位方向,并且設(shè)定每次寫(xiě)入的一個(gè)字符是否移動(dòng)。

位名

設(shè)置

I/D

0=寫(xiě)入新數(shù)據(jù)后光標(biāo)左移

1=寫(xiě)入新數(shù)據(jù)后光標(biāo)右移

S

0=寫(xiě)入新數(shù)據(jù)后顯示屏不移動(dòng)

1=寫(xiě)入新數(shù)據(jù)后顯示屏整體右移1個(gè)字

4.顯示開(kāi)關(guān)控制指令

功能:控制顯示器開(kāi)/關(guān)、光標(biāo)顯示/關(guān)閉以及光標(biāo)是否閃爍。

位名

設(shè)置

D

0=顯示功能關(guān)

1=顯示功能開(kāi)

C

0=無(wú)光標(biāo)

1=有光標(biāo)

B

0=光標(biāo)閃爍

1=光標(biāo)不閃爍

5.設(shè)定顯示屏或光標(biāo)移動(dòng)方向指令

功能:使光標(biāo)移位或使整個(gè)顯示屏幕移位。:

S/C

R/L

設(shè)定情況

0

0

光標(biāo)左移1格,且AC值減1

0

1

光標(biāo)右移1格,且AC值加1

1

0

顯示器上字符全部左移一格,但光標(biāo)不動(dòng)

1

1

顯示器上字符全部右移一格,但光標(biāo)不動(dòng)

6.功能設(shè)定指令

功能:設(shè)定數(shù)據(jù)總線位數(shù)、顯示的行數(shù)及字型。

位名

設(shè)置

DL

0=數(shù)據(jù)總線為4位

1=數(shù)據(jù)總線為8位

N

0=顯示1行

1=顯示2行

F

0=5×7點(diǎn)陣/每字符

1=5×10點(diǎn)陣/每字符

7.設(shè)定CGRAM地址指令

功能:設(shè)定下一個(gè)要存入數(shù)據(jù)的CGRAM的地址。

8.設(shè)定DDRAM地址指令

功能:設(shè)定下一個(gè)要存入數(shù)據(jù)的CGRAM的地址。

(注意這里我們送地址的時(shí)候應(yīng)該是0x80+Address,這也是前面說(shuō)到寫(xiě)地址命令的時(shí)候要加上0x80的原因)

9.讀取忙信號(hào)或AC地址指令

功能:<1>讀取忙碌信號(hào)BF的內(nèi)容,BF=1表示液晶顯示器忙,暫時(shí)無(wú)法接收單片機(jī)送來(lái)的數(shù)據(jù)或指令;

當(dāng)BF=0時(shí),液晶顯示器可以接收單片機(jī)送來(lái)的數(shù)據(jù)或指令;

<2>讀取地址計(jì)數(shù)器(AC)的內(nèi)容。10.數(shù)據(jù)寫(xiě)入DDRAM或CGRAM指令一覽

功能:<1>將字符碼寫(xiě)入DDRAM,以使液晶顯示屏顯示出相對(duì)應(yīng)的字符;

<2>將使用者自己設(shè)計(jì)的圖形存入CGRAM。

11.從CGRAM或DDRAM讀出數(shù)據(jù)的指令一覽

功能:讀取DDRAM或CGRAM中的內(nèi)容。

基本操作時(shí)序:

讀狀態(tài)

輸入:RS=L,RW=H,E=H

輸出:DB0~DB7=狀態(tài)字

寫(xiě)指令

輸入:RS=L,RW=L,E=下降沿脈沖,DB0~DB7=指令碼

讀數(shù)據(jù)

輸入:RS=H,RW=H,E=H

輸出:DB0~DB7=數(shù)據(jù)

寫(xiě)數(shù)據(jù)

輸入:RS=H,RW=L,E=下降沿脈沖,DB0~DB7=數(shù)據(jù)

2023/7/1868

AT89單片機(jī)與LCD模塊的接口◆硬件連接LCD模塊與單片機(jī)連接電路非常簡(jiǎn)單,如圖8-24所示。2023/7/1869

AT89單片機(jī)與LCD模塊的接口◆軟件設(shè)計(jì)根據(jù)以上硬件連接電路圖進(jìn)行軟件設(shè)計(jì),在LCD顯示器上形式”O(jiān)K”。C語(yǔ)言程序:#include<reg51.h>#defineucharunsignedchar#defineuintunsignedintsbitlcden=P3^7;sbitlcdrw=P3^6;sbitlcdrs=P3^5;voiddelay(uintz)//延時(shí)子程序{uintx,y;for(x=z;x>0;x--)for(y=110;y>0;y--);}voidwrite_com(ucharcom)//寫(xiě)指令子程序{ lcdrs=0;lcdrw=0;P1=com; delay(5);lcden=1; delay(5); lcden=0;}voidwrite_data(uchardate)//寫(xiě)數(shù)據(jù)子程序{ lcdrs=1;

lcdrw=0;

P1=date; delay(5); lcden=1;delay(5);lcden=0;}voidlcd_init()

//1602初始化函數(shù)

{

lcd_wcom(0x38);

//功能設(shè)置:8位數(shù)據(jù),雙列,5*7字形

lcd_wcom(0x0c);

//形式開(kāi)關(guān):開(kāi)啟顯示屏,關(guān)光標(biāo),光標(biāo)不閃爍

lcd_wcom(0x06);

//顯示模式設(shè)置:顯示地址遞增,即寫(xiě)一個(gè)數(shù)據(jù)后,顯示位置右移一位

lcd_wcom(0x01);

//清屏

}voidmain()//主程序在LCD開(kāi)頭顯示“OK”{ lcd_init(); write_com(0x80); write_data(‘O’);write_com(0x81); write_data(‘K’); while(1);}

在圖8-24硬件電路的基礎(chǔ)上,編程實(shí)現(xiàn)在LCD顯示器上顯示如圖所示兩行字符。編程要解決的問(wèn)題:1、如何定位顯示位置?2、顯示的字符如何轉(zhuǎn)換為ASCII碼?3、如何完成字符的顯示?程序中沒(méi)有用到忙檢測(cè),而是用的是延時(shí)函數(shù)來(lái)替代忙檢測(cè)

#include<reg52.h>

//包含頭文件

#defineuintunsignedint

//預(yù)定義一下

#defineucharunsignedchar

sbitrs=P3^5;

//1602的數(shù)據(jù)/指令選擇控制線

sbitrw=P3^6;

//1602的讀寫(xiě)控制線

sbiten=P3^7;

//1602的使能控制線

/*P1口接1602的D0~D7,注意不要接錯(cuò)了順序*/

ucharcodetable[]="LCD1602checkok";//要顯示的內(nèi)容1放入數(shù)組tablel

ucharcodetable1[]="studyup";

//要顯示的內(nèi)容2放入數(shù)組table1

voiddelay(uintn)

//延時(shí)函數(shù)

{

uintx,y;

for(x=n;x>0;x--)

for(y=110;y>0;y--);

}

voidlcd_wcom(ucharcom)

//1602寫(xiě)命令函數(shù)

{

rs=0;

//選擇指令寄存器

rw=0;

//選擇寫(xiě)

P1=com;

//把命令字送入P2

delay(5);

//延時(shí)一小會(huì)兒,讓1602準(zhǔn)備接收數(shù)據(jù)

en=1;

//使能線電平變化,命令送入1602的8位數(shù)據(jù)口

en=0;

}

voidlcd_wdat(uchardat)

//1602寫(xiě)數(shù)據(jù)函數(shù)

{

rs=1;

//選擇數(shù)據(jù)寄存器

rw=0;

//選擇寫(xiě)

P1=dat;

//把要顯示的數(shù)據(jù)送入P2

delay(5);

//延時(shí)一小會(huì)兒,讓1602準(zhǔn)備接收數(shù)據(jù)

en=1;

//使能線電平變化,數(shù)據(jù)送入1602的8位數(shù)據(jù)口

en=0;

}

voidlcd_init()

//1602初始化函數(shù)

{

lcd_wcom(0x38);

//8位數(shù)據(jù),雙列,5*7字形

lcd_wcom(0x0c);

//開(kāi)啟顯示屏,關(guān)光標(biāo),光標(biāo)不閃爍

lcd_wcom(0x06);

//顯示地址遞增,即寫(xiě)一個(gè)數(shù)據(jù)后,顯示位置右移一位

lcd_wcom(0x01);

//清屏

}voidmain()

//主函數(shù)

{

ucharn,m=0;

lcd_init();

//液晶初始化

lcd_wcom(0x80);

//顯示地址設(shè)為80H(即00H,)上排第一位

for(m=0;m<16;m++)

//將table[]中的數(shù)據(jù)依次寫(xiě)入1602顯示

{

lcd_wdat(table[m]);

delay(200);

}

lcd_wcom(0xC0+4);//重新設(shè)定顯示地址為0xc4,即下排第5位

for(n=0;n<8;n++)

//將table1[]中的數(shù)據(jù)依次寫(xiě)入1602顯示

{

lcd_wdat(table1[n]);

delay(200);

}

while(1);

//動(dòng)態(tài)停機(jī)

}思考下如何顯示變量?回顧下LED中使如何對(duì)變量顯示的?如果顯示的字符個(gè)數(shù)不確定,顯示的位置也不確定,怎樣編寫(xiě)一個(gè)通用的顯示函數(shù)呢?提示:可以把顯示位置坐標(biāo)及指向字符的指針作為入口參數(shù)disp_dtr(ucharx,uchary,*p){If(x==0)lcd_wcom(0x80+y);

elselcd_wcom(0x80+y);

while(*p){

lcd_wdat(*P++);

delay(200);}}通用顯示函數(shù):2023/7/1880

單片機(jī)處理的是數(shù)字量,然而在單片機(jī)的實(shí)時(shí)控制和智能儀表等應(yīng)用系統(tǒng)中,被控制量或被測(cè)量對(duì)象的有關(guān)參量往往是一些連續(xù)變化的模擬量,如溫度、壓力、流量、速度等物理量,這些模擬量必須裝換成數(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ì)象的控制。如果輸入是非電的模擬信號(hào),還需通過(guò)傳感器轉(zhuǎn)換為電信號(hào)并加以放大。

這是就需要解決單片機(jī)與A/D和D/A的接口技術(shù)問(wèn)題。8.5A/D、D/A轉(zhuǎn)換器與單片機(jī)的接口技術(shù)

2023/7/1881

模數(shù)(A/D)轉(zhuǎn)換接口◆A/D轉(zhuǎn)換器模/數(shù)轉(zhuǎn)換:(A/D,AnalogtoDigit),實(shí)現(xiàn)模擬量轉(zhuǎn)換為數(shù)字量的過(guò)程稱為“量化”,也稱為模/數(shù)轉(zhuǎn)換。A/D轉(zhuǎn)換器:實(shí)現(xiàn)模/數(shù)轉(zhuǎn)換的設(shè)備稱為A/D轉(zhuǎn)化器或ADC。A/D轉(zhuǎn)換電路分類(lèi):根據(jù)轉(zhuǎn)換原理可以分為逐次逼近式、雙積分式、并行式、計(jì)數(shù)式等。2023/7/18◆A/D轉(zhuǎn)換的主要技術(shù)指標(biāo)(1)轉(zhuǎn)換時(shí)間A/D轉(zhuǎn)換時(shí)間就是A/D轉(zhuǎn)化器完成一次模擬量變換為數(shù)字量所需時(shí)間。(2)分辨率A/D轉(zhuǎn)化器的分辨率是指轉(zhuǎn)換器對(duì)輸入電壓微小變化響應(yīng)能力的度量,習(xí)慣上以輸出的二進(jìn)制位數(shù)或者BCD碼位數(shù)表示。(3)轉(zhuǎn)換精度A/D轉(zhuǎn)化器轉(zhuǎn)化精度反映了一個(gè)實(shí)際A/D轉(zhuǎn)化器在量化值上與一個(gè)理想A/D轉(zhuǎn)化器進(jìn)行模/數(shù)轉(zhuǎn)換的差值。轉(zhuǎn)換精度可表示成絕對(duì)誤差或相對(duì)誤差,與一般測(cè)試儀表的定義相似。2023/7/18◆典型A/D轉(zhuǎn)換芯片ADC0809(1)逐次逼近式A/D轉(zhuǎn)換器轉(zhuǎn)換原理2023/7/18◆典型A/D轉(zhuǎn)換芯片ADC0809(2)ADC0809

ADC0809是美國(guó)國(guó)家半導(dǎo)體公司生產(chǎn)的一種8路模擬量輸入8位數(shù)字量輸出的逐次逼近型A/D器件。主要技術(shù)指標(biāo)和特性:分辨率為8位;轉(zhuǎn)換時(shí)間取決于芯片時(shí)鐘頻率,當(dāng)CLK=500KHz時(shí),轉(zhuǎn)換時(shí)間為128us;+5V的單一電源供電;模擬輸入電壓范圍為單極性0~+5V;具有可控三態(tài)輸出鎖存器;啟動(dòng)轉(zhuǎn)換控制為脈沖式(正脈沖),上升沿使內(nèi)部所有寄存器清“0”,下降沿使A/D轉(zhuǎn)換開(kāi)始。2023/7/18ADC0809結(jié)構(gòu)框圖2023/7/18ADC0809引腳圖IN0~I(xiàn)N7:8路模擬量的輸入端。D0~D7:A/D轉(zhuǎn)化后的數(shù)據(jù)輸出端A、B、C:模擬通道地址選擇端VREF(+)、VREF(-):基準(zhǔn)參考電壓。CLK:時(shí)鐘信號(hào)輸入端。ALE:地址鎖存允許信號(hào)。SC:?jiǎn)?dòng)轉(zhuǎn)換信號(hào)。EOC:轉(zhuǎn)換結(jié)束信號(hào)。OE:輸出允許信號(hào)。2023/7/18通道選擇的地址編碼如表8-8所示2023/7/18◆單片機(jī)與ADC0809的接口電路圖8-28是ADC0809與AT89S52的連接示意圖。由于ADC0809片內(nèi)無(wú)時(shí)鐘,可利用AT89S52提供的地址鎖存允許信號(hào)ALE經(jīng)D觸發(fā)器二分頻得到。2023/7/18◆單片機(jī)與ADC0809的接口電路圖8-28是ADC0809與AT89S52的連接示意圖。因?yàn)?809內(nèi)部具有地址鎖存器,也可以將A、B、C直接和P0.0、P0.1、P0.2相連。假設(shè)在以圖8-28所示電路為基礎(chǔ)的測(cè)控系統(tǒng)中,巡回檢測(cè)一遍8路模擬量輸入,采用中斷方式將讀數(shù)依次存放在片外數(shù)據(jù)存儲(chǔ)器A0H~A7H單元,其程序如下:匯編語(yǔ)言程序: ORG000H LJMPMAIN ORGOO13H LJMPINT11 ORG0100HMAIN:MOVR0,#0A0H;數(shù)據(jù)存儲(chǔ)區(qū)首址 MOVR2,#08H;8路計(jì)數(shù)值 SETBIT1;邊沿觸發(fā)方式 SETBEA;中斷允許 SETBEX1;允許外部中斷1中斷 MOVDPTR,#7FF8H;A/D轉(zhuǎn)換器地址 MOVA,#00H;指向0通道LOOP:MOVX@DPTR,A;啟動(dòng)A/D轉(zhuǎn)換HERE:SJMPHERE;等待中斷

ORG0200H;中斷服務(wù)程序

INT11:MOVXA,@DPTR;讀取轉(zhuǎn)換結(jié)果 MOVX@R0,A;存數(shù) INCDPTR;指向下一個(gè)模擬通道 INCR0;指向數(shù)據(jù)存儲(chǔ)區(qū)下一個(gè)單元 DJNER2,NEXT;8路沒(méi)采集完轉(zhuǎn)CLREACLREX1 RETINEXT:MOV@DPTR,A;啟動(dòng)下一路轉(zhuǎn)換

RETIC語(yǔ)言程序:#include<reg52.h>#include<absacc.h>#defineIN0=XBYTE[0x7ff8]#defineAD0=PBYTE[0xa0]#defineucharunsignedcharucharxdata*addz;//定義指向通道的指針變量ucharpataadcdata[8];//定義存放轉(zhuǎn)換結(jié)果的數(shù)組uchari;voidmain(void){IT1=1;EA=1;EX1=1;i=0;addz=&IN0;//通道指針初始化*addz=i;//啟動(dòng)0通道A/D轉(zhuǎn)換

while(1);//等待中斷}voidinit1(void)interrupt2//中斷函數(shù){adcdata[i]=*addz;//讀取轉(zhuǎn)換結(jié)果,并完成存儲(chǔ)

i++;addz++;if(i<8)//8路未轉(zhuǎn)換完

{*addz=i;}//啟動(dòng)下一路轉(zhuǎn)換else{EA=0;EX1=0;}//8路轉(zhuǎn)換完,關(guān)中斷

}2023/7/1893

數(shù)模(D/A)轉(zhuǎn)換接口將數(shù)字量轉(zhuǎn)換為模擬量的過(guò)程稱為數(shù)/模轉(zhuǎn)換(D/A,DigittoAnalog),實(shí)現(xiàn)D/A轉(zhuǎn)換的設(shè)備稱為D/A轉(zhuǎn)換器或DAC?!鬌/A轉(zhuǎn)換器的主要技術(shù)指標(biāo)1)分辨率分辨率表示對(duì)輸入的最小數(shù)字量信號(hào)的分辨能力2)建立時(shí)間也可稱之為D/A轉(zhuǎn)換速度。3)轉(zhuǎn)換精度精度參數(shù)用于表明D/A轉(zhuǎn)換的精確程度,一般用誤差大小表示。8.5A/D、D/A轉(zhuǎn)換器與單片機(jī)的接口技術(shù)

2023/7/1894◆典型D/A轉(zhuǎn)換芯片DAC0832美國(guó)國(guó)家半導(dǎo)體公司DAC0832芯片是具有2個(gè)輸入數(shù)據(jù)寄存器的8位DAC,芯片為20引腳,雙列直插式封裝,能直接與AT89S52單片機(jī)直接相連接,其主要特性如下:1)分辨率為8位;2)電流輸出,穩(wěn)定時(shí)間為1us;3)可雙緩沖輸入、單緩沖輸入或直接數(shù)字輸入;4)單一電源供電(+5V~+15V);5)低功耗,20mW。8.5A/D、D/A轉(zhuǎn)換器與單片機(jī)的接口技術(shù)

2023/7/1895DAC0832邏輯結(jié)構(gòu)如圖8-29所示。8.5A/D、D/A轉(zhuǎn)換器與單

溫馨提示

  • 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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論