版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
單片機基礎(chǔ)課程串行通訊接口第1頁,課件共37頁,創(chuàng)作于2023年2月共需要兩根線,一根數(shù)據(jù)線DATA和一根時鐘線CLK;按照時鐘信號,從低到高逐個傳送數(shù)據(jù)位.7.1串行通訊的概念一、同步串行通訊§
7.1串行通訊的概念第2頁,課件共37頁,創(chuàng)作于2023年2月7.1串行通訊的概念二、異步串行通訊★接收端是如何區(qū)分起始位與D0、D1、D2、D3、D4的?只需要一根數(shù)據(jù)線;字節(jié)按照固定的幀格式傳送.第3頁,課件共37頁,創(chuàng)作于2023年2月位時間(每位寬)T=波特率的倒數(shù);
例:波特率為9600時,
位寬T=1/9600Baud=0.10417ms在異步通訊中,接收設(shè)備和發(fā)送設(shè)備必須保持相同的波特率?!锊ㄌ芈逝c定時器關(guān)系密切,大小是通過定時器T1定時實現(xiàn)的!7.1串行通訊的概念三波特率是指每秒傳送數(shù)據(jù)位的位數(shù),是衡量傳輸速度的一個指標。單位是位/秒,bitpersecond,簡寫bps。第4頁,課件共37頁,創(chuàng)作于2023年2月7.2AT89C51單片機的串行通訊接口§7.2AT89C51單片機的串行通訊接口AT89C51單片機內(nèi)部有一個全雙工串行接口;使用兩個IO口,發(fā)送端口TXD與接收端口RXD.第5頁,課件共37頁,創(chuàng)作于2023年2月7.2.1AT89C51單片機串行接口電路結(jié)構(gòu)7.2MCS-51單片機的串行通訊接口SBUF=0x--;發(fā)送完畢標志位數(shù)據(jù)輸出引腳時鐘輸出引腳波特率一同步串行接口思考題:若單片機晶體頻率為12MHz,問單片機啟動一字節(jié)的同步串行接口發(fā)送命令需要多長時間?同步串行接口電路接收到CPU的發(fā)送指令后,完成該字節(jié)的發(fā)送需要多長時間?1us8us第6頁,課件共37頁,創(chuàng)作于2023年2月二異步串行接口7.2MCS-51單片機的串行通訊接口SBUF=0x--發(fā)送完畢標志位輸出引腳輸入引腳接收完畢標志位temp=SBUF;波特率需要設(shè)置接收允許標志位REN第7頁,課件共37頁,創(chuàng)作于2023年2月思考題:1.若單片機晶體頻率為12MHz,問單片機啟動一字節(jié)的異步串行接口發(fā)送命令需要多長時間?2.若異步串行接口的波特率設(shè)置為1200bps,問電路接收到CPU的發(fā)送指令后,完成該字節(jié)的發(fā)送需要多長時間?7.2MCS-51單片機的串行通訊接口1.1個機器周期,1us.2.(1/1200)*11s=0.0092s=9.2ms第8頁,課件共37頁,創(chuàng)作于2023年2月7.2.2串行接口控制寄存器7.2MCS-51單片機的串行通訊接口9FH9EH9DH9CH9BH9AH99H98HSM0SM1SM2RENTB8RB8TIRISM0SM1方式波特率功能說明001101010123Fosc/12可變(T1)Fosc/32,64可變(T1)同步移位寄存器8位異步通訊9位異步通訊9位異步通訊SFR:SCON串行接口控制器(98H)第9頁,課件共37頁,創(chuàng)作于2023年2月9FH9EH9DH9CH9BH9AH99H98HSM0SM1SM2RENTB8RB8TIRISM2:允許方式2和方式3進行多機通訊控制位。在方式0、1中必須為0。REN:允許串行口接收控制位。寫1允許接收,寫0禁止接收。TB8:工作方式2和方式3下,發(fā)送的第9位數(shù)據(jù),由軟件寫1或0。RB8:工作方式2和方式3下,接收到的第9位數(shù)據(jù)。TI:發(fā)送完畢中斷標志位,發(fā)送SBUF內(nèi)的數(shù)據(jù)發(fā)送出去后,硬件自動置位TI。TI必須由軟件清0。RI:接收完畢中斷標志位,接收SBUF中接收到一個數(shù)據(jù)后,硬件自動置位RI。RI必須由軟件清0。7.2MCS-51單片機的串行通訊接口SFR:SCON串行接口控制器(98H)第10頁,課件共37頁,創(chuàng)作于2023年2月7.2MCS-51單片機的串行通訊接口SMODD7D0SMOD:波特率加倍位。在計算方式1、2、3的波特率時,為1波特 率加倍,為0波特率不加倍。SFR:PCON(87H)第11頁,課件共37頁,創(chuàng)作于2023年2月7.2MCS-51單片機的串行通訊接口7.2.3串行接口的四種工作方式一工作方式0(同步串行通訊接口)SM0SM1方式波特率功能說明001101010123Fosc/12可變(T1)Fosc/32,64可變(T1)同步移位寄存器8位異步通訊9位異步通訊9位異步通訊串口發(fā)送時間T1CPU啟動發(fā)送命令時間T2SBUF=0x--;第12頁,課件共37頁,創(chuàng)作于2023年2月7.2MCS-51單片機的串行通訊接口方式0發(fā)送當一個數(shù)據(jù)寫入發(fā)送緩沖器SBUF(SBUF=0x--;)時,串行口即將8位數(shù)據(jù)以fosc/12的波特率從RXD引腳輸出(從低位到高位),同步時鐘脈沖從TXD引腳輸出,發(fā)送完畢中斷標志TI置1,波形如下圖。再次發(fā)送數(shù)據(jù)前,必須用軟件將TI清0(TI=0;)。第13頁,課件共37頁,創(chuàng)作于2023年2月工作方式0發(fā)送數(shù)據(jù)時,一般外接移位寄存器(如74HC164)實現(xiàn)串并轉(zhuǎn)換,用于擴展鍵盤和顯示接口。7.2MCS-51單片機的串行通訊接口74HC1648-bitserial-in,parallel-outshiftregisterRXDTXDP1.0D0D1D0D2D1D0D0D3D2D1D0D1D4D3D2D0D1D2D5D4D3D0D1D2D3D6D5D4D0D1D2D3D4D7D6D5實際應(yīng)用中,工作方式0很少用于接收數(shù)據(jù)。此節(jié)只討論方式0發(fā)送數(shù)據(jù)。第14頁,課件共37頁,創(chuàng)作于2023年2月7.2MCS-51單片機的串行通訊接口ORG0000HLJMPMAIN ;跳轉(zhuǎn)主程序ORG0030HMAIIN:MOVSCON,#00H;定義串口工作方式0,禁止接收數(shù)據(jù)
MOVR0,#10H;定義傳送數(shù)據(jù)字節(jié)數(shù)
MOVDPTR,#3000H;定義外部數(shù)據(jù)存儲器指針LOOP:MOVXA,@DPTR;讀取數(shù)據(jù)
MOV SBUF,A;發(fā)送數(shù)據(jù)
JNBTI,$;查詢當前字節(jié)發(fā)送是否完畢
CLRTI ;軟件清標志位
INCDPTR ;指針加1,準備讀取下一單元數(shù)據(jù)
DJNZR0,LOOP;判斷發(fā)送是否完畢
SJMP $ ;自循環(huán)例7.1編寫程序,使用串口工作方式0,依次發(fā)送外部數(shù)據(jù)存儲器3000H-300FH單元內(nèi)的數(shù)據(jù)。分析:初始化串口控制寄存器SCON,定義工作方式0的狀態(tài)字為00H。發(fā)送采用查詢方式,當查詢到發(fā)送完畢標志位TI為1后,發(fā)送下一個字節(jié)。第15頁,課件共37頁,創(chuàng)作于2023年2月7.2MCS-51單片機的串行通訊接口二工作方式1(異步串行通訊接口)SM0SM1方式波特率功能說明001101010123Fosc/12可變(T1)Fosc/32,64可變(T1)同步移位寄存器8位異步通訊9位異步通訊9位異步通訊波特率計算公式:定時器T1溢出率是指定時器T1一秒鐘內(nèi)溢出的次數(shù)。發(fā)送或接收完一個字節(jié)后,必須軟件將TI、RI清0。方式1數(shù)據(jù)格式第16頁,課件共37頁,創(chuàng)作于2023年2月7.2MCS-51單片機的串行通訊接口方式1發(fā)送時序方式1接收時序注意設(shè)置接收允許控制位REN為1第17頁,課件共37頁,創(chuàng)作于2023年2月7.2MCS-51單片機的串行通訊接口三工作方式2、3(異步串行通訊接口)SM0SM1方式波特率功能說明001101010123Fosc/12可變(T1)Fosc/32,64可變(T1)同步移位寄存器(用于擴展I/O接口)8位異步通訊9位異步通訊9位異步通訊發(fā)送或接收完一個字節(jié)后,必須軟件將TI、RI清0。方式2、方式3的區(qū)別在于波特率的計算方法
方式2:
方式3:數(shù)據(jù)格式第18頁,課件共37頁,創(chuàng)作于2023年2月7.2MCS-51單片機的串行通訊接口方式2、3發(fā)送時序方式2、3接收時序(不做要求)注意設(shè)置接收允許控制位REN為1;注意SM2的作用。SM2RB8描述0x允許RI置110不允許RI置111允許RI置1第19頁,課件共37頁,創(chuàng)作于2023年2月SM0SM1方式波特率用途001101010123fosc/12擴充并口雙機通訊多機通訊多機通訊T1工作方式2,初值自動重新裝入的8位定時器
7.3波特率的計算和設(shè)置§7.3波特率的計算和設(shè)置第20頁,課件共37頁,創(chuàng)作于2023年2月7.3波特率的計算和設(shè)置例7.2已知單片機晶體頻率為12MHz,SMOD為0,串口工作方式1,波特率為2400bps,試求定時器T1的初值。波特率誤差
為了保證通訊的可靠性,通訊雙方波特率相對誤差不應(yīng)大于2.5%。
初始化程序(定時器和串口)
SCON=0x50;//串口方式1,允許接收
PCON=0x00;//SMOD=0
TMOD=0x20;//T1工作方式2
TH1=0xF3;//寫時間常數(shù)
TL1=0xF3;//T1首次定時初值
TR1=1;//啟動T1第21頁,課件共37頁,創(chuàng)作于2023年2月T1產(chǎn)生的常用波特率波特率bpsFoscSMODT1模式T1初值1920011.0592MHz12FDH960011.0592MHz02FDH480011.0592MHz02FAH240011.0592MHz02F4H120011.0592MHz02E8H7.3波特率的計算和設(shè)置第22頁,課件共37頁,創(chuàng)作于2023年2月7.4串行接口的應(yīng)用與編程舉例1串行接口初始化編程格式SCON=0x50;//串口方式,且TIRI清零,是否允許接收
PCON=0x00;//SMOD=0/1,
TMOD=0x20;//T1工作方式2
TH1=0x--;//寫時間常數(shù)
(TL1=0x--;)//T1首次定時初值
TR1=1;//啟動T1
(EA=1;)//允許中斷
(ES=1;)//允許串口中斷第23頁,課件共37頁,創(chuàng)作于2023年2月2發(fā)送函數(shù)7.4串行接口的應(yīng)用與編程舉例
voidfasong(uchartemp){SBUF=temp;//啟動發(fā)送命令
while(~TI);//等待發(fā)送完畢
TI=0;}//清發(fā)送完畢標志位3接收函數(shù)REN=1、RI=0等待接收,當RI=1,從SBUF讀取數(shù)據(jù)。ucharjieshou(void){while(~RI);//等待數(shù)據(jù)
RI=0;//清標志位
returnSBUF;}//將接受到的數(shù)據(jù)返回第24頁,課件共37頁,創(chuàng)作于2023年2月例7.3設(shè)有甲、乙兩臺單片機,編出兩臺單片機間實現(xiàn)如下串行通訊功能的程序,要求串口工作方式1,波特率為9600bps,單片機外接晶振為11.0592MHz。甲方發(fā)送:將首址為2000H的32個字節(jié)的外部數(shù)據(jù)存儲器數(shù)據(jù)塊順序向乙方發(fā)送;乙方接收:將接收的32個字節(jié)的數(shù)據(jù),保存到內(nèi)部數(shù)據(jù)存儲器中。程序編制的要點:1、選定串口工作方式1,發(fā)送方控制字SCON為0100_0000B,接收方控制字SCON也是0101_0000B;2、定時器T1工作工作方式2,初值為FDH,SMOD為0;3、在程序中必須用軟件清除標志位RI和TI。7.4串行接口的應(yīng)用與編程舉例第25頁,課件共37頁,創(chuàng)作于2023年2月發(fā)送單片機程序main(){uintdataxaddr=0x2000;//定義外部數(shù)據(jù)存儲器地址指針
uchardatanum;//定義發(fā)送字節(jié)個數(shù)變量
SCON=0x40;//發(fā)送方串口方式1,禁止接收
PCON=0x00;//SMOD=0,★能否用CLRSMODTMOD=0x20;//定時器T1工作方式2TH1=0xFD;//產(chǎn)生9600波特率的定時器初值
TR1=1;//啟動定時器T1for(num=0;num<32;num++){fasong(XBYTE[xaddr+num]);}//取數(shù)據(jù)并發(fā)送
while(1);}7.4串行接口的應(yīng)用與編程舉例
voidfasong(uchartemp){SBUF=temp;//啟動發(fā)送命令
while(~TI);//等待發(fā)送完畢
TI=0;}//清發(fā)送完畢標志位第26頁,課件共37頁,創(chuàng)作于2023年2月7.4串行接口的應(yīng)用與編程舉例接收單片機程序main(){uchardatashuzu[32];//定義32字節(jié)的數(shù)組
uchardatanum;//定義接收字節(jié)個數(shù)變量
SCON=0x50;//發(fā)送方串口方式1,允許接收
PCON=0x00;//SMOD=0,★能否用CLRSMODTMOD=0x20;//定時器T1工作方式2TH1=0xFD;//產(chǎn)生9600波特率的定時器初值
TR1=1;//啟動定時器T1for(num=0;num<32;num++){shuzu[num]=jieshou();}//取接收數(shù)據(jù)并保存
while(1);}ucharjieshou(void){while(~RI);//等待數(shù)據(jù)
RI=0;//清標志位
returnSBUF;}//將接受到的數(shù)據(jù)返回第27頁,課件共37頁,創(chuàng)作于2023年2月7.5PC機與MCS-51單片機的串口連接7.5PC機與MCS-51單片機的串口連接因線電阻的存在使得信號在線路傳輸中存在電壓衰減,而因電磁干擾的存在使得信號在線路傳輸中存在電壓變化,所以常采用RS-232C電平負邏輯,拉開“0”和“1”的電壓檔次,提高信號的傳輸距離和通訊線路的抗干擾能力。TTL正邏輯:“0”:0—+0.8V;“1”:2.0V—+5V;傳輸距離一般不超過1.5米。RS-232C負邏輯:“0”:+5V—+15V;“1”:-5V—-15V;典型傳輸信息的長度為15米。1RS-232C電平標準第28頁,課件共37頁,創(chuàng)作于2023年2月2PC機的串行接口介紹9針RS-232C接口有用信號:
2、RXD 3、TXD 5、GND電氣特性—負邏輯
1、邏輯1為-5V到-15V 2、邏輯0為+5V到+15V7.5PC機與MCS-51單片機的串行接口連接第29頁,課件共37頁,創(chuàng)作于2023年2月7.5PC機與MCS-51單片機的串行接口連接3PC機與MCS-51單片機的串行接口連接RS-232C與TTL電平轉(zhuǎn)
溫馨提示
- 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 產(chǎn)品推廣合作合同范本
- 個人借款居間代理合同
- 個人設(shè)備租賃合同模板()
- 個體用工勞動合同范本
- 中醫(yī)教育培訓(xùn)合同公證書
- 個人商品房預(yù)售合同范本
- 二手汽車買賣合同(簡化版)
- 中小企業(yè)勞動合同簽訂趨勢分析
- 云計算服務(wù)與域名注冊代理合同
- 三人合伙經(jīng)營合同模板
- 非遺國粹川劇變臉的傳統(tǒng)文化知識了解原創(chuàng)模板
- 中國智慧物流發(fā)展報告
- 焊接加工成本算表
- 2024年四川省成都市成華區(qū)中考二診物理試題
- 2024年3月計算機等級考試三級數(shù)據(jù)庫技術(shù)筆試真題及答案
- 科研倫理與學術(shù)規(guī)范(研究生)期末試題庫及答案
- GB/T 43803-2024科研機構(gòu)評估指南
- 場地自行車講解材料
- 《紅樓夢》禮儀研究
- 熱帶雨林植被課件
- 2024年全國高考體育單招考試語文試卷試題(含答案詳解)
評論
0/150
提交評論