基于單片機的雙機通信_第1頁
基于單片機的雙機通信_第2頁
基于單片機的雙機通信_第3頁
基于單片機的雙機通信_第4頁
基于單片機的雙機通信_第5頁
已閱讀5頁,還剩21頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

基于單片機的雙機通信[摘要]雙機通信是單片機的一個重要應用。本次課程設(shè)計就是要利用單片機來完成一個系統(tǒng),實現(xiàn)兩個單片機之間的有序通信。本文詳細介紹了關(guān)于基于單片機AT89C51實現(xiàn)的雙機之間的通信的設(shè)計。軟件局部采用C語言編程實現(xiàn)接收局部和發(fā)射局部的功能,用Protues進行仿真。軟件設(shè)計完成后,將程序燒入單片機。通信的結(jié)果實用數(shù)碼管進行顯示,數(shù)碼管采用查表方式顯示。在通信過程中,使用通信協(xié)議進行通信。[關(guān)鍵詞]51單片機;串行通信;接口Two-machinecommunicationbasedonsinglechip[Abstract]Dualmachinecommunicationisanimportantapplicationofsinglechip.Thiscourseisdesignedtousingsinglechipcomputertocompleteasystem,realizetheorderlycommunicationbetweentwosingle-chipmicrocomputer.Thispaperintroducestherealizationbasedonsingle-chipmicrocomputerAT89C51aboutthedualmachineforcommunicationbetweenthedesign.SoftwarepartadoptstheCprogramminglanguagerealizationreceivingpartandemission,partoftheProtuesfunction,throughsimulation.Thesoftwaredesigniscompleted,theprocedurespreadmicrocontroller.Communicationresultsandpracticaltodisplay,digitaldigitaltubepipe,adoptinglook-uptabledisplay.Incommunicationprocess,USEScommunicationprotocoltocommunicate.[Keywords]51SCM;serialcommunication;Interface目錄TOC\o\h\z基于單片機的雙機通信ITwo-machinecommunicationbasedonsinglechipII緒論21.課題背景31.1雙機通信簡介3雙機通信接口的根本特點31.2雙機通信原理41.3系統(tǒng)網(wǎng)絡(luò)協(xié)議42.設(shè)計方案63.單片機與通信芯片介紹73.1單片機技術(shù)介紹73.2MAZ232芯片103.34×4鍵盤介紹113.3.14×4矩陣鍵盤工作原理11數(shù)碼動態(tài)掃描顯示電路123.4數(shù)碼管工作原理134.設(shè)計步驟144.1Keil和Proteus介紹和聯(lián)調(diào)144.1.1Proteus的介紹14Keil的介紹154.2軟件設(shè)計164.3硬件設(shè)計16結(jié)論17致謝18參考文獻19附錄I20附錄II27附錄III28緒論單片機作為微型計算機的一個分支,具有功能強、體積小、應用靈活等諸多優(yōu)點,在工業(yè)控制、儀器儀表、通信、家用電器和國防科技等各個領(lǐng)域得到廣泛的應用。隨著集成電路技術(shù)的不斷開展,單片機的性能也在不斷的提高,其應用的范圍必將越來越寬廣。然而,隨著單片機在工業(yè)自動化控制、智能儀器儀表中的廣泛應用,單機已經(jīng)逐漸不能滿足需要,雙機協(xié)同工作已經(jīng)成為一個重要的開展趨勢,雙機應用的關(guān)鍵就在于雙機之間的互相通訊、互傳數(shù)據(jù)信息。單片機和計算機的共同開展下,單片機的應用從獨立的單片機向網(wǎng)絡(luò)開展,由計算機和單片機構(gòu)成的雙機網(wǎng)絡(luò)系統(tǒng)也是單片機技術(shù)開展的一個方向。單片機雙機通信是指由兩臺單片機組成的網(wǎng)絡(luò)結(jié)構(gòu),可以通過串行通信方式實現(xiàn)對某一過程的最終控制。隨著計算機技術(shù)的開展,雙機通訊技術(shù)也在不斷的開展,現(xiàn)在開展比擬成熟的還有光纖通信等。由于計算機的飛速開展和控制系統(tǒng)的復雜化,雙機機通信已經(jīng)越來越成為人們熱門的話題之一單片機雙機機通信是指由兩臺單片機組成的網(wǎng)絡(luò)結(jié)構(gòu),可以通過串行通信方式共同實現(xiàn)對某一過程的最終控制。目前,單片機多機通信的形式較多,但通??煞譃樾切汀h(huán)型、串行總線型和主從式多機型四種。隨著單片機和計算機技術(shù)的不斷開展,單片機的應用也從獨立的單機向網(wǎng)絡(luò)開展。由計算機和單片機構(gòu)成的多機網(wǎng)絡(luò)系統(tǒng)已成為單片機技術(shù)開展的一個方向。二者的結(jié)合,充分發(fā)揮單片機在實時數(shù)據(jù)采集和數(shù)據(jù)管理上的優(yōu)點。單片機在計算機的網(wǎng)絡(luò)通訊與數(shù)據(jù)傳輸、工業(yè)自動化過程的實時控制和數(shù)據(jù)處理等都有廣泛地應用,已滲透到我們生活的各個領(lǐng)域。許多應用都涉及到單片機雙機通信。然而.單片機對網(wǎng)絡(luò)數(shù)據(jù)的處理方式不同于通用計算機系統(tǒng).尤其是有的單片機只提供2位的數(shù)據(jù)收發(fā)接口,這在一定程度上阻礙了單片機在網(wǎng)絡(luò)方面的應用。因此,采用單片機技術(shù)與計算機網(wǎng)絡(luò)技術(shù)相結(jié)合的方法,對單片機雙機通信系統(tǒng)進行研究.在設(shè)計單片機網(wǎng)絡(luò)的通信協(xié)議的根底上,系統(tǒng)網(wǎng)絡(luò)拓撲結(jié)構(gòu)采用總線型.網(wǎng)絡(luò)接El電路采用端El轉(zhuǎn)發(fā)的形式,實現(xiàn)了2位單片機雙機通信。1.課題背景雙機通信簡介MCS-51系列單片機上有一個通用異步接收/發(fā)送器UART,通過引腳RXD[P3.O]和TXD[P3.1]可與外音B電路進行全雙工的串行異步通信,發(fā)送數(shù)據(jù)時由TXD端送出,接收時數(shù)據(jù)由RXD端輸入。本文將具體介紹單片機串口的特點和編程方法,并且在最后給出一個實用的單片機與計算機通過串口通信的程序。雙機通信接口的根本特點MCS-51單片機的串行端口有4種根本工作方式,通過編程設(shè)置,可以使其工作在任一方式,以滿足不同場合的需要。其中,方式0主要用于外接移位存放器,以擴展單片機的I/O電路;工作方式1多用于雙機之間或與外設(shè)電路的通信;方式2、3除有方式1的功能外,還可以作多機通信,以構(gòu)成分布式多微機系統(tǒng)。串行端口有兩個控制存放器SCON、PCON,用于設(shè)置工作方式、發(fā)送或接收的狀態(tài)、特征位、數(shù)據(jù)傳送波特率[每秒傳送的位數(shù)]以及作為中斷標志等。串行端口有一個數(shù)據(jù)存放器SBUF在特殊功能存放器中的字節(jié)地址為99H,該存放器為發(fā)送和接收所共用。串行端口的波特率可以用程序來控制。在不同工作方式中,由時鐘振蕩頻率的分頻值或由定時器T1的定時溢出時間確定,使用十分方便靈活。1、串口控制存放器方式1輸入:在(REN)=1時,串行口采樣RXD引腳,當采樣到1至O的跳變時,確認是串行發(fā)送來的一幀數(shù)據(jù)的開始位0,從而開始接收一幀數(shù)據(jù)。只有當8位數(shù)據(jù)接收完,并檢測到高電平停止位后,只有滿足①(R1)=0;②(SM2)=0或接收到的第9位數(shù)據(jù)為1時,停止位才進入RB8,8位數(shù)據(jù)才能進入接收存放器,并由硬件置位中斷標志RI;否那么信息喪失。所以在方式1接收時,應先用軟件清零RI和SM2標志。〔2〕方式2方式2為固定波特率的11位UART方式。它比方式1增加了一位可程控為1或0的第9位數(shù)據(jù)。輸出:發(fā)送的串行數(shù)據(jù)由TXD端輸出一幀信息為11位,附加的第9位來自SCON存放器的TB8位,用軟件置位或復位。它可作為多機通訊中地址/數(shù)據(jù)信息的標志位,也可以作為數(shù)據(jù)的奇偶校驗位。當CPU執(zhí)行一條數(shù)據(jù)寫入SUBF的指令且TI=0時,就啟動發(fā)送器發(fā)送。發(fā)送一幀信息后,置位中斷標志TI。輸入:在(REN)=1時,串行口采樣RXD引腳,當采樣到1至O的跳變時,確認是串行發(fā)送來的一幀數(shù)據(jù)的開始位0,從而開始接收一幀數(shù)據(jù)。在接收到附加的第9位數(shù)據(jù)后,當滿足①(RI):0;②(SM2)=0或接收到的第9位數(shù)據(jù)為1時,第9位數(shù)據(jù)才進入RB8,8位數(shù)據(jù)才能進入接收存放器,并由硬件置位中斷標志Ri;否那么信息喪失。且不置位RI。〔3〕工作方式3方式3為波特率可變的11位UART方式。除波特率外,其余與方式2相同。波特率的選擇如前所述,在串行通訊中,收發(fā)雙方的數(shù)據(jù)傳送率(波特率)要有一定的約定。在MCS-51串行口的四種工作方式中,方式0和2的波特率是固定的,而方式1和3的波特率是可變的,由定時器T1的溢出率控制。1.方式O:方式0的波特率固定為主振頻率

