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