單片機實驗報告 化 (自動化 1 5級)
實驗名稱:串行通訊實驗
一、實驗目得
1。掌握單片機串行口工作方式;
2。掌握雙機通訊得接口電路設計及程序設計。
二、實驗設備
1、 PC機; 2.單片機最小系統教學實驗模塊;
3、 數碼管顯示模塊 三、實驗內容
1. 雙機通信 由兩套單片機試驗裝置(兩個實驗小組)共同完成該實驗。我們U1為甲機,U2為乙機。甲機發送本機(學生本人)學號后8位給乙機,乙機接收該8位數據,并顯示在8位數碼管上. 電路如圖1所示。
要求串行通信方式為方式1,波特率為2400bit/s,不加倍,單片機外部晶振頻率為11、0592M。
圖1 雙機通信原理示意圖 附加要求:乙機接收完畢后,將本機(乙機)得學號后8位發送回甲機,甲機顯示在數碼管上。
2、 、 單片機與 PC 機通信 單片機向PC機發送數據。單片機向PC機重復發送本機(學生本人)學號,發送波特率為1200,采用方式1,單片機外部晶振頻率為11、0592M。
四、實驗原理
4 4.1
串行通訊得方式
在串行通訊中,有兩種基本得通訊方式:異步通訊,同步通訊.
異步串行通訊規定了字符數據得傳送格式,既每個數據以相同得幀格式發送.每個幀信息由起始位、數據位、奇偶校驗位與停止位組成。本實驗主要學習異步通訊得實現方法。
在異步通訊中,每一個字符要用起始位與停止位作為字符開始與結束得標志,以至占用了時間。所以在數據塊傳送時,為了提高通訊速度,常去掉這些標志,而采用同步通訊.同步
通訊不像異步通訊那樣,靠起始位在每個字符數據開始時發送與接受同步.而就是通過同步字符在每個數據塊傳送開始時使收/發雙方同步.
按照通訊方式,又可將數據傳輸線路分成三種:單工方式、半雙工方式、全雙工方式。
(1)單工方式 在單工方式下,通訊線得一端聯接發送器,另一端聯接接收器,它們形成單向聯接,只允許數據按照一個固定得方向傳送。
(2)半雙工方式 在半雙工方式下,系統中得每個通訊設備都由一個發送器與一個接收器組成,通過收發開關接到通訊線路上,如圖33—1所示。在這種方式中,數據能從A站送到B站,也能從B站傳送到A站,但就是不能同時在二個方向上傳送,即每次只能一個站發送,另一個站接收.
圖2 半雙工通訊方式 圖33-1中得收發開關并不就是實際得物理開關,而就是由軟件控制得電子開關,由通訊線兩端得半雙工通訊協議進行功能切換。
(3)全雙工(Full—duplex)方式 雖然半雙工方式比單工方式靈活,但它得效率依然較低.從發送方式切換到接收方式所需得時間一般大約為數毫秒,這么長得時間延遲在對時間較敏感得交互式應用(例如遠程檢測監視控制系統)中就是無法容忍得.重復線路切換所引起得延遲積累,正就是半雙工通信協議效率不高得主要原因。
半雙工得這種缺點就是可以避免得,而且方法很簡單,即采用信道劃分技術。在圖33—2得全雙工連接中,不就是交替發送與接收,而就是可同時發送與接收。全雙工通訊系統得每一端都包含發送器與接收器,數據可同時在兩個方向上傳送.
圖3 全雙工通訊方式 4.2 單片機串行口工作方式 在靜態數碼管顯示實驗中,我們熟悉了單片機串口工作方式0;單片機串口還具有有3種工作方式。如下表所示:
這3種工作方式,均用于串行異步通訊。在異步串行通訊得一個字節得傳送中,必須包括了起始位(0)與停止位(1)。除此之外,方式1具有8位(1個字節)得數據位(低位在先),方式2、3則除這8位之外,還具有一個可編程得第9位,這個第9位編程通常被編程為奇偶校驗位.我們將在下一個實驗中用到它。
串口工作方式在特殊寄存器SCON中設置。
其中得SM0與SM1位確定了串口工作方式。要使通訊雙方能夠通訊成功,必須具有相同得串口工作模式;REN為允許接收位,本實驗中因為雙方都要進行接收,因此REN也都應設為1。TB8與RB8這里暫不涉及。利用以下語句來設置SCON: MOV SCON, #50H 4。
。3 波特率得設置 在異步串口通訊中,一個很重要得工作就就是進行串口波特率得設置。波特率就是指串口通訊中每秒傳送得位數,單位為BPS,它反映了串行口通訊得速度;同時,通訊雙方得速度必須一致,才能夠順利進行通訊。
在串口工作方式1、3中,傳送波特率都就是可變得。單片機內部通過定時器T1來提供發送與接收緩存器得內部移位時鐘。也就就是說,要確定串行通訊得波特率,必須對T1進行相
關設置。51單片機系統對此時T1得設置有以下固定得規定: (1)必須工作在定時器狀態; (2)必須工作在“8位自動重載”工作模式; 這必須在特殊寄存器TMOD中進行設置.關于TMOD得詳細內容,我們在實驗十七已經講過。可以利用以下語句來設置TMOD: MOV TMOD, #20H 除了對TMOD得設置外,還必須設置定時器T1得定時值,也就就是保存在TH1中得8位重載值。這直接影響到波特率得大小: 它通過以下公式進行計算:
其中得SMOD為特殊寄存器PCON得最高位。當它置1時,可以將波特率增大1倍。
在雙機通訊中,只要雙方得波特率一致就能夠完成通訊了;但就是,在標準得異步通訊協議中,只有幾種波特就是適用得。例如1200bps,2400bps,4800bps,9600bps……等等. 而通過這個公式可以瞧出,并不就是所有得晶振頻率都能夠得到準確得上述波特率。比如采用12MHz晶振,代入公式進行運算,就無法得到4800bps得準確波特率(TH1必須為小數了)。在這種情況下,過去人們都使用軟件補償得方法,盡量得到準確得波特率;而現在,市場上有很多通訊專用得晶振,例如3、6864MHz、11、0592MHz……得晶振,都能夠直接得到準確得波特率.因此在進行本實驗時,必須使用通訊專用晶振(如果使用仿真器,則設置為使用仿真頭得外接晶振,并將11、0592M得晶振插入仿真頭. 當波特率已經確定,就可以反向推導出TH1得取自大小,例如,在本次實驗中,我們要求波特率為4800bps,在晶振采用11、0592MHz得情況下,推出TH1=0F4H. 五、實驗步驟
1.參考圖1并進行電路設計,畫出電路圖,并用導線正確連接兩套裝置得單片機最小系統實驗模塊,并連接最小系統模塊與數碼管顯示模塊。
2。照實驗要求編寫程序流程圖,然后編寫程序,對編寫得程序進行仿真調試,直至通訊成功。
六、實驗報告
1 1. 在該實驗中,單片機串行口工作在什么工作方式下?說明該工作方式得特點。
工作在工作方式 1。8 位數據通訊,波特率可變.
2. 波特率就是什么?怎樣設置單片機串口通訊得波特率?如果實驗要求通訊波特率為4800bps ,怎樣修改程序?
特率就是指串口通訊中每秒傳送得位數,單位為 BPS,它反映了串行口通訊得速度。
單片機內部通過定時器T1來提供發送與接收緩存器得內部移位時鐘。必須工作在定時器狀態;必須工作在“8 位自動重載”工作模式。
3. 詳細說明本次實驗采用得通訊協議.
碼數位8在示顯并,據數位8該收接機乙,機乙給位8后號學)人本生學(機本送發機甲?管上。乙機接收完畢后,將本機(乙機)得學號后8位發送回甲機,甲機顯示在數碼管上. 4. 給針對實驗要求編寫本機得程序流程圖、程序清單并給予適當注釋, 并說明合作單片機(合 合作同學). 這里有兩個程序,一個就是先接受,一個就是先發送。
# 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 。實驗心得。(必須) 、.。。。。。。.。..。。.。。..。..。。。
6. . 附能說明實驗原理得實驗照片。(必須)
推薦訪問: 雙機 實驗 通訊上一篇:光纖傳感實驗報告
下一篇:信號波形合成實驗報告
在偉大祖國73華誕之際,我參加了單位組織的“光影鑄魂”主題黨日活動,集中觀看了抗美援朝題材影片《長津湖》,再一次重溫這段悲壯歷史,再一次深刻感悟偉大抗美援朝精神。1950年10月,新中國剛剛成立一年,
根據省局黨組《關于舉辦習近平談治國理政(第四卷)讀書班的通知》要求,我中心通過專題學習、專題研討以及交流分享等形式,系統的對《習近平談治國理政》(第四卷)進行了深入的學習與交流,下面我就來談一談我個人
《習近平談治國理政》(第四卷)是在百年變局和世紀疫情相互疊加的大背景下,對以習近平同志為核心的黨中央治國理政重大戰略部署、重大理論創造、重大思想引領的系統呈現。它生動記錄了新一代黨中央領導集體統籌兩個
《真抓實干做好新發展階段“三農工作”》是《習近平談治國理政》第四卷中的文章,這是習近平總書記在2020年12月28日中央農村工作會議上的集體學習時的講話。文章指出,我常講,領導干部要胸懷黨和國家工作大
在《習近平談治國理政》第四卷中,習近平總書記強調,江山就是人民,人民就是江山,打江山、守江山,守的是人民的心。從嘉興南湖中駛出的小小紅船,到世界上最大的執政黨,在中國共產黨的字典里,“人民”一詞從來都
黨的十八大以來,習近平總書記以馬克思主義戰略家的博大胸襟和深謀遠慮,在治國理政和推動全球治理中牢固樹立戰略意識,在不同場合多次圍繞戰略策略的重要性,戰略和策略的關系,提高戰略思維、堅定戰略自信、強化戰
《習近平談治國理政》第四卷集中展示了以習近平同志為核心的黨中央在百年變局和世紀疫情相互疊加背景下,如何更好地堅持和發展中國特色社會主義而進行的生動實踐與理論探索;對于新時代堅持和發展什么樣的中國特色社
在黨組織的關懷下,我有幸參加了區委組織部組織的入黨積極分子培訓班。為期一周的學習,學習形式多樣,課程內容豐富,各位專家的講解細致精彩,對于我加深對黨的創新理論的認識、對黨的歷史的深入了解、對中共黨員的
《習近平談治國理政》第四卷《共建網上美好精神家園》一文中指出:網絡玩命是新形勢下社會文明的重要內容,是建設網絡強國的重要領域。截至2021年12月,我國網民規模達10 32億,較2020年12月增長4
剛剛召開的中國共產黨第十九屆中央委員會第七次全體會議上討論并通過了黨的十九屆中央委員會向中國共產黨第二十次全國代表大會的報告、黨的十九屆中央紀律檢查委員會向中國共產黨第二十次全國代表大會的工作報告和《