的1/12。2.方式2:方式2的波特率由PCON中的選擇位SMOD來決定,可表示為:波特率=2sMoD×fosc/64也就是當SMOD=1時,波特率為1/32×fosc,當SMOD=0時,波特率為1/64×fosc。3.方式1和方式3

定時器T1作為波特率發(fā)生器,其公式如下:波特率=2SMOD/32×定時器T1溢出率T1溢出率=T1計數(shù)率/產(chǎn)生溢出所需的周期數(shù)式中T1計數(shù)率取決于它工作在定時器狀態(tài)還是計數(shù)器狀態(tài)。當工作于定時器狀態(tài)時,T1計數(shù)率為Fosc/2:當工作于計數(shù)器狀態(tài)時,T1計數(shù)率為外部輸入頻率,此頻率應小于Fosc/24。產(chǎn)生溢出所需周期與定時器T1的工作方式、T1的預置值有關(guān)。定時器T1工作于方式O:溢出所需周期數(shù)=8192-×定時器T1工作于方式1:溢出所需周期數(shù)=65536-X定時器T1工作于方式2:溢出所需周期數(shù)=256-X因為方式2為自動重裝入初值的8位定時器/計數(shù)器模式,所以用它來做波特率發(fā)生器最恰當。這種方式下,T1的溢出率[次/秒]計算式可以表示為:T1溢出率=Fsoc/12[256-X]雙機通信原理雙機通訊對單片機而言意義重大,不但可以實現(xiàn)將單片機的數(shù)據(jù)傳輸?shù)接嬎銠C端,而且也能實現(xiàn)計算機對單片機的控制。由于其所需電纜線少,接線簡單,所以在較遠距離傳輸中,得到了廣泛的運用。系統(tǒng)網(wǎng)絡(luò)協(xié)議通信協(xié)議是通信設(shè)備在通信前的約定。單片機、計算機有了協(xié)議這種約定,通信雙方才能明白對方的意圖,以進行下一步動作。假定我們需要在PC機與單片機之間進行通信,在雙方程式設(shè)計過程中,有如下約定:

