版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、<p><b> 目錄</b></p><p> 單片機(jī)串行通信發(fā)射機(jī)1</p><p><b> 1 緒論2</b></p><p><b> 2 硬件4</b></p><p> 2.1 硬件的基本組成:4</p><p
2、> 2.2 電路圖4</p><p> 2.3 硬件介紹4</p><p> 2.3.1 單片機(jī)概述4</p><p> 2.3.2 AT89C51單片機(jī)簡介6</p><p> 2.4 單片機(jī)的串行接口11</p><p> 2.4.1 基本概念11</p>&
3、lt;p> 2.4.2 MCS-51的串行和控制寄存器12</p><p> 2.5 數(shù)碼顯示管14</p><p> 2.6 硬件的焊接及調(diào)試過程16</p><p> 2.6.1 硬件的焊接16</p><p> 3 軟件的設(shè)計(jì)和調(diào)整過程19</p><p> 3.1 程序流
4、程圖19</p><p> 3.2 通信協(xié)議19</p><p> 3.2.1 串行口控制寄存器SCON的設(shè)置20</p><p> 3.2.2 定時(shí)器的初始化設(shè)置20</p><p> 3.2.3 波特率計(jì)算20</p><p> 3.2.4 發(fā)射程序20</p><
5、;p> 3.3 編譯軟件的使用和PLDA的使用20</p><p> 3.3.1 編譯軟件的使用和編譯過程21</p><p> 3.4 燒片21</p><p> 4 單片機(jī)串行通信領(lǐng)域的擴(kuò)展22</p><p> 4.1 無線發(fā)射電路組成及工作原理:22</p><p> 4.
6、2 單片機(jī)串口接口23</p><p> 4.2.1 擴(kuò)展串行口與單片機(jī)的連接23</p><p> 4.2.2 操作指令24</p><p> 4.2.3 基于TTL電路的設(shè)計(jì)方案和工作原理24</p><p><b> 結(jié)論26</b></p><p><b&g
7、t; 參考文獻(xiàn)27</b></p><p><b> 致謝28</b></p><p><b> 附錄A29</b></p><p><b> 附錄B30</b></p><p> 單片機(jī)串行通信發(fā)射機(jī)</p><p>&l
8、t;b> 1 緒論</b></p><p> 我所做的單片機(jī)串行通信發(fā)射機(jī)主要在實(shí)驗(yàn)室完成,參考有關(guān)的書籍和資料,個(gè)人完成電路的設(shè)計(jì)、焊接、檢查、調(diào)試,再根據(jù)自己的硬件和通信協(xié)議用匯編語言編寫發(fā)射和顯示程序,然后加電調(diào)試,最終達(dá)到準(zhǔn)確無誤的發(fā)射和顯示。在這過程中需要選擇適當(dāng)?shù)脑?,合理的電路圖扎實(shí)的焊接技術(shù),基本的故障排除和糾正能力,會使用基本的儀器對硬件進(jìn)行調(diào)試,會熟練的運(yùn)用匯編語言編寫
9、程序,會用相關(guān)的軟件對自己的程序進(jìn)行翻譯,并燒進(jìn)芯片中,要與對方接收機(jī)統(tǒng)一通信協(xié)議,要耐心的反復(fù)檢查、修改和調(diào)試,直到達(dá)到預(yù)期目的。</p><p> 單片機(jī)串行通信發(fā)射機(jī)采用串行工作方式,發(fā)射并顯示兩位數(shù)字信息,既顯示00-99,使數(shù)據(jù)能夠在不同地方傳遞。硬件部分主要分兩大塊,由AT89C51和多個(gè)按鍵組成的控制模塊,包括時(shí)鐘電路、控制信號電路,時(shí)鐘采用6MHZ晶振和30pF的電容來組成內(nèi)部時(shí)鐘方式,控制信號
10、用手動開關(guān)來控制,P1口來控制,P2、P3口產(chǎn)生信號并通過共陽極數(shù)碼管來顯示,軟件采用匯編語言來編寫,發(fā)射程序在通信協(xié)議一致的情況下完成數(shù)據(jù)的發(fā)射,同時(shí)顯示程序?qū)Πl(fā)射的數(shù)據(jù)加以顯示。</p><p> 畢業(yè)設(shè)計(jì)的目的是了解基本電路設(shè)計(jì)的流程,豐富自己的知識和理論,鞏固所學(xué)的知識,提高自己的動手能力和實(shí)驗(yàn)?zāi)芰?,從而具備一定的設(shè)計(jì)能力。</p><p> 我做得的畢業(yè)設(shè)計(jì)注重于對單片機(jī)串行
11、發(fā)射的理論的理解,明白發(fā)射機(jī)的工作原理,以便以后單片機(jī)領(lǐng)域的開發(fā)和研制打下基礎(chǔ),提高自己的設(shè)計(jì)能力,培養(yǎng)創(chuàng)新能力,豐富自己的知識理論,做到理論和實(shí)際結(jié)合。本課題的重要意義還在于能在進(jìn)一步層次了解單片機(jī)的工作原理,內(nèi)部結(jié)構(gòu)和工作狀態(tài)。理解單片機(jī)的接口技術(shù),中斷技術(shù),存儲方式,時(shí)鐘方式和控制方式,這樣才能更好的利用單片機(jī)來做有效的設(shè)計(jì)。</p><p> 我的畢業(yè)設(shè)計(jì)分為兩個(gè)部分,硬件部分和軟件部分。硬件部分介紹:
12、單片機(jī)串行通信發(fā)射機(jī)電路的設(shè)計(jì),單片機(jī)AT89C51的功能和其在電路的作用。介紹了AT89C51的管腳結(jié)構(gòu)和每個(gè)管腳的作用及各自的連接方法。AT89C51與MCS-51兼容,4K字節(jié)可編程閃爍存儲器,壽命:1000次可擦,數(shù)據(jù)保存10年,全靜態(tài)工作:0HZ-24HZ,三級程序存儲器鎖定,128*8位內(nèi)部RAM,32跟可編程I/O線,兩個(gè)16位定時(shí)/計(jì)數(shù)器,5個(gè)中斷源,5個(gè)可編程串行通道,低功耗的閑置和掉電模式,片內(nèi)震蕩和時(shí)鐘電路,P0和
13、P1可作為串行輸入口,P3口因?yàn)槠涔苣_有特殊功能,可連接其他電路。例如P3.0RXD作為串行輸出口,其中時(shí)鐘電路采用內(nèi)時(shí)鐘工作方式,控制信號采用手動控制。數(shù)據(jù)的傳輸方式分為單工、半雙工、全雙工和多工工作方式;串行通信有兩種形式,異步和同步通信。介紹了串行串行口控制寄存器,電源管理寄存器PCON,中斷允許寄存器IE,還介紹了數(shù)碼顯示管的工作方式、組成,共陽極和共陰極數(shù)碼顯示管的電路組成,有動態(tài)和靜態(tài)顯示兩種方式,說明了不同顯示方法與單片機(jī)
14、的連接。再后來還介紹了硬件的焊接過程,及在焊接時(shí)遇到的問題和</p><p> 我所設(shè)計(jì)的單片機(jī)串行接口現(xiàn)在已經(jīng)發(fā)展到無線收發(fā)的階段,本文參考無線發(fā)射部分就是參考南華大學(xué)黃智偉、朱衛(wèi)華的《單片機(jī)與嵌入式系統(tǒng)應(yīng)用》一文,該串行無線發(fā)射電路結(jié)構(gòu)簡單、工作可靠,可方便地在單片機(jī)與單片機(jī)之間,構(gòu)成一個(gè)點(diǎn)對點(diǎn)、一點(diǎn)對多點(diǎn)的無線串行數(shù)據(jù)傳輸通道。單片機(jī)無線串行接口電路由MICRF102單片發(fā)射器芯片、MICRF007單片接
15、收器芯片組成,工作在300~440 MHz ISM頻段;具有ASK調(diào)制和解調(diào)能力,抗干擾能力強(qiáng),適合工業(yè)控制應(yīng)用;采用PLL頻率合成技術(shù),頻率穩(wěn)定性好;接收靈敏度高達(dá) -96 dBm,最大發(fā)射功率達(dá)-2.5 dBm;數(shù)據(jù)速率可達(dá)2 Kb/s;低工作電壓:4.75~5.5 V;功耗低,接收時(shí)電流3 mA,發(fā)射時(shí)電流7.75 mA,接收待機(jī)狀態(tài)僅為0.5μA,發(fā)射待機(jī)狀態(tài)僅為1.0μA;可用于單片機(jī)之間的串行數(shù)據(jù)無線傳輸,也可在單片機(jī)數(shù)據(jù)采
16、集、遙測遙控等系統(tǒng)中應(yīng)用。</p><p> 最后介紹了畢業(yè)設(shè)計(jì)做完后的結(jié)論以及自己的心得體會。</p><p><b> 2 硬件</b></p><p> 2.1 硬件的基本組成:</p><p> 單片機(jī)89C51、6M晶震、30pF電容、22uf/10V電容、1K電阻、共陽極數(shù)碼顯示管、按鍵。<
17、/p><p><b> 2.2 電路圖 </b></p><p><b> ?。ㄒ姼戒汚)</b></p><p><b> 2.3 硬件介紹</b></p><p> 2.3.1 單片機(jī)概述</p><p> 單片機(jī)也被稱作“單片微型計(jì)算機(jī)”
18、、“微控制器”、“嵌入式微控制器”。單片機(jī)一詞最初是源于“Single Chip Microcomputer”,簡稱SCM。隨著SCM在技術(shù)上、體系結(jié)構(gòu)上不斷擴(kuò)展其控制功能,單片機(jī)已不能用“單片微型計(jì)算機(jī)”來表達(dá)其內(nèi)涵。國際上逐漸采用“MCU”(Micro Controller Unit)來代替,形成了單片機(jī)界公認(rèn)的、最終統(tǒng)一的名詞。為了與國際接軌,以后應(yīng)將中文“單片機(jī)”一詞和“MCU”唯一對應(yīng)解釋。在國內(nèi)因?yàn)椤皢纹瑱C(jī)”一詞已約定俗成,
19、故而可繼續(xù)沿用。</p><p> 2.3.1.1 單片機(jī)的發(fā)展歷史</p><p> 如果將8位單片機(jī)的推出作為起點(diǎn),那么單片機(jī)的發(fā)展歷史大致可以分為以下幾個(gè)階段:</p><p> 第一階段(1976—1978):單片機(jī)的探索階段。以Intel公司的MCS-48為代表。MCS-48的推出是在工控領(lǐng)域的探索,參與這一探索的公司還有Motorola、Zilo
20、g等。都取得了滿意的效果。這就是SCM的誕生年代,“單片機(jī)”一詞即由此而來。</p><p> 第二階段(1978—1982):單片機(jī)的完善階段。Intel公司在MCS-48基礎(chǔ)上推出了完善的、典型的單片機(jī)系列MCS-51。它在以下幾個(gè)方面奠定了典型的通用總線型單片機(jī)體系結(jié)構(gòu)。</p><p> 1.完善的外部總線。MCS-51設(shè)置了經(jīng)典的8位單片機(jī)的總線結(jié)構(gòu),包括8位數(shù)據(jù)總線、16位
21、地址總線、控制總線及具有多機(jī)通信功能的串行通信接口。</p><p> 2.CPU外圍功能單元的集中管理模式。</p><p> 3.體現(xiàn)工控特性的地址空間及位操作方式。</p><p> 4.指令系統(tǒng)趨于豐富和完善,并且增加了許多突出控制功能的指令。</p><p> 第三階段(1982—1990):8位單片機(jī)的鞏固發(fā)展及16位單片
22、機(jī)的推出階段,也是單片機(jī)向微控制器發(fā)展的階段。Intel公司推出的MCS-96系列單片機(jī),將一些用于測控系統(tǒng)的模數(shù)轉(zhuǎn)換器、程序運(yùn)行監(jiān)視器、脈寬調(diào)制器等納入片中,體現(xiàn)了單片機(jī)的微控制器特征。</p><p> 第四階段(1990—):微控制器的全面發(fā)展階段。隨著單片機(jī)在各個(gè)領(lǐng)域全面、深入地發(fā)展和應(yīng)用,出現(xiàn)了高速、大尋址范圍、強(qiáng)運(yùn)算能力的8位/16位/32位通用型單片機(jī),以及小型廉價(jià)的專用型單片機(jī)。</p&g
23、t;<p> 2.3.1.2 單片機(jī)的發(fā)展趨勢</p><p> 目前,單片機(jī)正朝著高性能和多品種方向發(fā)展,今后單片機(jī)的發(fā)展趨勢將是進(jìn)一步向著CMOS化、低功耗化、低電壓化、低噪聲與高可靠性、大容量化、高性能化、小容量、低價(jià)格化、外圍電路內(nèi)裝化和串行擴(kuò)展技術(shù)。隨著半導(dǎo)體集成工藝的不斷發(fā)展,單片機(jī)的集成度將更高、體積將更小和功能將更強(qiáng)。</p><p> 2.3.1.3
24、 單片機(jī)的特點(diǎn)</p><p> 單片機(jī)主要有如下特點(diǎn):</p><p> 1.有優(yōu)異的性能價(jià)格比。</p><p> 2.集成度高、體積小、有很高的可靠性。單片機(jī)把各功能部件集成在一塊芯片上,內(nèi)部采用總線結(jié)構(gòu),減少了各芯片之間的連線,大大提高了單片機(jī)的可靠性和抗干擾能力。另外,其體積小,對于強(qiáng)磁場環(huán)境易于采取屏蔽措施,適合在惡劣環(huán)境 下工作。<
25、;/p><p> 3.制功能強(qiáng)。為了滿足工業(yè)控制的要求,一般單片機(jī)的指令系統(tǒng)中均有極豐富的轉(zhuǎn)移指令、I/O口的邏輯操作以及位處理功能。單片機(jī)的邏輯控制功能及運(yùn)行速度均高于同一檔次的微機(jī)。</p><p> 4.低功耗、低電壓,便于生產(chǎn)便攜式產(chǎn)品。</p><p> 5.外部總線增加了I2C(Inter-Integrated Circuit)及SPI(Serial
26、Peripheral Interface)等串行總線方式,進(jìn)一步縮小了體積,簡化了結(jié)構(gòu)。</p><p> 6.單片機(jī)的系統(tǒng)擴(kuò)展和系統(tǒng)配置較典型、規(guī)范,容易構(gòu)成各種規(guī)模的應(yīng)用系統(tǒng)。</p><p> 2.3.1.4 單片機(jī)的應(yīng)用</p><p> 由于單片機(jī)具有顯著的優(yōu)點(diǎn),它已成為科技領(lǐng)域的有力工具,人類生活的得力助手。它的應(yīng)用遍及各個(gè)領(lǐng)域,主要表現(xiàn)在以下幾
27、個(gè)方面:</p><p> 1.單片機(jī)在智能儀表中的應(yīng)用</p><p> 2.單片機(jī)在機(jī)電一體化中的應(yīng)用</p><p> 3.單片機(jī)在實(shí)時(shí)控制中的應(yīng)用</p><p> 4.單片機(jī)在分布式多機(jī)系統(tǒng)中的應(yīng)用</p><p> 5.單片機(jī)在人類生活中的應(yīng)用</p><p> 單片機(jī)已
28、成為計(jì)算機(jī)發(fā)展和應(yīng)用的一個(gè)重要方面,另一方面,單片機(jī)應(yīng)用的重要意義還在于,它從根本上改變了傳統(tǒng)的控制系統(tǒng)設(shè)計(jì)思想和設(shè)計(jì)方法。從前必須由模擬電路或數(shù)字電路實(shí)現(xiàn)的大部分功能,現(xiàn)在已能通過單片機(jī)來實(shí)現(xiàn)了。這種用軟件代替硬件的控制技術(shù)也稱為微控制技術(shù),是對傳統(tǒng)控制技術(shù)的一次革命。</p><p> A:由單片機(jī)組成控制器的結(jié)構(gòu)和特點(diǎn): </p><p> 單片微型計(jì)算機(jī)是微型計(jì)算機(jī)發(fā)展中的一個(gè)
29、重要分支,是把構(gòu)成一臺微型計(jì)算機(jī)的主要部件如中央處理器(CPU)、存儲器(RAM/ROM)和各種功能I/O接口集成在一塊芯片上的單芯片微型計(jì)算機(jī)(Single Chip Micro Computer),簡稱單片機(jī).由于它的結(jié)構(gòu)與指令功能都是按工業(yè)控制要求設(shè)計(jì)的,且近年來單片機(jī)著力擴(kuò)展了各種控制功能如A/D、PWM等,因此我們更多時(shí)候稱其為一個(gè)單片形態(tài)的微控制器(Single Chip Micro Controller),或直接稱其為微控
30、制器(Micro Controller)。</p><p> B:用單片機(jī)組成的微機(jī)控制系統(tǒng)具有以下特點(diǎn):</p><p> 1.受集成度限制,片內(nèi)存儲器容量較小,一般片內(nèi)ROM小于4—8K字節(jié),片內(nèi)RAM小于256字節(jié);但可在外部進(jìn)行擴(kuò)展,如MCS—51系列單片機(jī)的片外可擦可編程只讀存儲器(EPROM)、靜態(tài)隨機(jī)存儲器(SRAM)可分別擴(kuò)展至64K字節(jié)。</p><
31、;p> 2.可靠性高。單片機(jī)芯片本身是按工業(yè)控制環(huán)境要求設(shè)計(jì)的,其抗工業(yè)噪聲的能力優(yōu)于一般通用CPU;程序指令及其常數(shù)、表格固化在ROM中不易破壞;常用信號通道均在一個(gè)芯片內(nèi),故可靠性高。</p><p> 3.易擴(kuò)展。片內(nèi)具有計(jì)算機(jī)正常運(yùn)行所必須的部件,芯片外部有許多供擴(kuò)展用的總線及并行、串行輸入/輸出端口,很容易構(gòu)成各種規(guī)模的微機(jī)控制系統(tǒng)。</p><p> 4.控制功能強(qiáng)
32、。為了滿足工業(yè)控制要求,單片機(jī)的指令系統(tǒng)中有極豐富的條件分支轉(zhuǎn)移指令、I/O口的邏輯操作以及位處理功能。一般來說,單片機(jī)的邏輯控制功能及運(yùn)行速度均高于同一檔次的微處理器。</p><p> 5.一般的單片機(jī)內(nèi)無監(jiān)控程序或系統(tǒng)管理軟件,軟件開發(fā)工作量大。但近年來已開始出現(xiàn)了片內(nèi)固化有BASIC解釋程序及FROTH操作系統(tǒng)的單片機(jī),使單片機(jī)系統(tǒng)的開發(fā)提高了一個(gè)新水平。</p><p> 此
33、外,單片機(jī)成本低、集成度高、控制功能多,可靈活地組裝成各種智能控制裝置,并能有針對性設(shè)計(jì)成專用系統(tǒng),解決從簡單到復(fù)雜的各種需要,實(shí)現(xiàn)最佳的性價(jià)比。特別是單片機(jī)與傳統(tǒng)機(jī)械產(chǎn)品相結(jié)合,使原有機(jī)械產(chǎn)品的結(jié)構(gòu)簡化、控制智能化。如數(shù)控機(jī)床就是典型實(shí)例。近年來,單片機(jī)發(fā)展極快,其產(chǎn)量占微機(jī)產(chǎn)量的70%以上。目前,至少有50個(gè)系列400余種機(jī)型,性能和結(jié)構(gòu)各不相同,INTEL、MOTOROLA、ZILCG等公司都有系列單片微型計(jì)算機(jī)。國內(nèi)普及的幾乎都
34、是INTEL公司的產(chǎn)品。</p><p> 2.3.2 AT89C51單片機(jī)簡介</p><p> AT89C51是美國ATMEL公司生產(chǎn)的低電壓,高性能的CMOS8位單片機(jī)片內(nèi)4Kbytes的可反復(fù)擦寫的只讀程序存儲器(PEROM)和128bytes的隨機(jī)存儲器(RAM),器件采用ATMEL公司的高密度、非易失存儲技術(shù)生產(chǎn),兼容標(biāo)準(zhǔn)MCS-51指令系統(tǒng),片內(nèi)置通用8位中央處理器(C
35、PU)和Flash存儲單元,功能強(qiáng)大。AT89C51單片機(jī)可為你提供許多高性價(jià)的應(yīng)用場合,可靈活的應(yīng)用于各種控制領(lǐng)域。</p><p><b> AT89C51</b></p><p> 圖2.1 單片機(jī)AT89C51</p><p><b> 主要性能參數(shù):</b></p><p> &
36、#183;與MCS-51產(chǎn)品指令系統(tǒng)的全兼容 </p><p> ·4k字節(jié)可重擦寫Flash閃速存儲器</p><p> ·1000次可擦寫周期</p><p> ·全靜態(tài)操作:0Hz-24MHz</p><p> ·三級加密程序存儲器</p><p>
37、 ·128×8字節(jié)內(nèi)部RAM </p><p> ·32個(gè)可編程I/O口線</p><p> ·2個(gè)16位定時(shí)/計(jì)數(shù)器</p><p><b> ·6個(gè)中斷源</b></p><p> ·可編程串行UART通道</p><p>
38、 ·低功耗空閑和掉電模式 </p><p> 2.3.2.1 AT89C51功能特性描述:</p><p> AT89C51提供以下標(biāo)準(zhǔn)功能:4k字節(jié)Flash閃速存儲器,128字節(jié)內(nèi)部RAM,32個(gè)I/O口線,兩個(gè)16位定時(shí)/計(jì)數(shù)器,一個(gè)5向量中斷結(jié)構(gòu),一個(gè)全雙工串行通信口,片內(nèi)震蕩器及時(shí)鐘電路。同時(shí),AT89C51可降至0Hz的靜態(tài)邏輯操作,并支持兩種軟件的可選的節(jié)電
39、工作模式。空閑方式停止CPU的工作,但允許RAM,定時(shí)/計(jì)數(shù)器,竄行通信口及中斷系統(tǒng)繼續(xù)工作。掉電方式保存RAM中的內(nèi)容,但震蕩器停止工作并禁止所有部件工作直到下一個(gè)硬件復(fù)位。</p><p> ?。?) AT89C51引腳功能說明:</p><p><b> ·Vcc:電源電壓</b></p><p><b>
40、183;GND:地</b></p><p> ·P0口:PO口是一組8位漏極開路行雙向I/O口,也既地址/數(shù)據(jù)總線復(fù)用口??勺鳛檩敵隹谑褂脮r(shí),每位可吸收電流的方式驅(qū)動8個(gè)TTL邏輯電路,對端口寫“1”可作為高阻抗輸入輸入端用。在訪問外部數(shù)據(jù)存儲器時(shí),這組口線分時(shí)轉(zhuǎn)換地址(低8位)和數(shù)據(jù)總線復(fù)用,在訪問期間激活內(nèi)部上拉電阻。在Flash編程時(shí),PO口接收指令字節(jié),而在程序校驗(yàn)時(shí),輸出指令字節(jié)
41、,校驗(yàn)時(shí),要求接上拉電阻。</p><p> ·P1口:P1口是一個(gè)內(nèi)部上拉電阻的8位雙向I/O口,P1的輸入緩沖級可驅(qū)動(吸收或輸出電流)4個(gè)TTL邏輯門電路。對端口寫“1”,通過內(nèi)部的上拉電阻把端口拉到高電平,此時(shí)可作輸出口。作輸入口時(shí),因?yàn)閮?nèi)部存在上拉電阻,某個(gè)引腳被外部信號拉低時(shí)輸出一個(gè)電流(I)。Flash編程和程序校驗(yàn)期間,P1口接收8位地址。</p><p>
42、·P2口:P2口是一個(gè)帶有內(nèi)部上拉電阻的8位雙向I/O口,P2的輸入緩沖極可以驅(qū)動(輸入或輸出電流)4個(gè)TTL邏輯門電路。對端口“1”,通過內(nèi)部的上拉電阻把端口拉到高電平,此時(shí)和作為輸出口,作輸出口時(shí),因?yàn)榇嬖趦?nèi)部上拉電阻,某個(gè)引腳被外部信號拉低時(shí)會輸出一個(gè)電流。在訪問外部存儲器或1位地址的外部數(shù)據(jù)存儲器(例如執(zhí)行MOVX@DPTR指令)時(shí),P2口送出高8位地址數(shù)據(jù)。在訪問8位地址的外部數(shù)據(jù)存儲器(如執(zhí)行MOVX@RI指令)時(shí)
43、,P2口線的內(nèi)容(也既特殊功能寄存器(SFR)區(qū)中R2寄存器的內(nèi)容),在整個(gè)訪問期間不改變。Flash編程或校驗(yàn)時(shí),P2亦接收高地址和其他控制信號。</p><p> ·P3口:P3口是一組帶有內(nèi)部上拉電阻的8位雙向I/O口,,P1的輸入緩沖級可驅(qū)動(吸收或輸出電流)4個(gè)TTL邏輯門電路。對P3口寫入“1”時(shí),它們被內(nèi)部上拉電阻拉高并可作為輸出端口。作輸出端口時(shí),被外部拉低的P3口將用上拉電阻輸出電流
44、。P3口除可作為一般的I/O口線外,更重要的用途是它的第二功能,如表2.1所示:</p><p> P3口還接收一些用于Flas 閃速存儲器編程和程序校驗(yàn)的控制信號</p><p> 圖2.2 AT89C51方框圖</p><p> ·RST:復(fù)位輸出。當(dāng)震蕩器工作時(shí),RST引腳出現(xiàn)兩個(gè)機(jī)器周期以上高電平使機(jī)器復(fù)位。 </p><
45、;p> ·ALE/當(dāng)訪問外部程序存儲器或數(shù)據(jù)存儲器時(shí),ALE(地址鎖存允許)輸出脈沖用于鎖存地址的低8位字節(jié),即使不訪問外部字節(jié),ALE仍時(shí)鐘震蕩頻率的1/6輸出固定的正脈沖信號,因此它可對外輸出時(shí)鐘脈沖或用于定時(shí)目的。要注意的是:每次訪問外部存儲器時(shí)將跳過一個(gè)ALE脈沖。對Flash存儲器編程期間,該引腳還要輸入編程脈沖()。如有必要,可通過對特殊功能寄存器(SFR)區(qū)中的8EH單元的D0位置位,可禁止ALE操作。該
46、位置位后,只有一條MOVX和MOVC指令可激活。此外,此引腳會被微弱拉高,單片機(jī)執(zhí)行外部程序時(shí),應(yīng)該置ALE無效。</p><p> ·:程序存入允許()輸出的是外部程序存儲器的讀選通信號,當(dāng)</p><p> 表2.1 AT89C51端口</p><p> AT89C51由外部程序取指令(或數(shù)據(jù))時(shí),每個(gè)機(jī)器周期兩次有效,既輸出兩個(gè)脈沖。在此期間,
47、當(dāng)訪問外部數(shù)據(jù)存儲器,這兩次有效的信號不出現(xiàn)。</p><p> ·EA/VPP:外部訪問允許。欲使CPU僅訪問外部程序存儲器(地址為0000H--FFFFH),EA端必須保持低電平(接地)。要注意的是:如果加密位LB1被編程,復(fù)位時(shí)內(nèi)部會鎖存EA端狀態(tài)。Flash存儲器編程時(shí),該引腳加上+12V的編程允許電源Vpp,當(dāng)然這必須是該器件是使用12V的編程電壓Vpp。</p><p&
48、gt; ·XTAL1:震蕩器反向放大器及內(nèi)部時(shí)鐘的輸入端。</p><p> ·XAAL2:震蕩器反向放大器的輸出端。</p><p> ·時(shí)鐘震蕩器:AT89C51中有一個(gè)構(gòu)成內(nèi)部震蕩器的高增益反向放大器,引腳XTAL1和XTAL2分別是該放大器的輸入端和輸出端。這個(gè)放大器與作為反饋元件的片外石英或陶瓷震蕩器一起構(gòu)成自激震蕩器震蕩電路如圖。外接石英晶體
49、(或陶瓷震蕩器)及電容C1、C2接在放大器的震蕩回路中構(gòu)成并聯(lián)震蕩電路。對外接電容C1、C2雖然沒有非常嚴(yán)格的要求,但電容的大小會輕微影響震蕩頻率的高低、震蕩工作的穩(wěn)定性、起震的難易程序及溫度穩(wěn)定性,如果使用石英晶體,推薦使用30pF±10pF,而如果使用陶瓷諧振器建議選擇40pF±10pF。用戶還可以采用外部時(shí)鐘,采用外部時(shí)鐘如圖所示。在這種情況下,外部時(shí)鐘脈沖接到XTAL1端,既內(nèi)部時(shí)鐘發(fā)生器的輸入端,XTAL2
50、懸空。</p><p> 圖2.3 內(nèi)部震蕩電路 圖2.4 外部震蕩電路</p><p> 由于外部時(shí)鐘信號是通過一個(gè)2分頻的觸發(fā)器后作為內(nèi)部時(shí)鐘信號的所以外部 </p><p> 表2.2 AT89C51寄存器</p><p> 時(shí)鐘的占空比沒有特殊要求,但最小高電平持續(xù)的時(shí)間和最大低電平持續(xù)的時(shí)間
51、應(yīng)符合產(chǎn)品技術(shù)條件的要求。</p><p> ·Flash閃速存儲器的編程:</p><p> AT89C51單片機(jī)內(nèi)部有4K字節(jié)的Flash PEROM,這個(gè)Flash存儲存儲陣列出廠時(shí)已處于擦除狀態(tài)(既所有存儲單元的內(nèi)容均為FFH),用戶隨時(shí)可對其進(jìn)行編程。程序接收高電壓(+12V)或低電壓(Vcc)的允許編程信號。低電壓編程模式,適用與用戶在線編程系統(tǒng)。而高電平模式可與
52、通用EPROM編程程序兼容。</p><p><b> ·編程方法:</b></p><p> 編程前需設(shè)置好地址、數(shù)據(jù)及控制信號,編程單元的地址就、加在P1口和P2口的P2.0—P2.3(11位地址范圍為0000H—0FFFH),數(shù)據(jù)從P0口輸入,引腳P2.6、P2.7和P3.6、P3.7的電平設(shè)置見表。PSEN為低電平,RST保持高電平,EA/Vp
53、引腳是編程電源的輸入端,按要求加上編程電壓,ALE/PROG引腳輸入編程脈沖(負(fù)脈沖)編程時(shí)可采用4—20MHz的時(shí)鐘震蕩器AT89C51的編程方法如下:1.0 在地址線上加上要編程單元的地址信號。</p><p> 1.在數(shù)據(jù)線上加上要寫入的數(shù)據(jù)字節(jié)。</p><p> 2.激活相應(yīng)的控制信號。</p><p> 3.在高電壓編程時(shí),將EA/Vpp端加上+1
54、V編程電壓。</p><p> 4.每對Flash存儲陣列寫入一個(gè)字節(jié),加上一個(gè)ALE/PROG編程脈沖。</p><p> ?。?) AT89C51控制信號</p><p> RST/VPD(9腳)復(fù)位信號時(shí)鐘電路工作后,在引腳上出現(xiàn)兩個(gè)機(jī)器周期的高電平,芯片內(nèi)部進(jìn)行初始復(fù)位,復(fù)位后片內(nèi)存儲器的狀態(tài)如表所示,P1—P3口輸出高電平,初始值07H寫入堆棧指針S
55、P、清0程序計(jì)數(shù)器PC和其余特殊功能寄存器,但始終不影響片內(nèi)RAM狀態(tài),只要該引腳保持高電平,89C51將循環(huán)復(fù)位,,RAT/VPD從高電平到低電平單片機(jī)將從0號單元開始執(zhí)行程序,另外該引腳還具有復(fù)用功能,只要將VPD接+5V備用電源,一旦Vcc電位突然降低或斷電,能保護(hù)片內(nèi)RAM中的信息不丟失,恢復(fù)電后能正常工作。</p><p> AT89C81通常采用上電自動復(fù)位和開關(guān)手動復(fù)位,我們采用的是手動復(fù)位開關(guān)如
56、圖所示:</p><p> 圖3.4 手動開關(guān)</p><p> 手動開關(guān)未按下之前,電容正極處于家電狀態(tài),當(dāng)按鍵按下去后,VCC與GND導(dǎo)通,電容放電,從而實(shí)現(xiàn)放電。</p><p> 2.4 單片機(jī)的串行接口</p><p> MCS-51單片機(jī)內(nèi)部有一個(gè) 全雙工的串行接收和發(fā)射緩沖器(SBUFF),這兩個(gè)在物理上獨(dú)立的接收發(fā)
57、射器,即可以接收也可以發(fā)射數(shù)據(jù),但接收緩沖器只可以讀出不能寫入,而發(fā)送緩沖器只能寫入不能讀出,它們的地址是99H。這個(gè)通信口即可以用于網(wǎng)絡(luò)通信,亦可以實(shí)現(xiàn)串行異步通信,還可以構(gòu)成同步移位寄存器使用。如果在串行口的輸入輸出引腳上加上電平轉(zhuǎn)換器,就可以方便的構(gòu)成標(biāo)準(zhǔn)的RS-232接口。下面我們分別介紹。</p><p> 2.4.1 基本概念</p><p> 數(shù)據(jù)通信的傳輸方式:常用于
58、數(shù)據(jù)通信的傳輸方式有單工、半雙工、全雙工和</p><p><b> 工方式。</b></p><p> 單工方式:數(shù)據(jù)僅按一個(gè)固定的方向傳送。因?yàn)檫@種傳輸方式的用途有限,常用于串行口的打印數(shù)據(jù)傳輸與簡單系統(tǒng)間的數(shù)據(jù)采集。</p><p> 雙工方式:數(shù)據(jù)可以實(shí)現(xiàn)雙向傳送,但不能同時(shí)進(jìn)行,實(shí)際的應(yīng)用采用某種協(xié)議實(shí)現(xiàn)收發(fā)開關(guān)轉(zhuǎn)換。</
59、p><p> 全雙工方式:允許雙方同時(shí)進(jìn)行數(shù)據(jù)雙向傳送,但一般全雙工電路的線路和設(shè)備比較復(fù)雜。</p><p> 多工方式:以上三種傳輸方式都是同一線路傳輸一種頻率信號,為了充分的利用線路資源,可通過使用多路復(fù)用器或多路集線器,采用頻分、時(shí)分、或碼分復(fù)用技術(shù),即可實(shí)現(xiàn)在同一線路上資源共享功能,我們稱之為多工傳輸方式。</p><p> 串行通信的兩種通信形式<
60、;/p><p><b> A. 異步通信</b></p><p> 在這種通信方式中,接收器和發(fā)射器有各自的時(shí)鐘,他們的工作是非同步的,異步通信用一幀來表示一個(gè)字符,其內(nèi)容如下:一個(gè)起始位,緊接著是若干個(gè)數(shù)據(jù)位,圖 是傳輸45H的數(shù)據(jù)格式。</p><p><b> B.同步通信</b></p><p
61、> 同步通信格式中,發(fā)送器和接收器由同一個(gè)時(shí)鐘源控制,為了克服在異步傳輸中,每傳輸一幀字符都必須加上起始位和停止位,占用了傳輸時(shí)間,在要求傳送的數(shù)據(jù)量較大的</p><p> C. 串行數(shù)據(jù)通信的傳輸速率:</p><p> 串行數(shù)據(jù)傳輸率有兩個(gè)概念,既美秒傳送的位數(shù)bps(Bit per second)和美秒符號數(shù)-波特率(Band rate),在具有調(diào)治解調(diào)器的通信中,波特
62、率與調(diào)治速率有關(guān)。</p><p> 2.4.2 MCS-51的串行和控制寄存器</p><p> 2.4.2.1 串行口和控制寄存器</p><p> MCS-51單片機(jī)串行口專用寄存器結(jié)構(gòu)如圖所示。SBUF為串行口的收發(fā)緩沖器,它是一個(gè)可尋址的專用寄存器,其中包含了接收器和發(fā)射器寄存器,可以實(shí)現(xiàn)全雙工通信。但這兩個(gè)寄存器具有同一地址(99H)。MCS-
63、51的串行數(shù)據(jù)傳輸很簡單,只要向緩沖器寫入數(shù)據(jù)就可發(fā)送數(shù)據(jù)。而從接收緩沖器讀出數(shù)據(jù)既可接收數(shù)據(jù)。</p><p> 此外,接收緩沖器前還加上一級輸入移位寄存器,MCS-51這種結(jié)構(gòu)的目的在于接收數(shù)據(jù)時(shí)避免發(fā)生重疊現(xiàn)象,文獻(xiàn)稱這種結(jié)構(gòu)為雙緩沖結(jié)構(gòu)。而發(fā)送數(shù)據(jù)就不需要這樣設(shè)計(jì),因?yàn)榘l(fā)送時(shí),CPU是主動的,不可能出現(xiàn)這種情況。</p><p><b> A:串行通信寄存器</
64、b></p><p> 在上一節(jié)我們已經(jīng)分析了SCON控制寄存器,它是一個(gè)可尋址的專用寄存器,用于串行數(shù)據(jù)通信的控制,單元地址是98H,其結(jié)構(gòu)格式如下:</p><p> 表2.3 SCON寄存器結(jié)構(gòu)</p><p> 下面我們對個(gè)控制位功能介紹如下:</p><p> ?。?)SM0、SM1:串行口工作方式控制位</p&
65、gt;<p> SMO SM1 工作方式 功能說明</p><p> 0 0 方式0 移位寄存器方式(用于I/O擴(kuò)展) </p><p> 0 1 方式1 8位UART,波特率可變(T1溢出率/ n)</p><p> 1 0
66、 方式2 9 位UART,波特率為fosc/64或fosc/32</p><p> 1 1 方式3 9位UART,波特率可變(T1溢出率/ n) </p><p> ?。?)SM2:多機(jī)通信控制位</p><p> 多機(jī)通信是工作方式2和方式3,SM2位主要用于方式2和方式3。接收</p><p>
67、; 狀態(tài),當(dāng)串行口工作方式2或3,以及SM2=1時(shí),只有當(dāng)接收到第9位數(shù)據(jù)(RB8)為1時(shí),才把接收的前8位數(shù)據(jù)送入SBUF,且置位RI發(fā)出中斷申請,否則會將收到的數(shù)據(jù)放棄。當(dāng)SM2=0時(shí),只有在接收到有效停止位時(shí)才啟動RI,若沒接收到有效停止位,則RI清“0”。在方式0中SM2應(yīng)該為“0”。</p><p> REN:允許接收控制位。由軟件置“1”時(shí),允許接收;軟件置“0”時(shí),不許接收。</p>
68、<p> TB8:在方式3和方式3中要發(fā)送的第9位數(shù)據(jù),需要時(shí)用軟件置位和清零。</p><p> TB8:在方式2和方式3中是接收到的第9位數(shù)據(jù)。在方式1時(shí),如SM2=0,RB8接收到的停止位。在方式0中,不使用RB8。</p><p> TI:發(fā)送中斷標(biāo)志。由硬件在方式0發(fā)送完第8位時(shí)置“1”,或在其它方式中串行發(fā)送停止位的開始時(shí)置“1”。必須由軟件清“0”。<
69、;/p><p> RI:接收中斷標(biāo)志。由硬件在方式0串行發(fā)射第8位結(jié)束時(shí)置“1”</p><p> B:特殊功能寄存器PCON</p><p> PCON:主要是是CHMOS型單片機(jī)的電源控制而設(shè)置的專用寄存器,單元地址為87H其機(jī)構(gòu)格式如下表:</p><p> 表3.4 特殊功能寄存器PCON</p><p>
70、; 在CHMOS型單片機(jī)中,除SMOD位外其它位均為虛設(shè)的,SMOD是串行波特率倍增位,當(dāng)SMOD=1時(shí)串行口波特率加倍,系統(tǒng)復(fù)位默認(rèn)為SMOD=0。</p><p> C:中斷允許寄存器IE</p><p> 中斷允許寄存器這里重述一下對串行口有影響的位ES。ES為串行中斷允許控制位,ES=1允許串行中斷,ES=0,禁止串行中斷。</p><p> 2.4
71、.2.2 串行口工作方式</p><p> 串行口具有4種工作方式,我從應(yīng)用和畢業(yè)設(shè)計(jì)的角度,重點(diǎn)討論方式1發(fā)送。</p><p> 串行口定義為方式1時(shí)傳送1幀數(shù)據(jù)為10位,其中1位起始地址、8位數(shù)據(jù)位(先低位后高位)、1位停止位方式1的波特率可變,波特率=(T1的溢出率)</p><p> 表2.5 中斷允許寄存器</p><p&g
72、t; 2.5 數(shù)碼顯示管</p><p> 要用單片機(jī)構(gòu)成發(fā)射機(jī),就需要一個(gè)人機(jī)界面。常采用的方式是LED數(shù)碼管顯示測試結(jié)果,用一個(gè)小鍵盤執(zhí)行某些功能,如請零、預(yù)置值、改變測量范圍等等。</p><p> LED顯示器的工作原理</p><p> LED顯示是用發(fā)光二極管顯示字段的顯示器件,也可稱為數(shù)碼管,其外形結(jié)構(gòu)如圖所示,由圖可見它由8個(gè)發(fā)光二極管構(gòu)成
73、,通過不同的組合可用來顯示0~9、A~F及小數(shù)點(diǎn)。</p><p> 圖3.1 “8”字型數(shù)碼管</p><p> LED顯示器分為共陰極和共陽極,共陰極是將8個(gè)發(fā)光二極管陰極連接在一起作為公共端,而共陽極是將8個(gè)發(fā)光二極管的陽極連接在一起作為公共端。我們這次就是采用的共陽極LED,所以這里要介紹共陽極數(shù)碼管。如圖所示,LED顯示器有靜態(tài)和動態(tài)顯示兩種方式,靜態(tài)顯示是將共陰極聯(lián)到一起
74、接地,每位的顯示段(a-dp)分別與一個(gè)8位的鎖存器輸出相連。由于顯示的各位可以相互獨(dú)立,各位可以互相顯示,只要在該位的段選線上保持段選碼電平,該位就能保持相應(yīng)的顯示字符。并且由于各位由一個(gè)8位鎖存器控制段選線,故在同一時(shí)間內(nèi)每一位顯示的字符可以不同, </p><p> 表3.1 段碼與字型的關(guān)系</p><p> 這種方式占用鎖存器較多。動態(tài)顯示是將所有位的段選線相應(yīng)的并聯(lián)在一起
75、,由一個(gè)8位的I/O口控制,形成段選線的多路復(fù)用。而各位的陰極分別由相應(yīng)的I/O口控制,實(shí)現(xiàn)各位的分時(shí)選通。要LED能夠顯示相應(yīng)的字符,就必須采用動態(tài)掃描方式,只要每位顯示的時(shí)間足夠短,則可造成多位同時(shí)顯示的假象,達(dá)成顯示的目的。在數(shù)字電路中常常要把數(shù)據(jù)或運(yùn)算結(jié)果通過半導(dǎo)體數(shù)碼管、液晶數(shù)碼和熒光數(shù)碼管,用十進(jìn)制數(shù)顯示出來。</p><p> 發(fā)光二極管的工作電壓為1.5-3.0伏,工作電流為己毫安到幾十毫安,壽
76、命很長。半導(dǎo)體數(shù)碼管將十位數(shù)分成七個(gè)字段,每段為一個(gè)發(fā)光二極管,其字形結(jié)構(gòu)如圖所示,選擇不同的字段發(fā)光,可顯示出不同的字型。例如:當(dāng)a,b,c,d,e,f,g七個(gè)字段同時(shí)亮?xí)r,顯示8,b、c 段亮?xí)r,顯示出1。</p><p> 共陽極:把發(fā)光二極管的陽極連在一起構(gòu)成共陽極。使用時(shí)公共端接Vcc,當(dāng)某陽極為低電平時(shí),該發(fā)光二極管就導(dǎo)通發(fā)光。輸出一個(gè)段碼就可以控制LED顯示器的字型,表 給出了段碼與字型的關(guān)系
77、,假定a、b、c、d、e、f、g、DP分別對應(yīng)D0、D1、D2、D3、D4、D5、D6、D7。</p><p> 2.6 硬件的焊接及調(diào)試過程</p><p> 硬件的焊接是畢業(yè)設(shè)計(jì)中重要的環(huán)節(jié),用的工具很簡單:電烙鐵、焊絲和鑷子。因?yàn)槲覀冞x用的是實(shí)驗(yàn)板,所以要用導(dǎo)線把各個(gè)元器件連接起來,這就要有一定的技術(shù)基礎(chǔ),幸好這個(gè)在我們以前的電娤實(shí)習(xí)中已經(jīng)掌握。焊接要細(xì)心,還要有耐心。焊接前要
78、對照電路圖對元器件有一個(gè)合理的布局,那樣的話就會使電路簡潔明朗,而且不易出錯,即使出錯也容易檢查。下面就來介紹元器件的焊接方法和過程。</p><p> 2.6.1 硬件的焊接</p><p> 2.6.1.1 底座的焊接</p><p> 我的電路板有兩個(gè)底座,一個(gè)是單片機(jī)AT89C51的,另一個(gè)是數(shù)碼顯示管的。我們用的是40腳的雙排直插式的,在焊接時(shí),
79、要先把底座插到電路板上再進(jìn)行焊接,底座各腳的焊點(diǎn)要小,以免各腳之間導(dǎo)通,還不能形成虛焊,虛焊會導(dǎo)致電路不通,底座要焊接牢固,不能和電路板距離太遠(yuǎn),以免導(dǎo)致虛焊。底座還要放在公共線的兩邊,因?yàn)槟莾蓷l線是火線和地線。焊接好后要對照電路仔細(xì)檢查,再用萬用表檢測,看焊接是否良好。</p><p> 2.6.1.2 按鍵的焊接</p><p> 我的電路中用到了5個(gè)按鍵,一個(gè)復(fù)位鍵、一個(gè)發(fā)射鍵
80、、兩個(gè)置數(shù)鍵,還有我自己加的一個(gè)計(jì)數(shù)控制鍵。我雖然做的是發(fā)射機(jī),但只要對軟件進(jìn)行一些改動,也可以作為接收機(jī),那時(shí)發(fā)射控制鍵就變成接收控制鍵了。</p><p> 我所用的按鍵是普通的斷開按鍵,有4個(gè)腳,兩邊各兩個(gè),其中每邊的兩個(gè)腳是導(dǎo)通的,在焊接的時(shí)候要特別注意,我就是不小心,把相連的兩個(gè)腳焊接當(dāng)成不連的腳用來作開關(guān),結(jié)果按鍵按下后不起作用。所以在焊接前一定要用萬用表測出那兩個(gè)腳是導(dǎo)通的,焊接完后再檢測,看焊接
81、是否良好。</p><p> 2.6.1.3 時(shí)鐘電路的焊接</p><p> 我們的電路中時(shí)鐘電路包括一個(gè)晶震,兩個(gè)電容。晶震是6M的,電容是普通電容,焊接前要刮腿,以免接觸不好。晶震和電容要盡量靠近芯片,這樣有利于時(shí)鐘電路的穩(wěn)定,減少干擾。焊接好后要用萬用表檢測。</p><p> 2.6.1.4 導(dǎo)線的焊接</p><p>
82、 導(dǎo)線的焊接比較麻煩。因?yàn)閷?dǎo)線比較多,就要先對導(dǎo)線進(jìn)行布局,找好于元器件相對的管腳,焊接前先要檢測導(dǎo)線是否導(dǎo)通。焊接完成后要檢測是不是連接良好。</p><p> 2.6.1.5 電路板的檢測和故障排除</p><p> 電路板完成后要進(jìn)行全面檢測,包括以下幾個(gè)方面:</p><p> 2.6.1.6 火線和底線的檢測</p><p&g
83、t; 檢測單片機(jī)底座的Vcc(40腳)是否與火線相連,檢測數(shù)碼管的功用端是否與火線連接,手動復(fù)位開關(guān)是否連接上火線。地線檢查:其他按鍵接地是否良好,時(shí)鐘電路接地端的檢測,單片機(jī)GND端(20腳)是否接地。檢查完后再用萬用表檢查火線和地線是否導(dǎo)通。</p><p> 2.6.1.7 元器件之間的連接的檢查</p><p> 參照電路圖,用萬用表仔細(xì)檢查各個(gè)元器件連接是否良好,是否對應(yīng)
84、。</p><p> 2.6.2 硬件的調(diào)試機(jī)器故障排除</p><p> 硬件的調(diào)試在上電后的工作是不是正常,主要包括不插單片機(jī)的調(diào)試和插上單片機(jī)的檢測。</p><p> 2.6.2.1 無單片機(jī)的調(diào)試</p><p> 無單片機(jī)調(diào)試主要檢查電路工作是否正常,調(diào)試數(shù)碼管是否點(diǎn)亮,顯示數(shù)據(jù)是否正確,具體步驟如下:</p&g
85、t;<p> A:打開電源,將輸出電壓調(diào)到5伏,然后關(guān)閉電源。</p><p> B:將電路板的火線與電源正極相連,地線與負(fù)極相連。</p><p> C:打開電源,用萬用表檢測電路板是否有輸出電壓,如果有就是好的,沒有就要檢測是否有短路。</p><p> D:電路檢查完后,關(guān)閉電源,用一根導(dǎo)線與電源負(fù)極相連,然后打開電源,用導(dǎo)線的另一端逐個(gè)
86、與P0、P2口的管腳接觸,看數(shù)碼管顯示是否正確。</p><p> 調(diào)試過程中遇到的問題及解決辦法:</p><p> ?。?)上電后,用導(dǎo)線一端接低電平,另一端逐一連接P0、P2管腳,數(shù)碼管顯示不正常,檢測后發(fā)現(xiàn)管腳有短路現(xiàn)象,將短路管腳重新焊接后,顯示正常。</p><p> ?。?)反復(fù)調(diào)試幾次后,發(fā)現(xiàn)電路不穩(wěn)定,有時(shí)沒反應(yīng)。仔細(xì)分析后,覺得是穩(wěn)壓管有問題,
87、拆除后直接接5V電壓源,問題解決。</p><p> 2.6.2.2 有單片機(jī)的調(diào)試</p><p> 加上單片機(jī),目的是看單片機(jī)能否正常工作,有效地控制顯示數(shù)據(jù)。編寫一個(gè)小程序,燒入芯片中加點(diǎn)調(diào)試。</p><p><b> A:程序如下:</b></p><p> ORG 0000H</p>
88、;<p> LJMP MAIN</p><p> ORG 0030H </p><p> MAIN:MOV DPTR,#DDSS</p><p> MOV A,#0</p><p> MOVC A,@A+DPTR </p><p> MOV P0,A </
89、p><p> MOV P2,A</p><p> DDSS:DB 3FH,06H,5BH,4FH,66H</p><p> DB 6DH 7DH,07H,7FH,6FH</p><p><b> END</b></p><p> B:將編好的程序進(jìn)行編譯,即將*.ASM文件轉(zhuǎn)化為
90、*.BIN文件,然后燒入片子。程序的編譯和燒入將在以后介紹。</p><p> C:把單片機(jī)AT89C51接入底座插入底座,加電,看各位顯示是不是正確。 </p><p> D: 用復(fù)位鍵看顯示是否正確,如果穩(wěn)定,表示調(diào)試成功。</p><p> 調(diào)試過程中遇到的問題:</p><p> 上電后,用示波器檢測30腳,發(fā)現(xiàn)沒有時(shí)鐘頻率輸
91、出,仔細(xì)分析發(fā)現(xiàn)30腳沒接高電平,重新焊接后,輸出漂亮的時(shí)鐘脈沖。</p><p> 3 軟件的設(shè)計(jì)和調(diào)整過程</p><p> 軟件的設(shè)計(jì)是我畢業(yè)設(shè)計(jì)的另一個(gè)重要方面。它的好壞直接關(guān)系畢業(yè)設(shè)計(jì)的成功與否。我等軟件是用匯編完成的,需要能熟練的掌握匯編語言,還要熟悉AT89C51單片機(jī)。從程序流程圖、通信協(xié)議、波特率計(jì)算、編寫程序、編譯、和燒入軟件的操作,到最后的調(diào)試,是很復(fù)雜的。下面
92、作詳細(xì)介紹:</p><p> 3.1 程序流程圖</p><p> 程序流程圖是編寫軟件的重要前提,它是在圖表上直觀的體現(xiàn)擬設(shè)計(jì)的目的及過程。也是編譯的重要依據(jù),按照流程圖一步一步編寫程序,下面是我的流程圖;</p><p> 圖3.1 發(fā)射接口流程圖</p><p><b> 3.2 通信協(xié)議</b>&
93、lt;/p><p> 通信協(xié)議是發(fā)射機(jī)和接收機(jī)之間通信不可缺少的部分,包括下面幾方面的設(shè)置;</p><p> 3.2.1 串行口控制寄存器SCON的設(shè)置</p><p> 串行口控制寄存器的基本情況在前面已經(jīng)介紹,這里不再重復(fù)。根據(jù)我們所做的內(nèi)容,我們采用了串行工作方式1,REN設(shè)置為“1”(允許接收),綜上所述我們設(shè)SCON的初始值為50H,如下表所示:&l
94、t;/p><p> 表3.1 串行口控制寄存器</p><p> 3.2.2 定時(shí)器的初始化設(shè)置</p><p> 在定時(shí)器為方式1時(shí),方式字為:</p><p> 表3.2 定時(shí)計(jì)數(shù)器的初始化</p><p> T1 T0</p>
95、<p> GATE:表示不參與控制</p><p> C/:選擇計(jì)數(shù)/時(shí)鐘方式</p><p> M1MO:選定定時(shí)器1工作方式2</p><p> 所以定時(shí)器TMOD初始值為20H</p><p> 3.2.3 波特率計(jì)算</p><p> 晶震為6M,波特率為1.2K單片機(jī)工作方式為串行方式
96、1,T1是方式2,所以</p><p> 1.2=1/16*X</p><p><b> X=19.2</b></p><p> 19.2=1/2*(256-Y)</p><p><b> Y=217.6</b></p><p> 把十進(jìn)制轉(zhuǎn)換成十六進(jìn)制數(shù)為D9,所
97、以初始值為D9。</p><p> 3.2.4 發(fā)射程序</p><p><b> ?。ㄒ姼戒汢)</b></p><p> 我所做的程序?qū)崿F(xiàn)了畢業(yè)設(shè)計(jì)的要求,并此基礎(chǔ)上加了一個(gè)自己編的小程序,它能夠在P1.3為低電平是開始從00-99計(jì)數(shù)。</p><p> 3.3 編譯軟件的使用和PLDA的使用</p
98、><p> 兩個(gè)軟件的作用是將源程序轉(zhuǎn)化為目標(biāo)文件,再把目標(biāo)文件燒到單片機(jī)AT89C51中,他們是這個(gè)過程中不可缺少的,在這里我們詳細(xì)介紹這兩個(gè)軟件的使用。</p><p> 3.3.1 編譯軟件的使用和編譯過程</p><p><b> 編譯軟件的使用</b></p><p> A: 編譯軟件的裝載:這個(gè)軟件不需
99、要安裝,只要復(fù)制到機(jī)子里就行。</p><p> B:雙擊快捷方式,進(jìn)入編輯界面,進(jìn)行下一步編輯(如圖)。</p><p> 圖3.2 仿真器使用界面</p><p> C.點(diǎn)擊文件,新建一個(gè)文件,將源程序輸入后保存(生成.ASM文件)。</p><p> D. 選擇項(xiàng)目,點(diǎn)擊全部編譯,系統(tǒng)自動進(jìn)行編譯后彈出對話框,提示編譯中出現(xiàn)的
100、問題,雙擊提示后系統(tǒng)會自動指出出問題的地方(生成.BIN文件)。</p><p> E. 單擊仿真器,配置選擇芯片、通信端口和晶震頻率。</p><p> F. 單擊執(zhí)行,系統(tǒng)輸出仿真信號。也可以選擇但不執(zhí)行,這樣可以看到每部執(zhí)行的情況。</p><p><b> 3.4 燒片</b></p><p> 燒片用
101、的是PLDA軟件,它的使用方法如下:</p><p> ?。?)先配置軟件,選擇MCU89C51。</p><p> ?。?)導(dǎo)入預(yù)先編譯好的程序。</p><p> ?。?)擦除芯片,然后燒制。</p><p> 燒片時(shí)應(yīng)注意的問題:</p><p> ?。?)芯片的放置要真確,否則有可能造成芯片燒壞。</p
102、><p> ?。?)配置芯片時(shí)要注意選對芯片型號,例如用AT89C51就要選:MCU AT89C51。</p><p> ?。?)在燒片之前,應(yīng)該先擦除芯片,防止芯片內(nèi)原有遺留程序的影響。</p><p> 4 單片機(jī)串行通信領(lǐng)域的擴(kuò)展</p><p> 我所做的發(fā)射機(jī)是有線接收的,得卻能完成數(shù)據(jù)在不同地方的傳遞,也完成了我們畢業(yè)設(shè)計(jì)的要求
103、,但他受到了很多限制。不如距離太遠(yuǎn),導(dǎo)線太長久匯有干擾而且有時(shí)還會很大,使得接收到的信號很弱,甚至接收不到。必須進(jìn)行無線發(fā)射、接收的方面的研究,由于畢業(yè)設(shè)計(jì)的時(shí)間有限,就沒能完成無線發(fā)射、接收的設(shè)計(jì)?,F(xiàn)在就介紹一下無線發(fā)射的原理和電路。</p><p> 單片機(jī)無線串行接口電路由MICRF102單片發(fā)射器芯片,工作在300~440 MHz ISM頻段;具有ASK調(diào)制和解調(diào)能力,抗干擾能力強(qiáng),適合工業(yè)控制應(yīng)用;采
104、用PLL頻率合成技術(shù),頻率穩(wěn)定性好;接收靈敏度高達(dá) -96dBm,最大發(fā)射功率達(dá)-2.5dBm;數(shù)據(jù)速率可達(dá)2Kb/s;低工作電壓:4.75~5.5V;功耗低,接收時(shí)電流3mA,發(fā)射時(shí)電流7.75mA,接收待機(jī)狀態(tài)僅為0.5μA,發(fā)射待機(jī)狀態(tài)僅為1.0μA;可用于單片機(jī)之間的串行數(shù)據(jù)無線傳輸,也可在單片機(jī)數(shù)據(jù)采集、遙測遙控等系統(tǒng)中應(yīng)用。</p><p> 4.1 無線發(fā)射電路組成及工作原理:</p>
105、;<p> 圖4.1 無線發(fā)射電路圖</p><p> 無線發(fā)射電路如圖4.1所示,電路以MICRF102為核心。MICRF102是Micrel公司推出的一個(gè)單片UHF/ASK發(fā)射器,采用SOP(M)-8封裝,芯片內(nèi)包含有:由基準(zhǔn)振蕩器、相位檢波器、分頻器、帶通濾波器、壓控振蕩器構(gòu)成的合成器,發(fā)射偏置控制,RF功率放大器,天線調(diào)諧控制和變?nèi)荻O管等電路,是一個(gè)真正的"數(shù)據(jù)輸入-無線輸
106、出"的單片無線發(fā)射器件。UHF合成器產(chǎn)生載頻和正交信號輸出。輸入相位信號(I)用來驅(qū)動RF功率放大器。天線調(diào)諧正交信號(Q)用來比較天線信號相位。天線調(diào)諧控制部分檢測天線通道中發(fā)射信號的相位和控制變?nèi)荻O管的電容,以調(diào)諧天線,實(shí)現(xiàn)天線自動調(diào)諧。功率放大器輸出受發(fā)射偏置控制單元控制。ASK/OOK調(diào)制,提供低功耗模式,數(shù)據(jù)傳輸速率為20kb/s。 使用中應(yīng)注意的問題是:</p><p> ?。?)
107、REFOSC(引腳4)是基準(zhǔn)振蕩端,連接晶振到地,或采用AC耦合方式輸入峰-峰值為0.5 V的時(shí)鐘脈沖。發(fā)射頻率是基準(zhǔn)振蕩器頻率的32倍:基準(zhǔn)振蕩頻率×32=發(fā)射頻率。如果使用外接時(shí)鐘信號,須采用AC耦合方式,輸入信號幅度峰-峰值為200~500 mV。</p><p> ?。?)MICRF102使用差分輸出去驅(qū)動天線負(fù)載。功率放大器輸出級包含有一個(gè)變?nèi)荻O管,它自動與天線的電感調(diào)諧,以保證諧振在發(fā)射頻
108、率上。典型的PCB導(dǎo)線天線的電感與回路的尺寸、天線導(dǎo)線的寬度、PCB銅泊的厚度和接地板的位置有關(guān)。設(shè)計(jì)時(shí)一般選擇變?nèi)荻O管的電容值為6.5pF。天線電感L由公式L=1/(4π2f2C)計(jì)算。</p><p> ?。?)功率放大器的輸出功率與PC端(引腳1)上的電壓有關(guān)。正常工作時(shí),該引腳端上的電壓被設(shè)置在0.2~0.4V之間。PC端上的電壓上升,輸出功率加大;但是,如果PC端上的電壓超過0.4V,功率放大器被限流
109、,輸出功率不再增加。減少PC端的電壓可降低電源功率消耗,同時(shí)也會減少RF輸出功率。</p><p> ?。?)STBY端(引腳5)是待機(jī)模式控制。接VDD為發(fā)射方式,接VSS為待機(jī)模式。</p><p> ?。?)MICRF102芯片對電源紋波敏感,正確地電源旁路是必需的,一般使用4.7μF、0.1μF、100pF3個(gè)電容并聯(lián)在VDD和VSS之間。</p><p>
110、 使用中應(yīng)注意的問題是: </p><p> ?、?在發(fā)射模式下,通信速率最高為2 Kb/s;發(fā)送數(shù)據(jù)之前須將電路置于發(fā)射模式(MICRF102的第5腳STBY = 1);接收模式轉(zhuǎn)換為發(fā)射模式的轉(zhuǎn)換時(shí)間至少5 ms;可以發(fā)送任意長度的數(shù)據(jù);發(fā)送結(jié)束后應(yīng)將電路置于接收模式(MICRF007的第6腳SHUT = 0);發(fā)射模式轉(zhuǎn)換為接收模式的轉(zhuǎn)換時(shí)間至少5 ms。</p><p> ?、?
111、在待機(jī)模式(MICRF102的STBY=0,MICRF007的SHUT=1)下,電路不發(fā)射/接收數(shù)據(jù)。設(shè)計(jì)串行通信程序應(yīng)考慮:雙方通信的協(xié)議,有效數(shù)據(jù)識別標(biāo)志,數(shù)據(jù)的檢錯、糾錯和校驗(yàn)。</p><p> 4.2 單片機(jī)串口接口 </p><p> AT89C51(與MCS-51兼容)單片機(jī)的串行口在方式0工作狀態(tài)下,使用移位寄存器芯片可以擴(kuò)展多個(gè)8位并行I/O口。在LED點(diǎn)陣顯示屏應(yīng)
112、用系統(tǒng)中,一般都采用數(shù)據(jù)同步移位輸出方式,并使用移位寄存器芯片(如74LS595)擴(kuò)展并行I/O口驅(qū)動LED點(diǎn)陣顯示。LED點(diǎn)陣顯示采用掃描方式,為不產(chǎn)生閃爍感,每秒需要傳送50屏點(diǎn)陣顯示數(shù)據(jù),因此有大量的數(shù)據(jù)要通過同步移位的方式送到顯示驅(qū)動電路部分,這就要求單片機(jī)能夠快速地輸出數(shù)據(jù)。AT89C51單片機(jī)的串行口在方式0工作狀態(tài)下,數(shù)據(jù)以fosc/12的波特率輸出,1個(gè)字節(jié)數(shù)據(jù)寫入SBUF后,需檢查中斷標(biāo)志位TI是否為“1”并清“0”T
溫馨提示
- 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. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- [畢業(yè)論文]單片機(jī)串行通信發(fā)射機(jī)
- 畢業(yè)論文---單片機(jī)串行通信發(fā)射機(jī)
- 單片機(jī)串行通信發(fā)射機(jī)
- 單片機(jī)串行通信發(fā)射機(jī)
- 單片機(jī)串行通信發(fā)射機(jī)
- 單片機(jī)串行通信發(fā)射機(jī)
- 單片機(jī)串行通信發(fā)射機(jī).doc
- 單片機(jī)串行通信發(fā)射機(jī)資料
- 單片機(jī)串行通信發(fā)射機(jī).doc
- 畢業(yè)設(shè)計(jì)-----單片機(jī)串行通信發(fā)射機(jī)
- 單片機(jī)串行通信發(fā)射機(jī)畢業(yè)設(shè)計(jì)
- 單片機(jī)串行通信發(fā)射機(jī).doc
- 單片機(jī)串行通信發(fā)射機(jī).doc
- 基于單片機(jī)的串行通信發(fā)射機(jī)設(shè)計(jì)【畢業(yè)論文】
- 基于單片機(jī)的串行通信發(fā)射機(jī)設(shè)計(jì)【畢業(yè)論文】
- 畢業(yè)論文——單片機(jī)串行通信發(fā)射部分設(shè)計(jì)
- 基于單片機(jī)的串行通信發(fā)射機(jī)設(shè)計(jì)【畢業(yè)論文+文獻(xiàn)綜述+開題報(bào)告】
- 單片機(jī)課程設(shè)計(jì)--基于單片機(jī)的串行通信發(fā)射機(jī)設(shè)計(jì)
- 基于單片機(jī)的串行通信發(fā)射機(jī)設(shè)計(jì)【文獻(xiàn)綜述】
- 基于單片機(jī)的串行通信發(fā)射機(jī)設(shè)計(jì)【文獻(xiàn)綜述】
評論
0/150
提交評論