單片機(jī)原理及應(yīng)用- 習(xí)題及答案 莊俊華 【ch08】單片機(jī)的接口技術(shù)_第1頁
單片機(jī)原理及應(yīng)用- 習(xí)題及答案 莊俊華 【ch08】單片機(jī)的接口技術(shù)_第2頁
單片機(jī)原理及應(yīng)用- 習(xí)題及答案 莊俊華 【ch08】單片機(jī)的接口技術(shù)_第3頁
單片機(jī)原理及應(yīng)用- 習(xí)題及答案 莊俊華 【ch08】單片機(jī)的接口技術(shù)_第4頁
單片機(jī)原理及應(yīng)用- 習(xí)題及答案 莊俊華 【ch08】單片機(jī)的接口技術(shù)_第5頁
已閱讀5頁,還剩1頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

第8章單片機(jī)的接口技術(shù)

1.鍵盤按結(jié)構(gòu)形式分為哪兩即?

鍵盤的結(jié)構(gòu)形式一般有兩種:獨(dú)立式鍵盤與矩陣式鍵盤。

2.對鍵盤操作時,如何去除抖動信號?

消除抖動信號通常有兩種方法:硬件消抖和軟件消抖。

硬件消抖是通過在按鍵開關(guān)電路中加入硬件消抖電路來消除抖動信號的。硬件消抖電路

一般采用R-S觸發(fā)器或單穩(wěn)態(tài)電路,如圖8-2所示。在圖8-2中,經(jīng)過R-S觸發(fā)器消抖

后,按鍵開關(guān)電路的輸出信號就為標(biāo)準(zhǔn)的矩形波。

軟件消抖是利用延時來跳過抖動過程的。單片機(jī)判斷有按鍵開關(guān)被按下后,先執(zhí)行一段

大于10ms的延時程序,再去判斷按下的按鍵開關(guān)是哪一個,從而消除前沿抖動信號的影響。

對于后沿抖動信號,單片機(jī)只要在接收一個按鍵開關(guān)被按下的信號后,經(jīng)過一定時間再去檢

測有無按鍵開關(guān)被按下的信號,這樣就自然跳過后沿抖動信號了。抖動信號的消除往往采用

軟件消抖的方式。

3.共陰極和共陽極LED有何區(qū)別?LED有哪兩種顯示方式?

發(fā)光上沒有任何區(qū)別.唯?區(qū)別的是使用的方法共陰極的所有顯示段的陰極都是連在一

起的,接地,用陽極來驅(qū)動共陽極的正好相反,所有顯示段的陽極都是連在一起的,接VCC用

陰極來驅(qū)動。

4.試用DAC0832芯片,編程產(chǎn)生1個周期為100ms方波輸出信號。

使用DAC0832芯片產(chǎn)生一個周期為100ms的方波輸出信號,需要進(jìn)行以下步驟:

1.確保DAC0832芯片連接到正確的引腳和電路。一般來說,該芯片包含8位數(shù)模轉(zhuǎn)換

器,需要與微控制器或其他輸出設(shè)備連接。

2.配置你的微控制器或其他控制設(shè)備的GPIO引腳作為DAC0832的數(shù)據(jù)線(通常為8

位),并將其連接到DAC0832的引腳。

3.使用你所使用的編程語言和開發(fā)環(huán)境,編寫代碼來控制DAC0832片。

4.首先,設(shè)置DAC0832的寄存器以選擇通道和電壓范圍。你可以通過寫入合適的數(shù)值

(0-255)到DAC0832的控制寄存器來實(shí)現(xiàn)。

5.然后,創(chuàng)建一個循環(huán),在循環(huán)中以適當(dāng)?shù)念l率切換DAC0832的數(shù)值,以產(chǎn)生一個周

期為100ms(BP10Hz)的方波。

下面是一個基于Arduino開發(fā)板的示例代碼片段,用于控制DAC0832芯片生成方波輸

出信號:

^defineDAC0832CSPIN10//連接到DAC0832的CS引腳

#defineDAC0832_DATA_PIN11//連接到DAC0832的數(shù)據(jù)引腳

voidsetup(){

pinMode(DAC0832_CS_PIN,OUTPUT);

pinMode①AC0832_DATA_PI、,OUTPUT);