0xA1:單片機讀取P0端口數(shù)據(jù),并將讀取數(shù)據(jù)返回PC機;

0xA2:單片機從PC機接收一段控制數(shù)據(jù);

0xA3:單片機操作成功信息。在系統(tǒng)工作過程中,單片機接收到PC機數(shù)據(jù)信息后,便查找協(xié)議,完成相應的操作。當單片機接收到0xA1時,讀取P0端口數(shù)據(jù),并將讀取數(shù)據(jù)返回PC機;當單片機接收到0xA2時,單片機等待從PC機接收一段控制數(shù)據(jù);當PC接收到0xA3時,就說明單片機操作已經(jīng)成功。2.設(shè)計方案本次設(shè)計,對于兩片89C51,采用RS232進行雙機通信。發(fā)送方的數(shù)據(jù)由串行口TXD段輸出,經(jīng)過電平轉(zhuǎn)換芯片MAX232將TTL電平轉(zhuǎn)換為RS232電平輸出,經(jīng)過傳輸線將信號傳送到接收端。接收方也使用MAX232芯片進行電平轉(zhuǎn)換后,信號到達接收方串行口的接收端。接受方接收后,在數(shù)碼管上顯示接收的信息。為提高抗干擾能力,還可以在輸入輸出端加光耦合進行光電隔離。軟件局部,通過通信協(xié)議進行發(fā)送接收,主機先送AAH給從機,當從機接收到AAH后,向主機答復BBH。主機收到BBH后就把數(shù)碼表TAB[16]中的10個數(shù)據(jù)送給從機,并發(fā)送檢驗和。從機收到16個數(shù)據(jù)并計算接收到數(shù)據(jù)的檢驗和,與主機發(fā)送來的檢驗和進行比擬,假設(shè)檢驗和相同那么發(fā)送00H給主機;否那么發(fā)送FFH給主機,重新接受。從機收到16個正確數(shù)據(jù)后送到一個數(shù)碼管顯示。3.單片機與通信芯片介紹3.1單片機技術(shù)介紹1974年12月,美國著名的仙童公司推出了世界上第一臺單片機F8。該機由兩快集成電路芯片組成,結(jié)構(gòu)新穎,并具有與眾不同的指令系統(tǒng),深受民用電器和儀器儀表領(lǐng)域的歡送和重視。從此單片機開始迅速開展,應用范圍也在不斷擴大,現(xiàn)已成為微型計算機的重要分支。單片機的開展大致經(jīng)歷了外圍集成、總線完善、功能集成、全方位開展等技術(shù)開展階段,至今走過了四代的歷程。第一代:單片機探索階段。主要有通用CPU68XX系列和專用CPUMCS-48系列。第二代:單片機完善階段。表現(xiàn)在:1.面對對象,突出控制功能,專用CPU滿足嵌入功能;2.尋址范圍16位或8位;3.標準的總線結(jié)構(gòu),有8位數(shù)據(jù)線,16位地址線及多功能異步串行口〔UART〕;4.特殊功能存放器〔SFR〕的集中管理模式;5.海量位地址空間,提供位尋址及位操作功能;6.指令系統(tǒng)突出功能。第三代:微控制器形成階段。這一階段已經(jīng)形成系列產(chǎn)品:以8051系列為代表,如8031、8032、8051和8052等。第四代:微控制器百花齊放。表現(xiàn)在:1.電氣商、半導體商廣泛參加;2.滿足最低層電子技術(shù)的應用〔玩具、小家電〕;3.大力開展專用型單片機;4.致力于提高單片機的綜合品質(zhì)。由于單片機在整個設(shè)計中占據(jù)著重要的地方,首先介紹一下單片機的相關(guān)知識。單片機AT89S52具有低電壓供電和體積小等特點,四個端口只需要兩個口就能滿足電路系統(tǒng)的設(shè)計需要。MCS-51單片機內(nèi)部結(jié)構(gòu)8051是MCS-51系列單片機的典型產(chǎn)品,我們以這一代表性的機型進行系統(tǒng)的講解。

