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