voidloop(){

//設(shè)置通道和電壓范圍

digita1Write(DAC0832_CS_PIN,LOW);//選擇DAC0832芯片

shiftOut(DAC0832_DATA_PIN,DAC0832_CS_PIN,MSBFIRST,ObOOOOOOOO);

digita1Write(DAC0832_CS_PIN,HIGH);//取消選擇DACO832芯片

//產(chǎn)生方波輸出信號

digita1Write(DAC0832_CS_PIN,LOW);//選擇DAC0832芯片

shiftOut(DAC0832_DATA_PIN,DAC0832_CS_PIN,MSBFIRST,Obllllllll);//設(shè)

置最大輸出

digita1Write(DAC0832_CS_PIN,HIGH);//取消選擇DACO832芯片

delay(50);//保持高電平狀態(tài),用50ms延遲時間控制小步進(jìn)

digita1Write(DAC0832_CS_PIN,LOW);//選擇DAC0832芯片

shiftOut(DAC0832_DATA_PIN,DAC0832_CS_PIN,MSBFIRST,ObOOOOOOOO);//設(shè)

置最小輸出

digitalWrite(DAC0832_CS_PIN,HIGH);//取消選擇DAC0832芯片

delay(50);//保持低電平狀態(tài),用50ms延遲時間控制小步進(jìn)

5.I2c總線器件地址與器件內(nèi)單元地址的含義是什么?

I2C(Inter-IntegratedCircuit)總線器件地址和器件內(nèi)單元地址是用來識別和尋址

12c總線上連接的器件和器件內(nèi)部單元的信息。

12c總線是一種多主設(shè)備和多從設(shè)備共享的串行通信總線。每個連接到12c總線上的器

件都需要一個唯一的地址來進(jìn)行通信。這個地址是由一些特定的位(通常是7位或10位)

組成的。在12c總線上,通常會有多個器件共享同一個地址,但通過器件內(nèi)部的多個單元地

址來區(qū)分不同的器件內(nèi)部單元。

器件地址是用來唯一標(biāo)識連接到12c總線上的每個器件的。在7位地址模式下,總線上

可以有最多128個不同的器件地址(0x00至0x7F)。在10位地址模式下,總線上可以有最

多1024個不同的器件地址。當(dāng)主設(shè)備向器件發(fā)送讀寫命令時,起始傳輸字節(jié)包含要訪問的

目標(biāo)器件地址.

器件內(nèi)單元地址用于區(qū)分一個器件內(nèi)部的不同單元。同一個器件內(nèi)部的不同功能單元,

例如存儲器、控制器、傳感器等,可以通過不同的器件內(nèi)單元地址進(jìn)行選擇和訪問。這些地

址通常由器件內(nèi)部的寄存器或配置位來進(jìn)行設(shè)置.<1

總之,12c總線器件地址用于在總線上唯一標(biāo)識連接的器件,而器件內(nèi)單元地址用于在

器件內(nèi)選擇和訪問不同的單元。利用這些地址,主設(shè)備可以向目標(biāo)器件發(fā)出讀寫命令,并與

其進(jìn)行通信。

6.在一對12c總線上可否掛接多個12c總線器件?為什么?

是的,可以在一條12c總線上連接多個12c器件。這是因?yàn)镮2C總線使用了多主機(jī)的架

構(gòu),其中一個設(shè)備充當(dāng)主機(jī)(通常是微控制器或處理器),而其他設(shè)備則作為從屬設(shè)備連接

到總線上。

12c總線使用兩根信號線:時鐘線(SCL)和數(shù)據(jù)線(SDA)O每個尸c器件都有一個唯一

的地址,通過這個地址能夠與主機(jī)通信。當(dāng)主機(jī)要與某個從屬設(shè)備進(jìn)行通信時,它會向總線

上發(fā)送所需設(shè)備的地址,并在下一個時鐘脈沖上發(fā)送數(shù)據(jù)。從屬設(shè)備在收到其地址后會響應(yīng)

主機(jī),并進(jìn)行數(shù)據(jù)交換。這種方式使得多個12c設(shè)備可以在同一總線上共享。

當(dāng)連接多個12c設(shè)備時,需要確保每個設(shè)備都有獨(dú)一無二的地址,以便主機(jī)能夠正確地

與每個設(shè)備通信。?些常見的PC器件(如傳感器、存儲器、顯示器等)通常會提供選擇引

腳,用于配置其地址。

需要注意的是,在連接多個12c設(shè)備時,總線上的電容負(fù)載也會增加。在設(shè)計(jì)電路時,

需要考慮總線負(fù)載的限制,以確保數(shù)據(jù)傳輸?shù)目煽啃?。可以通過適當(dāng)布線和使用合適的電平

轉(zhuǎn)換器來解決負(fù)載問題。

總的來說,12c總線允許多個設(shè)備連接到同一條總線上,通過使用唯一的設(shè)備地址,主

機(jī)可以與每個設(shè)備進(jìn)行通信。這使得12c成為連接多個設(shè)備的方便且靈活的解決方案。

7.MCS-51單片機(jī)能夠自動識別12c總線器件嗎?在該系統(tǒng)中如何使用12c總線

器件?

MCS-51單片機(jī)是一種常用的微控制器,不同版本的MCS-51單片機(jī)在12c總線通信方