8051單片機包含中央處理器、程序存儲器(ROM)、數(shù)據(jù)存儲器(RAM)、定時/計數(shù)器、并行接口、串行接口和中斷系統(tǒng)等幾大單元及數(shù)據(jù)總線、地址總線和控制總線等三大總線,現(xiàn)在分別加以說明:中央處理器:中央處理器(CPU)是整個單片機的核心部件,是8位數(shù)據(jù)寬度的處理器,能處理8位二進制數(shù)據(jù)或代碼,CPU負責控制、指揮和調(diào)度整個單元系統(tǒng)協(xié)調(diào)的工作,完成運算和控制輸入輸出功能等操作。數(shù)據(jù)存儲器(RAM):8051內(nèi)部有128個8位用戶數(shù)據(jù)存儲單元和128個專用存放器單元,它們是統(tǒng)一編址的,專用存放器只能用于存放控制指令數(shù)據(jù),用戶只能訪問,而不能用于存放用戶數(shù)據(jù),所以,用戶能使用的RAM只有128個,可存放讀寫的數(shù)據(jù),運算的中間結(jié)果或用戶定義的字型表。圖3.18051內(nèi)部結(jié)構(gòu)程序存儲器(ROM):8051共有4096個8位掩膜ROM,用于存放用戶程序,原始數(shù)據(jù)或表格。定時/計數(shù)器:8051有兩個16位的可編程定時/計數(shù)器,以實現(xiàn)定時或計數(shù)產(chǎn)生中斷用于控制程序轉(zhuǎn)向。并行輸入輸出(I/O)口:8051共有4組8位I/O口(P0、P1、P2或P3),用于對外部數(shù)據(jù)的傳輸。全雙工串行口:8051內(nèi)置一個全雙工串行通信口,用于與其它設(shè)備間的串行數(shù)據(jù)傳送,該串行口既可以用作異步通信收發(fā)器,也可以當同步移位器使用。中斷系統(tǒng):8051具備較完善的中斷功能,有兩個外中斷、兩個定時/計數(shù)器中斷和一個串行中斷,可滿足不同的控制要求,并具有2級的優(yōu)先級別選擇。時鐘電路:8051內(nèi)置最高頻率達12MHz的時鐘電路,用于產(chǎn)生整個單片機運行的脈沖時序,但8051單片機需外置振蕩電容。單片機的結(jié)構(gòu)有兩種類型,一種是程序存儲器和數(shù)據(jù)存儲器分開的形式,即哈佛(Harvard)結(jié)構(gòu),另一種是采用通用計算機廣泛使用的程序存儲器與數(shù)據(jù)存儲器合二為一的結(jié)構(gòu),即普林斯頓(Princeton)結(jié)構(gòu)。INTEL的MCS-51系列單片機采用的是哈佛結(jié)構(gòu)的形式,而后續(xù)產(chǎn)品16位的MCS-96系列單片機那么采用普林斯頓結(jié)構(gòu)。圖3.2MCS-51結(jié)構(gòu)框圖MCS-51的引腳說明:MCS-51系列單片機中的8031、8051及8751均采用40Pin封裝的雙列直接DIP結(jié)構(gòu),圖2.3是它們的引腳配置,40個引腳中,正電源和地線兩根,外置石英振蕩器的時鐘線兩根,4組8位共32個I/O口,中斷口線與P3口線復用?,F(xiàn)在我們對這些引腳的功能加以說明:圖3.351單片機引腳圖Pin9:RESET/Vpd復位信號復用腳,當8051通電,時鐘電路開始工作,在RESET引腳上出現(xiàn)24個時鐘周期以上的高電平,系統(tǒng)即初始復位。初始化后,程序計數(shù)器PC指向0000H,P0-P3輸出口全部為高電平,堆棧指針寫入07H,其它專用存放器被清“0”。RESET由高電平下降為低電平后,系統(tǒng)即從0000H地址開始執(zhí)行程序。然而,初始復位不改變RAM〔包括工作存放器R0-R7〕的狀態(tài),8051的初始態(tài)。8051的復位方式可以是自動復位,也可以是手動復位,如圖(2.4)。此外,RESET/Vpd還是一復用腳,Vcc掉電其間,此腳可接上備用電源,以保證單片機內(nèi)部RAM的數(shù)據(jù)不喪失。圖2.4復位電路圖Pin30:ALE/當訪問外部程序器時,ALE(地址鎖存)的輸出用于鎖存地址的低位字節(jié)。而訪問內(nèi)部程序存儲器時,ALE端將有一個1/6時鐘頻率的正脈沖信號,這個信號可以用于識別單片機是否工作,也可以當作一個時鐘向外輸出。更有一個特點,當訪問外部程序存儲器,ALE會跳過一個脈沖。如果單片機是EPROM,在編程其間,將用于輸入編程脈沖。Pin29:當訪問外部程序存儲器時,此腳輸出負脈沖選通信號,PC的16位地址數(shù)據(jù)將出現(xiàn)在P0和P2口上,外部程序存儲器那么把指令數(shù)據(jù)放到P0口上,由CPU讀入并執(zhí)行。Pin31:EA/Vpp程序存儲器的內(nèi)外部選通線,8051和8751單片機,內(nèi)置有4kB的程序存儲器,當EA為高電平并且程序地址小于4kb時,讀取內(nèi)部程序存儲器指令數(shù)據(jù),而超過4kB地址那么讀取外部指令數(shù)據(jù)。如EA為低電平,那么不管地址大小,一律讀取外部程序存儲器指令。顯然,對內(nèi)部無程序存儲器的8031,EA端必須接地。3.2MAZ232芯片用8051串行接口通信,如果兩臺8051單片機之間的距離很近〔不超過1.5m〕,可以采用直接將兩臺8051單片機的串行接口直接相連,利用其自身的TTL電平〔0-5V〕直接傳輸數(shù)據(jù)信息。如果傳輸距離較遠〔超過1.5m〕,由于傳輸線的阻抗與分布電容,會產(chǎn)生電平損耗和波形畸變,以至于檢測不出數(shù)據(jù)或數(shù)據(jù)出錯。此時可利用RS232標準總線接口,將單片機輸出的TTL電平轉(zhuǎn)換為RS232標準電平〔邏輯1為-15—-5V;邏輯0為+5-—+15V〕。用RS232可將傳輸距離提高到15m,如果想遠距離傳輸,可以采用RS422或者RS485。 電平轉(zhuǎn)換芯片MAX232是美信公司〔MAXIM〕生產(chǎn),專用于進行將TTL電平轉(zhuǎn)換為RS232電平的芯片,MAX232內(nèi)部有泵電源,能將+5V電源電壓在芯片內(nèi)提高到RS232電平所需的+10V或者-10V電平。圖2.電平轉(zhuǎn)換芯片MAX2323.34×4鍵盤介紹3.3.14×4矩陣鍵盤工作原理矩陣鍵盤又稱為行列式鍵盤,它是用4條I/O線作為行線,4條I/O線作為列線組成的鍵盤。在行線和列線的每一個交叉點上,設(shè)置一個按鍵。這樣鍵盤中按鍵的個數(shù)是4×4個。這種行列式鍵盤結(jié)構(gòu)能夠有效地提高單片機系統(tǒng)中I/O口的利用率。圖3.4為ME300B矩陣鍵盤電路圖,行線接P1.4-P1.7,列線接P1.0-P1.3。圖3.4矩陣鍵盤電路圖2按鍵排列數(shù)碼動態(tài)掃描顯示電路在ME300B開發(fā)系統(tǒng)中,采用了8位數(shù)碼管動態(tài)掃描顯示。它將所有數(shù)碼管的8個段線相應地并接在一起,并接到AT89S51的P0口,由P0口控制字段輸出。而各位數(shù)碼管的共陽極由AT89S51的P2口控制Q20-Q27來實現(xiàn)8位數(shù)碼管的位輸出控制。這樣,對于一組數(shù)碼管動態(tài)掃描顯示需要由兩組信號來控制:一組是字段輸出口輸出的字形代碼,用來控制顯示的字形,稱為段碼;另一組是位輸出口輸出的控制信號,用來選擇第幾位數(shù)碼管工作,稱為位碼。由于各位數(shù)碼管的段線并聯(lián),段碼的輸出對各位數(shù)碼管來說都是相同的。因此,同一時刻如果各位數(shù)碼管的位選線都處于選通狀態(tài)的話,8位數(shù)碼管將顯示相同的字符。假設(shè)要各位數(shù)碼管能夠顯示出與本位相應的字符,就必須采用掃描顯示方式。即在某一時刻,只讓某一位的位選線處于導通狀態(tài),而其它各位的位選線處于關(guān)閉狀態(tài)。同時,段線上輸出相應位要顯示字符的字型碼。這樣同一時刻,只有選通的那一位顯示出字符,而其它各位那么是熄滅的,如此循環(huán)下去,就可以使各位數(shù)碼管顯示出將要顯示的字符。雖然這些字符是在不同時刻出現(xiàn)的,而且同一時刻,只有一位顯示,其它各位熄滅,但由于數(shù)碼管具有余輝特性和人眼有視覺暫留現(xiàn)象,只要每位數(shù)碼管顯示間隔足夠短,給人眼的視覺印象就會是連續(xù)穩(wěn)定地顯示。管的亮度將亮些,假設(shè)顯示的時間間隔短,顯示時數(shù)碼管的亮度將暗些。假設(shè)顯示的時間間隔過長的話,數(shù)碼管顯示時將產(chǎn)生閃爍現(xiàn)象。所以,在調(diào)整顯示的時間間隔時,即要考慮到顯示時數(shù)碼管的亮度,又要數(shù)碼管顯示時不產(chǎn)生閃爍現(xiàn)象。在ME300B單片機開發(fā)系統(tǒng)中使用數(shù)碼管來顯示信息時,要將JP2的2、3端短接。見圖3.6。圖3.63.4數(shù)碼管工作原理共陽極數(shù)碼管的8個發(fā)光二極管的陽極〔二極管正端〕連接在一起。通常,公共陽極接高電平〔一般接電源〕,其它管腳接段驅(qū)動電路輸出端。當某段驅(qū)動電路的輸出端為低電平時,那么該端所連接的字段導通并點亮。根據(jù)發(fā)光字段的不同組合可顯示出各種數(shù)字或字符。此時,要求段驅(qū)動電路能吸收額定的段導通電流,還需根據(jù)外接電源及額定段導通電流來確定相應的限流電阻。共陰極數(shù)碼管的8個發(fā)光二極管的陰極〔二極管負端〕連接在一起。通常,公共陰極接低電平〔一般接地〕,其它管腳接段驅(qū)動電路輸出端。當某段驅(qū)動電路的輸出端為高電平時,那么該端所連接的字段導通并點亮,根據(jù)發(fā)光字段的不同組合可顯示出各種數(shù)字或字符。此時,要求段驅(qū)動電路能提供額定的段導通電流,還需根據(jù)外接電源及額定段導通電流來確定相應的限流電阻.4.設(shè)計步驟基于單片機的雙機通信的設(shè)計包括軟件設(shè)計和硬件設(shè)計兩局部。軟硬件設(shè)計都包括發(fā)射局部和接收局部的設(shè)計。軟件設(shè)計主要是C語言程序和匯編語言程序的編寫和運用Proteus軟件進行仿真。4.1Keil和Proteus介紹和聯(lián)調(diào)4.1.1Proteus的介紹1、Proteus是一種低投資的電子設(shè)計自動化軟件,提供SchematicDrawing、SPICE仿真與PCB設(shè)計功能,這一點Proteus與multisim比擬類似,只不過它可以仿真單片機和周邊設(shè)備,可以仿真51系列、AVR,PIC等常用的MCU,與keil和MPLAB不同的是它還提供了周邊設(shè)備的仿真,只要給出電路圖就可以仿真,例如373,led,示波器,Proteus提供了大量的元件庫,有RAM,ROM,鍵盤,馬達,LED,LCD,AD/DA,局部SPI器件,局部IIC器件,編譯方面支持Keil和MPLAB,里面有大量的例子參考.2、Proteus可提供仿真元件資源,Proteus軟件提供了可仿真數(shù)字和模擬、交流和直流等數(shù)千種元器件達30多個元件庫。3、Proteus可提供的仿真儀表資源包括擬儀器儀表的數(shù)量、類型和質(zhì)量,是衡量仿真軟件實驗室是否合格的一個關(guān)鍵因素。在Proteus軟件中,理論上同一種儀器可以在一個電路中隨意的調(diào)用。除了現(xiàn)實存在的儀器外,Proteus還提供了一個圖形顯示功能,可以將線路上變化的信號,以圖形的方式實時地顯示出來,其作用與示波器相似但功能更多。這些虛擬儀器儀表具有理想的參數(shù)指標,例如極高的輸入阻抗、極低的輸出阻抗。這些都盡可能減少了儀器對測量結(jié)果的影響。4、Proteus可提供的調(diào)試手段Proteus提供了比擬豐富的測試信號用于電路的測試。這些測試信號包括模擬信號和數(shù)字信號。Proteus與其它單片機仿真軟件不同的是,它不僅能仿真單片機CPU的工作情況,也能仿真單片機外圍電路或沒有單片機參與的其它電路的工作情況。因此在仿真和程序調(diào)試時,關(guān)心的不再是某些語句執(zhí)行時單片機存放器和存儲器內(nèi)容的改變,而是從工程的角度直接看程序運行和電路工作的過程和結(jié)果。對于這樣的仿真實驗,從某種意義上講,是彌補了實驗和工程應用間脫節(jié)的矛盾和現(xiàn)象。Keil的介紹Keil是德國開發(fā)的一個51單片機開發(fā)軟件平臺,最開始只是一個支持C語言和匯編語言的編譯器軟件。后來隨著開發(fā)人員的不斷努力以及版本的不斷升級,使它已經(jīng)成為了一個重要的單片機開發(fā)平臺,不過KEIL的界面并不是非常復雜,操作也不是非常困難,很多工程師的開發(fā)的優(yōu)秀程序都是在KEIL的平臺上編寫出來的。可以說它是一個比擬重要的軟件,熟悉他的人很多很多,用戶群極為龐大,要遠遠超過偉福等廠家軟件用戶群,操作有不懂的地方只要找相關(guān)的書看看,到相關(guān)的單片機技術(shù)論壇問問,很快就可以掌握它的根本使用了。1、Keil的μVision2可以進行純粹的軟件仿真(仿真軟件程序,不接硬件電路);也可以利用硬件仿真器,搭接上單片機硬件系統(tǒng),在仿真器中載入工程程序后進行實時仿真;還可以使用μVision2的內(nèi)嵌模塊KeilMonitor-51,在不需要額外的硬件仿真器的條件下,搭接單片機硬件系統(tǒng)對工程程序進行實時仿真。2、uVision2調(diào)試器具備所有常規(guī)源極調(diào)試,符號調(diào)試特性以及歷史跟蹤,代碼覆蓋,復雜斷點等功能。DDE界面和shift語言支持自動程序測試。

