實(shí)驗(yàn)一 矩陣鍵盤檢測(cè).doc_第1頁(yè)
實(shí)驗(yàn)一 矩陣鍵盤檢測(cè).doc_第2頁(yè)
實(shí)驗(yàn)一 矩陣鍵盤檢測(cè).doc_第3頁(yè)
實(shí)驗(yàn)一 矩陣鍵盤檢測(cè).doc_第4頁(yè)
實(shí)驗(yàn)一 矩陣鍵盤檢測(cè).doc_第5頁(yè)
已閱讀5頁(yè),還剩26頁(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)介

實(shí)驗(yàn)一 矩陣鍵盤檢測(cè)一、 實(shí)驗(yàn)?zāi)康模?、 學(xué)習(xí)非編碼鍵盤的工作原理和鍵盤的掃描方式。2、 學(xué)習(xí)鍵盤的去抖方法和鍵盤應(yīng)用程序的設(shè)計(jì)。二、 實(shí)驗(yàn)設(shè)備: 51/AVR實(shí)驗(yàn)板、USB連接線、電腦三、 實(shí)驗(yàn)原理: 鍵盤接口電路是單片機(jī)系統(tǒng)設(shè)計(jì)非常重要的一環(huán),作為人機(jī)交互界面里最常用的輸入設(shè)備。我們可以通過(guò)鍵盤輸入數(shù)據(jù)或命令來(lái)實(shí)現(xiàn)簡(jiǎn)單的人機(jī)通信。1、 按鍵的分類一般來(lái)說(shuō),按鍵按照結(jié)構(gòu)原理可分為兩類,一類是觸點(diǎn)式開(kāi)關(guān)按鍵,如機(jī)械式開(kāi)關(guān)、導(dǎo)電橡膠式開(kāi)關(guān)等;另一類是無(wú)觸點(diǎn)式開(kāi)關(guān)按鍵,如電氣式按鍵,磁感應(yīng)按鍵等。前者造價(jià)低,后者壽命長(zhǎng)。目前,微機(jī)系統(tǒng)中最常見(jiàn)的是觸點(diǎn)式開(kāi)關(guān)按鍵(如本學(xué)習(xí)板上所采用按鍵)。按鍵按照接口原理又可分為編碼鍵盤與非編碼鍵盤兩類,這兩類鍵盤的主要區(qū)別是識(shí)別鍵符及給出相應(yīng)鍵碼的方法。編碼鍵盤主要是用硬件來(lái)實(shí)現(xiàn)對(duì)鍵的識(shí)別,非編碼鍵盤主要是由軟件來(lái)實(shí)現(xiàn)鍵盤的識(shí)別。全編碼鍵盤由專門的芯片實(shí)現(xiàn)識(shí)鍵及輸出相應(yīng)的編碼,一般還具有去抖動(dòng)和多鍵、竄鍵等保護(hù)電路,這種鍵盤使用方便,硬件開(kāi)銷大,一般的小型嵌入式應(yīng)用系統(tǒng)較少采用。非編碼鍵盤按連接方式可分為獨(dú)立式和矩陣式兩種,其它工作都主要由軟件完成。由于其經(jīng)濟(jì)實(shí)用,較多地應(yīng)用于單片機(jī)系統(tǒng)中(本學(xué)習(xí)板也采用非編碼鍵盤)。 2、 按鍵的輸入原理在單片機(jī)應(yīng)用系統(tǒng)中,通常使用機(jī)械觸點(diǎn)式按鍵開(kāi)關(guān),其主要功能是把機(jī)械上的通斷轉(zhuǎn)換成為電氣上的邏輯關(guān)系。也就是說(shuō),它能提供標(biāo)準(zhǔn)的TTL 邏輯電平,以便與通用數(shù)字系統(tǒng)的邏輯電平相容。此外,除了復(fù)位按鍵有專門的復(fù)位電路及專一的復(fù)位功能外,其它按鍵都是以開(kāi)關(guān)狀態(tài)來(lái)設(shè)置控制功能或輸入數(shù)據(jù)。當(dāng)所設(shè)置的功能鍵或數(shù)字鍵按下時(shí),計(jì)算機(jī)應(yīng)用系統(tǒng)應(yīng)完成該按鍵所設(shè)定的功能。因此,鍵信息輸入是與軟件結(jié)構(gòu)密切相關(guān)的過(guò)程。對(duì)于一組鍵或一個(gè)鍵盤,通過(guò)接口電路與單片機(jī)相連。單片機(jī)可以采用查詢或中斷方式了解有無(wú)按鍵輸入并檢查是哪一個(gè)按鍵按下,若有鍵按下則跳至相應(yīng)的鍵盤處理程序處去執(zhí)行,若無(wú)鍵按下則繼續(xù)執(zhí)行其他程序。 3、按鍵的特點(diǎn)與去抖機(jī)械式按鍵再按下或釋放時(shí),由于機(jī)械彈性作用的影響,通常伴隨有一定時(shí)間的觸點(diǎn)機(jī)械抖動(dòng),然后其觸點(diǎn)才穩(wěn)定下來(lái)。其抖動(dòng)過(guò)程如圖1(a)所示,抖動(dòng)時(shí)間的長(zhǎng)短與開(kāi)關(guān)的機(jī)械特性有關(guān),一般為5 -10 ms。從圖中可以看出,在觸點(diǎn)抖動(dòng)期間檢測(cè)按鍵的通與斷狀態(tài),可能導(dǎo)致判斷出錯(cuò)。即按鍵一次按下或釋放被錯(cuò)誤地認(rèn)為是多次操作,這種情況是不允許出現(xiàn)的。為了克服按鍵觸點(diǎn)機(jī)械抖動(dòng)所致的檢測(cè)誤判,必須采取去抖動(dòng)措施,可從硬件、軟件兩方面予以考慮。一般來(lái)說(shuō),在鍵數(shù)較少時(shí),可采用硬件去抖,而當(dāng)鍵數(shù)較多時(shí),采用軟件去抖。(本學(xué)習(xí)板采用軟件去抖方式)。按鍵抖動(dòng)狀態(tài)圖 硬件電容去抖按鍵去抖流程圖從按鍵的去抖流程圖我們可以知道,檢測(cè)到有鍵按下時(shí),應(yīng)延時(shí)等待一段時(shí)間(可調(diào)用一個(gè)5ms10ms的延遲子程序),然后再次判斷按鍵是否被按下,若此時(shí)判斷按鍵仍被按下,則認(rèn)為按鍵有效,若此時(shí)判斷按鍵沒(méi)有被按下,說(shuō)明為按鍵抖動(dòng)或干擾,應(yīng)返回重新判斷。鍵盤真正被按下才可進(jìn)行相應(yīng)的處理程序,此時(shí)基本就算實(shí)現(xiàn)了按鍵輸入,進(jìn)一步的話可以判斷按鍵是否釋放。四、 實(shí)驗(yàn)步驟上面的圖的意思是P3.1P3.3 跟P3.4P3.7不一樣的,他們是相互連接(當(dāng)按下鍵時(shí)),組成4*4=16個(gè)鍵的。如果給P3一個(gè)掃描初值的話:如0x0F ,則沒(méi)有鍵按下時(shí)為:P3.1P3.3為1P3.4P3.7為0如果有鍵按下,則情況發(fā)生變化:高電平接入低電平:如P3.3與P3.7連接的鍵按下,則P3.3與P3.7為0,即接地了。則P3此時(shí)為:0000 0111,這時(shí)如果用P3&0x0F,則高四位為0低四位保留,可以得到低四位的內(nèi)容了。通過(guò)去抖操作,即一個(gè)delay,可以得到低四位內(nèi)容。這里設(shè)為:h=P3&0x0F; 如果再得到高四位內(nèi)容,則可以組成一個(gè)數(shù),來(lái)定位哪個(gè)鍵了。程序框圖:P3=FFH,P3.0=0有鍵按下嗎?延時(shí)10ms真得有鍵按下嗎?根據(jù)當(dāng)前狀態(tài)識(shí)別按鍵P3=FFH,P3.1=0有鍵按下嗎?延時(shí)10ms真得有鍵按下嗎?根據(jù)當(dāng)前狀態(tài)識(shí)別按鍵P3=FFH,P3.2=0有鍵按下嗎?延時(shí)10ms真得有鍵按下嗎?根據(jù)當(dāng)前狀態(tài)識(shí)別按鍵P3=FFH,P3.3=0有鍵按下嗎?延時(shí)10ms真得有鍵按下嗎?根據(jù)當(dāng)前狀態(tài)識(shí)別按鍵C語(yǔ)言源程序:#includesbit beep=P23;sbit dula=P26;sbit wela=P27; unsigned char i=100;unsigned char j,k,temp,key;void delay(unsigned char i) for(j=i;j0;j-) for(k=125;k0;k-);Unsigned char code table=0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d, 0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71;display(unsigned char num) P0=tablenum; dula=1; dula=0; P0=0xc0; wela=1; wela=0;void main() dula=0; wela=0; while(1) P3=0xfe; temp=P3; temp=temp&0xf0; if(temp!=0xf0) delay(10); if(temp!=0xf0) temp=P3; switch(temp) case 0xee: key=0; break; case 0xde: key=1; break; case 0xbe: key=2; break; case 0x7e: key=3; break; while(temp!=0xf0) temp=P3; temp=temp&0xf0; beep=0; beep=1; display(key); P1=0xfe; P3=0xfd; temp=P3; temp=temp&0xf0; if(temp!=0xf0) delay(10); if(temp!=0xf0) temp=P3; switch(temp) case 0xed: key=4; break; case 0xdd: key=5; break; case 0xbd: key=6; break; case 0x7d: key=7; break; while(temp!=0xf0) temp=P3; temp=temp&0xf0; beep=0; beep=1; display(key); P3=0xfb; temp=P3; temp=temp&0xf0; if(temp!=0xf0) delay(10); if(temp!=0xf0) temp=P3; switch(temp) case 0xeb: key=8; break; case 0xdb: key=9; break; case 0xbb: key=10; break; case 0x7b: key=11; break; while(temp!=0xf0) temp=P3; temp=temp&0xf0; beep=0; beep=1; display(key); P3=0xf7; temp=P3; temp=temp&0xf0; if(temp!=0xf0) delay(10); if(temp!=0xf0) temp=P3; switch(temp) case 0xe7: key=12; break; case 0xd7: key=13; break; case 0xb7: key=14; break; case 0x77: key=15; break; while(temp!=0xf0) temp=P3; temp=temp&0xf0; beep=0; beep=1; display(key); 匯編程序: dula bit P2.0; wela bit P2.1;KEYBUF EQU 30H ORG 00HSTART: MOV KEYBUF,#2WAIT: MOV P3,#0FFH CLR P3.4 MOV A,P3 ANL A,#0FH XRL A,#0FH JZ NOKEY1 LCALL DELY10MS MOV A,P3 ANL A,#0FH XRL A,#0FH JZ NOKEY1 MOV A,P3 ANL A,#0FH CJNE A,#0EH,NK1 MOV KEYBUF,#0 mov p1,#11111110b LJMP DK1NK1: CJNE A,#0DH,NK2 MOV KEYBUF,#4 mov p1,#11111100b LJMP DK1NK2: CJNE A,#0BH,NK3 MOV KEYBUF,#8 mov p1,#11111000b LJMP DK1NK3: CJNE A,#07H,NK4 MOV KEYBUF,#12 mov p1,#11110000b LJMP DK1NK4: NOPDK1: call display DK1A: MOV A,P3 ;等待釋放 ANL A,#0FH XRL A,#0FH JNZ DK1ANOKEY1: MOV P3,#0FFH CLR P3.5 MOV A,P3 ANL A,#0FH XRL A,#0FH JZ NOKEY2 LCALL DELY10MS MOV A,P3 ANL A,#0FH XRL A,#0FH JZ NOKEY2 MOV A,P3 ANL A,#0FH CJNE A,#0EH,NK5 MOV KEYBUF,#1 mov p1,#11111110b LJMP DK2NK5: CJNE A,#0DH,NK6 MOV KEYBUF,#5 mov p1,#11111100b LJMP DK2NK6: CJNE A,#0BH,NK7 MOV KEYBUF,#9 mov p1,#11111000b LJMP DK2NK7: CJNE A,#07H,NK8 MOV KEYBUF,#13 mov p1,#11110000b LJMP DK2NK8: NOPDK2: call displayDK2A: MOV A,P3 ;釋放 ANL A,#0FH XRL A,#0FH JNZ DK2ANOKEY2: MOV P3,#0FFH CLR P3.6 MOV A,P3 ANL A,#0FH XRL A,#0FH JZ NOKEY3 LCALL DELY10MS MOV A,P3 ANL A,#0FH XRL A,#0FH JZ NOKEY3 MOV A,P3 ANL A,#0FH CJNE A,#0EH,NK9 MOV KEYBUF,#2 mov p1,#11111110b LJMP DK3NK9: CJNE A,#0DH,NK10 MOV KEYBUF,#6 mov p1,#11111100b LJMP DK3NK10: CJNE A,#0BH,NK11 MOV KEYBUF,#10 mov p1,#11111000b LJMP DK3NK11: CJNE A,#07H,NK12 MOV KEYBUF,#14 mov p1,#11110000b LJMP DK3NK12: NOPDK3: call displayDK3A: MOV A,P3 ANL A,#0FH XRL A,#0FH JNZ DK3ANOKEY3: MOV P3,#0FFH CLR P3.7 MOV A,P3 ANL A,#0FH XRL A,#0FH JZ NOKEY4 LCALL DELY10MS MOV A,P3 ANL A,#0FH XRL A,#0FH JZ NOKEY4 MOV A,P3 ANL A,#0FH CJNE A,#0EH,NK13 MOV KEYBUF,#3 mov p1,#11111110b LJMP DK4NK13: CJNE A,#0DH,NK14 MOV KEYBUF,#7 mov p1,#11111100b LJMP DK4NK14: CJNE A,#0BH,NK15 MOV KEYBUF,#11 mov p1,#11111000b LJMP DK4NK15: CJNE A,#07H,NK16 mov p1,#11110000b MOV KEYBUF,#15 LJMP DK4NK16: NOPDK4: call displayDK4A: MOV A,P3 ANL A,#0FH XRL A,#0FH JNZ DK4ANOKEY4: LJMP WAITDELY10MS: MOV R6,#10D1: MOV R7,#248 DJNZ R7,$ DJNZ R6,D1 RET display: MOV A,KEYBUF ;查表 MOV DPTR,#TABLE MOVC A,A+DPTR MOV P0,A setb dula clr dula mov P0,#0c0h setb wela clr wela clr p2.3 acall ds1ms ;延時(shí),以便人眼可以觀察到 setb p2.3 ;acall ds1ms ret ds10ms: mov r1,#1ds1lo: mov r2,#200ds2lo: mov r3,#200 djnz r3,$ djnz r2,ds2lo djnz r1,ds1lo ret ;延時(shí)返回TABLE: DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H DB 7FH,6FH,77H,7CH,39H,5EH,79H,71H END五、 實(shí)驗(yàn)現(xiàn)象:當(dāng)你按下矩陣鍵盤中的任何一個(gè)鍵,蜂鳴器響一聲,并在數(shù)碼管上顯示相應(yīng)的鍵值。圖為實(shí)際演示圖片。六、 實(shí)驗(yàn)小結(jié):本實(shí)驗(yàn)介紹了單片機(jī)鍵盤的工作原理并給出了實(shí)例,從中我們可以知道一個(gè)完善的鍵盤控制程序應(yīng)具備以下功能:(1)檢測(cè)有無(wú)按鍵按下,并采取硬件或軟件措施,消除鍵盤按鍵機(jī)械觸點(diǎn)抖動(dòng)的影響。(2)有可靠的邏輯處理辦法。每次只處理一個(gè)按鍵,其間對(duì)任何按鍵的操作對(duì)系統(tǒng)不產(chǎn)生影響,且無(wú)論一次按鍵時(shí)間有多長(zhǎng),系統(tǒng)僅執(zhí)行一次按鍵功能程序。(3)準(zhǔn)確輸出按鍵值,以滿足按鍵功能要求。對(duì)于矩陣鍵盤而言,必須將行線、列線信號(hào)配合起來(lái)作適當(dāng)處理,才能確定閉合鍵的位置。實(shí)驗(yàn)二 交通燈一、 實(shí)驗(yàn)?zāi)康模?、 了解單片機(jī)中斷與定時(shí)器工作原理,掌握中斷與定時(shí)器程序結(jié)構(gòu)。2、 理解七段數(shù)碼管的工作原理,并在此基礎(chǔ)上能可以進(jìn)行簡(jiǎn)單的數(shù)碼管驅(qū)動(dòng)操作。3、 可以靈活的用I/O口原理控制LED小燈的亮和滅。二、 實(shí)驗(yàn)設(shè)備: 51/AVR實(shí)驗(yàn)板、USB連接線、電腦。三、 實(shí)驗(yàn)原理:本實(shí)驗(yàn)以P1口作為輸出。程序初始化是綠燈先亮,具體順序?yàn)榫G-黃-紅-黃-綠-黃-紅,重復(fù)循環(huán)。其中,紅燈與綠燈顯示時(shí)間均為50s,中間的黃燈顯示時(shí)間為15s。綠燈用八位發(fā)光二極管流動(dòng)閃爍作代表;紅燈用八位發(fā)光二極管全亮作代表;黃燈用八位發(fā)光二極管全亮全滅閃爍作代表。此外,還用到定時(shí)器T0作為倒計(jì)時(shí)使用,P0口作為L(zhǎng)ED燈的顯示。在實(shí)驗(yàn)中利用軟件延時(shí)的方法來(lái)控制紅黃綠燈的亮的時(shí)間??紤]到延時(shí)時(shí)間較長(zhǎng),所以先用T0產(chǎn)生終端然后計(jì)數(shù)的方法來(lái)實(shí)現(xiàn)延時(shí),利用P1口作為紅黃綠燈控制端口。 實(shí)驗(yàn)?zāi)K圖1 實(shí)驗(yàn)?zāi)K圖2四、 實(shí)驗(yàn)步驟:1、 熟悉單片機(jī)內(nèi)部原理圖,掌握各實(shí)驗(yàn)?zāi)K的使用方法。2、 設(shè)計(jì)實(shí)驗(yàn)方案,畫(huà)出流程圖。3、 根據(jù)流程圖編寫(xiě)程序。程序如下:#include#define uchar unsigned char#define uint unsigned intsbit dula=P26;sbit wela=P27;sbit beep=P23;unsigned int pp;unsigned char code table=0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d, 0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71;uchar j,k,l=255;uchar a1,a0;uchar shijian,deng=2;void delay(unsigned int i) for(j=i;j0;j-) for(k=125;k0;k-);void display(unsigned char sh_c,unsigned char g_c) dula=0; P0=tablesh_c; dula=1; dula=0; wela=0; P0=0xfe; wela=1; wela=0; delay(5); P0=tableg_c; dula=1; dula=0; P0=0xfd; wela=1; wela=0; delay(5);void main()TMOD=0x01;TR0=1;TH0=(65536-46080)/256;/ 由于晶振為11.0592,故所記次數(shù)應(yīng)為46080,計(jì)時(shí)器每隔50000微秒發(fā)起一次中斷。TL0=(65536-46080)%256;/46080的來(lái)歷,為50000*11.0592/12ET0=1;EA=1;while(1)if(shijian=0)switch(deng)case 0: shijian=50; /紅燈deng=1;break;case 1: shijian=15; /黃燈deng=2;break;case 2: shijian=50; /綠燈deng=3;break;case 3: shijian=15; /黃燈deng=0;break;if(pp=20)pp=0;shijian-;a0=shijian%10;a1=shijian/10;display(a1,a0);switch(deng)case 1: P1=0X00; /紅燈break;case 2: /黃燈if(shijian%2=0)P1=0x00;if(shijian%2=1)P1=0xff;break;case 3: /綠燈if(shijian%2=0)P1=0x55;if(shijian%2=1)P1=0xaa;break;case 0:if(shijian%2=0) /黃燈P1=0x00;if(shijian%2=1)P1=0xff;break;void time0() interrupt 1TH0=(65536-46080)/256;TL0=(65536-46080)%256;pp+; 4、下載程序到單片機(jī),觀察實(shí)驗(yàn)現(xiàn)象。五、 實(shí)驗(yàn)現(xiàn)象: 上電后,綠燈(八位發(fā)光二極管流動(dòng)閃爍)先亮,數(shù)碼管50秒倒計(jì)時(shí);黃燈(八位發(fā)光二極管全亮全滅閃爍)亮,數(shù)碼管15秒倒計(jì)時(shí);接著紅燈亮(八位發(fā)光二極管全亮),數(shù)碼管50秒倒計(jì)時(shí);接著,再黃燈(八位發(fā)光二極管全亮全滅閃爍)亮,數(shù)碼管15秒倒計(jì)時(shí),如此循環(huán)。 六、 實(shí)驗(yàn)總結(jié):通過(guò)此次實(shí)驗(yàn),使我更加扎實(shí)的掌握了中斷、LED驅(qū)動(dòng)、數(shù)碼管顯示的知識(shí),過(guò)程中遇到了一些問(wèn)題,如中斷初值的設(shè)定,如何讓小燈發(fā)光,通過(guò)向老師及同學(xué)請(qǐng)教,慢慢了解了其中的奧妙。學(xué)習(xí)單片機(jī)一定要注重實(shí)踐,邊學(xué)邊練,發(fā)現(xiàn)問(wèn)題及時(shí)解決。不可拖延怠慢,你怎樣對(duì)它,它就怎樣對(duì)你。實(shí)驗(yàn)三 串口調(diào)試 直接返回?cái)?shù)據(jù)一、 實(shí)驗(yàn)?zāi)康模?、 了解單片機(jī)串行口的結(jié)構(gòu)、使用方法,學(xué)習(xí)串行口應(yīng)用程序的編寫(xiě)方法。2、 熟悉單片機(jī)串行口接收和發(fā)送數(shù)據(jù)的實(shí)現(xiàn)方法。3、 熟悉單片機(jī)串行通信的格式規(guī)定。4、 掌握Vision環(huán)境中調(diào)試串行口應(yīng)用程序的方法。二、 實(shí)驗(yàn)設(shè)備: 51/AVR實(shí)驗(yàn)板、USB連接線、電腦軟件:Keil Vision、串口調(diào)試助手v2.2、STC-ISP-V480三、 實(shí)驗(yàn)原理:通信是人們傳遞信息的方式。計(jì)算機(jī)通信是將計(jì)算機(jī)技術(shù)和通信技術(shù)相結(jié)合,完成計(jì)算機(jī)與外部設(shè)備或計(jì)算機(jī)與計(jì)算機(jī)之間的信息交換。這種信息交換可以分為兩大類:并行通信與串行通信。并行通信通常是將數(shù)據(jù)字節(jié)的各位用多條數(shù)據(jù)線同時(shí)進(jìn)行傳送,如圖所示: 由圖可見(jiàn),并行通信除了數(shù)據(jù)線外還有通信聯(lián)絡(luò)控制線。數(shù)據(jù)發(fā)送方在發(fā)送數(shù)據(jù)前,要詢問(wèn)數(shù)據(jù)接收方是否“準(zhǔn)備就緒”。數(shù)據(jù)接收方收到數(shù)據(jù)后,要向數(shù)據(jù)發(fā)送方回送數(shù)據(jù)已經(jīng)接收到的“應(yīng)答”信號(hào)。并行通信的特點(diǎn)是:控制簡(jiǎn)單,傳輸速度快。由于傳輸線較多,長(zhǎng)距離傳送時(shí)成本高且接收方的各位同時(shí)接收存在困難。串行通信是將數(shù)據(jù)字節(jié)分成一位一位的形式在一條傳輸線上逐個(gè)地傳送,串行通信時(shí),數(shù)據(jù)發(fā)送設(shè)備先將數(shù)據(jù)代碼由并行形式轉(zhuǎn)換成串行形式,然后一位一位地放在傳輸線上進(jìn)行傳送。數(shù)據(jù)接收設(shè)備將接收到的串行形式數(shù)據(jù)轉(zhuǎn)換成并行形式進(jìn)行存儲(chǔ)或處理。 串行通信的特點(diǎn)是:傳輸線少,長(zhǎng)距離傳送時(shí)成本低,且可以利用電話網(wǎng)等現(xiàn)成的設(shè)備。但數(shù)據(jù)的傳送控制比并行通信復(fù)雜。異步通信是指通信的發(fā)送與接收設(shè)備使用各自的時(shí)鐘控制數(shù)據(jù)的發(fā)送和接收過(guò)程。為使雙方的收發(fā)協(xié)調(diào),要求發(fā)送和接收設(shè)備的時(shí)鐘盡可能一致。為了實(shí)現(xiàn)異步傳輸字符的同步,采用的辦法是使傳送的每一個(gè)字符都以起始位“0”開(kāi)始,以停止位“1”結(jié)束。這樣,傳送的每一個(gè)字符都用起始位來(lái)進(jìn)行收發(fā)雙方的同步。停止位和間隙作為時(shí)鐘頻率偏差的緩沖,即使雙方時(shí)鐘頻率略有偏差,總的數(shù)據(jù)流也不會(huì)因偏差的積累而導(dǎo)致數(shù)據(jù)錯(cuò)位。傳送開(kāi)始后,接收設(shè)備不斷檢測(cè)傳輸線,看是否有起始位到來(lái)。當(dāng)收到一系列的“1”(空閑位或停止位)之后,檢測(cè)到一個(gè)“0”,說(shuō)明起始位出現(xiàn),就開(kāi)始接收所規(guī)定的數(shù)據(jù)位和奇偶校驗(yàn)位以及停止位。經(jīng)過(guò)處理將停止位去掉,把數(shù)據(jù)位拼成一個(gè)并行字節(jié),并且經(jīng)校驗(yàn)無(wú)誤才算正確地接收到一個(gè)字符。一個(gè)字符接收完畢后,接收設(shè)備又繼續(xù)測(cè)試傳輸線,監(jiān)視“0”電平的到來(lái)(下一個(gè)字符開(kāi)始),直到全部數(shù)據(jù)接收完畢。異步通信的特點(diǎn)是不要求收發(fā)雙方時(shí)鐘的嚴(yán)格一致,實(shí)現(xiàn)容易,設(shè)備開(kāi)銷較小,但每個(gè)字符要附加23 位用于起止位,各幀之間還有間隔,因此傳輸效率不高。 計(jì)算機(jī)的通信要求傳送的是數(shù)字信號(hào)。在遠(yuǎn)程數(shù)據(jù)通信時(shí),通常要借用現(xiàn)存的公用電話網(wǎng)。但是電話網(wǎng)是為3003 400Hz 的

溫馨提示

  • 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)論