版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
《單片機原理與應(yīng)用設(shè)計》課后習題及答案Q)
第7章習題答案
1、80c51有幾個中斷源?各中斷標志的意義是什么?CPU響應(yīng)各中斷時,其中斷入口地址是什么?
答:(1)5個
(2)IE0:外部中斷0請求標志。IE0=l表示外部中斷0向CPU申請中斷。
IE1:外部中斷1請求標志。IE1=1表示外部中斷1向CPU申請中斷。
TF0:定時器T0溢出標志。當定時器T0計滿溢出時,由硬件使TFO置1,并且申請中斷。
TF1:定時器T1溢出標志。當定時器T1計滿溢出時,由硬件使TF1置1,并且申請中斷。
TI:發(fā)送中斷標志。RI:接收中斷標志。
(3)外部中斷有兩個,分別是INTO和INT1,其入口地址分別是0003H和0013H。內(nèi)部中斷有
3個,分別是TO、T1和串行口,它們的入口地址分別是:OOOBH,001BH和0023H。
2、簡述子程序調(diào)用和中斷服務(wù)子程序的異同點。
答:相同點:均能中斷主程序執(zhí)行本程序,然后返回斷點繼續(xù)執(zhí)行子程序
不同點:
(1)中斷服務(wù)程序入口地址是固定的,子程序調(diào)用戶口地址是用戶自己設(shè)定的
(2)中斷服務(wù)子程序返回指令,除具有子程序返回指令所具有的全部功能之外,還有清除中斷相
應(yīng)時被置位的優(yōu)先級狀態(tài),開發(fā)較低中斷和恢復中斷邏輯等功能
(3)中斷服務(wù)子程序在滿足中斷申請的條件下隨時發(fā)生的,而子程序調(diào)用是用戶主程序事先安排
好的。
3、80c51單片機中斷的自然優(yōu)先級順序是什么?如何提高某一中斷源的優(yōu)先級?
答:中斷源的自然優(yōu)先級順序由高到低如下:
外部中斷0(PXO)
定時/計數(shù)器0溢出中斷(PTO)
外部中斷1(PX1)
定時/計數(shù)器1溢出中斷(PT1)
串行口中斷(PS)
若某幾個控制位為1,則相應(yīng)的中斷源就規(guī)定為高級中斷;反之若幾個控制位為0,則相應(yīng)的中
斷源就規(guī)定為低級中斷。當同時接收到幾個同一優(yōu)先級的中斷請求時,響應(yīng)哪個中斷源則取決于內(nèi)
部硬件查詢順序(即自然優(yōu)先級順序)。
4、串行中斷只有一個中斷向量,在中斷服務(wù)程序中如何區(qū)分其是發(fā)送中斷還是接收中斷?
答:響應(yīng)串行口中斷后,CPU無法知道是接收中斷還是發(fā)送中斷,還需要測試兩個中斷標志位RI、
TL如果是RI=1,則表明是接收數(shù)據(jù)中斷,若TI=1,則表明是發(fā)送數(shù)據(jù)中斷。
5、多個中斷源共用一個電路向CPU申請中斷時,如何在中斷程序中對它們進行區(qū)分?
答:當多個中斷源共用一個電路向CPU申請中斷時,在寫中斷子程序時可以通過中斷號來區(qū)分:
外部中斷0(PXO)interrupt0
定時/計數(shù)器。溢出中斷(PTO)interrupt1
外部中斷1(PX1)interrupt2
定時/計數(shù)器1溢出中斷(PT1)interrupt3
串行口中斷(PS)interrupt4
6、根據(jù)定時/計數(shù)器T0方式1邏輯結(jié)構(gòu),分析門控位GATE取不同值時啟動定時器的工作過程。
答:當GATE=O:軟件啟動定時器,即用指令使TCON中的TRO置1即可啟動定時器0。
當GATE=1:軟件和硬件共同啟動定時器,即用指令使TCON中的TRO置1時,只有外部中斷INTO
引腳輸入高電平時才能啟動定時器0。
7、簡述定時/計數(shù)器的控制寄存器TCON中各位的作用。
答:控制寄存器TCON中:
TF1:定時器T1溢出標志位。當定時器T1溢出時,由硬件自動使TF1置1,并向CPU申請中斷。
CPU響應(yīng)中斷后,自動對TF1清零。TF1也可以用軟件清零。
TR1:定時器T1運行控制位??捎绍浖?(或清零)來啟動(或關(guān)閉)定時器T1,使定時器T1
開始計數(shù)。用指令SETBTR1(或CLRTR1)使TR1置1(或清零)。
TFO:定時器T0溢出標志位。其功能與TF1相同。
TRO:定時器T0運行控制位。其功能與TR1相同。
IE1:外部中斷1請求標志位。
IT1:外部中斷1觸發(fā)方式控制位。
IE0:外部中斷0請求標志位。
ITO:外部中斷0觸發(fā)方式控制位。
8、簡述定時器/計數(shù)器TO、T1的初始化過程。
答:對TMOD賦值,以確定TO和T1的工作方式
計算初值,并將其寫入THO、TLO或TH1、TL1;
中斷方式時,要對IE賦值,開放中斷;
使TRO或TR1置位,啟動定時/計數(shù)器開始定時或計數(shù)。
9、當定時/計數(shù)器TO工作于方式3時,定時/計數(shù)器T1可以工作在何種方式下?如何控制T1的開
啟和關(guān)閉?
答:TO用作方式3時,T1可以工作在方式0、1和2,T1的開啟由TR1控制,即TR1=1時,T1開
始工作;TR1=O時或者定時/計數(shù)器工作在方式3時,T1停止工作。
10、當遇到“使用一個定時器無法滿足定時需要”這一問題時,有幾種解決方法?
答:可以有兩種解決方法:
方法一:采用2個定時器級聯(lián),其中一個定時器用來產(chǎn)生周期信號,然后將該信號送入另一個
計數(shù)器的外部脈沖輸入端進行脈沖計數(shù)。
方法二:采用1個定時器定時一定的間隔,然后用軟件進行計數(shù)。
11、已知單片機系統(tǒng)晶振頻率為6MHZ,若要求定時值為10ms時,定時器T0工作在方式1時,定時
器T0對應(yīng)的初值為多少?TMOD的值為多少?TI10和TLO的值又是多少?
答:對應(yīng)的初值為0EC78H,TMOD的值是0000000IB。THO=OECH;TL0=78H
12、使用TO,工作于方式2,請編程實現(xiàn)P1.0口輸出周期為400us,占空比為10:1的脈沖。
答:
ttinclude<reg51.h>
sbitOSC=Pl'0;
main()
(
TM0D=0x02;〃設(shè)置TO的方式2
TH0=256-36;〃每次36us
TLO=THO;
EA=1;〃總中斷允許
TRO=1;〃啟動TO定時器
ETO=1;〃允許外部中斷0中斷
while(1);
}
voidETOISR(void)interrupt1〃定時中斷
(
unsignedinti;
i++;
if(i==1)
(
OSC=1;〃36us的高電平時間到,電平變低
}
elseif(i==11)
(
OSC=0;〃360us的低電平時間到,電平變高
i=0:〃計數(shù)清零
}
)
13、利用AT89C51的P1口控制8個LED燈,相鄰的4個LED為一組,使2組每隔0.5s交替發(fā)亮一
次,周而復始,試編寫程序?qū)崿F(xiàn)。
答:
ttinclude<reg51.h>
#defineucharunsignedchar
#defineuintunsignedint
voidmain(void)
TM0D=0x01;
TH0=0xbl;
TL0=0xe0;
IE=0X82;
TRO=1;
Pl=OxfO;
while(l);
)
voidTOisr()interrupt1
(
staticucharcount;
count++;
if(count==25)
(
P1=!P1;
count=0;
)
TH0=0xbl;
TL0=0xe0;
)
///////////////////////
#include<reg51.h>
#defineucharunsignedchar
#defineuintunsignedint
voiddelayms(uintn)
(
ucharj;
while(n一)
(
for(j=0;j<123;j++);
)
)
voidmain()
while⑴
Pl=OxfO;
delayms(500);
Pl=OxOf;
delayms(500);
)
)
14、要求從PL1引腳輸出1000Hz的方波,晶振頻率為12MHzo試編寫程序?qū)崿F(xiàn)。
答:
#include<reg51.h>
#defineucharunsignedchar
#defineuintunsignedint
sbitFB=Pri;
voidmain(void)
I
TM0D=0x01;
TH0=0xfe;
TL0=0x0c;
IE=0X82;
TRO=1;
FB-0;
while(l);
)
voidTOisr()interrupt1
FB=FB;
THO=Oxfe;
TLO=OxOc;
)
//////////////////////////////
#include<reg51.h>
#defineucharunsignedchar
4defineuintunsignedint
sbitFB=Pri;
voiddelayms(uintn)
(
ucharj;
while(n一)
(
for(j=0;j<123;j++);
}
}
voidmain()
(
while(1)
(
FB=O;
delayms(0.5);
FB=1;
delayms(0.5);
)
)
15、利用定時/計數(shù)器門定時中斷控制,使Pl.7引腳驅(qū)動LED亮1s滅1s地閃爍(即輸出脈沖周期
為2s),設(shè)時鐘頻率為12MHz。
答:include<reg51.h>
sbitLED=Pr7;
#defineucharunsignedchar
#defineuintunsignedint
voidmain(void)
(
TM0D=0x01;
TH0=0xec;
TL0=0x78;
IE=0X82;
TRO=1;
LED=1;
while(1);
)
voidTOisr()interrupt1
(
staticucharcount;
count++;
if(count==200)
(
LED二、LED;
count=0;
}
TH0=0xec;
TL0=0x78;
)
16、利用定時/計數(shù)器TO產(chǎn)生定時時鐘,由Pl口控制8個指示燈。編寫程序?qū)崿F(xiàn)8個指示燈依次閃
動,閃動頻率為1次/s(即亮Is后熄滅并點亮下一個LED)。
答:
#include<reg52.h>
#include<intrins.h>
#defineuintunsignedint
#defineucharunsignedchar
uchartemp;
intt;
voidmain()
(
TMOD=OxOl;
EA=1;
ET1=1;
TR1=1;
TH1=(65536-50000)/256;
TL1=(65536-50000)%256;
Pl=0xfe;
temp=Pl;
while(1)
(
)
)
voidTl_time()interrupt3
|
TH1=(65536-50000)/256;
TL1=(65536-50000)%256;
t++;
if(t==2)
(
t=0;
temp=_crol_(temp,1);
Pl=temp;
}
}
17、己知80C51單片機的工作頻率為12MHz,采用定時/計數(shù)器T1定時,試編寫程序?qū)崿F(xiàn)PL0和
Pl.1引腳分別輸出周期為2ms和500us的方波。
答:
ftinclude<reg51.h>
unsignedcharn;
sbitGatel=Pl0;
sbitGate2=Pl1;
mainO
(
n=0;
THl=Oxff;
TLl=OxO5;〃定時器250us產(chǎn)生一次中斷
TMOD=0x10;〃定時器1工作于模式1,(用工作于模式2也可以,而且更簡便)
TR1=1;〃使能定時器1
ETO=1;〃開中斷
EA=1;〃開全局中斷
while(l)
(
}
)
voidTimer(void)interrupt3
(
THl=Oxff;
TLl=0x05;〃定時器250us產(chǎn)生一次中斷
Gate2=!Gate2;//產(chǎn)生500us方波
n++;
if(n==4)
(
n=0;
Gatel=!Gatel;〃產(chǎn)生2ms方波
)
)
18、定時/計數(shù)器TO己預(yù)置為156,且選定為方式2的計數(shù)方式,現(xiàn)在TO輸入周期為1ms的脈沖,
此時TO的實際用途是什么?在什么情況下計數(shù)器0溢出?
答:TO的實際用途是定時1s,每隔1s計數(shù)器0溢出一次。
19、編程實現(xiàn)PL0輸出脈沖寬度調(diào)制(PWM)信號,即脈沖頻率為2KHz、占空比為7:10的矩形波,
晶振頻率為12MHz。
答:
include<reg51.h>
sbitOUTW=PrO;
voidinit()
(
EA=1;
TM0D=0xll;
ETO=1;
ET1=1;
TRO=1;
TR1=O;
OUTW=O;
)
voidmain()
init();
while(l);
voidtimer()interrupt1
TH0=0xlf;
TL0=0x40;
THl=0xl5;
TLl=OxeO;
OUTW=1;
TR1=1;
)
voidtimerl()interrupt3
(
OUTW=O;
TR1=O;
)
20、兩只開關(guān)分別接入P3.0和P3.1,在開關(guān)信號的4種不同組合邏輯狀態(tài)下,使PL0分別輸出頻
率為0.5KHz、lKHz、2KHz、4KHz的方波,晶振頻率為12MHz。
答:
#include<at89x52.h>
unsignedchardatasta;
unsignedchardatacou;
unsignedchardatamag;
voidmain()
TM0D=0x02;
TL0=131;
TH0=131;
TRO=1;
ETO=1;
EA=1;
cou=0;
while(1);
)
voidserve()interrupt1
I
unsignedchartemp;
P3=0xff;
temp=P3&0xfc;
if(temp!=sta)
(
sta=temp;
cou=0;
I
if(sta=0x00)
mag=7;
elseif(sta=0x01)
mag=3;
elseif(sta=0xl0)
mag=l;
elseif(sta=0xll)
mag=O;
if(cou==mag)
(
Pl_0=>l_0;
cou=0;
)
else
cou++;
}
第八章
練習與思考題
1.幀格式為1個起始位、8個數(shù)據(jù)位和1個停止位的異步串行通信方式是方式幾?傳輸速率為
多少?
答:方式1;方式1波特率=2'*10/?2*定時器T1的溢出率。
2.某80C51單片機串行口傳送的數(shù)據(jù)幀由1個起始位(0)、7個數(shù)據(jù)位、1個偶校驗位和一個停
止位(1)組成。當該串行口每分鐘傳送1800個字符時,試計算其波特率。
答:串口每秒鐘傳送的字符為:1800/60=30個字符/秒,所以波特率為:30個字符/秒*10位/字
符=300bps
3.假定串行口串行發(fā)送的數(shù)據(jù)幀格式為1個起始位、8個數(shù)據(jù)位、1個奇校驗位和1個停止位,
請畫出傳送字符“A”的幀格式。
答:“A”的ASCII碼為“01000001”
從左到右:01000001
起始位低位高位耀位終止位
<______________--------------------------->
O1OOOOO1001
4.簡述串行口接收和發(fā)送數(shù)據(jù)的過程.
答:以方式1為例。
發(fā)送:數(shù)據(jù)位由TXT端輸出,發(fā)送1幀信息為10位,當CPU執(zhí)行1條數(shù)據(jù)寫發(fā)送緩沖器SBUF
的指令,就啟動發(fā)送。發(fā)送開始時,內(nèi)部發(fā)送控制信號/SEND變?yōu)橛行?,將起始位向TXD輸出,此
后,每經(jīng)過1個TX時鐘周期,便產(chǎn)生1個移位脈沖,并由TXD輸出1個數(shù)據(jù)位。8位數(shù)據(jù)位全部完
畢后,置1中斷標志位TI,然后/SEND信號失效。
接收:當檢測到起始位的負跳變時,則開始接收。接受時,定時控制信號有2種,一種是位檢
測器采樣脈沖,它的頻率是RX時鐘的16倍。也就是在1位數(shù)據(jù)期間,有16個采樣脈沖,以波特率
的16倍的速率采樣RXD引腳狀態(tài),當采樣到RXD端從1到0的跳變時就啟動檢測器,接收的值是3
次連續(xù)采樣,取其中2次相同的值,以確認是否是真正的起始位的開始,這樣能較好地消除干擾引
起的影響,以保證可靠無誤的開始接受數(shù)據(jù)。
5.80C51單片機串行口有幾種工作方式?如何選擇?簡述每種工作方式的特點。
答:80C51單片機串行口有4種工作方式。
各方式的特點:
方式0:串行口為同步移位寄存器的輸入輸出方式。主要用于擴展并行輸入或輸出口。波特率固
定為晶振頻率的1/12,
方式1:為10位數(shù)據(jù)異步通信口。波特率可變。
方式2或方式3:為11位數(shù)據(jù)的異步通信口。方式2波特率固定,相對于固定的晶振頻率只有
兩種波特率。方式3波特率可變。
使用時,根據(jù)需要和各方式的特點配合選擇。
6.RS-232c邏輯電平與TTL邏輯電平是否兼容?分別是怎么規(guī)定的?兩者之間如何轉(zhuǎn)換?
答:不兼容;TTL電平通信應(yīng)用于兩個單片機距離在1.5m之內(nèi),串行口直接相連,RS-232c雙擊
通信應(yīng)用于兩個單片機距離在L5~30m時,實現(xiàn)點對點的雙機通信;兩者之間的轉(zhuǎn)換常采用美國
MAXIM公司的MAX232A,它是全雙工發(fā)送器/接收器接口電路芯片,可實現(xiàn)兩者相互轉(zhuǎn)換
7.什么是同步通信?什么是異步通信?
答:同步通信:同步通信是一種比特同步通信技術(shù),要求發(fā)收雙方具有同頻同相的同步時鐘信
號,只需在傳送報文的最前面附加特定的同步字符,使發(fā)收雙方建立同步,此后便在同步時鐘的控
制下逐位發(fā)送/接收。
異步通信:異步通信在發(fā)送字符時,所發(fā)送的字符之間的時隙可以是任意的。但是接收端必須
時刻做好接收的準備(如果接收端主機的電源都沒有加上,那么發(fā)送端發(fā)送字符就沒有意義,因為接
收端根本無法接收)。發(fā)送端可以在任意時刻開始發(fā)送字符,因此必須在每一個字符的開始和結(jié)束的
地方加上標志,即加上開始位和停止位,以便使接收端能夠正確地將每一個字符接收下來。
8.串口工作方式1用什么作為波特率發(fā)生器?
答:定時器Tl。
9.為什么定時/計數(shù)器T1作為串行口波特率發(fā)生器時采用方式2?若已知時鐘頻率和通信波特
率,則應(yīng)如何計算其初值?
答:因為定時器T1在方式2下,初值可自動重裝,這就避免了執(zhí)行重裝參數(shù)的指令所帶來的時
間誤差。
設(shè)定時器T1方式2的初值為x,計算初值x可采用如下公式:
波特率二(2SM0D/32)*(fosc/12)/(256-x)
10.使用80c51的串行通信口按工作方式1進行串行數(shù)據(jù)通信,假定波特率為2400bit/s,以中
斷方式傳送數(shù)據(jù),試編寫全雙工通信程序。
答:^include<reg51.h>
voidInitUART(void)
(
TMOD=0x20;
SCON=0x50;
TH1=0xF4;
TL1=TH1;
PCON=0x00;
EA=1;
ES=1;
TRI=1;
}
voidSendOneByte(unsignedcharc)〃發(fā)送函數(shù)
(
SBUF=c;
while(!TI);
TI=0;
)
voidmain(void)
InitUARTO;
)
voidUARTInterrupt(void)interrupt4
if(RI)
(
RI=0;
)
else
TI=0;
)
11.參照例8-4,設(shè)計完成用甲單片機控制乙單片機來實現(xiàn)乙單片機Pl口8個LED的輪流點亮。
答:略。
第九章
練習與思考題
1.I/O接口和I/O端口的區(qū)別是什么?I/O接口的功能是什么?
答:I/O接口是單片機與外設(shè)間的連接電路的總稱。I/O端口(簡稱I/O口)是指I/O接口電路
中具有單元地址的寄存器或緩沖器。I/O接口芯片都有一個或幾個端口,一個端口對應(yīng)于接口芯片內(nèi)
部的一個寄存器或一組寄存器,計算機系統(tǒng)要為每個端口分配一個地址,各個端口的地址是唯i的,
不能重復。在信息傳送過程中,接口起著數(shù)據(jù)鎖存、數(shù)據(jù)緩沖、輸入/輸出、聯(lián)絡(luò)、數(shù)據(jù)轉(zhuǎn)換、中斷
管理、時序控制、可編程、電器特征匹配等作用。
2.I/O數(shù)據(jù)傳送有哪幾種傳送方式?分別在哪些場合下使用?
答:同步傳送、異步傳送、中斷傳送
(1)同步傳送(無條件傳送)。當外設(shè)速度和單片機的速度相近時,常采用同步傳送方式,例
如單片機和外部數(shù)據(jù)存儲器之間的數(shù)據(jù)傳送是最典型的同步傳送。
(2)異步傳送(查詢傳送)。單片機通過對外設(shè)的查詢,然后進行數(shù)據(jù)傳送。這樣做的優(yōu)點就
是通用性好,硬件連線和查詢程序簡單,但由于程序在運行中經(jīng)常要查詢外設(shè)的準備情況,因此工
作效率不高。
(3)中斷傳送。中斷傳送方式可提高單片機對外設(shè)的工作效率,即利用單片機本身的中斷功能
和I/O接口芯片的中斷功能來實現(xiàn)數(shù)據(jù)的傳送。單片機只有在外設(shè)準備好后,才中斷主程序的執(zhí)行,
從而執(zhí)行與外設(shè)進行數(shù)據(jù)傳送的中斷服務(wù)子程序。中斷服務(wù)完成后又返回主程序斷點處繼續(xù)執(zhí)行。
中斷方式可以大大提高單片機的工作效率.
3.總線的優(yōu)點有哪些?
答:系統(tǒng)連接簡單,Pc總線系統(tǒng)直接與具有rc總線接口的各種擴展器件連接。12c總線對各
器件尋址采用純軟件的尋址方法,無需片選線的連接,這樣就大大簡化了總線數(shù)量,系統(tǒng)各部件之
間的連接只需兩條線;傳輸速率高。
4.It總線在數(shù)據(jù)傳送時,應(yīng)答是如何進行的?
答:12c總線數(shù)據(jù)傳送時,傳送的字節(jié)數(shù)(數(shù)據(jù)幀)沒有限制,每一字節(jié)必須為8位長。數(shù)據(jù)傳
送時,先傳送最高位,每一個被傳字節(jié)后面都須跟I位應(yīng)答位(一幀數(shù)據(jù)共9位)。PC總線在傳送每
一字節(jié)數(shù)據(jù)后都須有應(yīng)答信號A,A信號在第9個時鐘位上出現(xiàn),A信號對應(yīng)的時鐘由主機產(chǎn)生。這
時發(fā)方須在該時鐘位上使SDA線處于高電平,以便收方在這一位上送出低電平的應(yīng)答信號A?
由于某原因收方不對主機尋址信號應(yīng)答時,例如接收方正在進行其他處理而無法接收總線上的
數(shù)據(jù)時,必須釋放總線,將數(shù)據(jù)線置為高電平,而由主機產(chǎn)生一個終止信號以結(jié)束總線的數(shù)據(jù)傳送。
當主機接收來自從機的數(shù)據(jù)時,接收到最后一個數(shù)據(jù)字節(jié)后,必須給從機發(fā)送一個非應(yīng)答信號
(A),使從機釋放數(shù)據(jù)總線,以便主機發(fā)送一個終止信號,從而結(jié)束數(shù)據(jù)的傳送。
5.實時時鐘芯片的優(yōu)點是什么?
答:高性能、低功耗。芯片附加31字節(jié)靜態(tài)RAM,采用SPI三線接口與CPU進行同步通信,并可
采用突發(fā)方式一次傳送多個字節(jié)的時鐘信號或RAM數(shù)據(jù)。實時時鐘可提供秒、分、時、日、星期、
月和年,一個月小于31天時可自動調(diào)整,且具有閏年補償功能。工作電壓寬達2.5~5.5V。采用雙電
源供電(主電源和備用電源),可設(shè)置備用電源充電方式,提供了對后輩電源進行涓細電流充電的能
力。
6.DS18B20的內(nèi)部結(jié)構(gòu)由哪幾部分組成?
答:DS18B20內(nèi)部結(jié)構(gòu)主要由四部分組成64位光刻ROM、溫度傳感器、非揮發(fā)的溫度報警觸發(fā)
器TH和TL、配置寄存器。
7.I2C總線傳送起始信號和終止信號是如何定義的?
答:1C總線的起始信號和終止信號都由主機發(fā)出,在起始信號產(chǎn)生后,總線就處于占用狀態(tài);
在終止信號產(chǎn)生后,總線就處于空閑狀態(tài)。
(1)起始信號(S)。在SCL線為高電平期間,SDA線由高電平向低電平的變化表示起始信號,只
有在起始信號以后,其他命令才有效。
(2)終止信號(P)。在SCL線為高電平期間,SDA線由低電平向高電平的變化表示終止信號。隨
著終止信號的出現(xiàn),所有外部操作都結(jié)束。
8.12c總線數(shù)據(jù)位的有效性是如何規(guī)定的?
答:FC總線進行數(shù)據(jù)傳送時,時鐘信號為高電平期間,數(shù)據(jù)線上的數(shù)據(jù)必須保持穩(wěn)定,只有在
時鐘線上的信號為低電平期間,數(shù)據(jù)線上的高電平或低電平狀態(tài)才允許變化。
9.SPI總線有何特點?
答:SPI是Motorola公司推出的一種同步串行通訊方式,是一種三線同步總線。有多個SPI接
口的單片機時,應(yīng)為一主多從,在某一時刻只能由一個單片機為主器件;在擴展多個SPI外圍器件
時,單片機應(yīng)分別通過I/O口線來分時選通外圍器件。
10.簡述SPI通信原理。
答:SPI的通信原理:主從方式工作,通常有一個主設(shè)備和一個或多個從設(shè)備,需要至少4根
線,事實上3根也可以(單向傳輸時)。也是所有基于SPI的設(shè)備共有的,它們是SDI(數(shù)據(jù)輸入),
SDO(數(shù)據(jù)輸出),SCK(時鐘),CS(片選)。
(1)SDO-主設(shè)備數(shù)據(jù)輸出,從設(shè)備數(shù)據(jù)輸入
(2)SDI-主設(shè)備數(shù)據(jù)輸入,從設(shè)備數(shù)據(jù)輸出
(3)SCLK-時鐘信號,由主設(shè)備產(chǎn)生
(4)CS-從設(shè)備使能信號,由主設(shè)備控制
第10章80C51單片機D/A、A/D轉(zhuǎn)換接口模塊
練習與思考題10
1.什么叫D/A和A/D轉(zhuǎn)換?為什么要進行D/A和A/D轉(zhuǎn)換?
答:D/A轉(zhuǎn)換器又稱數(shù)模轉(zhuǎn)換器,是能將數(shù)字信號轉(zhuǎn)換成模擬信號的電路。A/D轉(zhuǎn)換又稱模數(shù)轉(zhuǎn)
換,是把模擬信號轉(zhuǎn)換成數(shù)字信號的電路。
單片機是數(shù)字方式進行運算的,而實際的機器人或電器等在運轉(zhuǎn)時,是模電下進行的。兩者的
通信需要一個接口,而D/A和A/D轉(zhuǎn)換就是實現(xiàn)這個接口的橋梁。
2.D/A轉(zhuǎn)換器有哪些主要性能指標?簡述其含義。
答:(1)分辨率:指DAC電路所能分辨的最小輸出電壓與滿量程輸出電壓之比。
(2)線性度:實際轉(zhuǎn)換特性曲線與理想直線特性之間的最大偏差。
(3)絕對精度(簡稱精度):在整個刻度范圍內(nèi),任一輸入數(shù)碼所對應(yīng)的模擬量實際輸出值與
理論值之間的最大誤差。
(4)建立時間:輸入數(shù)字量變化后,輸出模擬量穩(wěn)定到相應(yīng)數(shù)值范圍所經(jīng)歷的時間。
(5)溫度系數(shù):在輸入不變的情況下,輸出模擬電壓隨溫度變化產(chǎn)生的變化量。
3.D/A轉(zhuǎn)換的基本原理是什么?
答:D/A轉(zhuǎn)換器將輸入的數(shù)字量轉(zhuǎn)換為模擬量輸出,數(shù)字量是由若干數(shù)位構(gòu)成的,就是把每一位
上的代碼按照權(quán)值轉(zhuǎn)換為對應(yīng)的模擬量,再把各位所對應(yīng)的模擬量相加,所得到各位模擬量的和便
是數(shù)字量所對應(yīng)的模擬量。
4.A/D轉(zhuǎn)換器有哪些主要性能指標?簡述其含義。
答:(1)分辨率:DAC電路所能分辨的最小輸出電壓與滿量程輸出電壓之比。
(2)轉(zhuǎn)換速率:完成一次從模擬轉(zhuǎn)換到數(shù)字的AD轉(zhuǎn)換所需的時間的倒數(shù)。
(3)量化誤差:有限分辨率AI)的階梯狀轉(zhuǎn)移特性曲線與無限分辨率AD(理想AD)的轉(zhuǎn)移特性曲
線(直線)之間的最大偏差。
(4)偏移誤差:輸入信號為零時輸出信號不為零的值。
(5)滿刻度誤差:滿刻度輸出時對應(yīng)的輸入信號與理想輸入信號值之差。
(6)線性度:實際轉(zhuǎn)換器的轉(zhuǎn)移函數(shù)與理想直線的最大偏移。
5.A/D轉(zhuǎn)換有哪兒種方法?原理是什么?
答:A/D轉(zhuǎn)換主要包括積分型、逐次逼近型、并行比較型/串并行型、E-A調(diào)制型、電容陣列逐
次比較型及壓頻變換型。
工作原理:將時間連續(xù)、幅值也連續(xù)的模擬量轉(zhuǎn)換為時間離散、幅值也離散的數(shù)字信號,一般
要經(jīng)過取樣、保持、量化及編碼4個過程。
6.雙積分型A/D轉(zhuǎn)換的優(yōu)缺點是什么?
答:轉(zhuǎn)換速度較慢,抗干擾能力強,精度較高。
7.在ADC和DAC轉(zhuǎn)換器的主要技術(shù)指標中,分辨率與轉(zhuǎn)換精度有何不同?
答:對DAC來說,分辨率反映了輸出模擬電壓的最小變化量。而對于ADC來說,分辨率表示輸
出數(shù)字量變化一個相鄰數(shù)碼所需輸入模擬電壓的變化量。量化誤差是由ADC的有限分辨率而引起的
誤差,但量化誤差只適用于ADC,不適用于DAC。精度與分辨率基本一致,位數(shù)越多精度越高。嚴格
講精度與分辨率并不完全一致。只要位數(shù)相同,分辨率則相同,但相同位數(shù)的不同轉(zhuǎn)換器精度會有
所不同。
8.在什么情況下,A/D轉(zhuǎn)換器前應(yīng)引入采樣保持器?
答:A/D轉(zhuǎn)換器完成一次A/D轉(zhuǎn)換總需要一定的時間。在進行A/D轉(zhuǎn)換時間內(nèi),希望輸入信號
不再變化,以免造成轉(zhuǎn)換誤差。這樣,就需要在A/D轉(zhuǎn)換器之前加入采樣保持器。
9.判斷A/D轉(zhuǎn)換結(jié)束否一般可采用幾種方式?每種方式有何特點?
答:延時等待法;保持等待法;查詢法;中斷響應(yīng)法。
(1)延時等待法:EOC可不和I/O口連接,程序設(shè)計時,延時大于ADC轉(zhuǎn)換時間后,取數(shù)據(jù)。
(2)保持等待法:EOC與READY相連EOC無效時,自動插入等待狀態(tài)。直至EOC有效時,取數(shù)據(jù)。
(3)查詢法:EOC可以和任意I/O口連接,程序設(shè)計時,反復判斷EOC是否有效,直至EOC有效時,
取數(shù)據(jù)。(4)中斷響應(yīng)法:EOC與外部中斷相連,A/D轉(zhuǎn)換結(jié)束后,發(fā)中斷申請,在中斷服務(wù)程序中取
數(shù)據(jù)式。
10.A/D轉(zhuǎn)換器的參考電壓的作用是什么?
答:A/D轉(zhuǎn)換時的參考電壓是內(nèi)部T行網(wǎng)絡(luò)的標準電壓,參考電壓可以認為是最高上限電壓(不
超過電源電壓),當信號電壓較低時,可以降低參考電壓來提高分辨率。改變參考電壓后,同樣二進
制表示的電壓值就會不一樣,最大的二進制表示的就是參考電壓,在計算實際電壓時,就需要將參
考電壓考慮進去。參考電壓的穩(wěn)定性對系統(tǒng)性能有很大的影響。
11.DAC0832主要特性參數(shù)有哪些?
答:(1)2路電流輸出型D/A轉(zhuǎn)換器;(2)分辨率為8位,并行輸入;(3)輸入數(shù)據(jù)的邏輯電平
與TTL電平兼容;(4)可以與微處理器直接連接:(5)數(shù)字量輸入有直通、單緩沖和雙緩沖3種方
式;(6)滿量程誤差為±1LSB;(7)電流穩(wěn)定時間為1us;(8)增益溫度系數(shù)為0.0002%FS/℃;
(9)參考電壓為±10V;(10)單電源電壓為515VDC;(11)低功耗,約20m隊
12.簡述DAC0832芯片的輸入寄存器和DAC寄存器二級緩沖的優(yōu)點。
答:可以分別控制,常用于多路D/A轉(zhuǎn)換電路。即數(shù)字量的輸入和轉(zhuǎn)換可分兩步完成,可以
把數(shù)據(jù)總線分時的向各路D/A轉(zhuǎn)換器輸入要轉(zhuǎn)換的數(shù)字量并鎖存在各自的鎖存器中,然后CPU對所
有的D/A轉(zhuǎn)換器發(fā)出控制信號,實現(xiàn)同步轉(zhuǎn)換。
13.簡述DAC0832的工作過程。
答:根據(jù)對DAC0832的數(shù)據(jù)鎖存器和DAC寄存器的不同的控制方式,DAC0832有三種工作方
式:直通方式、單緩沖方式和雙緩沖方式。
(1)單緩沖方式。單緩沖方式是控制輸入寄存器和DAC寄存器同時接收資料,或者只用輸入寄
存器而把DAC寄存器接成直通方式。此方式適用只有一路模擬量輸出或幾路模擬量異步輸出的情形。
(2)雙緩沖方式。雙緩沖方式是先使輸入寄存器接收資料,再控制輸入寄存器的輸出資料到DAC
寄存器,即分兩次鎖存輸入資料。此方式適用于多個D/A轉(zhuǎn)換同步輸出的情節(jié)。
(3)直通方式。直通方式是資料不經(jīng)兩級鎖存器鎖存,即CS*,XFER*,WRI*,WR2*均接地,
ILE接高電平。此方式適用于連續(xù)反饋控制線路和不帶微機的控制系統(tǒng),不過在使用時,必須通過另
加I/O接口與CPU連接,以匹配CPU與D/A轉(zhuǎn)換。
14.簡述應(yīng)該如何處理ADC0809的ALE信號和START信號。
答:ALE:地址鎖存允許信號在ALE上升沿,ADDA、ADDB、ADDC地址狀態(tài)被送入地址鎖存器中。
START:轉(zhuǎn)換啟動信號。START上跳沿時,所有內(nèi)部寄存器清0;START下跳沿時,開始進行A/D
轉(zhuǎn)換;在AD轉(zhuǎn)換期間,START應(yīng)保持低電平。
ADC0809輸出具有三態(tài)鎖存,START與ALE信號連在一起,這樣在START端加上高電平啟動信號
的同時,將通道號進行鎖存。
15.簡述ADC0809的工作過程。
答:(1)把通道地址送到ADDA?ADDC上,選擇模擬輸入;(2)在通道地址信號有效期間,ALE
上的上升沿該地址鎖存到內(nèi)部地址鎖存器;(3)START引腳上的下降沿啟動A/D變換;(4)變換開始
后,E0C引腳呈現(xiàn)低電平,E0C重新變?yōu)楦唠娖綍r表示轉(zhuǎn)換結(jié)束;(5)0E信號打開輸出鎖存器的三態(tài)
門送出結(jié)果。
16.MC14433有什么特點?
答:MC14433是3位半雙積分A/D轉(zhuǎn)換器,是目前市場上廣為流行的典型的A/D轉(zhuǎn)換器。MC14433
具有抗干擾性能好,轉(zhuǎn)換精度高,自動校零,自動極性輸出,自動量程控制信號輸出,動態(tài)字位掃
描BCD碼輸出,單基準電壓,外接元件少,價格低廉等特點。
17.當單片機控制ADC轉(zhuǎn)換時,程序查詢方式與中斷控制方式有什么不同?各自的優(yōu)缺點是什么?
答:中斷方式是當中斷條件滿足時立即中止當前正在運行的程序,進入中斷服務(wù)程序,執(zhí)行完
畢后返回斷點繼續(xù)執(zhí)行,程序查詢方式是一直在循環(huán)主程序中通過查詢語句判斷條件是否滿足,因
主程序執(zhí)行周期的影響,查詢實效性很低,對于要求低的應(yīng)用可以勉強使用,對實效性要求高的情
況必須使用中斷方式,比如通過外部中斷測速,查詢方式對較高速度的響應(yīng)會產(chǎn)生十分大的誤差,
甚至測量數(shù)值混亂。
18.在一個由80c51單片機與一片DAC0832組成的應(yīng)用系統(tǒng)中,DAC0832的地址為7FFFH,輸出
電壓為0、5V。試畫出有關(guān)邏輯電路圖,并編寫轉(zhuǎn)換程序產(chǎn)生矩形波,波形占空比為1:4,高電平為
2.5V,低電平為1.25V。
答:硬件電路連接圖如圖所示:
DAC0832的地址為7FFFH,波形占空比為1:4,高電平波形時間與低電平波形時間的比值為1/3。
當Vo=2.5V時,D=80H;Vo=l.25V時,D=40Ho
程序如下:
ORG0000H
LJMPMAIN
ORG0030II
MAIIN:MOVSP,#60H
MOVDPTR,#7FFFH
NEXT:MOVA,#80H
MOVX@DPTR,A
ACALLDELAY
MOVR4,#03H
MOVA,#40H
MOVX?DPTR,A
LOOP:ACALLDELAY
DJNZR4,LOOP
AJMPNEXT
DELAY:,,,,
RET
END
19.在一個由80C51單片機與一片ADC0809組成的數(shù)據(jù)采集系統(tǒng)中,ADC0809的地址為
7FF8r7FFFH。試畫出邏輯電路圖,并編寫程序,每隔Imin輪流采集一次8通道數(shù)據(jù),8通道總共采
集100次,其采樣值存入外RAM,從3000H開始存儲。
答:硬件電路連接圖如圖所示:
設(shè)8051的時鐘頻率為12MHZ,程序如下:
0RG0000H
LJMPMAIN
0RG001BH
LJMPTl_l
ORG01OOH
MAIN:MOVSP,#60H;設(shè)堆棧指針
MOVR7,#100;置采集次數(shù)
MOVRI,#30H;片外RAM地址高位
MOVR0,#00H;片外RAM地址低位
MOVR2,#20;置入初值20(計1s)
MOVR3,#60;置入初值60(計1min)
SETB7FH;置1min標志為1
MOVTOMD,1收0H;定時器T1工作于模式1
MOVTH1,#3CH;計數(shù)器初值
MOVTL1,#OBOH
SETBEA;開中斷
SETBET1;定時器口允許中斷
SETBTRI;啟動定時器T1
LOOP:SJMPLOOP;等待中斷
JB7FH,LOOP;1min未到,等待
DJNZR7,LOOP;是否到100次?
SJMP$
ORG0200H
Tl_1:MOVTH1,#3CH;中斷服務(wù)程序,重新賦計數(shù)器初值
MOVTL1,#0B0H
SETB7FH;置1min未到標志
DJNZR2,RETI_O;ls未到,返回
MOVR2,#20;重新置“100s”計數(shù)器初值
DJNZR3,RETI_O;1min未到,返回
MOVR3,#60
CLR7FH;置1min到標志
MOVR6,#8;8個通道計數(shù)器初值
MOVDPTR,#7FF8H;IN0地址
LOOP1:MOVX@DPTR,A;啟動A/D轉(zhuǎn)換
JBP3.2,$;判斷轉(zhuǎn)換是否結(jié)束
MOVXA,?DPTR;讀取轉(zhuǎn)換結(jié)果
PUSHDPH;將通道地址壓入堆棧
PUSHDPL
MOVDPH,RI;將片外RAM地址送DPTR
MOVDPL,RO
MOVX?DPTR,A;將轉(zhuǎn)換結(jié)果存入片外RAM
INCDPTR;片外RAM地址增1
MOVRi,DPH;保存片外RAM地址
MOVRO,DPL
POPDPL;恢復通道地址
POPDPH
INCDPTR
DJNZR6,LOOP1;8個通道是否采集結(jié)束
RETI;中斷返回
END
查詢法采集8路數(shù)據(jù)的程序:
ORG0000H
LJMPMAIN
ORG0030H
MAIN:MOVSP,#60H;設(shè)堆棧指針
MOVRI,#30H;片外RAM地址高位
MOVRO,#00H;片外RAM地址低位
MOVR6,#8;8個通道計數(shù)器初值
MOVDPTR,#7FF8H;IN0地址
LOOP1:MOVX@DPTR,A;啟動AD轉(zhuǎn)換
JNBP1.0,$;判轉(zhuǎn)換是否結(jié)束
MOVXA,@DPTR;讀取轉(zhuǎn)換結(jié)果
PUSHDPH;將通道地址壓入堆棧
PUSHDPL
MOVDPH,RI;將片外RAM地址送DPTR
MOVDPL,RO
MOVX@DPTR,A;將轉(zhuǎn)換結(jié)果存入片外RAM
INCDPTR;片外RAM地址增1
MOVRI,DPH;保存片外RAM地址
MOVRO,DPL
POPDPL;恢復通道地址
POPDPH
INCDPTR
DJNZR6,LOOP1;8個通道是否采集結(jié)束
SJMP$
END
中斷法采集8路數(shù)據(jù)的程序:
ORGOOOOH
LJMPMAIN
ORG0003H
溫馨提示
- 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025農(nóng)村買地合同樣本
- 2025私營公司工程合同
- 2025年度農(nóng)村水塘水域環(huán)境保護與承包合同
- 二零二五年度環(huán)保產(chǎn)業(yè)散伙協(xié)議書3篇
- 2025年度公司與自然人共同開發(fā)項目合作協(xié)議3篇
- 2025年企業(yè)法人變更合同審查與合同效力確認服務(wù)3篇
- 二零二五年度公司股東內(nèi)部關(guān)于企業(yè)可持續(xù)發(fā)展戰(zhàn)略的協(xié)議書2篇
- 二零二五年度智慧城市運營合作出資協(xié)議模板
- 2025抵押貸款還款合同
- 二零二五年度農(nóng)村新建住宅不含材料包工協(xié)議
- (八省聯(lián)考)2025年高考綜合改革適應(yīng)性演練 語文試卷(含答案解析)
- GB/T 45002-2024水泥膠砂保水率測定方法
- ISO 56001-2024《創(chuàng)新管理體系-要求》專業(yè)解讀與應(yīng)用實踐指導材料之1:0 引言(雷澤佳編制-2025B0)
- 2024版環(huán)衛(wèi)清潔班車租賃服務(wù)協(xié)議3篇
- 2024年《論教育》全文課件
- 生命安全與救援學習通超星期末考試答案章節(jié)答案2024年
- 文創(chuàng)園項目可行性方案
- 馬工程版《中國經(jīng)濟史》各章思考題答題要點及詳解
- OBE理念下的一流專業(yè)和課程建設(shè)
- 一年級口算天天練(可直接打印)
- 腫瘤基礎(chǔ)知識培訓
評論
0/150
提交評論