3、虛擬實驗的構(gòu)建及調(diào)試;單片機的理論教學和實驗中,內(nèi)容一般包括了四方面,即單片機系統(tǒng)資源;硬件電路的設(shè)計、組裝、調(diào)試;應用軟件的編制、調(diào)試;總調(diào),即應用軟件的鏈接調(diào)試,程序固化,軟、硬件結(jié)合的應用系統(tǒng)。因此教師在進行教學時,應該充分考慮課程的特點并作合理的模塊劃分,在每次實驗課程前作適當?shù)臏蕚涔ぷ?,以使教學任務能集中和突出。〔1〕系統(tǒng)資源的實驗教學任何一種單片機均提供了一定的系統(tǒng)資源。對于51系列單片機來講,其所提供的資源是以存放器和存儲器的方式表達出來的。對于存放器內(nèi)容的查看,可以采用多種可以模擬仿真51單片機的軟件來實現(xiàn)。對于Keil軟件來講,C51編譯器可以實現(xiàn)對51系列單片機所有資源的操作。〔2〕硬件電路的設(shè)計、組裝、調(diào)試硬件電路的設(shè)計包含兩局部內(nèi)容:一是系統(tǒng)擴展,即單片機自身的功能單元如ROM、RAM、I/O口、定時器/計數(shù)器等容量不能滿足應用系統(tǒng)的需要時,必須在片外進行擴展,選擇適當?shù)男酒?,設(shè)計相應的電路;二是系統(tǒng)配置,即按照系統(tǒng)的要求配置外圍設(shè)備,如鍵盤、顯示器、打印機、A/D轉(zhuǎn)換器、D/A轉(zhuǎn)換器等,要設(shè)計適宜的接口電路。很多常用的硬件電路的設(shè)計可在Proteus軟件中實現(xiàn),學生通過Proteus軟件的使用,不當可以實現(xiàn)教材上的大局部實驗。而且可以學到硬件電路設(shè)計的方法。〔3〕應用軟件的編制、調(diào)試;使用Keil軟件工具時,工程開發(fā)流程和其它軟件開發(fā)工程的流程極其相似。①創(chuàng)立一個工程,從器件庫中選擇目標器件,配置工具設(shè)置。