面的能力不盡相同。對于某些具備硬件支持的版本,MCS-51單片機(jī)可以通過硬件電路實(shí)現(xiàn)

自動識別12c總線器件。這些版本通常包含專門的硬件模塊,用于處理12c通信協(xié)議,并通

過電路自動檢測、識別總線上連接的器件。

在使用12c總線器件時,你需要配置MCS-51單片機(jī)的12c相關(guān)寄存器,以實(shí)現(xiàn)對12c總線

的控制和通信?;静襟E如下:

1.初始化12c總線:配置單片機(jī)的12c寄存器,包括設(shè)置通信速率、使能12c模塊等.

2.發(fā)起通信:向12c總線發(fā)送起始信號,表示要與12c器件進(jìn)行通信。

3.選擇器件地址:向12c總線發(fā)送器件的地址,使其知道要與哪個器件進(jìn)行通信。

4.讀取或?qū)懭霐?shù)據(jù):根據(jù)需要,通過12c總線讀取或?qū)懭霐?shù)據(jù)。這可以通過讀寫相關(guān)寄存器

來完成。

5.終止通信:發(fā)送停止信號,表示通信結(jié)束。

值得注意的是,具體的配置和操作步驟可能會依賴于你所使用的MCS-51單片機(jī)型號和12c

器件。因此,建議參考MCS-51的數(shù)據(jù)手冊和所使用12c器件的規(guī)格手冊.以獲取更詳細(xì)的

配置和使用說明。

8.簡述AT24c系列芯片的性能特點(diǎn),并編寫相應(yīng)的讀/寫程序。

AT24C系列芯片是一種串行EEPROM存儲器,具有以下性能特點(diǎn):

1.容量可選:AT24c系列芯片提供多種容量選項(xiàng),包括IK、2K、4K、8K、16K和32K

等,根據(jù)應(yīng)用需求選擇合適的容量。

2.低功耗:AT24c系列芯片采用低功耗設(shè)計(jì),在讀/寫操作時能夠有效降低功耗,延長

電池壽命。

3.串行接口:AT24c系列芯片通過12c總線進(jìn)行通信,簡化了連接和控制的狂雜度,

適用于各種微控制器和主機(jī)設(shè)備。

4.高速度讀/寫操作:AT24c系列芯片具有快速的讀/寫速度,支持高達(dá)400kHz的12c

通信速率。

下面是一個AT24C系列芯片的讀/寫程序示例(使用C語言):

^include<Wire.h>

WefineEEPROM_ADDRESS0x50//芯片的12c地址,可根據(jù)芯片型號進(jìn)行修改

voidsetup0{

Wire.begin();//初始化12c通信

Serial.begin(9600);//初始化串口通信

)

voidloop0{

//寫數(shù)據(jù)

bytedataToWrite=OxAB;//要寫入的數(shù)據(jù)

byteaddressToWrite=0x00;//寫入的起始地址

writeData(addressToWrits,dataToWrite);

//延時一段時間,模擬其他操作

delay(1000);

//讀數(shù)據(jù)

byteaddressToRead=0x00;//讀取的起始地址

bytedataRead=readData(addressToRead);

//打印讀取到的數(shù)據(jù)

Serial,print(\Readdata:0x\Serial,printIn(dataRead,HEX);

delay(1000);

)

voidwriteData(byteaddress,bytedata){

Wire.beginTransmission(EEPROM_ADDRESS);//開始寫入傳輸

Wire,write(address);//寫入地址

Wire,write(data);//寫入數(shù)據(jù)

Wire.endTransmission0;//結(jié)束傳輸

)

bytereadData(byteaddress){

Wire.beginTransmis$ion(EEPROM_ADDRESS)://開始讀取傳輸

Wire,write(address);//寫入要讀取的地址

Wire.endTransmission(false);〃結(jié)束傳輸,保持連接狀態(tài)

Wire.requestFrom(EEPROM_ADDRESS,1);〃從芯片請求1個字節(jié)的數(shù)據(jù)

bytedata=Wire.readO;//讀取數(shù)據(jù)

returndata;

)

請根據(jù)具體情況修改芯片的12c地址,以及要讀寫的地址和數(shù)據(jù).這段代碼實(shí)現(xiàn)了先寫

入一個數(shù)據(jù),然后讀取該位置的數(shù)據(jù),并通過串口打印出來。

9.簡述DS18B20芯片性能特點(diǎn)及控制方法。

DS18B20是一種數(shù)字溫度傳感器芯片,具有以下性能特點(diǎn):

1.單總線接口:DS18B20通過單一數(shù)據(jù)線與主控器連接,只需要一個GPI0。這種單總

線接口簡化了硬件設(shè)計(jì)和布線復(fù)雜度。

2高精度測量:DS18B20可以測量范圍從-

溫馨提示

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

最新文檔

評論

0/150

提交評論