




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
項(xiàng)目四串行通信接口及應(yīng)用
任務(wù)1兩個(gè)單片機(jī)之間的溝通任務(wù)任務(wù)2單片機(jī)與計(jì)算機(jī)的溝通
——交通燈遠(yuǎn)程控制系統(tǒng)擴(kuò)展任務(wù)實(shí)時(shí)發(fā)送動(dòng)態(tài)密碼
——銀行動(dòng)態(tài)密碼的獲取
任務(wù)1兩個(gè)單片機(jī)之間的溝通任務(wù)
知識(shí)目標(biāo):掌握單片機(jī)P3口的TXD和RXD特殊功能的作用及其特征,以及如何用定時(shí)器1作為波特率發(fā)生器的方法。
能力目標(biāo):能正確設(shè)定通信方式及波特率等,能編寫串行通信程序。
1.任務(wù)要求
要求單片機(jī)的串行口工作于方式1下,使甲機(jī)和乙機(jī)實(shí)現(xiàn)通信。
當(dāng)甲機(jī)按鈕按下后向乙機(jī)發(fā)送數(shù)字“2”,乙機(jī)收到后在數(shù)碼管上顯示出來,并回復(fù)數(shù)字“1”給甲機(jī),甲機(jī)收到后也在數(shù)碼管上顯示出來;當(dāng)乙機(jī)按鈕按下后向甲機(jī)發(fā)送數(shù)字“3”,甲機(jī)收到后并在數(shù)碼管上顯示出來,甲機(jī)回復(fù)數(shù)字“4”給乙機(jī),乙機(jī)收到后并在數(shù)碼管上顯示出來。
2.串行口通信的基本知識(shí)
1)概述
計(jì)算機(jī)與外界的信息交換稱為通信。通信的基本方式可分為并行通信和串行通信兩種。并行通信是指數(shù)據(jù)的各位同時(shí)在多根數(shù)據(jù)線上發(fā)送或接收。串行通信是指計(jì)算機(jī)與外設(shè)之間以及主機(jī)系統(tǒng)與主機(jī)系統(tǒng)之間數(shù)據(jù)的串行傳送。串行通信示意圖如圖4-1所示,使用一條數(shù)據(jù)線,將數(shù)據(jù)一位一位地依次傳輸,每一位數(shù)據(jù)占據(jù)一個(gè)固定的時(shí)間長度,其只需要少數(shù)的幾條線就可以在系統(tǒng)間交換信息。
目前串行通信在單片機(jī)雙機(jī)、多機(jī)以及單片機(jī)與PC之間的通信等方面得到了廣泛應(yīng)用。圖4-1串行通信示意圖
2)串行口的結(jié)構(gòu)
8051單片機(jī)有兩個(gè)物理上獨(dú)立的接收、發(fā)送緩沖器SBUF,兩個(gè)緩沖器共用一個(gè)地址(99H)。通過對(duì)SBUF的讀、寫語句來區(qū)分是對(duì)接收緩沖器還是發(fā)送緩沖器進(jìn)行操作。CPU在寫SBUF時(shí),操作的是發(fā)送緩沖器;在讀SBUF時(shí),操作的是接收緩沖器。
串行口控制寄存器SCON是一個(gè)特殊功能的寄存器,用以設(shè)定串行口的工作方式、接收/發(fā)送控制,以及設(shè)置狀態(tài)標(biāo)志。
SCON的各位定義如下:
SM0、SM1:串行口工作方式選擇位,其狀態(tài)組合所對(duì)應(yīng)的工作方式如表4-1所示。表4-1SM0、SM1狀態(tài)組合所對(duì)應(yīng)的工作方式
SM2:多機(jī)通信控制器位。在方式0中,SM2必須設(shè)置為0。在方式1中,當(dāng)處于接收狀態(tài)時(shí),若SM2?=?1,則只有接收到有效的停止位“1”時(shí),RI才能被激活成“1”(產(chǎn)生中斷請(qǐng)求)。在方式2和方式3中,若SM2?=?0,串行口以單機(jī)發(fā)送或接收方式工作,TI和RI以正常方式被激活并產(chǎn)生中斷請(qǐng)求;若SM2?=?1,RB8?=?1,RI被激活并產(chǎn)生中斷請(qǐng)求。
REN:串行接收允許控制位。該位由軟件置位或復(fù)位。當(dāng)REN?=?1時(shí),允許接收;當(dāng)REN?=?0時(shí),禁止接收。
TB8:在方式2和方式3中,TB8是發(fā)送的第9位數(shù)據(jù)。該位由軟件置位或復(fù)位。在多機(jī)通信中,以TB8位的狀態(tài)表示主機(jī)發(fā)送的是地址還是數(shù)據(jù):TB8=1表示地址,TB8=0表示數(shù)據(jù)。TB8還可用作奇偶校驗(yàn)位。
RB8:在方式2和方式3中,RB8存放接收到的第9位數(shù)據(jù)。RB8也可用作奇偶校驗(yàn)位。在方式1中,若SM2?=?0,則RB8是接收到的停止位。在方式0中,該位未用。
TI:發(fā)送中斷標(biāo)志位。TI?=?1,表示已結(jié)束一幀數(shù)據(jù)發(fā)送??捎绍浖樵僒I位標(biāo)志,也可以向CPU申請(qǐng)中斷。
注意:TI在任何工作方式下都必須由軟件清0。
RI:接收中斷標(biāo)志位。RI?=?1,表示一幀數(shù)據(jù)接收結(jié)束。可由軟件查詢RI位標(biāo)志,也可以向CPU申請(qǐng)中斷。
注意:RI在任何工作方式下都必須由軟件清0。
在AT89C51中,串行發(fā)送中斷TI和接收中斷RI的中斷入口地址都是0023H,因此在中斷程序中必須由軟件查詢TI和RI的狀態(tài)才能確定究竟是接收還是發(fā)送中斷,進(jìn)而作出相應(yīng)的處理。單片機(jī)復(fù)位時(shí),SCON所有位均清0。
3)電源控制寄存器PCON
PCON的各位定義如下:
SMOD:串行口波特率倍增位。在方式1~方式3中,若SMOD?=?1,則串行口波特率增加一倍;若SMOD?=?0,波特率不加倍。系統(tǒng)復(fù)位時(shí),SMOD?=?0。
(1)方式0:在方式0中,串行口作為同步移位寄存器使用。此時(shí),SM2、RB8、TB8均應(yīng)設(shè)置為0。發(fā)送:當(dāng)TI?=?0時(shí),執(zhí)行“MOVSBUF,A”,啟動(dòng)發(fā)送,8位數(shù)據(jù)由低位到高位從RXD引腳送出,TXD發(fā)送同步脈沖。發(fā)送完后,由硬件置位TI。
接收:當(dāng)RI?=?0、REN?=?1時(shí),啟動(dòng)接收,數(shù)據(jù)從RXD輸入,TXD輸出同步脈沖。8位數(shù)據(jù)接收完后,由硬件置位RI??赏ㄟ^“MOVA,SBUF”讀取數(shù)據(jù)。
方式0的波特率為fosc/12,即一個(gè)機(jī)器周期發(fā)送或接收一位數(shù)據(jù)。方式0并非是同步通信方式。它的主要用途是外接同步移位寄存器,以擴(kuò)展并行I/O口。
(2)方式1:一幀10位的異步串行通信方式,包括1個(gè)起始位(0)、8個(gè)數(shù)據(jù)位和1個(gè)停止位(1),其幀格式如圖4-2所示。圖4-2幀格式示意圖方式1輸出如圖4-3所示。
方式1輸入如圖4-4所示。
當(dāng)TI?=?0時(shí),執(zhí)行“MOVSBUF,A”指令后開始發(fā)送,由硬件自動(dòng)加入起始位和停止位,構(gòu)成一幀數(shù)據(jù),然后由TXD端串行輸出。發(fā)送完后,TXD輸出線維持在“1”狀態(tài)下,并將SCON中的TI置1,表示一幀數(shù)據(jù)發(fā)送完畢。
當(dāng)RI?=?0、REN?=?1時(shí),接收電路以波特率的16倍速度采樣RXD引腳,如出現(xiàn)由“1”到“0”的跳變,則認(rèn)為有數(shù)據(jù)正在發(fā)送。圖4-3方式1輸出圖圖4-4方式1輸入圖在接收到第9位數(shù)據(jù)(即停止位)時(shí),必須同時(shí)滿足以下兩個(gè)條件:RI?=?0和SM2?=?0或接收到的停止位為“1”,才把接收到的數(shù)據(jù)存入SBUF中,停止位送RB8,同時(shí)置位RI。若上述條件不滿足,則接收到的數(shù)據(jù)不裝入SBUF,被舍棄。在方式1下,SM2應(yīng)設(shè)定為0。
方式1:
(3)方式2和方式3:這兩種工作方式都是11位異步收發(fā)串行通信方式,兩者僅在波特率上有所不同。
方式2:
方式3:
3.兩個(gè)單片機(jī)之間通信的電路連接圖
兩個(gè)單片機(jī)之間通信的電路連接圖如圖4-5所示。圖4-5兩個(gè)單片機(jī)之間通信的電路連接圖
4.兩個(gè)單片機(jī)之間通信的軟件設(shè)計(jì)
要求單片機(jī)的串行口工作于方式1下,使甲機(jī)和乙機(jī)實(shí)現(xiàn)通信。當(dāng)甲機(jī)按鈕按下后向乙機(jī)發(fā)送數(shù)字“2”,乙機(jī)收到后在數(shù)碼管上顯示出來,并回復(fù)數(shù)字“1”給甲機(jī),甲機(jī)收到后也在數(shù)碼管上顯示出來;當(dāng)乙機(jī)按鈕按下后向甲機(jī)發(fā)送數(shù)字“3”,甲機(jī)收到后并在數(shù)碼管上顯示出來,甲機(jī)回復(fù)數(shù)字“4”給乙機(jī),乙機(jī)收到后并在數(shù)碼管上顯示出來。方式1輸出數(shù)據(jù)比較簡單。當(dāng)向SBUF寫入一個(gè)字節(jié)后(TI?=?0),從引腳TXD先發(fā)出起始位,然后是8個(gè)數(shù)據(jù)位,最后是停止位。發(fā)出停止位后,置位發(fā)送中斷標(biāo)志TI=1,完成一幀數(shù)據(jù)的發(fā)送。接收數(shù)據(jù)時(shí),先將RI清0。當(dāng)RI?=?1時(shí),說明已經(jīng)接收到數(shù)據(jù),此時(shí)可以從SBUF讀取數(shù)據(jù)。
定時(shí)器T1作為波特率發(fā)生器時(shí),工作在自動(dòng)再裝入的8位定時(shí)器方式2,這時(shí)溢出率取決于TH1中的值,即
表4-2所示為常用波特率與定時(shí)器的參數(shù)關(guān)系。表4-2常用波特率與定時(shí)器1的參數(shù)關(guān)系
1)甲機(jī)的軟件設(shè)計(jì)
甲機(jī)的軟件設(shè)計(jì)如下:
ORG 0000H
LJMP MAIN
ORG 0050H
MAIN: MOV SCON,#50H
MOV TMOD,#20H
MOV TL1,#0FDH ;時(shí)鐘頻率11.0592MHz
MOV TH1,#0FDH ;波特率9600b/s
SETB TCON.6
SETB TR1=1
CLR RI
LOOP0: JB P1.0,LOOP1
MOV SBUF,#2
LOOP2: JNB TI,LOOP2
CLR TI
LOOP1: JNB RI,LOOP0
MOV A,SBUF
CLR RI
MOV DPTR,#SEG
MOVC A,@A+DPTR
MOV P2,A
MOV SBUF,#4
LOOP3: JNB TI,LOOP3
CLR TI
LJMP LOOP0
SEG: DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH
END
2)乙機(jī)的軟件設(shè)計(jì)
乙機(jī)的軟件設(shè)計(jì)如下:
ORG 0000H
LJMP MAIN
ORG 0050H
MAIN: MOV SCON,#50H
MOV TMOD,#20H
MOV TL1,#0FDH ;時(shí)鐘頻率11.0592MHz
MOV TH1,#0FDH ;波特率9600b/s
SETB TCON.6
SETB TR1=1
CLR RI
LOOP0: JB P1.0,LOOP1
MOV SBUF,#3
LOOP2: JNB TI,LOOP2
CLR TI
LOOP1: JNB RI,LOOP0
MOV A,SBUF
CLR RI
MOV DPTR,#SEG
MOVC A,@A+DPTR
MOV P2,A
MOV SBUF,#1
LOOP3: JNB TI,LOOP3
CLR TI
LJMP LOOP0
SEG: DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH
END任務(wù)2單片機(jī)與計(jì)算機(jī)的溝通——交通燈遠(yuǎn)程控制系統(tǒng)
知識(shí)目標(biāo):掌握單片機(jī)P3口的TXD和RXD串行口與PC串行口的連接方法,學(xué)會(huì)正確接收PC的數(shù)據(jù)。
能力目標(biāo):能正確接收PC的數(shù)據(jù)指令,并執(zhí)行該數(shù)據(jù)指令。
1.任務(wù)要求
單片機(jī)根據(jù)PC發(fā)出的數(shù)據(jù)指令,點(diǎn)亮/熄滅相應(yīng)的交通燈。要求單片機(jī)的串行口工作于方式1下,波特率為9600b/s。
數(shù)據(jù)指令格式:一個(gè)字節(jié),高6位的值分別對(duì)應(yīng)單片機(jī)的P1.7~P1.2位的值,即
2.電路連接圖
交通燈遠(yuǎn)程控制系統(tǒng)的電路連接圖如圖4-6所示。
注:PC串行口采用USB轉(zhuǎn)TTL電平串行接口。圖4-6交通燈遠(yuǎn)程控制系統(tǒng)的電路連接圖
3.軟件設(shè)計(jì)
軟件設(shè)計(jì)如下:
ORG 0000H
LJMP MAIN
ORG 0050H
MAIN: MOV SCON,#50H
MOV TMOD,#20H
MOV TL1,#0FDH ;時(shí)鐘頻率11.0592MHz
MOV TH1,#0FDH ;波特率9600b/s
SETB TCON.6
SETB TR1=1
CLR RI
LOOP: JNB RI,LOOP
MOV A,SBUF
CLR RI
JNB ACC.0,LOOP
JNB ACC.1,LOOP
MOV P1,A
LJMP LOOP
END擴(kuò)展任務(wù)實(shí)時(shí)發(fā)送動(dòng)態(tài)密碼——銀行動(dòng)態(tài)密碼的獲取
知識(shí)目標(biāo):掌握單片機(jī)P3口的TXD和RXD串行口與PC串行口的連接方法;學(xué)會(huì)正確接收PC的數(shù)據(jù)。
能力目標(biāo):能正確接收PC的數(shù)據(jù)指令,并執(zhí)行該數(shù)據(jù)指令。
1.任務(wù)要求
單片機(jī)根據(jù)PC發(fā)出的4位實(shí)時(shí)動(dòng)態(tài)密碼,在液晶顯示屏上顯示。要求單片機(jī)的串行口工作于方式1下,波特率為9600b/s。
數(shù)據(jù)指令協(xié)議格式(5個(gè)字節(jié))如下:
2.電路連接圖
實(shí)時(shí)發(fā)送到達(dá)密碼的電路連接圖如圖4-7所示。
注:PC串行口采用USB轉(zhuǎn)TTL電平串行接口。圖4-7實(shí)時(shí)發(fā)送動(dòng)態(tài)密碼的電路連接圖
3.軟件設(shè)計(jì)
軟件設(shè)計(jì)如下:
ORG 0000H
LJMP MAIN
ORG 0050H
MAIN: MOV A,#30H;液晶顯示初始化
LCALL SPD
DJNZ R0,INIT1
INIT2: MOV A,#38H
LCALL SPD
MOV A,#08H
LCALL SPD
MOV A,#01H
LCALL SPD
MOV A,#06H
LCALL SPD
MOV A,#0FH
LCALL SPD
MOV SCON,#50H ;串行口設(shè)置
MOV TMOD,#20H
MOV TL1,#0FDH ;時(shí)鐘頻率11.0592MHz
MOV TH1,#0FDH ;波特率9600b/s
SETB TCON.6
SETB TR1=1
CLR RI
LOOP: JNB RI,LOOP
MOV A,SBUF
CLR RI
CJNE A,#0F5H,LOOP ;判別幀頭
LOOP1: JNB RI,LOOP1
MOV A,SBUF
CLR RI
MOV R0,A ;接收密碼位1(ASCII字符)
LOOP2: JNB RI,LOOP2
MOV A,SBUF
CLR RI
MOV R1,A ;接收密碼位2(ASCII字符)
LOOP3: JNB RI,LOOP3
MOV A,SBUF
CLR RI
MOV R2,A ;接收密碼位3(ASCII字符)
LOOP4: JNB RI,LOOP4
MOV A,SBUF
CLR RI
MOV R3,A ;接收密碼位4(ASCII字符)
MOV A,#01H ;液晶清屏
LCALL SPD
MOV A,R1 ;顯示密碼
LCALL DPD
MOV A,R1 ;顯示密碼
LCALL DPD
MOV A,R1 ;顯示密碼
LCALL DPD
MOV A,R1 ;顯示密碼
LCALL DPD
LJMP LOOP
CE: SETB P2.2
NOP
NO
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 智慧環(huán)衛(wèi)信息管理平臺(tái)建設(shè)方案
- 基于云計(jì)算技術(shù)的智慧環(huán)衛(wèi)解決方案
- 展臺(tái)搭建合同范本
- 稅務(wù)系統(tǒng)納稅信用管理政策解讀
- 重型柴油車遠(yuǎn)程在線監(jiān)控系統(tǒng)項(xiàng)目 投標(biāo)方案(技術(shù)方案)
- 三農(nóng)村創(chuàng)業(yè)投資手冊(cè)
- 企業(yè)供應(yīng)鏈管理的數(shù)字化轉(zhuǎn)型及優(yōu)化策略研究
- 三農(nóng)產(chǎn)品質(zhì)量安全追溯系統(tǒng)建設(shè)手冊(cè)
- 新零售技術(shù)應(yīng)用與發(fā)展趨勢(shì)分析報(bào)告
- 停車場(chǎng)車輛出入智能管理系統(tǒng)
- 中國馬克思主義與當(dāng)代思考題(附答案)
- 《石油化工電氣自動(dòng)化系統(tǒng)設(shè)計(jì)規(guī)范》
- ESD靜電防護(hù)檢測(cè)及管控標(biāo)準(zhǔn)
- 教師職稱網(wǎng)上評(píng)審申請(qǐng)信息的填寫
- 韌性理論與韌性城市建設(shè)
- 個(gè)體工商戶公司章程(標(biāo)準(zhǔn)版)
- 靜脈中等長度導(dǎo)管臨床應(yīng)用專家共識(shí)-
- 《創(chuàng)新創(chuàng)業(yè)基礎(chǔ)-理論、案例與訓(xùn)練》 第二章 創(chuàng)新思維與創(chuàng)新方法
- 肺膿腫教學(xué)講解課件
- 專利文件撰寫
- 衢州市建筑工程質(zhì)量通病防治措施
評(píng)論
0/150
提交評(píng)論