②用C語言或匯編語言創(chuàng)立源程序。③用工程管理器生成應用。④修改源程序中的錯誤。⑤測試,連接應用。通過使用Keil軟件工具編制、調(diào)試應用軟件,可以學到單片機各種指令,也可以學到單片機軟件開發(fā)的步驟、方法和技巧?!?〕總調(diào),即應用軟件的鏈接調(diào)試,程序固化,軟、硬件結(jié)合的應用系統(tǒng)軟硬件聯(lián)合仿真系統(tǒng)由一個硬件執(zhí)行環(huán)境和一個軟件執(zhí)行環(huán)境組成,通常軟件環(huán)境和硬件環(huán)境都有自己的除錯和控制界面,Keil與Proteus的整合調(diào)試可以實現(xiàn)系統(tǒng)的總調(diào),在該系統(tǒng)中,Keil作為軟件調(diào)試界面,Proteus作為硬件仿真和調(diào)試界面,下面說一下如何在keil中調(diào)用proteus進行MCU外圍器件的仿真。

4.2軟件設(shè)計1、源程序設(shè)計首先,根據(jù)發(fā)送端和接收端的功能要求分別編寫源代碼。源程序由C語言編程實現(xiàn),具體如附錄I。所實現(xiàn)的功能是用4×4鍵盤進行手動控制發(fā)送端的數(shù)字信號進行發(fā)送。然后,調(diào)試源程序直到無錯誤出現(xiàn)。最后,運行源程序。2、原理圖設(shè)計利用Proteus仿真軟件畫出原理圖并將程序嵌入其中,直到仿真成功。3、將程序分別燒入控制發(fā)送端和接收端的AT89C51中,仿真結(jié)果如附錄II。4.3硬件設(shè)計按照原理圖將器件一一插入面包板。首先,將各個芯片插入適宜的位置。接著把相應的器件插入面包板。接下來連接導線。分別給發(fā)送端和接收端接上5V電源,即可觀察設(shè)計結(jié)果,硬件實現(xiàn)如附錄III。結(jié)論為期3周的通信專業(yè)課程設(shè)計,我們很好的完成了設(shè)計任務。期間,我學到了很多珍貴的經(jīng)驗和相關(guān)的通信技術(shù)知識。在這次的雙機通信系統(tǒng)設(shè)計中,C語言程序和匯編語言程序的編寫以及原理圖的設(shè)計占了很重要的局部。對于零散的芯片,通過編程、仿真、硬件電路搭建,才能形成一個完整的系統(tǒng)。我們必須深入到工程實踐中,畢竟實踐出真知。同時,在本次課程設(shè)計中,我們還必須將書本中的知識很好的應用到實踐中去。經(jīng)過課程設(shè)計,在查閱資料的過程中,學習了基于單片機的C語言程序設(shè)計,了解了單片機串行通信的根本知識,對于以后的學習和工作都有很大的益處。在學習的過程中,也遇到了一些困難,比方開始的時候,由于發(fā)送端和接收端的通信協(xié)議沒有做好,導致數(shù)據(jù)不能正確的傳輸,在解決問題的過程中,對于通信協(xié)議的實現(xiàn)有了深刻的認識?,F(xiàn)在課程設(shè)計已經(jīng)結(jié)束,但它的影響卻留存長久,它讓我們自己動手,品嘗成功的喜悅,激發(fā)了我們對實踐的興趣和熱情,在很大程度上鼓舞了我們的學習決心,增強了我們的自信心,讓我們以更大的勇氣面對以后的學習和人生他,它給了我們開拓進取的動力。通過這次的課程設(shè)計我深刻的認識到了,理論知識和實踐相結(jié)合是教學環(huán)節(jié)中相當重要的一個環(huán)節(jié),只有這樣才能提高自己的實際操作能力,并且從中培養(yǎng)自己獨立思考、用于克服困難、團隊協(xié)作的精神。致謝持續(xù)緊張和忙碌三周的課程設(shè)計終于完了,在此我特別感謝帶我的指導老師-王老師,在這次畢業(yè)設(shè)計中對我的的耐心指導和幫助。還有各位領(lǐng)導在此期間對我的幫助和鼓勵,使我在設(shè)計的時候信心十足。感謝學校給我門這次畢業(yè)設(shè)計的時機和其它的幫助。還有一同討論、幫助我設(shè)計的同學表示感謝。在這次課程設(shè)計中,老師的教導和同學們的協(xié)作,使我受益匪淺。感謝幾位舍友在我?guī)状闻獊G資料的情況下幫助我共同完成任務。沒有老師和他們的幫助、查找資料。對于我一個對單片機知識理解不是很深入的人來說要想在短短的幾周的時間里學習到網(wǎng)絡(luò)知識并完成課程論文是很困難的事情。所以,謝謝指導老師和幾位舍友,謝謝你們!參考文獻[1]胡漢才.單片機原理機接口技術(shù)[M].北京:北京清華大學出版社,2004.3.[2]薛曉書.單片微型計算機原理及應用.西安交通大學出版社,2007.[3]秦實宏,周龍,肖忠.單片機原理與應用技術(shù).中國水利水電出版社,2005.附錄I發(fā)送端程序:#ifndef _PMPDATAT_H #define _PMPDATAT_H#include<reg51.h>#include<string.h>#defineucharunsignedchar#defineuintunsignedint#defineSUCC0x2A#defineERR0xF0 #defineMAXLEN64 ucharbuf;ucharaddr,get_key,key;#endif#include"PMPDataT.h"sbitled=P3^4;ucharnum=0;voiddelay(uintt){ uinti; while(t--) { for(i=0;i<125;i++) {} }}ucharkeyscan(void){ ucharscancode,tmpcode; P1=0xf0; if((P1&0xf0)!=0xf0) { delay(10); if((P1&0xf0)!=0xf0) // { scancode=0xfe; while((scancode&0x10)!=0) { P1=scancode; if((P1&0xf0)!=0xf0) { tmpcode=(P1&0xf0)|0x0f; return((~scancode)+(~tmpcode)); } elsescancode=(scancode<<1)|0x01; //DDé¨?è??×óò?ò??? } } } return(0); }voidsenddata(ucharbuf){ TI=0; TB8=0; SBUF=buf; while(!TI); TI=0;}voidinit_serial(){ TMOD=0x20; TH1=250; TL1=250; TR1=1; PCON=0x80; SCON=0xd0; }voidGetkey(){switch(get_key) { case0x11: key=0xc0; break; case0x21: key=0xf9; break; case0x41: key=0xa4; break; case0x81: key=0xb0; break; case0x12: key=0x99; break; case0x22: key=0x92; break; case0x42: key=0x82; break; case0x82: key=0xf8; break; case0x

溫馨提示

  • 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論