




已閱讀5頁,還剩23頁未讀, 繼續免費閱讀
版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
應用科技學院應用科技學院 通信原理課程設計報告通信原理課程設計報告 設計題目:雙機串行通信的應用設計題目:雙機串行通信的應用 專業班級:專業班級: 姓名:姓名: 學號:學號: 指導老師:指導老師: 時間:時間:20142014 年年 6 6 月月 2525 日日20142014 年年 7 7 月月 1414 日日 地點:四教地點:四教 613613 實驗室實驗室 海南大學儋州校區應用科技學院 1 雙機串行通信的應用雙機串行通信的應用 摘要 單片機廣泛應用于儀器儀表、家用電器、醫用設備、航空航天、專用設備 的智能化管理及過程控制等領域隨著計算機技術的發展及工業自動化水平的提 高, 在許多場合采用單機控制已不能滿足現場要求,因而必須采用多機控制的形 式,而多機控制主要通過多個單片機之間的串行通信實現。串行通信作為單片機 之間常用的通信方法之一, 由于其通信編程靈活、硬件簡潔并遵循統一的標準, 因此其在工業控制領域得到了廣泛的應用。 串行通信時單片機的一個重要運用,本次課程設計就是要利用單片機來完成 一個系統摘要,實現雙片單片機串行通信。通信的結果使用數碼管進行顯示,數 碼管采用查表方式顯示。兩個單片機之間采用 RS232 進行雙機通信。在通信過 程中使用通信協議進行通信。 兩片單片機之間進行串行通信,發送端將 0f 循環發送到接收端,并在收 端顯示。本次設計,對于兩片 STC89C52RC,采用 RS232 進行雙機通信。發送方 的數據由串行口 TXD 段輸出,經過電平轉換芯片 MAX232 將 TTL 電平轉換為 RS232 電平輸出,經過傳輸線將信號傳送到接收端。接收方也使用 MAX232 芯片 進行電平轉換后,信號到達接收方串行口的接收端。 接收方接收后,在數碼管上顯示接受的信息。為提高抗干擾能力,還可以 在輸入輸出端加光耦合進行光電隔離。 串行通信是單片機的一個重要應用,本次課程設計就是要利用單片機來完 成一個系統,實現兩個單片機之間的通信,通信的結果使用數碼管進行顯示。 關鍵字關鍵字 STC89C52RC 單片機 串行通信 接口 海南大學儋州校區應用科技學院 2 目錄目錄 一、基本原理一、基本原理3 3 1.1 串行通信 3 1.2 STC89C52RC 單片機的主要工作特性和參數4 1.3 STC89C52RC 引腳功能說明5 1.4 雙機通信 9 二、二、 總體設計總體設計1010 2.1 設計目的 .10 2.2 設計要求 .10 2.3 設計方案 .10 三、三、 硬件設計硬件設計1111 3.1 STC89C52RC 單片機串行接口的結構.11 3.2 整體電路設計 .12 四、軟件設計四、軟件設計1313 4.1 串行通信軟件實現 .13 4.2 主要程序 .15 五、聯合調試五、聯合調試2121 六、六、 測試結果測試結果2222 七、課設中的心得體會七、課設中的心得體會2222 參考文獻參考文獻2323 附錄附錄2424 海南大學儋州校區應用科技學院 3 一、基本原理一、基本原理 1.1 串行通信 計算機與外界的信息交換稱為通信。在通信領域內,有兩種數據通信方式: 并行通信和串行通信。隨著計算機網絡化和微機分級 分布式應用 系統的發 展,通信的功能越來越重要。通信是指計算機與外界的信息傳輸,既包括計 算機與計算機之間的傳輸,也包括計算機與 外部設備,如終端、打印機和 磁盤等設備之間的傳輸。 串行通信是指使用一條數據線,將數據一位一位地依次傳輸,每一位數 據占據一個固定的時間長度。其只需要少數幾條線就可以在系統間交換信息, 特別適用于計算機與計算機、計算機與外設之間的遠距離通信。 兩個單片機之間進行通訊波特率的設定,最終歸結到對定時計數器 T1 計數 初值 TH1、TL1 進行設定。故本題目本質上是通過鍵盤掃描得到設定的波特率, 從而載入相應的 T1 計數初值 TH1、TL1 實現的。示例程序中將 0xaa 從主機傳輸 到從機,并顯示在從機的數碼管上實現串口通訊的驗證。 如串口通訊線路過長,可考慮采用 MAX232 進行電平轉換,以延長傳輸距 離。值得注意的是,為了減少計算載入初值時的誤差,本項目最好采取 11.0592MHz 的晶振。 我們設計以 AT89C51 單片機為核心,利用其內部的串行口,通過硬件與軟 件相結合的方式,實現雙機的全雙工的串行通信。硬件電路包括鍵盤電路,顯 示電路,單片機主控電路,串行通信線和電源電路。軟件包括鍵盤掃描程序, 顯示程序,發送程序和接受程序。發送和接收都采用中斷方式。由于兩個單片 機應用系統相距很近,近程通信時,可以不使用調制解調器,將它們的串行口 直接相連就可以實現全雙工的串行通信。電路設計如圖 1 所示。 海南大學儋州校區應用科技學院 4 圖1 雙機異步通信接口電路 1.2 STC89C52RC 單片機的主要工作特性和參數 1.增強型 8051 單片機,6 時鐘/機器周期和 12 時鐘/機器周期可以任意選擇, 指令代碼完全兼容傳統 8051. 2.工作電壓:5.5V3.3V(5V 單片機)/3.8V2.0V(3V 單片機) 3.工作頻率范圍:040MHz,相當于普通 8051 的 080MHz,實際工作頻率可 達 48MHz 4.用戶應用程序空間為 8K 字節 5.片上集成 512 字節 RAM 6.通用 I/O 口(32 個) ,復位后為:P1/P2/P3/P4 是準雙向口/弱上拉,P0 口 是漏極開路輸出,作為總線擴展用時,不用加上拉電阻,作為 I/O 口用時, 需加上拉電阻。 7.ISP(在系統可編程)/IAP(在應用可編程) ,無需專用編程器,無需專用 仿真器,可通過串口(RxD/P3.0,TxD/P3.1)直接下載用戶程序,數秒即 可完成一片 8.具有 EEPROM 功能 9.具有看門狗功能 10. 共 3 個 16 位定時器/計數器。即定時器 T0、T1、T2 11. 外部中斷 4 路,下降沿中斷或低電平觸發電路,Power Down 模式可由外部 中斷低電平觸發中斷方式喚醒 12. 通用異步串行口(UART) ,還可用定時器軟件實現多個 UART 13. 工作溫度范圍:-40+85(工業級)/075(商業級) 海南大學儋州校區應用科技學院 5 14. PDIP 封裝 1.3 STC89C52RC 引腳功能說明 1.VCC(40 引腳):電源電壓 2.VSS(20 引腳):接地 3.P0 端口(P0.0P0.7,3932 引腳):P0 口是一個漏極開路的 8 位雙向 I/O 口。作為輸出端口,每個引腳能驅動 8 個 TTL 負載,對端口 P0 寫入 “1”時,可以作為高阻抗輸入。在訪問外部程序和數據存儲器時,P0 口也 可以提供低 8 位地址和 8 位數據的復用總線。此時,P0 口內部上拉電阻有效。 在 Flash ROM 編程時,P0 端口接收指令字節;而在校驗程序時, 則輸出指令字節。驗證時, 要求外接上拉電阻。 4.P1 端口(P1.0P1.7,18 引腳):P1 口是一個帶內部上拉電阻的 8 位雙 向 I/O 口。P1 的輸出緩沖器可驅動(吸收或者輸出電流方式)4 個 TTL 輸入。 對端口寫入 1 時,通過內部的上拉電阻把端口拉到高電位,這是可用作輸入 口。P1 口作輸入口使用時,因為有內部上拉電阻,那些被外部拉低的引腳會 輸出一個電流() 。 5.此外,P1.0 和 P1.1 還可以作為定時器/計數器 2 的外部技術輸入 (P1.0/T2)和定時器/計數器 2 的觸發輸入(P1.1/T2EX) ,具體參見表 1: 6.在對 Flash ROM 編程和程序校驗時,P1 接收低 8 位地址。 表 1 P1.0 和 P1.1 引腳復用功能 引腳號功能特性 P1.0 T2(定時器/計數器 2 外部計數輸入) ,時鐘輸出 P1.1 T2EX(定時器/計數器 2 捕獲/重裝觸發和方向控制) 7.P2 端口(P2.0P2.7,2128 引腳):P2 口是一個帶內部上拉電阻的 8 位 雙向 I/O 端口。P2 的輸出緩沖器可以驅動(吸收或輸出電流方式)4 個 TTL 輸入。對端口寫入 1 時,通過內部的上拉電阻把端口拉到高電平,這時可用 作輸入口。P2 作為輸入口使用時,因為有內部的上拉電阻,那些被外部信號 拉低的引腳會輸出一個電流() 。 8.在訪問外部程序存儲器和 16 位地址的外部數據存儲器(如執行“MOVX 海南大學儋州校區應用科技學院 6 DPTR”指令)時,P2 送出高 8 位地址。在訪問 8 位地址的外部數據存儲器 (如執行“MOVX R1”指令)時,P2 口引腳上的內容(就是專用寄存器 (SFR)區中的 P2 寄存器的內容) ,在整個訪問期間不會改變。 9.在對 Flash ROM 編程和程序校驗期間,P2 也接收高位地址和一些控制信號。 10.P3 端口(P3.0P3.7,1017 引腳):P3 是一個帶內部上拉電阻的 8 位雙向 I/O 端口。P3 的輸出緩沖器可驅動(吸收或輸出電流方式)4 個 TTL 輸入。對端口寫入 1 時,通過內部的上拉電阻把端口拉到高電位,這時可 用作輸入口。P3 做輸入口使用時,因為有內部的上拉電阻,那些被外部信 號拉低的引腳會輸入一個電流() 。 11.在對 Flash ROM 編程或程序校驗時,P3 還接收一些控制信號。 12.P3 口除作為一般 I/O 口外,還有其他一些復用功能,如表 2 所示: 13.表 2 P3 口引腳復用功能 引腳號復用功能 P3.0 RXD(串行輸入口) P3.1 TXD(串行輸出口) P3.2 (外部中斷 0) 0 P3.3 (外部中斷 1) 1 P3.4 T0(定時器 0 的外部輸入) P3.5 T1(定時器 1 的外部輸入) P3.6 (外部數據存儲器寫選通) P3.7 (外部數據存儲器讀選通) 14.RST(9 引腳):復位輸入。當輸入連續兩個機器周期以上高電平時為有效, 用來完成單片機單片機的復位初始化操作。看門狗計時完成后,RST 引腳輸 出 96 個晶振周期的高電平。特殊寄存器 AUXR(地址 8EH)上的 DISRTO 位可 以使此功能無效。DISRTO 默認狀態下,復位高電平有效。 15. ALE/(30 引腳):地址鎖存控制信號(ALE)是訪問外部程序存儲 器時,鎖存低 8 位地址的輸出脈沖。在 Flash 編程時,此引腳() 也用作編程輸入脈沖。 海南大學儋州校區應用科技學院 7 16. 在一般情況下,ALE 以晶振六分之一的固定頻率輸出脈沖,可用來作為外 部定時器或時鐘使用。然而,特別強調,在每次訪問外部數據存儲器時, ALE 脈沖將會跳過。 17. 如果需要,通過將地址位 8EH 的 SFR 的第 0 位置“1” ,ALE 操作將無效。 這一位置“1” ,ALE 僅在執行 MOVX 或 MOV 指令時有效。否則,ALE 將被微 弱拉高。這個 ALE 使能標志位(地址位 8EH 的 SFR 的第 0 位)的設置對微 控制器處于外部執行模式下無效。 18.(29 引腳):外部程序存儲器選通信號()是外部程序存儲器 選通信號。當 AT89C51RC 從外部程序存儲器執行外部代碼時,在每 個機器周期被激活兩次,而訪問外部數據存儲器時,將不被激活。 19./VPP(31 引腳):訪問外部程序存儲器控制信號。為使能從 0000H 到 FFFFH 的外部程序存儲器讀取指令,必須接 GND。注意加密方式 1 時, 將內部鎖定位 RESET。為了執行內部程序指令,應該接 VCC。在 Flash 編程期間,也接收 12 伏 VPP 電壓。 20. XTAL1(19 引腳):振蕩器反相放大器和內部時鐘發生電路的輸入端。 21. XTAL2(18 引腳):振蕩器反相放大器的輸入端。 22. 在 STC89C52RC 片內存儲器中,80HFFH 共 128 個單元位特殊功能寄存器 (SFR) 。 23. 并非所有的地址都被定義,從 80HFFH 共 128 個字節只有一部分被定義。 還有相當一部分沒有定義。對沒有定義的單元讀寫將是無效的,讀出的數 值將不確定,而寫入的數據也將丟失。 24. 不應將“1”寫入未定義的單元,由于這些單元在將來的產品中可能賦予 新的功能,在這種情況下,復位后這些單元數值總是“0” 。 25. STC89C52RC 除了有定時器/計數器 0 和定時器/計數器 1 之外,還增加了一 個一個定時器/計數器 2.定時器/計數器 2 的控制和狀態位位于 T2CON 和 T2MOD。 26. 定時器 2 是一個 16 位定時/計數器。通過設置特殊功能寄存器 T2CON 中的 C/T2 位,可將其作為定時器或計數器。定時器 2 有 3 種操作模式:捕獲、 自動重新裝載(遞增或遞減計數)和波特率發生器,這 3 種模式由 T2CON 海南大學儋州校區應用科技學院 8 中的位進行選擇 29.波特率發生器模式 寄存器 T2CON 的位 TCLK 和(或)RCLK 允許從定時器 1 或定時器 2 獲得 串行口發送和接收的波特率。當 TCLK=0 時,定時器 1 作為串行口發送波特 率發生器;當 TCLK=1 時,定時器 2 作為串行口發送波特率發生器。RCLK 對 串行口接收波特率有同樣的作用。通過這 2 位,串行口能得到不同的接收 和發送波特率,一個通過定時器 1 產生,另一個通過定時器 2 產生。 定時器可配置成“定時”或“計數”方式,在許多應用上,定時器被設置 為“定時”方式(C/=0) 。當定時器 2 作為定時器時,它的操作不同于波 2 特率發生器。通常定時器 2 作為定時器,它會在每個機器周期遞增(1/6 或 1/12 振蕩頻率) 。當定時器 2 作為波特率發生器時,它在 6 時鐘模式下, 以振蕩器頻率遞增(12 時鐘模式時為 1/12 振蕩頻率) 。 由定時器 2 產生的常用波特率 海南大學儋州校區應用科技學院 9 1.4 雙機通信 兩臺機器的通信方式可分為單工通信、半雙工通信、雙工通信,他們的通 信原理及通信方式為: 單工通信:是指消息只能單方向傳輸的工作方式。單工通信信道是單向信 道,發送端和接收端的身份是固定的,發送端只能發送信息,不能接收信息; 接收端只能接收信息,不能發送信息,數據信號僅從一端傳送到另一端,即信 息流是單方向的。通信雙方采用“按講” (Push To Talk,PTT)單工通信屬 于點到點的通信。根據收發頻率的異同,單工通信可分為同頻通信和異頻通信。 半雙工通信:這種通信方式可以實現雙向的通信,但不能在兩個方向上 同時進行,必須輪流交替地進行。也就是說,通信信道的每一段都可以是發 送端,也可以是接端。但同一時刻里,信息只能有一個傳輸方向。如日常生 活中的例子有步話機通信等。 雙工通信:雙工通信是指在同一時刻信息可以進行雙向傳輸,和打電話 一樣,說的同時也能聽,邊說邊聽。這種發射機和接收機分別在兩個不同的 頻率上能同時進行工作的雙工機也稱為異頻雙工機。雙工機的特點是使用方 海南大學儋州校區應用科技學院 10 便,但線路設計較復雜,價格也較高。 二、二、 總體設計總體設計 2.1 設計目的 1、通過設計相關模塊充分熟悉 STC89C52RC 單片機的最小系統的組成和原理; 2、通過軟件仿真熟悉 protel 和 proteus 的配合使用; 3、通過軟件編程熟悉 STC89C52RC 單片機用戶手冊編程規范; 4、鞏固和加對通信原理、單片機原理與應用技術等課程基本知識的理解,綜合 運用課程中所學到的理論知識去獨立完成本設計課題。 5、掌握兩片 STC89C52RC 單片機之間串行通信的設計方法。 6、熟悉常用電子元、器件的類型和特性,并掌握合理選型的原則。 7、掌握常用電子儀器、儀表的使用方法,學會電路整機指標的測試方法。 2.2 設計要求 兩片單片機之間進行串行通信,A 機將數據發送給 B 機,在 B 機的數碼管 上靜態顯示。 2.3 設計方案 軟件通過通信協議進行發送接收,主機接 10,21,32,43,54,65,76,87,98,09 后給從機(從機靜態顯示),當從機接收到 后,向從機發送代表 0-f 的數碼管編碼數組,相應顯示 10,21,32,43,54,65,76,87,98,09。 三、三、 硬件設計硬件設計 3.1 STC89C52RC 單片機串行接口的結構 (1)數據緩沖器(SBUF) 接受或發送的數據都要先送到 SBUF 緩存。有兩個,一個緩存,另一個接受, 海南大學儋州校區應用科技學院 11 用同一直接地址 99H,發送時用指令將數據送到 SBUF 即可啟動發送;接收時用 指令將 SBUF 中接收到的數據取出。 (2)串行控制寄存器(PCON) SCON 用于串行通信方式的選擇,收發控制及狀態指示,各位含義如下: SM0SM1SM2RENTB8RB8TIRI SM0,SM1:串行接口工作方式選擇位,這兩位組合成 00,01,10,11 對應于 工作方式 0、1、2、3。串行接口工作方式特點見下表 SM0SM1 工作方式功能波特率 000 8 位同步移位寄存器(用于 I/O 擴 展) fORC/12 011 10 位異步串行通信(UART)可變(T1 溢出率 *2SMOD/32) 102 11 位異步串行通信(UART)fORC/64 或 fORC/32 113 11 位異步串行通信(UART)可變(T1 溢出率 *2SMOD/32) SM2:多機通信控制位。 REN:接收允許控制位。軟件置 1 允許接收;軟件置 0 禁止接收。 TB8:方式 2 或 3 時,TB8 為要發送的第 9 位數據,根據需要由軟件置 1 或 清 0。 RB9:在方式 2 或 3 時,RB8 位接收到的第 9 位數據,實際為主機發送的第 9 位數據 TB8,使從機根據這一位來判斷主機發送的時呼叫地址還是要傳送的數 據。 TI:發送中斷標志。發送完一幀數據后由硬件自動置位,并申請中斷。必 須要軟件清零后才能繼續發送。 RI:接收中斷標志。接收完一幀數據后由硬件自動置位,并申請中斷。必 須要軟件清零后才能繼續接收。 (3)輸入移位寄存器 接收的數據先串行進入輸入移位寄存器,8 位數據全移入后,再并行送入 接收 SBUF 中。 海南大學儋州校區應用科技學院 12 (4)波特率發生器 波特率發生器用來控制串行通信的數據傳輸速率的,51 系列單片機用定時 器 T1 作為波特率發生器,T1 設置在定時方式。波特率時用來表示串行通信數 據傳輸快慢程度的物理量,定義為每秒鐘傳送的數據位數。 (5)電源控制寄存器 PCON 其最高位為 SMOD。 3.2 整體電路設計 51 單片機的串行接口是一個全雙工的接口,它可以作為 UART(通用異步接 受和發送器)用,也可以作為同步移位寄存器用,本系統共用兩塊單片機,每 塊單片機均選用 AT89S51,最小系統也都一樣。由于兩塊單片機的主要任務是 通信,為了得到準確的波特率,采用振蕩頻率為 11.0592MHz 的晶振,最終設計 電路如下圖 3 所示,發送方的數據由串行口 TXD 段輸出,經過傳輸線將信號傳 送到接收端。信號到達接收方串行口的接收端。接受方接收后,通過 P1 口在數 碼管上顯示接收的信息。 電路原理圖 海南大學儋州校區應用科技學院 13 四、軟件設計四、軟件設計 通過通信協議進行發送接收,主機先送 CDH 給從機,當從機接收到 CDH 后,向主機回 答 DCH。主機收到 DCH 后就把數碼表 TAB16中的 10 個數據送給從機,并發送檢驗和。從 機收到 16 個數據并計算接收到數據的檢驗和,與主機發送來的檢驗和進行比較,若檢驗和 相同則發送 00H 給主機;否則發送 FFH 給主機,重新接受。從機收到 16 個正確數據后送到 一個數碼管顯示。 4.1 串行通信軟件實現 (1)串行口工作于方式 3;用定時器 1 產生 4800bit/s 的波特率,晶振頻率為 11.0592MHZ。 海南大學儋州校區應用科技學院 14 (2)功能:將本機 ROM 中數碼表 TAB16中的 16 個數發送到從機,并保存在從 機內部 ROM 中,從機收到這 16 個數據后送到一個數碼管循環顯示。 (3)通信協議:主機首先發送連絡信號(CDH),從機接收到之后返回一個連絡信 號(DCH)表示從機已準備好接收。 (4)通信過程使用第九位發送奇偶校驗位。 (5)從機接收到一個數據后,立即進行奇偶校驗,若數據沒有錯誤,則返回 00H,否則返回 FFH。 (6)主機發送一個數據后,等待從機返回數據;若為 00H,則繼續發送下一個 數據,若為 FFH,則重新發送數據。 1、程序流程圖 海南大學儋州校區應用科技學院 15 2、 接收方程序流程圖 主程序開始 檢驗和相等? 程序初始化 接收數據,計算檢驗和 N 發送 00H 至主機 接收完成? N 清除標志位 發送 FFH, 重新接收 顯示 4.2 主要程序 (1)主機程序: ORG 0000H 海南大學儋州校區應用科技學院 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 海南大學儋州校區應用科技學院 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 海南大學儋州校區應用科技學院 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 海南大學儋州校區應用科技學院 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)從機程序 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 海南大學儋州校區應用科技學院 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 海南大學儋州校區應用科技學院 21 五、聯合調試五、聯合調試 在 protues 上進行仿真實驗。首先使用 KeilC 將編寫完成的程序編譯生成 HEX 文件,將 HEX 文件燒錄到兩片單片機中,進行仿真實驗。 海南大學儋州校區應用科技學院 22 六、實驗結果六、實驗結果 七、課設中的心得體會七、課設中的心得體會 緊張而忙碌的課程設計結束了,雖然在這段時間里很忙碌,但在這忙碌的過程中卻收到了 很多收獲。 經過本次的課程設計,我了解了單片機串行通信的基本知識。 在這次的課程設計過程中,我遇到了一些困難,也遇到過一些疑惑。在解決問題的過程中, 我對于通信協議有了更深刻的認識,也鍛煉了自己獨立思考和團隊協作的能力 從這次的單片機課程設計,我學會了很多東西。從轉印、腐蝕、打孔中,明白了實驗要靜 靜的等待,仔細的觀察;從安裝元器件和焊接的過程中,明白了專心和細心的重要性。總 之,我學到了許多東西。雖然最后花了好長時間終于完成了實驗,但我們也學到了許多東 西,這是別人一次成功所無法體會到的。 海南大學儋州校區應用科技學院 23 參考文獻參考文獻 【1】 胡偉.單片機 C 程序設計及應用實例.北京:人民郵電出版社,2003 【2】 韓毅剛.計算機通信技術.北京:北京航空航天大學出版社,2007 【3】 李朝青.單片機與 PC 機網絡通信技術.北京:北京航空航天大學出版, 2007 【4】 胡洪波.單片機原理與應用實驗教程.湘潭大學出版社,2009.7 【5】單片機課程設計指導書 皮大能 北京理工大學出2012.7 【6】8051 單片機實踐與應用 吳金戎 清華大學出版社 2003.8 【7】單片機技術基礎教程與實踐 夏路易 電子工業出版 2008.1 【8】單片機原理及應用 張毅剛 高等教育出版社 2012.11 附錄附錄 附表附表 1 1 定時/計數器 2 控制寄存器各位功能說明 符號功能 TF2 定時器 2 溢出標志。定時器 2 溢出時,又由硬件置位,必須由軟 件請 0.當 RCLK=1 或 TCLK=1 時,定時器 2 溢出,不對 TF2 置位。 定時器 2 外部標志。當 EXEN2=1,且當 T2EX 引腳上出現負跳變而 出現捕獲或重裝載時,EXF2 置位,申請中斷。此時如果允許定時 海南大學儋州校區應用科技學院 24 EXF2 器 2 中斷,CPU 將響應中斷,執行定時器 2 中斷服務程序,EXF2 必須由軟件清除。當定時器 2 工作在向上或向下計數方式時 (DCEN=1) ,EXF2 不能激活中斷。 RCLK 接收時鐘允許。RCLK=1 時,用定時器 2 溢出脈沖作為串口(工作 于工作方式 1 或 3 時)的接收時鐘,RCLK=0,用定時器 1 的溢出 脈沖作為接收脈沖 TCLK 發送時鐘允許。TCLK=1 時,用定時器 2 溢出脈沖作為串口(工作 于工作方式 1 或 3 時)的發送時鐘,TCLK=0,用定時器 1 的溢出 脈沖作為發送脈沖 EXEN2 定時器 2 外部允許標志。當 EXEN2=1 時,如果定時器 2 未用于作 串行口的波特率發生器,在 T2EX 端口出現負跳變脈沖時,激活定
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 中國民航大學《房屋建筑學雙語》2023-2024學年第二學期期末試卷
- 四川應用技術職業學院《臨床免疫學及檢驗》2023-2024學年第一學期期末試卷
- 江西省高安市第四中學2024-2025學年初三2月化學試題模擬試題含解析
- 漯河職業技術學院《綜合商務英語(1)》2023-2024學年第二學期期末試卷
- 鄭州澍青醫學高等專科學校《醫療與生育保障》2023-2024學年第二學期期末試卷
- 山西農業大學附屬學校2025屆初三3月線上考試化學試題含解析
- 浙江傳媒學院《控制論基礎》2023-2024學年第二學期期末試卷
- 云南省勐海縣第三中學2025年高中畢業生班階段性測試(三)英語試題含解析
- 銅仁幼兒師范高等專科學校《經典創業案例分析》2023-2024學年第二學期期末試卷
- 浙江東方職業技術學院《預防醫學創新實驗》2023-2024學年第二學期期末試卷
- 腹腔鏡下保留脾臟胰體尾切除術
- Q∕GDW 12070-2020 配電網工程標準化設計圖元規范
- 《孤獨癥認知訓練》PPT課件
- 汽車半懸掛系統建模與分析(現代控制理論大作業)
- 高分子化學6離子聚合陽離子
- 畢業設計論文土木工程專業五層單身宿舍樓框架結構設計
- 石膏板項目可行性分析與經濟測算(范文參考)
- 晉江文件歸檔目錄
- 數獨題庫(初級、高級、專家級、骨灰級、附贈數獨題紙)
- 北京房地產測繪細則
- 暖通監理實施細則
評論
0/150
提交評論