




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、 *大 學本 科 畢 業(yè) 論 文科 目:單片機串行通信協議設計 學 院:工學院 專 業(yè):通信工程 年 級:2009級 姓 名:* 指導老師:*摘 要本文介紹了89C51單片機的發(fā)展歷史和簡單介紹,并展望了它們的前景。著重介紹了單片機串行接口技術,指出了它們的重要性并闡述了其實現原理。根據串行通訊原理結合RS232串口設計了串行通訊協議,利用匯編語言為基礎,編寫了一個基于RS232串口的通信程序,實現了單片機-PC機的雙機通訊。在硬件上測試完好,測試表明,在基于設計的通信協議上的單片機-PC機的通訊狀況良好。關鍵詞:89C51單片機;串行通訊原理;RS232串口;串行通訊協議AbstractTh
2、is article describes the development and give a brief history of the 89C51 microcontroller and look forward to their future.Focused on single-chip serial interface technology, pointed out the importance of them and described the principles of its realization. Serial communication in accordance with
3、the principle of combining the design of a serial RS232 serial Communication protocol, Based on the use of assembly language, the preparation of a RS232 serial communication based on the procedures, to achieve a single-chip dual-PC machine communication. Well-tested in hardware, testing showed that
4、the single-chip-PC communications machine based on the design of communication protocols in good condition.Key words:89C51 microcontroller,;principle of serial communication,;RS232 serial port,;serial communication protocol目 錄摘 要IAbstractII目 錄III緒 論11.單片機概述21.1 單片機的發(fā)展歷史21.2 單片機的特點31.3單片機的應用314 AT89C
5、51單片機簡介52.單片機的串行接口112.1 基本概念112.2 串行口和控制寄存器123.串行通訊技術及硬件基本組成153.1硬件的基本組成153.2串行通信原理153.3雙機通信連接方法164.軟件的設計和調整過程174.1 程序流程圖174.2 通信協議184.2.1 串行口控制寄存器SCON的設置184.2.2 定時器的初始化設置184.2.3 波特率計算194.3程序演示19總 結20參考文獻21致 謝22緒 論在工業(yè)監(jiān)測及自動控制系統種,串行通信是微機與單片機之間進行數據交換的主要方式。而在現代社會中,短距離的雙機通信,最常用的就是串口通信。目前存在的一些通信協議(如RS-232
6、,RS-484等),僅對通信線路的電氣特性進行了約定,并沒有涉及通信內容的格式,類型等信息。針對這一現象,我對于RS-232接口設計了比較規(guī)范的串行通信協議,實現了上位單片機與下位計算機的串行通信。通過實驗室測試表明該串行通信協議是可靠可行的。單片微型計算機是微型計算機發(fā)展中的一個重要分支,是把構成一臺微型計算機的主要部件如中央處理器(CPU)、存儲器(RAM/ROM)和各種功能I/O接口集成在一塊芯片上的單芯片微型計算機(Single Chip Micro Computer),簡稱單片機.由于它的結構與指令功能都是按工業(yè)控制要求設計的。是把構成一臺微型計算機的主要部件如中央處理器(CPU)、
7、存儲器(RAM/ROM)和各種功能I/O接口集成在一塊芯片上的單芯片微型計算機(Single Chip Micro Computer),簡稱單片機.由于它的結構與指令功能都是按工業(yè)控制要求設計的,且近年來單片機著力擴展了各種控制功能如A/D、PWM等,因此我們更多時候稱其為一個單片形態(tài)的微控制器可靈活地組裝成各種智能控制裝置,并能有針對性設計成專用系統,解決從簡單到復雜的各種需要,實現最佳的性價比。特別是單片機與傳統機械產品相結合,使原有機械產品的結構簡化、控制智能化。如數控機床就是典型實例。近年來,單片機發(fā)展極快,其產量占微機產量的70%以上控制線和地線進行連接,數據在數據線上一位一位地進行
8、傳輸,每一位數據都占據一個固定的時間長度。在計算機系統中,每個字符一般使用一個8位二進制代碼表示。在數據通信中1.單片機概述單片機也被稱作“單片微型計算機”、“微控制器”、“嵌入式微控制器”。單片機一詞最初是源于“Single Chip Microcomputer”,簡稱SCM。隨著SCM在技術上、體系結構上不斷擴展其控制功能,單片機已不能用“單片微型計算機”來表達其內涵。國際上逐漸采用“MCU”(Micro Controller Unit)來代替,形成了單片機界公認的、最終統一的名詞。為了與國際接軌,以后應將中文“單片機”一詞和“MCU”唯一對應解釋。在國內因為“單片機”一詞已約定俗成,故而
9、可繼續(xù)沿用。1.1 單片機的發(fā)展歷史如果將8位單片機的推出作為起點,那么單片機的發(fā)展歷史大致可以分為以下幾個階段:第一階段(19761978):單片機的探索階段。以Intel公司的MCS-48為代表。MCS-48的推出是在工控領域的探索,參與這一探索的公司還有Motorola、Zilog等。都取得了滿意的效果。這就是SCM的誕生年代,“單片機”一詞即由此而來。第二階段(19781982):單片機的完善階段。Intel公司在MCS-48基礎上推出了完善的、典型的單片機系列MCS-51。它在以下幾個方面奠定了典型的通用總線型單片機體系結構。1.完善的外部總線。MCS-51設置了經典的8位單片機的總
10、線結構,包括8位數據總線、16位地址總線、控制總線及具有多機通信功能的串行通信接口。2.CPU外圍功能單元的集中管理模式。3.體現工控特性的地址空間及位操作方式。4.指令系統趨于豐富和完善,并且增加了許多突出控制功能的指令。第三階段(19821990):8位單片機的鞏固發(fā)展及16位單片機的推出階段,也是單片機向微控制器發(fā)展的階段。Intel公司推出的MCS-96系列單片機,將一些用于測控系統的模數轉換器、程序運行監(jiān)視器、脈寬調制器等納入片中,體現了單片機的微控制器特征。第四階段(1990):微控制器的全面發(fā)展階段。隨著單片機在各個領域全面、深入地發(fā)展和應用,出現了高速、大尋址范圍、強運算能力的
11、8位/16位/32位通用型單片機,以及小型廉價的專用型單片機。目前,單片機正朝著高性能和多品種方向發(fā)展,今后單片機的發(fā)展趨勢將是進一步向著CMOS化、低功耗化、低電壓化、低噪聲與高可靠性、大容量化、高性能化、小容量、低價格化、外圍電路內裝化和串行擴展技術。1.2 單片機的特點單片機主要有如下特點:1.有優(yōu)異的性能價格比。2.集成度高、體積小、有很高的可靠性。單片機把各功能部件集成在一塊芯片上,內部采用總線結構,減少了各芯片之間的連線,大大提高了單片機的可靠性和抗干擾能力。另外,其體積小,對于強磁場環(huán)境易于采取屏蔽措施,適合在惡劣環(huán)境 下工作。3.制功能強。為了滿足工業(yè)控制的要求,一般單片機的指
12、令系統中均有極豐富的轉移指令、I/O口的邏輯操作以及位處理功能。單片機的邏輯控制功能及運行速度均高于同一檔次的微機。4.低功耗、低電壓,便于生產便攜式產品。5.外部總線增加了I2C(Inter-Integrated Circuit)及SPI(Serial Peripheral Interface)等串行總線方式,進一步縮小了體積,簡化了結構。6.單片機的系統擴展和系統配置較典型、規(guī)范,容易構成各種規(guī)模的應用系統。1.3單片機的應用由于單片機具有顯著的優(yōu)點,它已成為科技領域的有力工具,人類生活的得力助手。它的應用遍及各個領域,主要表現在以下幾個方面:1.單片機在智能儀表中的應用2.單片機在機電一
13、體化中的應用3.單片機在實時控制中的應用4.單片機在分布式多機系統中的應用5.單片機在人類生活中的應用單片機已成為計算機發(fā)展和應用的一個重要方面,另一方面,單片機應用的重要意義還在于,它從根本上改變了傳統的控制系統設計思想和設計方法。從前必須由模擬電路或數字電路實現的大部分功能,現在已能通過單片機來實現了。這種用軟件代替硬件的控制技術也稱為微控制技術,是對傳統控制技術的一次革命。A:由單片機組成控制器的結構和特點: 單片微型計算機是微型計算機發(fā)展中的一個重要分支,是把構成一臺微型計算機的主要部件如中央處理器(CPU)、存儲器(RAM/ROM)和各種功能I/O接口集成在一塊芯片上的單芯片微型計算
14、機(Single Chip Micro Computer),簡稱單片機.由于它的結構與指令功能都是按工業(yè)控制要求設計的,且近年來單片機著力擴展了各種控制功能如A/D、PWM等,因此我們更多時候稱其為一個單片形態(tài)的微控制器(Single Chip Micro Controller),或直接稱其為微控制器(Micro Controller)。B:用單片機組成的微機控制系統具有以下特點:1.受集成度限制,片內存儲器容量較小,一般片內ROM小于48K字節(jié),片內RAM小于256字節(jié);但可在外部進行擴展,如MCS51系列單片機的片外可擦可編程只讀存儲器(EPROM)、靜態(tài)隨機存儲器(SRAM)可分別擴展至
15、64K字節(jié)。2.可靠性高。單片機芯片本身是按工業(yè)控制環(huán)境要求設計的,其抗工業(yè)噪聲的能力優(yōu)于一般通用CPU;程序指令及其常數、表格固化在ROM中不易破壞;常用信號通道均在一個芯片內,故可靠性高。3.易擴展。片內具有計算機正常運行所必須的部件,芯片外部有許多供擴展用的總線及并行、串行輸入/輸出端口,很容易構成各種規(guī)模的微機控制系統。4.控制功能強。為了滿足工業(yè)控制要求,單片機的指令系統中有極豐富的條件分支轉移指令、I/O口的邏輯操作以及位處理功能。一般來說,單片機的邏輯控制功能及運行速度均高于同一檔次的微處理器。5.一般的單片機內無監(jiān)控程序或系統管理軟件,軟件開發(fā)工作量大。但近年來已開始出現了片內
16、固化有BASIC解釋程序及FROTH操作系統的單片機,使單片機系統的開發(fā)提高了一個新水平。此外,單片機成本低、集成度高、控制功能多,可靈活地組裝成各種智能控制裝置,并能有針對性設計成專用系統,解決從簡單到復雜的各種需要,實現最佳的性價比。特別是單片機與傳統機械產品相結合,使原有機械產品的結構簡化、控制智能化。如數控機床就是典型實例。近年來,單片機發(fā)展極快,其產量占微機產量的70%以上。目前,至少有50個系列400余種機型,性能和結構各不相同,INTEL、MOTOROLA、ZILCG等公司都有系列單片微型計算機。國內普及的幾乎都是INTEL公司的產品。14 AT89C51單片機簡介AT89C51
17、是美國ATMEL公司生產的低電壓,高性能的CMOS8位單片機片內4Kbytes的可反復擦寫的只讀程序存儲器(PEROM)和128bytes的隨機存儲器(RAM),器件采用ATMEL公司的高密度、非易失存儲技術生產,兼容標準MCS-51指令系統,片內置通用8位中央處理器(CPU)和Flash存儲單元,功能強大。AT89C51單片機可為你提供許多高性價的應用場合,可靈活的應用于各種控制領域。圖1.1 單片機AT89C51主要性能參數:·與MCS-51產品指令系統的全兼容 ·4k字節(jié)可重擦寫Flash閃速存儲器·1000次可擦寫周期·全靜態(tài)操作:0Hz-24M
18、Hz·三級加密程序存儲器·128×8字節(jié)內部RAM ·32個可編程I/O口線·2個16位定時/計數器·6個中斷源·可編程串行UART通道·低功耗空閑和掉電模式 AT89C51功能特性描述:AT89C51提供以下標準功能:4k字節(jié)Flash閃速存儲器,128字節(jié)內部RAM,32個I/O口線,兩個16位定時/計數器,一個5向量中斷結構,一個全雙工串行通信口,片內震蕩器及時鐘電路。同時,AT89C51可降至0Hz的靜態(tài)邏輯操作,并支持兩種軟件的可選的節(jié)電工作模式??臻e方式停止CPU的工作,但允許RAM,定時/計數器,竄行
19、通信口及中斷系統繼續(xù)工作。掉電方式保存RAM中的內容,但震蕩器停止工作并禁止所有部件工作直到下一個硬件復位。(1) AT89C51引腳功能說明:·Vcc:電源電壓·GND:地·P0口:PO口是一組8位漏極開路行雙向I/O口,也既地址/數據總線復用口??勺鳛檩敵隹谑褂脮r,每位可吸收電流的方式驅動8個TTL邏輯電路,對端口寫“1”可作為高阻抗輸入輸入端用。在訪問外部數據存儲器時,這組口線分時轉換地址(低8位)和數據總線復用,在訪問期間激活內部上拉電阻。在Flash編程時,PO口接收指令字節(jié),而在程序校驗時,輸出指令字節(jié),校驗時,要求接上拉電阻。·P1口:P1
20、口是一個內部上拉電阻的8位雙向I/O口,P1的輸入緩沖級可驅動(吸收或輸出電流)4個TTL邏輯門電路。對端口寫“1”,通過內部的上拉電阻把端口拉到高電平,此時可作輸出口。作輸入口時,因為內部存在上拉電阻,某個引腳被外部信號拉低時輸出一個電流(I)。Flash編程和程序校驗期間,P1口接收8位地址。·P2口:P2口是一個帶有內部上拉電阻的8位雙向I/O口,P2的輸入緩沖極可以驅動(輸入或輸出電流)4個TTL邏輯門電路。對端口“1”,通過內部的上拉電阻把端口拉到高電平,此時和作為輸出口,作輸出口時,因為存在內部上拉電阻,某個引腳被外部信號拉低時會輸出一個電流。在訪問外部存儲器或1位地址的
21、外部數據存儲器(例如執(zhí)行MOVXDPTR指令)時,P2口送出高8位地址數據。在訪問8位地址的外部數據存儲器(如執(zhí)行MOVXRI指令)時,P2口線的內容(也既特殊功能寄存器(SFR)區(qū)中R2寄存器的內容),在整個訪問期間不改變。Flash編程或校驗時,P2亦接收高地址和其他控制信號。·P3口:P3口是一組帶有內部上拉電阻的8位雙向I/O口,P1的輸入緩沖級可驅動(吸收或輸出電流)4個TTL邏輯門電路。對P3口寫入“1”時,它們被內部上拉電阻拉高并可作為輸出端口。作輸出端口時,被外部拉低的P3口將用上拉電阻輸出電流。P3口除可作為一般的I/O口線外,更重要的用途是它的第二功能,如表1.2
22、所示:P3口還接收一些用于Flas 閃速存儲器編程和程序校驗的控制信號圖1.2 AT89C51方框圖·RST:復位輸出。當震蕩器工作時,RST引腳出現兩個機器周期以上高電平使機器復位。 ·ALE/當訪問外部程序存儲器或數據存儲器時,ALE(地址鎖存允許)輸出脈沖用于鎖存地址的低8位字節(jié),即使不訪問外部字節(jié),ALE仍時鐘震蕩頻率的1/6輸出固定的正脈沖信號,因此它可對外輸出時鐘脈沖或用于定時目的。要注意的是:每次訪問外部存儲器時將跳過一個ALE脈沖。對Flash存儲器編程期間,該引腳還要輸入編程脈沖()。如有必要,可通過對特殊功能寄存器(SFR)區(qū)中的8EH單元的D0位置位,
23、可禁止ALE操作。該位置位后,只有一條MOVX和MOVC指令可激活。此外,此引腳會被微弱拉高,單片機執(zhí)行外部程序時,應該置ALE無效。·:程序存入允許()輸出的是外部程序存儲器的讀選通信號,當表1.3 AT89C51端口AT89C51由外部程序取指令(或數據)時,每個機器周期兩次有效,既輸出兩個脈沖。在此期間,當訪問外部數據存儲器,這兩次有效的信號不出現。·EA/VPP:外部訪問允許。欲使CPU僅訪問外部程序存儲器(地址為0000H-FFFFH),EA端必須保持低電平(接地)。要注意的是:如果加密位LB1被編程,復位時內部會鎖存EA端狀態(tài)。Flash存儲器編程時,該引腳加上
24、+12V的編程允許電源Vpp,當然這必須是該器件是使用12V的編程電壓Vpp。·XTAL1:震蕩器反向放大器及內部時鐘的輸入端。·XAAL2:震蕩器反向放大器的輸出端。·時鐘震蕩器:AT89C51中有一個構成內部震蕩器的高增益反向放大器,引腳XTAL1和XTAL2分別是該放大器的輸入端和輸出端。這個放大器與作為反饋元件的片外石英或陶瓷震蕩器一起構成自激震蕩器震蕩電路如圖。外接石英晶體(或陶瓷震蕩器)及電容C1、C2接在放大器的震蕩回路中構成并聯震蕩電路。對外接電容C1、C2雖然沒有非常嚴格的要求,但電容的大小會輕微影響震蕩頻率的高低、震蕩工作的穩(wěn)定性、起震的難易程
25、序及溫度穩(wěn)定性,如果使用石英晶體,推薦使用30pF±10pF,而如果使用陶瓷諧振器建議選擇40pF±10pF。用戶還可以采用外部時鐘,采用外部時鐘如圖所示。在這種情況下,外部時鐘脈沖接到XTAL1端,既內部時鐘發(fā)生器的輸入端,XTAL2懸空。 圖1.4 內部震蕩電路 圖1.5 外部震蕩電路由于外部時鐘信號是通過一個2分頻的觸發(fā)器后作為內部時鐘信號的所以外部 寄存器內容寄存器內容PC0000HTMOD00HACC00HTCOM00HB00HTH000HPSW00HTLO00HSP07HTH100H0DPTR0000HTH100HP1P30FFHSCON00HIPxxx0000
26、0SBUF不定IE0xxx00000PCON0xxx00000表1.6 AT89C51寄存器時鐘的占空比沒有特殊要求,但最小高電平持續(xù)的時間和最大低電平持續(xù)的時間應符合產品技術條件的要求。·Flash閃速存儲器的編程:AT89C51單片機內部有4K字節(jié)的Flash PEROM,這個Flash存儲存儲陣列出廠時已處于擦除狀態(tài)(既所有存儲單元的內容均為FFH),用戶隨時可對其進行編程。程序接收高電壓(+12V)或低電壓(Vcc)的允許編程信號。低電壓編程模式,適用與用戶在線編程系統。而高電平模式可與通用EPROM編程程序兼容。·編程方法:編程前需設置好地址、數據及控制信號,編程
27、單元的地址就、加在P1口和P2口的P2.0P2.3(11位地址范圍為0000H0FFFH),數據從P0口輸入,引腳P2.6、P2.7和P3.6、P3.7的電平設置見表。PSEN為低電平,RST保持高電平,EA/Vp 引腳是編程電源的輸入端,按要求加上編程電壓,ALE/PROG引腳輸入編程脈沖(負脈沖)編程時可采用420MHz的時鐘震蕩器AT89C51的編程方法如下:1.0 在地址線上加上要編程單元的地址信號。1.在數據線上加上要寫入的數據字節(jié)。2.激活相應的控制信號。3.在高電壓編程時,將EA/Vpp端加上+1V編程電壓。4.每對Flash存儲陣列寫入一個字節(jié),加上一個ALE/PROG編程脈沖
28、。(2) AT89C51控制信號RST/VPD(9腳)復位信號時鐘電路工作后,在引腳上出現兩個機器周期的高電平,芯片內部進行初始復位,復位后片內存儲器的狀態(tài)如表所示,P1P3口輸出高電平,初始值07H寫入堆棧指針SP、清0程序計數器PC和其余特殊功能寄存器,但始終不影響片內RAM狀態(tài),只要該引腳保持高電平,89C51將循環(huán)復位,RAT/VPD從高電平到低電平單片機將從0號單元開始執(zhí)行程序,另外該引腳還具有復用功能,只要將VPD接+5V備用電源,一旦Vcc電位突然降低或斷電,能保護片內RAM中的信息不丟失,恢復電后能正常工作。AT89C81通常采用上電自動復位和開關手動復位,我們采用的是手動復位
29、開關如圖所示:圖1.7 手動開關手動開關未按下之前,電容正極處于家電狀態(tài),當按鍵按下去后,VCC與GND導通,電容放電,從而實現放電。2.單片機的串行接口MCS-51單片機內部有一個 全雙工的串行接收和發(fā)射緩沖器(SBUFF),這兩個在物理上獨立的接收發(fā)射器,即可以接收也可以發(fā)射數據,但接收緩沖器只可以讀出不能寫入,而發(fā)送緩沖器只能寫入不能讀出,它們的地址是99H。這個通信口即可以用于網絡通信,亦可以實現串行異步通信,還可以構成同步移位寄存器使用。如果在串行口的輸入輸出引腳上加上電平轉換器,就可以方便的構成標準的RS-232接口。下面我們分別介紹。2.1 基本概念數據通信的傳輸方式:常用于數據
30、通信的傳輸方式有單工、半雙工、全雙工和工方式。單工方式:數據僅按一個固定的方向傳送。因為這種傳輸方式的用途有限,常用于串行口的打印數據傳輸與簡單系統間的數據采集。雙工方式:數據可以實現雙向傳送,但不能同時進行,實際的應用采用某種協議實現收發(fā)開關轉換。全雙工方式:允許雙方同時進行數據雙向傳送,但一般全雙工電路的線路和設備比較復雜。多工方式:以上三種傳輸方式都是同一線路傳輸一種頻率信號,為了充分的利用線路資源,可通過使用多路復用器或多路集線器,采用頻分、時分、或碼分復用技術,即可實現在同一線路上資源共享功能,我們稱之為多工傳輸方式。串行通信的兩種通信形式A. 異步通信 在這種通信方式中,接收器和發(fā)
31、射器有各自的時鐘,他們的工作是非同步的,異步通信用一幀來表示一個字符,其內容如下:一個起始位,緊接著是若干個數據位,圖 是傳輸45H的數據格式。B.同步通信 同步通信格式中,發(fā)送器和接收器由同一個時鐘源控制,為了克服在異步傳輸中,每傳輸一幀字符都必須加上起始位和停止位,占用了傳輸時間,在要求傳送的數據量較大的C. 串行數據通信的傳輸速率: 串行數據傳輸率有兩個概念,既美秒傳送的位數bps(Bit per second)和美秒符號數-波特率(Band rate),在具有調治解調器的通信中,波特率與調治速率有關。2.2 串行口和控制寄存器MCS-51單片機串行口專用寄存器結構如圖所示。SBUF為串
32、行口的收發(fā)緩沖器,它是一個可尋址的專用寄存器,其中包含了接收器和發(fā)射器寄存器,可以實現全雙工通信。但這兩個寄存器具有同一地址(99H)。MCS-51的串行數據傳輸很簡單,只要向緩沖器寫入數據就可發(fā)送數據。而從接收緩沖器讀出數據既可接收數據。此外,接收緩沖器前還加上一級輸入移位寄存器,MCS-51這種結構的目的在于接收數據時避免發(fā)生重疊現象,文獻稱這種結構為雙緩沖結構。而發(fā)送數據就不需要這樣設計,因為發(fā)送時,CPU是主動的,不可能出現這種情況。A:串行通信寄存器在上一節(jié)我們已經分析了SCON控制寄存器,它是一個可尋址的專用寄存器,用于串行數據通信的控制,單元地址是98H,其結構格式如下:表2.1
33、 寄存器SCON結構SCOND7D6D5D4D3D2D1D0SM0SM1SM2RENTB8RB8TIRI位地址9FH9EH8DH9CH9BH9AH99H98H表2.1 SCON寄存器結構下面我們對個控制位功能介紹如下:(1)SM0、SM1:串行口工作方式控制位 SMO SM1 工作方式 功能說明 0 0 方式0 移位寄存器方式(用于I/O擴展) 0 1 方式1 8位UART,波特率可變(T1溢出率/ n) 1 0 方式2 9 位UART,波特率為fosc/64或fosc/321 1 方式3 9位UART,波特率可變(T1溢出率/ n) (2)SM2:多機通信控制位多機通信是工作方式2和方式3,
34、SM2位主要用于方式2和方式3。接收狀態(tài),當串行口工作方式2或3,以及SM2=1時,只有當接收到第9位數據(RB8)為1時,才把接收的前8位數據送入SBUF,且置位RI發(fā)出中斷申請,否則會將收到的數據放棄。當SM2=0時,只有在接收到有效停止位時才啟動RI,若沒接收到有效停止位,則RI清“0”。在方式0中SM2應該為“0”。REN:允許接收控制位。由軟件置“1”時,允許接收;軟件置“0”時,不許接收。TB8:在方式3和方式3中要發(fā)送的第9位數據,需要時用軟件置位和清零。TB8:在方式2和方式3中是接收到的第9位數據。在方式1時,如SM2=0,RB8接收到的停止位。在方式0中,不使用RB8。TI
35、:發(fā)送中斷標志。由硬件在方式0發(fā)送完第8位時置“1”,或在其它方式中串行發(fā)送停止位的開始時置“1”。必須由軟件清“0”。RI:接收中斷標志。由硬件在方式0串行發(fā)射第8位結束時置“1”B:特殊功能寄存器PCONPCON:主要是是CHMOS型單片機的電源控制而設置的專用寄存器,單元地址為87H其機構格式如下表: PCOND7D6D5D4D3D2D1D0位符號SMODGF1GF0PDIDL表1.2 特殊功能寄存器PCON在CHMOS型單片機中,除SMOD位外其它位均為虛設的,SMOD是串行波特率倍增位,當SMOD=1時串行口波特率加倍,系統復位默認為SMOD=0。C:中斷允許寄存器IE中斷允許寄存器
36、這里重述一下對串行口有影響的位ES。ES為串行中斷允許控制位,ES=1允許串行中斷,ES=0,禁止串行中斷。2.2.2 串行口工作方式串行口具有4種工作方式,我從應用和畢業(yè)設計的角度,重點討論方式1發(fā)送。串行口定義為方式1時傳送1幀數據為10位,其中1位起始地址、8位數據位(先低位后高位)、1位停止位方式1的波特率可變,波特率=(T1的溢出率)符號EAESET1EX1ETOEX0位地址AFHAEHADHACHABHAAHA8HA8H表2.3 中斷允許寄存器3.串行通訊技術及硬件基本組成通常情況下,人們是通過外部設備使用計算機的,但是由于種種原因,外設往往不能與CPU直接相連,它們之間的信息交換
37、需要一個中間環(huán)節(jié)(或界面),我們稱之為接口電路。接口是CPU與外界的連接部件(電路)。串行接口是計算機的一種接口標準。在實驗和工業(yè)應用中,串口是常用的計算機與外部串行設備之間的數據傳輸通道,同時,串行接口也可以用來實現短距離的雙機通信。串行通信具有連接簡單、使用靈活方便、數據傳遞可靠等優(yōu)點。3.1硬件的基本組成單片機89C52、11.059M晶震、30pF電容、22uf/10V電容、1K電阻、MAX232轉換器,DB9接口,按鍵。3.2串行通信原理所謂“串行通信”是指外設和計算機間或者兩臺計算機之間使用了數據線、控制線和地線進行連接,數據在數據線上一位一位地進行傳輸,每一位數據都占據一個固定的
38、時間長度。在計算機系統中,每個字符一般使用一個8位二進制代碼表示。在數據通信中,通常將待傳送的每個字符的二進制代碼按照由低位到高位的順序依次發(fā)送的方式成為串行通信。 圖3.1 串行通信的示意圖3.3雙機通信連接方法對于DB-9串口,3線連接法只使用電纜中的3條線,一條作為信號地線,一條作為發(fā)送線,一條作為接收線。在連接這種電纜時需要注意,電纜中的發(fā)送線和接收線需要交叉,也就是說,一臺計算機的RS-232發(fā)送引腳需要和另一臺計算機的RS-232發(fā)送引腳相連,連接方法見圖3.2所示。圖3.2硬件連接圖4.軟件的設計和調整過程4.1 程序流程圖程序流程圖是編寫軟件的重要前提,它是在圖表上直觀的體現擬
39、設計的目的及過程。也是編譯的重要依據,按照流程圖一步一步編寫程序,下面是我的流程圖;圖4.1 串口程序設計流程 圖4.2程序設計流程4.2 通信協議通信協議是單片機和PC機之間通信不可缺少的部分,也是我此次畢業(yè)設計最重要的部分,包括下面幾方面的設置; 串行口控制寄存器SCON的設置串行口控制寄存器的基本情況在前面已經介紹,這里不再重復。根據我們所做的內容,我們采用了串行工作方式1,REN設置為“1”(允許接收),綜上所述我們設SCON的初始值為50H,如下表所示:SM0SM1SM2RENTB8TB8TIRI01010000表4.1 串行口控制寄存器 定時器的初始化設置在定時器為方式1時,方式字
40、為:CATEC/M1MOT10010T0表4.2 定時計數器的初始化GATE:表示不參與控制C/:選擇計數/時鐘方式M1MO:選定定時器1工作方式2所以定時器TMOD初始值為20H 波特率計算方式l和方式3的波特率方式1和方式3的移位時鐘脈沖由定時器T1的溢出率決定,故波特宰由定時器T1的溢出率與SMOD值同時決定,即:方式1和方式3的波特率2SMOD/32·T1溢出率其中,溢出率取決于計數速率和定時器的預置值。計數速率與TMOD寄存器中CT的狀態(tài)有關。當CT0時,計數速率fosc2;當CT1時,計數速率取決于外部輸入時鐘頻率。當定時器Tl作波特率發(fā)生器使用時,通常選用可自動裝入初值
41、模式(工作方式2),在工作方式2中,TLl作為計數用,而自動裝入的初值放在THl中,設計數初值為x,則每過“256一x”個機器周期,定時器T1就會產生一次溢出。為了避免因溢出而引起中斷,此時應禁止T1中斷。系統晶振頻率選為110592MHZ就是為了使初值為整數,從而產生精確的波特率。如果串行通信選用很低的波特率,可將定時器Tl置于工作方式0或工作方式1,但在這種情況下,T1溢出時,需用中斷服務程序重裝初值。中斷響應時間和執(zhí)行指令時間會使波特率產生一定的誤差,可用改變初值的辦法加以調整。4.3程序演示本設計主要是通過89C52單片機的串行通信端口TX(RC7)發(fā)送引腳,RX(RC6)接收引腳,手
42、法信息,把下位機(單片機)的信息通過RS232總線傳輸給上位機(PC機),上位機借助串口調試軟件接手或發(fā)送信息給下位機。為了能夠在計算機端看到單片機發(fā)出的數據,我們必須借助一個WINDOWS軟件進行觀察,這里我們主要使用串口調試軟件做演示工具,所謂串口調試軟件是指:1.用于串口調試,支持常用的110-25600波特率,能設置端口參數;2能以字符或十六進制收發(fā)數據,真正支持中文字符的收發(fā);3.支持文件數據的發(fā)送;4.允許設置發(fā)送周期,自動發(fā)送數據;5.綠色軟件,不需安裝???結我所做的是單片機通信協議設計,從開學初我就開始準備。畢業(yè)設計完成了,達到了預期的目的。一開始拿到這個題目的時候,真不知道從哪下手,在老師的指導下,自己找資料、看書,總算完成了。通過這次的畢業(yè)設計,使我對單片機有了更深的認識,從理論和實踐上都得到了很大的提高,所以這次任務的完成是我學到了很多東西。首先,豐富了自己的知識面,學到了以前沒能學通的東西,具體了解了怎樣去完成一個電路的設計:從流程圖、電路圖、焊接電路板、檢查電路板、仿真到燒片一整套東西。從畢業(yè)設計中,學到了單片機AT89C51的內部結構及其工作原理,了解了時鐘電路和控制電路的工作原理,鞏固了匯編語言的使用能
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年鐵路運輸安全管理師資格考試試卷及答案
- 2025年影視剪輯與后期制作實踐考試卷及答案
- 2025年網頁設計與制作考試試題及答案
- 2025年廣告設計與創(chuàng)意基礎考試試卷及答案
- 2025年文化產業(yè)管理專業(yè)入學考試試題及答案
- 新能源汽車高性能電機控制器研發(fā)與生產合作協議
- 高層建筑工程測量與抗震評估協議
- 直播平臺主播IP授權合作協議
- 氫能源技術員項目績效評估合同
- 多語種同傳翻譯術語庫與技術解決方案租賃合同
- 光影中國學習通超星期末考試答案章節(jié)答案2024年
- 工科中的設計思維學習通超星期末考試答案章節(jié)答案2024年
- 2020年全國II卷英語高考真題試題(答案+解析)
- 腦洞大開背后的創(chuàng)新思維學習通超星期末考試答案章節(jié)答案2024年
- 科傻平差軟件說明指導書
- ipo上市商業(yè)計劃書
- 山東省青島市市北區(qū)2023-2024學年七年級下學期英語期末考試試題
- 《養(yǎng)老護理員》-課件:老年人安全防范及相關知識
- 小兒肺炎診治考核試題及答案
- 五年級信息技術第13課畫城堡課件
- 林場儲備林建設項目施工布署及平面布置
評論
0/150
提交評論