《通信原理》課程設(shè)計(jì).doc_第1頁(yè)
《通信原理》課程設(shè)計(jì).doc_第2頁(yè)
《通信原理》課程設(shè)計(jì).doc_第3頁(yè)
《通信原理》課程設(shè)計(jì).doc_第4頁(yè)
《通信原理》課程設(shè)計(jì).doc_第5頁(yè)
已閱讀5頁(yè),還剩23頁(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)介

應(yīng)用科技學(xué)院應(yīng)用科技學(xué)院 通信原理課程設(shè)計(jì)報(bào)告通信原理課程設(shè)計(jì)報(bào)告 設(shè)計(jì)題目:雙機(jī)串行通信的應(yīng)用設(shè)計(jì)題目:雙機(jī)串行通信的應(yīng)用 專業(yè)班級(jí):專業(yè)班級(jí): 姓名:姓名: 學(xué)號(hào):學(xué)號(hào): 指導(dǎo)老師:指導(dǎo)老師: 時(shí)間:時(shí)間:20142014 年年 6 6 月月 2525 日日20142014 年年 7 7 月月 1414 日日 地點(diǎn):四教地點(diǎn):四教 613613 實(shí)驗(yàn)室實(shí)驗(yàn)室 海南大學(xué)儋州校區(qū)應(yīng)用科技學(xué)院 1 雙機(jī)串行通信的應(yīng)用雙機(jī)串行通信的應(yīng)用 摘要 單片機(jī)廣泛應(yīng)用于儀器儀表、家用電器、醫(yī)用設(shè)備、航空航天、專用設(shè)備 的智能化管理及過(guò)程控制等領(lǐng)域隨著計(jì)算機(jī)技術(shù)的發(fā)展及工業(yè)自動(dòng)化水平的提 高, 在許多場(chǎng)合采用單機(jī)控制已不能滿足現(xiàn)場(chǎng)要求,因而必須采用多機(jī)控制的形 式,而多機(jī)控制主要通過(guò)多個(gè)單片機(jī)之間的串行通信實(shí)現(xiàn)。串行通信作為單片機(jī) 之間常用的通信方法之一, 由于其通信編程靈活、硬件簡(jiǎn)潔并遵循統(tǒng)一的標(biāo)準(zhǔn), 因此其在工業(yè)控制領(lǐng)域得到了廣泛的應(yīng)用。 串行通信時(shí)單片機(jī)的一個(gè)重要運(yùn)用,本次課程設(shè)計(jì)就是要利用單片機(jī)來(lái)完成 一個(gè)系統(tǒng)摘要,實(shí)現(xiàn)雙片單片機(jī)串行通信。通信的結(jié)果使用數(shù)碼管進(jìn)行顯示,數(shù) 碼管采用查表方式顯示。兩個(gè)單片機(jī)之間采用 RS232 進(jìn)行雙機(jī)通信。在通信過(guò) 程中使用通信協(xié)議進(jìn)行通信。 兩片單片機(jī)之間進(jìn)行串行通信,發(fā)送端將 0f 循環(huán)發(fā)送到接收端,并在收 端顯示。本次設(shè)計(jì),對(duì)于兩片 STC89C52RC,采用 RS232 進(jìn)行雙機(jī)通信。發(fā)送方 的數(shù)據(jù)由串行口 TXD 段輸出,經(jīng)過(guò)電平轉(zhuǎn)換芯片 MAX232 將 TTL 電平轉(zhuǎn)換為 RS232 電平輸出,經(jīng)過(guò)傳輸線將信號(hào)傳送到接收端。接收方也使用 MAX232 芯片 進(jìn)行電平轉(zhuǎn)換后,信號(hào)到達(dá)接收方串行口的接收端。 接收方接收后,在數(shù)碼管上顯示接受的信息。為提高抗干擾能力,還可以 在輸入輸出端加光耦合進(jìn)行光電隔離。 串行通信是單片機(jī)的一個(gè)重要應(yīng)用,本次課程設(shè)計(jì)就是要利用單片機(jī)來(lái)完 成一個(gè)系統(tǒng),實(shí)現(xiàn)兩個(gè)單片機(jī)之間的通信,通信的結(jié)果使用數(shù)碼管進(jìn)行顯示。 關(guān)鍵字關(guān)鍵字 STC89C52RC 單片機(jī) 串行通信 接口 海南大學(xué)儋州校區(qū)應(yīng)用科技學(xué)院 2 目錄目錄 一、基本原理一、基本原理3 3 1.1 串行通信 3 1.2 STC89C52RC 單片機(jī)的主要工作特性和參數(shù)4 1.3 STC89C52RC 引腳功能說(shuō)明5 1.4 雙機(jī)通信 9 二、二、 總體設(shè)計(jì)總體設(shè)計(jì)1010 2.1 設(shè)計(jì)目的 .10 2.2 設(shè)計(jì)要求 .10 2.3 設(shè)計(jì)方案 .10 三、三、 硬件設(shè)計(jì)硬件設(shè)計(jì)1111 3.1 STC89C52RC 單片機(jī)串行接口的結(jié)構(gòu).11 3.2 整體電路設(shè)計(jì) .12 四、軟件設(shè)計(jì)四、軟件設(shè)計(jì)1313 4.1 串行通信軟件實(shí)現(xiàn) .13 4.2 主要程序 .15 五、聯(lián)合調(diào)試五、聯(lián)合調(diào)試2121 六、六、 測(cè)試結(jié)果測(cè)試結(jié)果2222 七、課設(shè)中的心得體會(huì)七、課設(shè)中的心得體會(huì)2222 參考文獻(xiàn)參考文獻(xiàn)2323 附錄附錄2424 海南大學(xué)儋州校區(qū)應(yīng)用科技學(xué)院 3 一、基本原理一、基本原理 1.1 串行通信 計(jì)算機(jī)與外界的信息交換稱為通信。在通信領(lǐng)域內(nèi),有兩種數(shù)據(jù)通信方式: 并行通信和串行通信。隨著計(jì)算機(jī)網(wǎng)絡(luò)化和微機(jī)分級(jí) 分布式應(yīng)用 系統(tǒng)的發(fā) 展,通信的功能越來(lái)越重要。通信是指計(jì)算機(jī)與外界的信息傳輸,既包括計(jì) 算機(jī)與計(jì)算機(jī)之間的傳輸,也包括計(jì)算機(jī)與 外部設(shè)備,如終端、打印機(jī)和 磁盤等設(shè)備之間的傳輸。 串行通信是指使用一條數(shù)據(jù)線,將數(shù)據(jù)一位一位地依次傳輸,每一位數(shù) 據(jù)占據(jù)一個(gè)固定的時(shí)間長(zhǎng)度。其只需要少數(shù)幾條線就可以在系統(tǒng)間交換信息, 特別適用于計(jì)算機(jī)與計(jì)算機(jī)、計(jì)算機(jī)與外設(shè)之間的遠(yuǎn)距離通信。 兩個(gè)單片機(jī)之間進(jìn)行通訊波特率的設(shè)定,最終歸結(jié)到對(duì)定時(shí)計(jì)數(shù)器 T1 計(jì)數(shù) 初值 TH1、TL1 進(jìn)行設(shè)定。故本題目本質(zhì)上是通過(guò)鍵盤掃描得到設(shè)定的波特率, 從而載入相應(yīng)的 T1 計(jì)數(shù)初值 TH1、TL1 實(shí)現(xiàn)的。示例程序中將 0xaa 從主機(jī)傳輸 到從機(jī),并顯示在從機(jī)的數(shù)碼管上實(shí)現(xiàn)串口通訊的驗(yàn)證。 如串口通訊線路過(guò)長(zhǎng),可考慮采用 MAX232 進(jìn)行電平轉(zhuǎn)換,以延長(zhǎng)傳輸距 離。值得注意的是,為了減少計(jì)算載入初值時(shí)的誤差,本項(xiàng)目最好采取 11.0592MHz 的晶振。 我們?cè)O(shè)計(jì)以 AT89C51 單片機(jī)為核心,利用其內(nèi)部的串行口,通過(guò)硬件與軟 件相結(jié)合的方式,實(shí)現(xiàn)雙機(jī)的全雙工的串行通信。硬件電路包括鍵盤電路,顯 示電路,單片機(jī)主控電路,串行通信線和電源電路。軟件包括鍵盤掃描程序, 顯示程序,發(fā)送程序和接受程序。發(fā)送和接收都采用中斷方式。由于兩個(gè)單片 機(jī)應(yīng)用系統(tǒng)相距很近,近程通信時(shí),可以不使用調(diào)制解調(diào)器,將它們的串行口 直接相連就可以實(shí)現(xiàn)全雙工的串行通信。電路設(shè)計(jì)如圖 1 所示。 海南大學(xué)儋州校區(qū)應(yīng)用科技學(xué)院 4 圖1 雙機(jī)異步通信接口電路 1.2 STC89C52RC 單片機(jī)的主要工作特性和參數(shù) 1.增強(qiáng)型 8051 單片機(jī),6 時(shí)鐘/機(jī)器周期和 12 時(shí)鐘/機(jī)器周期可以任意選擇, 指令代碼完全兼容傳統(tǒng) 8051. 2.工作電壓:5.5V3.3V(5V 單片機(jī))/3.8V2.0V(3V 單片機(jī)) 3.工作頻率范圍:040MHz,相當(dāng)于普通 8051 的 080MHz,實(shí)際工作頻率可 達(dá) 48MHz 4.用戶應(yīng)用程序空間為 8K 字節(jié) 5.片上集成 512 字節(jié) RAM 6.通用 I/O 口(32 個(gè)) ,復(fù)位后為:P1/P2/P3/P4 是準(zhǔn)雙向口/弱上拉,P0 口 是漏極開路輸出,作為總線擴(kuò)展用時(shí),不用加上拉電阻,作為 I/O 口用時(shí), 需加上拉電阻。 7.ISP(在系統(tǒng)可編程)/IAP(在應(yīng)用可編程) ,無(wú)需專用編程器,無(wú)需專用 仿真器,可通過(guò)串口(RxD/P3.0,TxD/P3.1)直接下載用戶程序,數(shù)秒即 可完成一片 8.具有 EEPROM 功能 9.具有看門狗功能 10. 共 3 個(gè) 16 位定時(shí)器/計(jì)數(shù)器。即定時(shí)器 T0、T1、T2 11. 外部中斷 4 路,下降沿中斷或低電平觸發(fā)電路,Power Down 模式可由外部 中斷低電平觸發(fā)中斷方式喚醒 12. 通用異步串行口(UART) ,還可用定時(shí)器軟件實(shí)現(xiàn)多個(gè) UART 13. 工作溫度范圍:-40+85(工業(yè)級(jí))/075(商業(yè)級(jí)) 海南大學(xué)儋州校區(qū)應(yīng)用科技學(xué)院 5 14. PDIP 封裝 1.3 STC89C52RC 引腳功能說(shuō)明 1.VCC(40 引腳):電源電壓 2.VSS(20 引腳):接地 3.P0 端口(P0.0P0.7,3932 引腳):P0 口是一個(gè)漏極開路的 8 位雙向 I/O 口。作為輸出端口,每個(gè)引腳能驅(qū)動(dòng) 8 個(gè) TTL 負(fù)載,對(duì)端口 P0 寫入 “1”時(shí),可以作為高阻抗輸入。在訪問(wèn)外部程序和數(shù)據(jù)存儲(chǔ)器時(shí),P0 口也 可以提供低 8 位地址和 8 位數(shù)據(jù)的復(fù)用總線。此時(shí),P0 口內(nèi)部上拉電阻有效。 在 Flash ROM 編程時(shí),P0 端口接收指令字節(jié);而在校驗(yàn)程序時(shí), 則輸出指令字節(jié)。驗(yàn)證時(shí), 要求外接上拉電阻。 4.P1 端口(P1.0P1.7,18 引腳):P1 口是一個(gè)帶內(nèi)部上拉電阻的 8 位雙 向 I/O 口。P1 的輸出緩沖器可驅(qū)動(dòng)(吸收或者輸出電流方式)4 個(gè) TTL 輸入。 對(duì)端口寫入 1 時(shí),通過(guò)內(nèi)部的上拉電阻把端口拉到高電位,這是可用作輸入 口。P1 口作輸入口使用時(shí),因?yàn)橛袃?nèi)部上拉電阻,那些被外部拉低的引腳會(huì) 輸出一個(gè)電流() 。 5.此外,P1.0 和 P1.1 還可以作為定時(shí)器/計(jì)數(shù)器 2 的外部技術(shù)輸入 (P1.0/T2)和定時(shí)器/計(jì)數(shù)器 2 的觸發(fā)輸入(P1.1/T2EX) ,具體參見(jiàn)表 1: 6.在對(duì) Flash ROM 編程和程序校驗(yàn)時(shí),P1 接收低 8 位地址。 表 1 P1.0 和 P1.1 引腳復(fù)用功能 引腳號(hào)功能特性 P1.0 T2(定時(shí)器/計(jì)數(shù)器 2 外部計(jì)數(shù)輸入) ,時(shí)鐘輸出 P1.1 T2EX(定時(shí)器/計(jì)數(shù)器 2 捕獲/重裝觸發(fā)和方向控制) 7.P2 端口(P2.0P2.7,2128 引腳):P2 口是一個(gè)帶內(nèi)部上拉電阻的 8 位 雙向 I/O 端口。P2 的輸出緩沖器可以驅(qū)動(dòng)(吸收或輸出電流方式)4 個(gè) TTL 輸入。對(duì)端口寫入 1 時(shí),通過(guò)內(nèi)部的上拉電阻把端口拉到高電平,這時(shí)可用 作輸入口。P2 作為輸入口使用時(shí),因?yàn)橛袃?nèi)部的上拉電阻,那些被外部信號(hào) 拉低的引腳會(huì)輸出一個(gè)電流() 。 8.在訪問(wèn)外部程序存儲(chǔ)器和 16 位地址的外部數(shù)據(jù)存儲(chǔ)器(如執(zhí)行“MOVX 海南大學(xué)儋州校區(qū)應(yīng)用科技學(xué)院 6 DPTR”指令)時(shí),P2 送出高 8 位地址。在訪問(wèn) 8 位地址的外部數(shù)據(jù)存儲(chǔ)器 (如執(zhí)行“MOVX R1”指令)時(shí),P2 口引腳上的內(nèi)容(就是專用寄存器 (SFR)區(qū)中的 P2 寄存器的內(nèi)容) ,在整個(gè)訪問(wèn)期間不會(huì)改變。 9.在對(duì) Flash ROM 編程和程序校驗(yàn)期間,P2 也接收高位地址和一些控制信號(hào)。 10.P3 端口(P3.0P3.7,1017 引腳):P3 是一個(gè)帶內(nèi)部上拉電阻的 8 位雙向 I/O 端口。P3 的輸出緩沖器可驅(qū)動(dòng)(吸收或輸出電流方式)4 個(gè) TTL 輸入。對(duì)端口寫入 1 時(shí),通過(guò)內(nèi)部的上拉電阻把端口拉到高電位,這時(shí)可 用作輸入口。P3 做輸入口使用時(shí),因?yàn)橛袃?nèi)部的上拉電阻,那些被外部信 號(hào)拉低的引腳會(huì)輸入一個(gè)電流() 。 11.在對(duì) Flash ROM 編程或程序校驗(yàn)時(shí),P3 還接收一些控制信號(hào)。 12.P3 口除作為一般 I/O 口外,還有其他一些復(fù)用功能,如表 2 所示: 13.表 2 P3 口引腳復(fù)用功能 引腳號(hào)復(fù)用功能 P3.0 RXD(串行輸入口) P3.1 TXD(串行輸出口) P3.2 (外部中斷 0) 0 P3.3 (外部中斷 1) 1 P3.4 T0(定時(shí)器 0 的外部輸入) P3.5 T1(定時(shí)器 1 的外部輸入) P3.6 (外部數(shù)據(jù)存儲(chǔ)器寫選通) P3.7 (外部數(shù)據(jù)存儲(chǔ)器讀選通) 14.RST(9 引腳):復(fù)位輸入。當(dāng)輸入連續(xù)兩個(gè)機(jī)器周期以上高電平時(shí)為有效, 用來(lái)完成單片機(jī)單片機(jī)的復(fù)位初始化操作。看門狗計(jì)時(shí)完成后,RST 引腳輸 出 96 個(gè)晶振周期的高電平。特殊寄存器 AUXR(地址 8EH)上的 DISRTO 位可 以使此功能無(wú)效。DISRTO 默認(rèn)狀態(tài)下,復(fù)位高電平有效。 15. ALE/(30 引腳):地址鎖存控制信號(hào)(ALE)是訪問(wèn)外部程序存儲(chǔ) 器時(shí),鎖存低 8 位地址的輸出脈沖。在 Flash 編程時(shí),此引腳() 也用作編程輸入脈沖。 海南大學(xué)儋州校區(qū)應(yīng)用科技學(xué)院 7 16. 在一般情況下,ALE 以晶振六分之一的固定頻率輸出脈沖,可用來(lái)作為外 部定時(shí)器或時(shí)鐘使用。然而,特別強(qiáng)調(diào),在每次訪問(wèn)外部數(shù)據(jù)存儲(chǔ)器時(shí), ALE 脈沖將會(huì)跳過(guò)。 17. 如果需要,通過(guò)將地址位 8EH 的 SFR 的第 0 位置“1” ,ALE 操作將無(wú)效。 這一位置“1” ,ALE 僅在執(zhí)行 MOVX 或 MOV 指令時(shí)有效。否則,ALE 將被微 弱拉高。這個(gè) ALE 使能標(biāo)志位(地址位 8EH 的 SFR 的第 0 位)的設(shè)置對(duì)微 控制器處于外部執(zhí)行模式下無(wú)效。 18.(29 引腳):外部程序存儲(chǔ)器選通信號(hào)()是外部程序存儲(chǔ)器 選通信號(hào)。當(dāng) AT89C51RC 從外部程序存儲(chǔ)器執(zhí)行外部代碼時(shí),在每 個(gè)機(jī)器周期被激活兩次,而訪問(wèn)外部數(shù)據(jù)存儲(chǔ)器時(shí),將不被激活。 19./VPP(31 引腳):訪問(wèn)外部程序存儲(chǔ)器控制信號(hào)。為使能從 0000H 到 FFFFH 的外部程序存儲(chǔ)器讀取指令,必須接 GND。注意加密方式 1 時(shí), 將內(nèi)部鎖定位 RESET。為了執(zhí)行內(nèi)部程序指令,應(yīng)該接 VCC。在 Flash 編程期間,也接收 12 伏 VPP 電壓。 20. XTAL1(19 引腳):振蕩器反相放大器和內(nèi)部時(shí)鐘發(fā)生電路的輸入端。 21. XTAL2(18 引腳):振蕩器反相放大器的輸入端。 22. 在 STC89C52RC 片內(nèi)存儲(chǔ)器中,80HFFH 共 128 個(gè)單元位特殊功能寄存器 (SFR) 。 23. 并非所有的地址都被定義,從 80HFFH 共 128 個(gè)字節(jié)只有一部分被定義。 還有相當(dāng)一部分沒(méi)有定義。對(duì)沒(méi)有定義的單元讀寫將是無(wú)效的,讀出的數(shù) 值將不確定,而寫入的數(shù)據(jù)也將丟失。 24. 不應(yīng)將“1”寫入未定義的單元,由于這些單元在將來(lái)的產(chǎn)品中可能賦予 新的功能,在這種情況下,復(fù)位后這些單元數(shù)值總是“0” 。 25. STC89C52RC 除了有定時(shí)器/計(jì)數(shù)器 0 和定時(shí)器/計(jì)數(shù)器 1 之外,還增加了一 個(gè)一個(gè)定時(shí)器/計(jì)數(shù)器 2.定時(shí)器/計(jì)數(shù)器 2 的控制和狀態(tài)位位于 T2CON 和 T2MOD。 26. 定時(shí)器 2 是一個(gè) 16 位定時(shí)/計(jì)數(shù)器。通過(guò)設(shè)置特殊功能寄存器 T2CON 中的 C/T2 位,可將其作為定時(shí)器或計(jì)數(shù)器。定時(shí)器 2 有 3 種操作模式:捕獲、 自動(dòng)重新裝載(遞增或遞減計(jì)數(shù))和波特率發(fā)生器,這 3 種模式由 T2CON 海南大學(xué)儋州校區(qū)應(yīng)用科技學(xué)院 8 中的位進(jìn)行選擇 29.波特率發(fā)生器模式 寄存器 T2CON 的位 TCLK 和(或)RCLK 允許從定時(shí)器 1 或定時(shí)器 2 獲得 串行口發(fā)送和接收的波特率。當(dāng) TCLK=0 時(shí),定時(shí)器 1 作為串行口發(fā)送波特 率發(fā)生器;當(dāng) TCLK=1 時(shí),定時(shí)器 2 作為串行口發(fā)送波特率發(fā)生器。RCLK 對(duì) 串行口接收波特率有同樣的作用。通過(guò)這 2 位,串行口能得到不同的接收 和發(fā)送波特率,一個(gè)通過(guò)定時(shí)器 1 產(chǎn)生,另一個(gè)通過(guò)定時(shí)器 2 產(chǎn)生。 定時(shí)器可配置成“定時(shí)”或“計(jì)數(shù)”方式,在許多應(yīng)用上,定時(shí)器被設(shè)置 為“定時(shí)”方式(C/=0) 。當(dāng)定時(shí)器 2 作為定時(shí)器時(shí),它的操作不同于波 2 特率發(fā)生器。通常定時(shí)器 2 作為定時(shí)器,它會(huì)在每個(gè)機(jī)器周期遞增(1/6 或 1/12 振蕩頻率) 。當(dāng)定時(shí)器 2 作為波特率發(fā)生器時(shí),它在 6 時(shí)鐘模式下, 以振蕩器頻率遞增(12 時(shí)鐘模式時(shí)為 1/12 振蕩頻率) 。 由定時(shí)器 2 產(chǎn)生的常用波特率 海南大學(xué)儋州校區(qū)應(yīng)用科技學(xué)院 9 1.4 雙機(jī)通信 兩臺(tái)機(jī)器的通信方式可分為單工通信、半雙工通信、雙工通信,他們的通 信原理及通信方式為: 單工通信:是指消息只能單方向傳輸?shù)墓ぷ鞣绞?。單工通信信道是單向?道,發(fā)送端和接收端的身份是固定的,發(fā)送端只能發(fā)送信息,不能接收信息; 接收端只能接收信息,不能發(fā)送信息,數(shù)據(jù)信號(hào)僅從一端傳送到另一端,即信 息流是單方向的。通信雙方采用“按講” (Push To Talk,PTT)單工通信屬 于點(diǎn)到點(diǎn)的通信。根據(jù)收發(fā)頻率的異同,單工通信可分為同頻通信和異頻通信。 半雙工通信:這種通信方式可以實(shí)現(xiàn)雙向的通信,但不能在兩個(gè)方向上 同時(shí)進(jìn)行,必須輪流交替地進(jìn)行。也就是說(shuō),通信信道的每一段都可以是發(fā) 送端,也可以是接端。但同一時(shí)刻里,信息只能有一個(gè)傳輸方向。如日常生 活中的例子有步話機(jī)通信等。 雙工通信:雙工通信是指在同一時(shí)刻信息可以進(jìn)行雙向傳輸,和打電話 一樣,說(shuō)的同時(shí)也能聽,邊說(shuō)邊聽。這種發(fā)射機(jī)和接收機(jī)分別在兩個(gè)不同的 頻率上能同時(shí)進(jìn)行工作的雙工機(jī)也稱為異頻雙工機(jī)。雙工機(jī)的特點(diǎn)是使用方 海南大學(xué)儋州校區(qū)應(yīng)用科技學(xué)院 10 便,但線路設(shè)計(jì)較復(fù)雜,價(jià)格也較高。 二、二、 總體設(shè)計(jì)總體設(shè)計(jì) 2.1 設(shè)計(jì)目的 1、通過(guò)設(shè)計(jì)相關(guān)模塊充分熟悉 STC89C52RC 單片機(jī)的最小系統(tǒng)的組成和原理; 2、通過(guò)軟件仿真熟悉 protel 和 proteus 的配合使用; 3、通過(guò)軟件編程熟悉 STC89C52RC 單片機(jī)用戶手冊(cè)編程規(guī)范; 4、鞏固和加對(duì)通信原理、單片機(jī)原理與應(yīng)用技術(shù)等課程基本知識(shí)的理解,綜合 運(yùn)用課程中所學(xué)到的理論知識(shí)去獨(dú)立完成本設(shè)計(jì)課題。 5、掌握兩片 STC89C52RC 單片機(jī)之間串行通信的設(shè)計(jì)方法。 6、熟悉常用電子元、器件的類型和特性,并掌握合理選型的原則。 7、掌握常用電子儀器、儀表的使用方法,學(xué)會(huì)電路整機(jī)指標(biāo)的測(cè)試方法。 2.2 設(shè)計(jì)要求 兩片單片機(jī)之間進(jìn)行串行通信,A 機(jī)將數(shù)據(jù)發(fā)送給 B 機(jī),在 B 機(jī)的數(shù)碼管 上靜態(tài)顯示。 2.3 設(shè)計(jì)方案 軟件通過(guò)通信協(xié)議進(jìn)行發(fā)送接收,主機(jī)接 10,21,32,43,54,65,76,87,98,09 后給從機(jī)(從機(jī)靜態(tài)顯示),當(dāng)從機(jī)接收到 后,向從機(jī)發(fā)送代表 0-f 的數(shù)碼管編碼數(shù)組,相應(yīng)顯示 10,21,32,43,54,65,76,87,98,09。 三、三、 硬件設(shè)計(jì)硬件設(shè)計(jì) 3.1 STC89C52RC 單片機(jī)串行接口的結(jié)構(gòu) (1)數(shù)據(jù)緩沖器(SBUF) 接受或發(fā)送的數(shù)據(jù)都要先送到 SBUF 緩存。有兩個(gè),一個(gè)緩存,另一個(gè)接受, 海南大學(xué)儋州校區(qū)應(yīng)用科技學(xué)院 11 用同一直接地址 99H,發(fā)送時(shí)用指令將數(shù)據(jù)送到 SBUF 即可啟動(dòng)發(fā)送;接收時(shí)用 指令將 SBUF 中接收到的數(shù)據(jù)取出。 (2)串行控制寄存器(PCON) SCON 用于串行通信方式的選擇,收發(fā)控制及狀態(tài)指示,各位含義如下: SM0SM1SM2RENTB8RB8TIRI SM0,SM1:串行接口工作方式選擇位,這兩位組合成 00,01,10,11 對(duì)應(yīng)于 工作方式 0、1、2、3。串行接口工作方式特點(diǎn)見(jiàn)下表 SM0SM1 工作方式功能波特率 000 8 位同步移位寄存器(用于 I/O 擴(kuò) 展) fORC/12 011 10 位異步串行通信(UART)可變(T1 溢出率 *2SMOD/32) 102 11 位異步串行通信(UART)fORC/64 或 fORC/32 113 11 位異步串行通信(UART)可變(T1 溢出率 *2SMOD/32) SM2:多機(jī)通信控制位。 REN:接收允許控制位。軟件置 1 允許接收;軟件置 0 禁止接收。 TB8:方式 2 或 3 時(shí),TB8 為要發(fā)送的第 9 位數(shù)據(jù),根據(jù)需要由軟件置 1 或 清 0。 RB9:在方式 2 或 3 時(shí),RB8 位接收到的第 9 位數(shù)據(jù),實(shí)際為主機(jī)發(fā)送的第 9 位數(shù)據(jù) TB8,使從機(jī)根據(jù)這一位來(lái)判斷主機(jī)發(fā)送的時(shí)呼叫地址還是要傳送的數(shù) 據(jù)。 TI:發(fā)送中斷標(biāo)志。發(fā)送完一幀數(shù)據(jù)后由硬件自動(dòng)置位,并申請(qǐng)中斷。必 須要軟件清零后才能繼續(xù)發(fā)送。 RI:接收中斷標(biāo)志。接收完一幀數(shù)據(jù)后由硬件自動(dòng)置位,并申請(qǐng)中斷。必 須要軟件清零后才能繼續(xù)接收。 (3)輸入移位寄存器 接收的數(shù)據(jù)先串行進(jìn)入輸入移位寄存器,8 位數(shù)據(jù)全移入后,再并行送入 接收 SBUF 中。 海南大學(xué)儋州校區(qū)應(yīng)用科技學(xué)院 12 (4)波特率發(fā)生器 波特率發(fā)生器用來(lái)控制串行通信的數(shù)據(jù)傳輸速率的,51 系列單片機(jī)用定時(shí) 器 T1 作為波特率發(fā)生器,T1 設(shè)置在定時(shí)方式。波特率時(shí)用來(lái)表示串行通信數(shù) 據(jù)傳輸快慢程度的物理量,定義為每秒鐘傳送的數(shù)據(jù)位數(shù)。 (5)電源控制寄存器 PCON 其最高位為 SMOD。 3.2 整體電路設(shè)計(jì) 51 單片機(jī)的串行接口是一個(gè)全雙工的接口,它可以作為 UART(通用異步接 受和發(fā)送器)用,也可以作為同步移位寄存器用,本系統(tǒng)共用兩塊單片機(jī),每 塊單片機(jī)均選用 AT89S51,最小系統(tǒng)也都一樣。由于兩塊單片機(jī)的主要任務(wù)是 通信,為了得到準(zhǔn)確的波特率,采用振蕩頻率為 11.0592MHz 的晶振,最終設(shè)計(jì) 電路如下圖 3 所示,發(fā)送方的數(shù)據(jù)由串行口 TXD 段輸出,經(jīng)過(guò)傳輸線將信號(hào)傳 送到接收端。信號(hào)到達(dá)接收方串行口的接收端。接受方接收后,通過(guò) P1 口在數(shù) 碼管上顯示接收的信息。 電路原理圖 海南大學(xué)儋州校區(qū)應(yīng)用科技學(xué)院 13 四、軟件設(shè)計(jì)四、軟件設(shè)計(jì) 通過(guò)通信協(xié)議進(jìn)行發(fā)送接收,主機(jī)先送 CDH 給從機(jī),當(dāng)從機(jī)接收到 CDH 后,向主機(jī)回 答 DCH。主機(jī)收到 DCH 后就把數(shù)碼表 TAB16中的 10 個(gè)數(shù)據(jù)送給從機(jī),并發(fā)送檢驗(yàn)和。從 機(jī)收到 16 個(gè)數(shù)據(jù)并計(jì)算接收到數(shù)據(jù)的檢驗(yàn)和,與主機(jī)發(fā)送來(lái)的檢驗(yàn)和進(jìn)行比較,若檢驗(yàn)和 相同則發(fā)送 00H 給主機(jī);否則發(fā)送 FFH 給主機(jī),重新接受。從機(jī)收到 16 個(gè)正確數(shù)據(jù)后送到 一個(gè)數(shù)碼管顯示。 4.1 串行通信軟件實(shí)現(xiàn) (1)串行口工作于方式 3;用定時(shí)器 1 產(chǎn)生 4800bit/s 的波特率,晶振頻率為 11.0592MHZ。 海南大學(xué)儋州校區(qū)應(yīng)用科技學(xué)院 14 (2)功能:將本機(jī) ROM 中數(shù)碼表 TAB16中的 16 個(gè)數(shù)發(fā)送到從機(jī),并保存在從 機(jī)內(nèi)部 ROM 中,從機(jī)收到這 16 個(gè)數(shù)據(jù)后送到一個(gè)數(shù)碼管循環(huán)顯示。 (3)通信協(xié)議:主機(jī)首先發(fā)送連絡(luò)信號(hào)(CDH),從機(jī)接收到之后返回一個(gè)連絡(luò)信 號(hào)(DCH)表示從機(jī)已準(zhǔn)備好接收。 (4)通信過(guò)程使用第九位發(fā)送奇偶校驗(yàn)位。 (5)從機(jī)接收到一個(gè)數(shù)據(jù)后,立即進(jìn)行奇偶校驗(yàn),若數(shù)據(jù)沒(méi)有錯(cuò)誤,則返回 00H,否則返回 FFH。 (6)主機(jī)發(fā)送一個(gè)數(shù)據(jù)后,等待從機(jī)返回?cái)?shù)據(jù);若為 00H,則繼續(xù)發(fā)送下一個(gè) 數(shù)據(jù),若為 FFH,則重新發(fā)送數(shù)據(jù)。 1、程序流程圖 海南大學(xué)儋州校區(qū)應(yīng)用科技學(xué)院 15 2、 接收方程序流程圖 主程序開始 檢驗(yàn)和相等? 程序初始化 接收數(shù)據(jù),計(jì)算檢驗(yàn)和 N 發(fā)送 00H 至主機(jī) 接收完成? N 清除標(biāo)志位 發(fā)送 FFH, 重新接收 顯示 4.2 主要程序 (1)主機(jī)程序: ORG 0000H 海南大學(xué)儋州校區(qū)應(yīng)用科技學(xué)院 16 AJMP START ORG 0030H START: MOV TMOD, #20H MOV SCON, #40H CLR ES MOV PCON, #00H MOV B, #0FAH CLR ET1 CLR TI SETB TR1 AGAIN1: MOV A, B MOV TH1,A MOV TL1,A AGAIN2: LCALL JIAN MOV A, 33H MOV SBUF, A JNB TI, $ CLR TI AJMP HE HE: CJNE A, #0F3H, LP1 MOV B, #0F3H AJMP AGAIN1 LP1: CJNE A, #0FAH, LP2 MOV B, #0FAH, AJMP AGAIN1 LP2: CJNE A, #0FDH, LP3 MOV B, #0FDH AJMP AGAIN1 LP3: CJNE A, #0FEH, AGAIN2 MOV B, #0FEH AJMP AGAIN1 JIAN: PUSH ACC PUSH PSW PUSH B CLR C MOV 20H,#00H SMJP: SETB C MOV A, #11011111B MOV R4, A MOV R5, #00H MOV R7, #4H MAIN1: MOV DPTR,#8002H MOV A, R4 MOVX DPTR, A 海南大學(xué)儋州校區(qū)應(yīng)用科技學(xué)院 17 MOV DPTR, #8001H MOVX A, DPTR ORL A, #0F0H CPL A JNZ ZJH DJNZ R7, JZZ AJMP SMJP JZZ: MOV A, R4 RRC A MOV R4, A INC R5 AJMP MAIN1 ZJH: CJNE A, #01H, AAA CLR C AJMP HHW0 AAA: CJNE A, #02H, BBB CLR C AJMP HHW1 BBB: CJNE A, #04H, STEP2 CLR C AJMP HHW2 STEP2: CJNE A, #08H, OVER AJMP HHW3 HHW0: MOV A, R5 AJMP XS HHW1: MOV A, #4H ADD A, R5 AJMP XS HHW2: MOV A, #08H ADD A, R5 AJMP XS HHW3: MOV A, #0CH ADD A, R5 AJMP XS XS: RL A MOV DPTR, #TABLEB JMP A+DPTR OVER: AJMP SMJP JPCL: JB 00H, XGSX AJMP SMJP XGSX: JB 02H, XGSXSW MOV 34H, A JNB 02H, SMJP XGSXSW: JB 04H, ZHDJS 海南大學(xué)儋州校區(qū)應(yīng)用科技學(xué)院 18 MOV 35H, A MOV A, 34H SWAP A ORL A, 35H MOV 33H, A JNB 04H, SMJP ZHDJS: POP B POP PSW POP ACC JS: RET TABLEB: AJMP KEY0 AJMP KEY1 AJMP KEY2 AJMP KEY3 AJMP KEY4 AJMP KEY5 AJMP KEY6 AJMP KEY7 AJMP KEY8 AJMP KEY9 AJMP KEYA AJMP KEYB AJMP KEYC AJMP KEYD AJMP KEYE AJMP KEYF KEY0: SETB 00H AJMP JPCL KEY1: MOV A, #01H AJMP JPCL KEY2: SETB 02H AJMP JPCL KEY3: MOV A, #03H AJMP JPCL KEY4: SETB 04H AJMP JPCL KEY5: MOV A, #05H AJMP JPCL KEY6: MOV A, #06H AJMP JPCL KEY7: MOV A, #07H AJMP JPCL KEY8: MOV A, #08H AJMP JPCL 海南大學(xué)儋州校區(qū)應(yīng)用科技學(xué)院 19 KEY9: MOV A, #09H AJMP JPCL KEYA: MOV A, #0AH AJMP JPCL KEYB: MOV A, #0BH AJMP JPCL KEYC: MOV A, #0CH AJMP JPCL KEYD: MOV A, #0DH AJMP JPCL KEYE: MOV A, #0EH AJMP JPCL KEYF: MOV A, #0FH AJMP JPCL (2)從機(jī)程序 ORG 0000H AJMP START ORG 0030H START: MOV TMOD, #20H CLR ES MOV SCON, #50H MOV B, #0FAH CLR ET1 CLR RI SETB TR1 AGAIN1: MOV A, B MOV TH1, A MOV LL1, A AGAIN2: JNB RI, $ CLR RI MOV A, SBUF MOV 40H, A ANL A, #0F0H SWAP A MOV 42H, A MOV A, 40H ANL A, #0FH MOV 41H, A LL: LCALL XIAN 海南大學(xué)儋州校區(qū)應(yīng)用科技學(xué)院 20 MOV A, 40H CJNE A, #0F3H, LP1 MOV B, #0F3H AJMP AGAIN1 LP1: CJNE A, #0FAH, LP2 MOV B, #0FAH, AJMP AGAIN1 LP2: CJNE A, #0FDH, LP3 MOV B, #0FDH AJMP AGAIN1 LP3: CJNE A, #0FEH, AGAIN2 MOV B, #0FEH AJMP AGAIN1 XIAN: MOV A, 42H MOV DPTR, #TABLE MOVC A, A+DPTR MOV DPTR, #8004H MOVX DPTR, A MOV DPTR, #8002H MOV A, #02H MOVX DPTR, A ACALL DELAY MOV A, 41H MOV DPTR, #TABLE MOVC A, A+DPTR MOV DPTR, #8004H MOVX DPTR, A MOV DPTR, #8002H MOV A, #01H MOVX DPTR, A ACALL DELAY RET DELAY: MOV R7,#0FFH MOVE: DJNZ R7, MOVE RET TABLE: DB 3FH, 06H, 5BH, 4FH, 66H, 6DH, 7DH, 07H, 7FH, 6FH, 77H, 7CH, DB 39H, 5EH, 79H, 71H, 73H, 3EH, 31H, 6EH, 76H, 38H 海南大學(xué)儋州校區(qū)應(yīng)用科技學(xué)院 21 五、聯(lián)合調(diào)試五、聯(lián)合調(diào)試 在 protues 上進(jìn)行仿真實(shí)驗(yàn)。首先使用 KeilC 將編寫完成的程序編譯生成 HEX 文件,將 HEX 文件燒錄到兩片單片機(jī)中,進(jìn)行仿真實(shí)驗(yàn)。 海南大學(xué)儋州校區(qū)應(yīng)用科技學(xué)院 22 六、實(shí)驗(yàn)結(jié)果六、實(shí)驗(yàn)結(jié)果 七、課設(shè)中的心得體會(huì)七、課設(shè)中的心得體會(huì) 緊張而忙碌的課程設(shè)計(jì)結(jié)束了,雖然在這段時(shí)間里很忙碌,但在這忙碌的過(guò)程中卻收到了 很多收獲。 經(jīng)過(guò)本次的課程設(shè)計(jì),我了解了單片機(jī)串行通信的基本知識(shí)。 在這次的課程設(shè)計(jì)過(guò)程中,我遇到了一些困難,也遇到過(guò)一些疑惑。在解決問(wèn)題的過(guò)程中, 我對(duì)于通信協(xié)議有了更深刻的認(rèn)識(shí),也鍛煉了自己獨(dú)立思考和團(tuán)隊(duì)協(xié)作的能力 從這次的單片機(jī)課程設(shè)計(jì),我學(xué)會(huì)了很多東西。從轉(zhuǎn)印、腐蝕、打孔中,明白了實(shí)驗(yàn)要靜 靜的等待,仔細(xì)的觀察;從安裝元器件和焊接的過(guò)程中,明白了專心和細(xì)心的重要性???之,我學(xué)到了許多東西。雖然最后花了好長(zhǎng)時(shí)間終于完成了實(shí)驗(yàn),但我們也學(xué)到了許多東 西,這是別人一次成功所無(wú)法體會(huì)到的。 海南大學(xué)儋州校區(qū)應(yīng)用科技學(xué)院 23 參考文獻(xiàn)參考文獻(xiàn) 【1】 胡偉.單片機(jī) C 程序設(shè)計(jì)及應(yīng)用實(shí)例.北京:人民郵電出版社,2003 【2】 韓毅剛.計(jì)算機(jī)通信技術(shù).北京:北京航空航天大學(xué)出版社,2007 【3】 李朝青.單片機(jī)與 PC 機(jī)網(wǎng)絡(luò)通信技術(shù).北京:北京航空航天大學(xué)出版, 2007 【4】 胡洪波.單片機(jī)原理與應(yīng)用實(shí)驗(yàn)教程.湘潭大學(xué)出版社,2009.7 【5】單片機(jī)課程設(shè)計(jì)指導(dǎo)書 皮大能 北京理工大學(xué)出2012.7 【6】8051 單片機(jī)實(shí)踐與應(yīng)用 吳金戎 清華大學(xué)出版社 2003.8 【7】單片機(jī)技術(shù)基礎(chǔ)教程與實(shí)踐 夏路易 電子工業(yè)出版 2008.1 【8】單片機(jī)原理及應(yīng)用 張毅剛 高等教育出版社 2012.11 附錄附錄 附表附表 1 1 定時(shí)/計(jì)數(shù)器 2 控制寄存器各位功能說(shuō)明 符號(hào)功能 TF2 定時(shí)器 2 溢出標(biāo)志。定時(shí)器 2 溢出時(shí),又由硬件置位,必須由軟 件請(qǐng) 0.當(dāng) RCLK=1 或 TCLK=1 時(shí),定時(shí)器 2 溢出,不對(duì) TF2 置位。 定時(shí)器 2 外部標(biāo)志。當(dāng) EXEN2=1,且當(dāng) T2EX 引腳上出現(xiàn)負(fù)跳變而 出現(xiàn)捕獲或重裝載時(shí),EXF2 置位,申請(qǐng)中斷。此時(shí)如果允許定時(shí) 海南大學(xué)儋州校區(qū)應(yīng)用科技學(xué)院 24 EXF2 器 2 中斷,CPU 將響應(yīng)中斷,執(zhí)行定時(shí)器 2 中斷服務(wù)程序,EXF2 必須由軟件清除。當(dāng)定時(shí)器 2 工作在向上或向下計(jì)數(shù)方式時(shí) (DCEN=1) ,EXF2 不能激活中斷。 RCLK 接收時(shí)鐘允許。RCLK=1 時(shí),用定時(shí)器 2 溢出脈沖作為串口(工作 于工作方式 1 或 3 時(shí))的接收時(shí)鐘,RCLK=0,用定時(shí)器 1 的溢出 脈沖作為接收脈沖 TCLK 發(fā)送時(shí)鐘允許。TCLK=1 時(shí),用定時(shí)器 2 溢出脈沖作為串口(工作 于工作方式 1 或 3 時(shí))的發(fā)送時(shí)鐘,TCLK=0,用定時(shí)器 1 的溢出 脈沖作為發(fā)送脈沖 EXEN2 定時(shí)器 2 外部允許標(biāo)志。當(dāng) EXEN2=1 時(shí),如果定時(shí)器 2 未用于作 串行口的波特率發(fā)生器,在 T2EX 端口出現(xiàn)負(fù)跳變脈沖時(shí),激活定

溫馨提示

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