單片機(jī)實(shí)驗(yàn)報(bào)告 化 (自動(dòng)化 1 5級)
實(shí)驗(yàn)名稱:串行通訊實(shí)驗(yàn)
一、實(shí)驗(yàn)?zāi)康?/p>
1。掌握單片機(jī)串行口工作方式;
2。掌握雙機(jī)通訊得接口電路設(shè)計(jì)及程序設(shè)計(jì)。
二、實(shí)驗(yàn)設(shè)備
1、 PC機(jī); 2.單片機(jī)最小系統(tǒng)教學(xué)實(shí)驗(yàn)?zāi)K;
3、 數(shù)碼管顯示模塊 三、實(shí)驗(yàn)內(nèi)容
1. 雙機(jī)通信 由兩套單片機(jī)試驗(yàn)裝置(兩個(gè)實(shí)驗(yàn)小組)共同完成該實(shí)驗(yàn)。我們U1為甲機(jī),U2為乙機(jī)。甲機(jī)發(fā)送本機(jī)(學(xué)生本人)學(xué)號后8位給乙機(jī),乙機(jī)接收該8位數(shù)據(jù),并顯示在8位數(shù)碼管上. 電路如圖1所示。
要求串行通信方式為方式1,波特率為2400bit/s,不加倍,單片機(jī)外部晶振頻率為11、0592M。
圖1 雙機(jī)通信原理示意圖 附加要求:乙機(jī)接收完畢后,將本機(jī)(乙機(jī))得學(xué)號后8位發(fā)送回甲機(jī),甲機(jī)顯示在數(shù)碼管上。
2、 、 單片機(jī)與 PC 機(jī)通信 單片機(jī)向PC機(jī)發(fā)送數(shù)據(jù)。單片機(jī)向PC機(jī)重復(fù)發(fā)送本機(jī)(學(xué)生本人)學(xué)號,發(fā)送波特率為1200,采用方式1,單片機(jī)外部晶振頻率為11、0592M。
四、實(shí)驗(yàn)原理
4 4.1
串行通訊得方式
在串行通訊中,有兩種基本得通訊方式:異步通訊,同步通訊.
異步串行通訊規(guī)定了字符數(shù)據(jù)得傳送格式,既每個(gè)數(shù)據(jù)以相同得幀格式發(fā)送.每個(gè)幀信息由起始位、數(shù)據(jù)位、奇偶校驗(yàn)位與停止位組成。本實(shí)驗(yàn)主要學(xué)習(xí)異步通訊得實(shí)現(xiàn)方法。
在異步通訊中,每一個(gè)字符要用起始位與停止位作為字符開始與結(jié)束得標(biāo)志,以至占用了時(shí)間。所以在數(shù)據(jù)塊傳送時(shí),為了提高通訊速度,常去掉這些標(biāo)志,而采用同步通訊.同步
通訊不像異步通訊那樣,靠起始位在每個(gè)字符數(shù)據(jù)開始時(shí)發(fā)送與接受同步.而就是通過同步字符在每個(gè)數(shù)據(jù)塊傳送開始時(shí)使收/發(fā)雙方同步.
按照通訊方式,又可將數(shù)據(jù)傳輸線路分成三種:單工方式、半雙工方式、全雙工方式。
(1)單工方式 在單工方式下,通訊線得一端聯(lián)接發(fā)送器,另一端聯(lián)接接收器,它們形成單向聯(lián)接,只允許數(shù)據(jù)按照一個(gè)固定得方向傳送。
(2)半雙工方式 在半雙工方式下,系統(tǒng)中得每個(gè)通訊設(shè)備都由一個(gè)發(fā)送器與一個(gè)接收器組成,通過收發(fā)開關(guān)接到通訊線路上,如圖33—1所示。在這種方式中,數(shù)據(jù)能從A站送到B站,也能從B站傳送到A站,但就是不能同時(shí)在二個(gè)方向上傳送,即每次只能一個(gè)站發(fā)送,另一個(gè)站接收.
圖2 半雙工通訊方式 圖33-1中得收發(fā)開關(guān)并不就是實(shí)際得物理開關(guān),而就是由軟件控制得電子開關(guān),由通訊線兩端得半雙工通訊協(xié)議進(jìn)行功能切換。
(3)全雙工(Full—duplex)方式 雖然半雙工方式比單工方式靈活,但它得效率依然較低.從發(fā)送方式切換到接收方式所需得時(shí)間一般大約為數(shù)毫秒,這么長得時(shí)間延遲在對時(shí)間較敏感得交互式應(yīng)用(例如遠(yuǎn)程檢測監(jiān)視控制系統(tǒng))中就是無法容忍得.重復(fù)線路切換所引起得延遲積累,正就是半雙工通信協(xié)議效率不高得主要原因。
半雙工得這種缺點(diǎn)就是可以避免得,而且方法很簡單,即采用信道劃分技術(shù)。在圖33—2得全雙工連接中,不就是交替發(fā)送與接收,而就是可同時(shí)發(fā)送與接收。全雙工通訊系統(tǒng)得每一端都包含發(fā)送器與接收器,數(shù)據(jù)可同時(shí)在兩個(gè)方向上傳送.
圖3 全雙工通訊方式 4.2 單片機(jī)串行口工作方式 在靜態(tài)數(shù)碼管顯示實(shí)驗(yàn)中,我們熟悉了單片機(jī)串口工作方式0;單片機(jī)串口還具有有3種工作方式。如下表所示:
這3種工作方式,均用于串行異步通訊。在異步串行通訊得一個(gè)字節(jié)得傳送中,必須包括了起始位(0)與停止位(1)。除此之外,方式1具有8位(1個(gè)字節(jié))得數(shù)據(jù)位(低位在先),方式2、3則除這8位之外,還具有一個(gè)可編程得第9位,這個(gè)第9位編程通常被編程為奇偶校驗(yàn)位.我們將在下一個(gè)實(shí)驗(yàn)中用到它。
串口工作方式在特殊寄存器SCON中設(shè)置。
其中得SM0與SM1位確定了串口工作方式。要使通訊雙方能夠通訊成功,必須具有相同得串口工作模式;REN為允許接收位,本實(shí)驗(yàn)中因?yàn)殡p方都要進(jìn)行接收,因此REN也都應(yīng)設(shè)為1。TB8與RB8這里暫不涉及。利用以下語句來設(shè)置SCON: MOV SCON, #50H 4。
。3 波特率得設(shè)置 在異步串口通訊中,一個(gè)很重要得工作就就是進(jìn)行串口波特率得設(shè)置。波特率就是指串口通訊中每秒傳送得位數(shù),單位為BPS,它反映了串行口通訊得速度;同時(shí),通訊雙方得速度必須一致,才能夠順利進(jìn)行通訊。
在串口工作方式1、3中,傳送波特率都就是可變得。單片機(jī)內(nèi)部通過定時(shí)器T1來提供發(fā)送與接收緩存器得內(nèi)部移位時(shí)鐘。也就就是說,要確定串行通訊得波特率,必須對T1進(jìn)行相
關(guān)設(shè)置。51單片機(jī)系統(tǒng)對此時(shí)T1得設(shè)置有以下固定得規(guī)定: (1)必須工作在定時(shí)器狀態(tài); (2)必須工作在“8位自動(dòng)重載”工作模式; 這必須在特殊寄存器TMOD中進(jìn)行設(shè)置.關(guān)于TMOD得詳細(xì)內(nèi)容,我們在實(shí)驗(yàn)十七已經(jīng)講過。可以利用以下語句來設(shè)置TMOD: MOV TMOD, #20H 除了對TMOD得設(shè)置外,還必須設(shè)置定時(shí)器T1得定時(shí)值,也就就是保存在TH1中得8位重載值。這直接影響到波特率得大小: 它通過以下公式進(jìn)行計(jì)算:
其中得SMOD為特殊寄存器PCON得最高位。當(dāng)它置1時(shí),可以將波特率增大1倍。
在雙機(jī)通訊中,只要雙方得波特率一致就能夠完成通訊了;但就是,在標(biāo)準(zhǔn)得異步通訊協(xié)議中,只有幾種波特就是適用得。例如1200bps,2400bps,4800bps,9600bps……等等. 而通過這個(gè)公式可以瞧出,并不就是所有得晶振頻率都能夠得到準(zhǔn)確得上述波特率。比如采用12MHz晶振,代入公式進(jìn)行運(yùn)算,就無法得到4800bps得準(zhǔn)確波特率(TH1必須為小數(shù)了)。在這種情況下,過去人們都使用軟件補(bǔ)償?shù)梅椒?盡量得到準(zhǔn)確得波特率;而現(xiàn)在,市場上有很多通訊專用得晶振,例如3、6864MHz、11、0592MHz……得晶振,都能夠直接得到準(zhǔn)確得波特率.因此在進(jìn)行本實(shí)驗(yàn)時(shí),必須使用通訊專用晶振(如果使用仿真器,則設(shè)置為使用仿真頭得外接晶振,并將11、0592M得晶振插入仿真頭. 當(dāng)波特率已經(jīng)確定,就可以反向推導(dǎo)出TH1得取自大小,例如,在本次實(shí)驗(yàn)中,我們要求波特率為4800bps,在晶振采用11、0592MHz得情況下,推出TH1=0F4H. 五、實(shí)驗(yàn)步驟
1.參考圖1并進(jìn)行電路設(shè)計(jì),畫出電路圖,并用導(dǎo)線正確連接兩套裝置得單片機(jī)最小系統(tǒng)實(shí)驗(yàn)?zāi)K,并連接最小系統(tǒng)模塊與數(shù)碼管顯示模塊。
2。照實(shí)驗(yàn)要求編寫程序流程圖,然后編寫程序,對編寫得程序進(jìn)行仿真調(diào)試,直至通訊成功。
六、實(shí)驗(yàn)報(bào)告
1 1. 在該實(shí)驗(yàn)中,單片機(jī)串行口工作在什么工作方式下?說明該工作方式得特點(diǎn)。
工作在工作方式 1。8 位數(shù)據(jù)通訊,波特率可變.
2. 波特率就是什么?怎樣設(shè)置單片機(jī)串口通訊得波特率?如果實(shí)驗(yàn)要求通訊波特率為4800bps ,怎樣修改程序?
特率就是指串口通訊中每秒傳送得位數(shù),單位為 BPS,它反映了串行口通訊得速度。
單片機(jī)內(nèi)部通過定時(shí)器T1來提供發(fā)送與接收緩存器得內(nèi)部移位時(shí)鐘。必須工作在定時(shí)器狀態(tài);必須工作在“8 位自動(dòng)重載”工作模式。
3. 詳細(xì)說明本次實(shí)驗(yàn)采用得通訊協(xié)議.
碼數(shù)位8在示顯并,據(jù)數(shù)位8該收接機(jī)乙,機(jī)乙給位8后號學(xué))人本生學(xué)(機(jī)本送發(fā)機(jī)甲?管上。乙機(jī)接收完畢后,將本機(jī)(乙機(jī))得學(xué)號后8位發(fā)送回甲機(jī),甲機(jī)顯示在數(shù)碼管上. 4. 給針對實(shí)驗(yàn)要求編寫本機(jī)得程序流程圖、程序清單并給予適當(dāng)注釋, 并說明合作單片機(jī)(合 合作同學(xué)). 這里有兩個(gè)程序,一個(gè)就是先接受,一個(gè)就是先發(fā)送。
# include 〈STC12C5A60S2、h〉 #define uchar unsigned char void init(void); void send(void); void delay(unsigned int i); uchar xuehao[8]={6,6,6,6,6,6,6}; void main(void) {
;)(tini? send();
while(1); } void init(void)
{
TMOD=0x20;
TH1=0xfd;
;dfx0=1LT?
? SCON=0x50;
PCON=0x00;
TR1=1; } void send(void) {
;i rahcu? do
{
? delay(200);
SBUF=0xaa;
;0=IT;)0==IT(elihw?
;0=IR;)0==IR(elihw? }while(SBUF!=0xbb);
//-----———-—-——-—--————-—-———--—----?????
;)08(yaled? for(i=0;i<=7;i++)
{? ? SBUF=xuehao[i];
;0=IT;)0==IT(elihw??
;)5(yaled?
}? ;9=FUBS?
;)01(yaled?} /////////////////////////////////////////////////////////// void delay(unsigned int i) {
unsigned char j;
)——i;0〉i;(rof? )++j;521〈j;0=j(rof? {;} } # include 〈STC12C5A60S2、h〉 #define uchar unsigned char void init(void); void receive(void); void delay(unsigned int i); void display(uchar A,uchar B); void duanxuan(uchar c); uchar xuehao[8]={0}; void main(void) {
;)(tini? ;)(eviecer? while(1)
{
? display(1,xuehao[0]);
;)3(yaled?
P0=0x00;
;)]1[oaheux,2(yalpsid? ;)3(yaled?? ;00x0=0P??
display(3,xuehao[2]);
;)3(yaled?
P0=0x00;
? display(4,xuehao[3]);
delay(3);
? P0=0x00;
display(5,xuehao[4]);
? delay(3);
;00x0=0P? ? display(6,xuehao[5]);
? delay(3);
P0=0x00;
display(7,xuehao[6]);
;)3(yaled?
P0=0x00;
? ;)]7[oaheux,8(yalpsid??
;)3(yaled? ? P0=0x00;
}
//
} void init(void)
{
;00X0=1M0P? P0M0=0Xff;
P2M1=0x00;
P2M0=0xff;
TMOD=0x20;
;dfx0=1HT? TL1=0xfd;
SCON=0x50;
PCON=0x00;
TR1=1; } void receive(void) {
uchar enpty;
;0=j rahcu? od? {
;0=IR;)0==IR(elihw?} ;)aax0=!FUBS(elihw? SBUF=0xbb;
while(TI==0);TI=0;
enpty=SBUF;// while(RI==0);RI=0;
//—--——-—-—--——-——---—---———---——??
delay(10);
for(j=0;j<=7;j++)
{? ;FUBS=]j[oaheux?? ;0=IR;)0==IR(elihw?? } } ////////////////////////////////////////????////////////////////////////////////////////////// void display(uchar A,uchar B) { ,28x0,29x0,99x0,0bx0,4ax0,9fx0,0cx0{=]21[ofni edoc rahcu?0xf8,0x80,0x90, //
0xff,
?
?
? 0 ?—//;}fbx? ;)A(nauxnaud?
switch (B)
{??:0 esac?
;]0[ofni~=0P?? ?
break;
:1 esac? ?
;]1[ofni~=0P??
?
;kaerb?
case 2:
?;]2[ofni~=0P?
break; ?:3 esac? ?
? P0=~info[3];
?? break;
:4 esac?? ??
P0=~info[4];
?
;kaerb? ?? case 5:
?
;]5[ofni~=0P?;kaerb?? ?? case 6:
?? P0=~info[6]; ;kaerb??
:7 esac?
? P0=~info[7];
?;kaerb? ?
case 8:
??
P0=~info[8];
?
;kaerb?
:9 esac?
? P0=~info[9];
?
break;
?
:01 esac?
;]01[ofni~=0P?
;kaerb??:11 esac? ?
;]11[ofni~=0P??
?
;kaerb?
}?} void duanxuan(uchar c) {
)c( hctiws? {
? case 1:
;10x0=2P? ?
break;
? case 2:
P2=0x02;
? break;
:3 esac?? ?
;40x0=2P? ?
break;
? case 4:
;80x0=2P??;kaerb?
case 5:
?;01x0=2P? ?
break;
:6 esac?? ?? P2=0x20;
;kaerb?? ? case 7:
?
P2=0x40;
?
break;
:8 esac?? ?
;08x0=2P?
;kaerb??
:tluafed? ?
break;
} } ///////////////////////////////////////////////////////////////////////////////////////////// void delay(unsigned int i)
{
unsigned char j;
)—-i;0〉i;(rof? for(j=0;j〈125;j++)
};{?} 5 。實(shí)驗(yàn)心得。(必須) 、.。。。。。。.。..。。.。。..。..。。。
6. . 附能說明實(shí)驗(yàn)原理得實(shí)驗(yàn)照片。(必須)
推薦訪問: 雙機(jī) 實(shí)驗(yàn) 通訊在偉大祖國73華誕之際,我參加了單位組織的“光影鑄魂”主題黨日活動(dòng),集中觀看了抗美援朝題材影片《長津湖》,再一次重溫這段悲壯歷史,再一次深刻感悟偉大抗美援朝精神。1950年10月,新中國剛剛成立一年,
根據(jù)省局黨組《關(guān)于舉辦習(xí)近平談治國理政(第四卷)讀書班的通知》要求,我中心通過專題學(xué)習(xí)、專題研討以及交流分享等形式,系統(tǒng)的對《習(xí)近平談治國理政》(第四卷)進(jìn)行了深入的學(xué)習(xí)與交流,下面我就來談一談我個(gè)人
《習(xí)近平談治國理政》(第四卷)是在百年變局和世紀(jì)疫情相互疊加的大背景下,對以習(xí)近平同志為核心的黨中央治國理政重大戰(zhàn)略部署、重大理論創(chuàng)造、重大思想引領(lǐng)的系統(tǒng)呈現(xiàn)。它生動(dòng)記錄了新一代黨中央領(lǐng)導(dǎo)集體統(tǒng)籌兩個(gè)
《真抓實(shí)干做好新發(fā)展階段“三農(nóng)工作”》是《習(xí)近平談治國理政》第四卷中的文章,這是習(xí)近平總書記在2020年12月28日中央農(nóng)村工作會(huì)議上的集體學(xué)習(xí)時(shí)的講話。文章指出,我常講,領(lǐng)導(dǎo)干部要胸懷黨和國家工作大
在《習(xí)近平談治國理政》第四卷中,習(xí)近平總書記強(qiáng)調(diào),江山就是人民,人民就是江山,打江山、守江山,守的是人民的心。從嘉興南湖中駛出的小小紅船,到世界上最大的執(zhí)政黨,在中國共產(chǎn)黨的字典里,“人民”一詞從來都
黨的十八大以來,習(xí)近平總書記以馬克思主義戰(zhàn)略家的博大胸襟和深謀遠(yuǎn)慮,在治國理政和推動(dòng)全球治理中牢固樹立戰(zhàn)略意識,在不同場合多次圍繞戰(zhàn)略策略的重要性,戰(zhàn)略和策略的關(guān)系,提高戰(zhàn)略思維、堅(jiān)定戰(zhàn)略自信、強(qiáng)化戰(zhàn)
《習(xí)近平談治國理政》第四卷集中展示了以習(xí)近平同志為核心的黨中央在百年變局和世紀(jì)疫情相互疊加背景下,如何更好地堅(jiān)持和發(fā)展中國特色社會(huì)主義而進(jìn)行的生動(dòng)實(shí)踐與理論探索;對于新時(shí)代堅(jiān)持和發(fā)展什么樣的中國特色社
在黨組織的關(guān)懷下,我有幸參加了區(qū)委組織部組織的入黨積極分子培訓(xùn)班。為期一周的學(xué)習(xí),學(xué)習(xí)形式多樣,課程內(nèi)容豐富,各位專家的講解細(xì)致精彩,對于我加深對黨的創(chuàng)新理論的認(rèn)識、對黨的歷史的深入了解、對中共黨員的
《習(xí)近平談治國理政》第四卷《共建網(wǎng)上美好精神家園》一文中指出:網(wǎng)絡(luò)玩命是新形勢下社會(huì)文明的重要內(nèi)容,是建設(shè)網(wǎng)絡(luò)強(qiáng)國的重要領(lǐng)域。截至2021年12月,我國網(wǎng)民規(guī)模達(dá)10 32億,較2020年12月增長4
剛剛召開的中國共產(chǎn)黨第十九屆中央委員會(huì)第七次全體會(huì)議上討論并通過了黨的十九屆中央委員會(huì)向中國共產(chǎn)黨第二十次全國代表大會(huì)的報(bào)告、黨的十九屆中央紀(jì)律檢查委員會(huì)向中國共產(chǎn)黨第二十次全國代表大會(huì)的工作報(bào)告和《