




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、基于單片機(jī)的雙機(jī)通信摘 要 雙機(jī)通信是單片機(jī)的一個重要應(yīng)用。本次課程設(shè)計就是要利用單片機(jī)來完成一個系統(tǒng),實現(xiàn)兩個單片機(jī)之間的有序通信。本文詳細(xì)介紹了關(guān)于基于單片機(jī)AT89C51實現(xiàn)的雙機(jī)之間的通信的設(shè)計。軟件部分采用C語言編程實現(xiàn)接收部分和發(fā)射部分的功能,用Protues進(jìn)行仿真。軟件設(shè)計完成后,將程序燒入單片機(jī)。通信的結(jié)果實用數(shù)碼管進(jìn)行顯示,數(shù)碼管采用查表方式顯示。在通信過程中,使用通信協(xié)議進(jìn)行通信。關(guān) 鍵 詞 51單片機(jī);串行通信;接口Two-machine communication based on single chip Abstract Dual machine communica
2、tion is an important application of single chip. This course is designed to using single chip computer to complete a system, realize the orderly communication between two single-chip microcomputer. This paper introduces the realization based on single-chip microcomputer AT89C51 about the dual machin
3、e for communication between the design. Software part adopts the C programming language realization receiving part and emission, part of the Protues function, through simulation. The software design is completed, the procedure spread microcontroller. Communication results and practical to display, d
4、igital digital tube pipe, adopting look-up table display. In communication process, USES communication protocol to communicate.Key words 51 SCM; serial communication; Interface 不要刪除行尾的分節(jié)符,此行不會被打印歡迎下載目 錄基于單片機(jī)的雙機(jī)通信ITwo-machine communication based on single chipII緒 論21.課題背景31.1 雙機(jī)通信簡介 31.1.1 雙機(jī)通信接口的基本特
5、點 31.2 雙機(jī)通信原理 41.3 系統(tǒng)網(wǎng)絡(luò)協(xié)議 42.設(shè)計方案63.單片機(jī)與通信芯片介紹73.1 單片機(jī)技術(shù)介紹 73.2 MAZ232芯片103.3 44鍵盤介紹113.3.1 44矩陣鍵盤工作原理113.3.2數(shù)碼動態(tài)掃描顯示電路123.4數(shù)碼管工作原理134.設(shè)計步驟144.1 Keil和Proteus介紹和聯(lián)調(diào)144.1.1 Proteus的介紹144.1.2 Keil的介紹154.2 軟件設(shè)計164.3 硬件設(shè)計16結(jié) 論17致 謝18參考文獻(xiàn)19附 錄I20附錄II27附錄III28緒 論 單片機(jī)作為微型計算機(jī)的一個分支,具有功能強(qiáng)、體積小、應(yīng)用靈活等諸多優(yōu)點,在工業(yè)控制、儀器
6、儀表、通信、家用電器和國防科技等各個領(lǐng)域得到廣泛的應(yīng)用。隨著集成電路技術(shù)的不斷發(fā)展,單片機(jī)的性能也在不斷的提高,其應(yīng)用的范圍必將越來越寬廣。然而,隨著單片機(jī)在工業(yè)自動化控制、智能儀器儀表中的廣泛應(yīng)用,單機(jī)已經(jīng)逐漸不能滿足需要,雙機(jī)協(xié)同工作已經(jīng)成為一個重要的發(fā)展趨勢,雙機(jī)應(yīng)用的關(guān)鍵就在于雙機(jī)之間的互相通訊、互傳數(shù)據(jù)信息。單片機(jī)和計算機(jī)的共同發(fā)展下,單片機(jī)的應(yīng)用從獨立的單片機(jī)向網(wǎng)絡(luò)發(fā)展,由計算機(jī)和單片機(jī)構(gòu)成的雙機(jī)網(wǎng)絡(luò)系統(tǒng)也是單片機(jī)技術(shù)發(fā)展的一個方向。單片機(jī)雙機(jī)通信是指由兩臺單片機(jī)組成的網(wǎng)絡(luò)結(jié)構(gòu),可以通過串行通信方式實現(xiàn)對某一過程的最終控制。隨著計算機(jī)技術(shù)的發(fā)展,雙機(jī)通訊技術(shù)也在不斷的發(fā)展,現(xiàn)在發(fā)展
7、比較成熟的還有光纖通信等。由于計算機(jī)的飛速發(fā)展和控制系統(tǒng)的復(fù)雜化,雙機(jī)機(jī)通信已經(jīng)越來越成為人們熱門的話題之一單片機(jī)雙機(jī)機(jī)通信是指由兩臺單片機(jī)組成的網(wǎng)絡(luò)結(jié)構(gòu), 可以通過串行通信方式共同實現(xiàn)對某一過程的最終控制。目前,單片機(jī)多機(jī)通信的形式較多,但通??煞譃樾切?、環(huán)型、串行總線型和主從式多機(jī)型四種。隨著單片機(jī)和計算機(jī)技術(shù)的不斷發(fā)展,單片機(jī)的應(yīng)用也從獨立的單機(jī)向網(wǎng)絡(luò)發(fā)展。由計算機(jī)和單片機(jī)構(gòu)成的多機(jī)網(wǎng)絡(luò)系統(tǒng)已成為單片機(jī)技術(shù)發(fā)展的一個方向。二者的結(jié)合,充分發(fā)揮單片機(jī)在實時數(shù)據(jù)采集和數(shù)據(jù)管理上的優(yōu)點。單片機(jī)在計算機(jī)的網(wǎng)絡(luò)通訊與數(shù)據(jù)傳輸、工業(yè)自動化過程的實時控制和數(shù)據(jù)處理等都有廣泛地應(yīng)用,已滲透到我們生活的各
8、個領(lǐng)域。許多應(yīng)用都涉及到單片機(jī)雙機(jī)通信。然而單片機(jī)對網(wǎng)絡(luò)數(shù)據(jù)的處理方式不同于通用計算機(jī)系統(tǒng)尤其是有的單片機(jī)只提供2位的數(shù)據(jù)收發(fā)接口,這在一定程度上阻礙了單片機(jī)在網(wǎng)絡(luò)方面的應(yīng)用。因此,采用單片機(jī)技術(shù)與計算機(jī)網(wǎng)絡(luò)技術(shù)相結(jié)合的辦法,對單片機(jī)雙機(jī)通信系統(tǒng)進(jìn)行研究在設(shè)計單片機(jī)網(wǎng)絡(luò)的通信協(xié)議的基礎(chǔ)上,系統(tǒng)網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)采用總線型網(wǎng)絡(luò)接El電路采用端El轉(zhuǎn)發(fā)的形式,實現(xiàn)了2位單片機(jī)雙機(jī)通信。1.課題背景1.1 雙機(jī)通信簡介MCS-51系列單片機(jī)上有一個通用異步接收發(fā)送器UART,通過引腳RXDP3O和TXDP31可與外音B電路進(jìn)行全雙工的串行異步通信,發(fā)送數(shù)據(jù)時由TXD端送出,接收時數(shù)據(jù)由RXD端輸入。本文將
9、具體介紹單片機(jī)串口的特點和編程方法,并且在最后給出一個實用的單片機(jī)與計算機(jī)通過串口通信的程序。1.1.1 雙機(jī)通信接口的基本特點MCS-51單片機(jī)的串行端口有4種基本工作方式,通過編程設(shè)置,可以使其工作在任一方式,以滿足不同場合的需要。其中,方式0主要用于外接移位寄存器,以擴(kuò)展單片機(jī)的IO電路;工作方式1多用于雙機(jī)之間或與外設(shè)電路的通信;方式2、3除有方式1的功能外,還可以作多機(jī)通信,以構(gòu)成分布式多微機(jī)系統(tǒng)。 串行端口有兩個控制寄存器SCON、PCON,用于設(shè)置工作方式、發(fā)送或接收的狀態(tài)、特征位、數(shù)據(jù)傳送波特率每秒傳送的位數(shù)以及作為中斷標(biāo)志等。串行端口有一個數(shù)據(jù)寄存器SBUF在特殊功能寄存器中
10、的字節(jié)地址為99H,該寄存器為發(fā)送和接收所共用。串行端口的波特率可以用程序來控制。在不同工作方式中,由時鐘振蕩頻率的分頻值或由定時器T1的定時溢出時間確定,使用十分方便靈活。1、串口控制寄存器(1) 方式1輸入:在(REN)=1時,串行口采樣RXD引腳,當(dāng)采樣到1至O的跳變時,確認(rèn)是串行發(fā)送來的一幀數(shù)據(jù)的開始位0,從而開始接收一幀數(shù)據(jù)。只有當(dāng)8位數(shù)據(jù)接收完,并檢測到高電平停止位后,只有滿足(R1)=0;(SM2)=0或接收到的第9位數(shù)據(jù)為1時,停止位才進(jìn)入RB8,8位數(shù)據(jù)才能進(jìn)入接收寄存器,并由硬件置位中斷標(biāo)志RI;否則信息丟失。所以在方式1接收時,應(yīng)先用軟件清零RI和SM2標(biāo)志。(2)方式2
11、 方式2為固定波特率的11位UART方式。它比方式1增加了一位可程控為1或0的第9位數(shù)據(jù)。 輸出:發(fā)送的串行數(shù)據(jù)由TXD端輸出一幀信息為11位,附加的第9位來自SCON寄存器的TB8位,用軟件置位或復(fù)位。它可作為多機(jī)通訊中地址數(shù)據(jù)信息的標(biāo)志位,也可以作為數(shù)據(jù)的奇偶校驗位。當(dāng)CPU執(zhí)行一條數(shù)據(jù)寫入SUBF的指令且TI=0時,就啟動發(fā)送器發(fā)送。發(fā)送一幀信息后,置位中斷標(biāo)志TI。輸入:在(REN)=1時,串行口采樣RXD引腳,當(dāng)采樣到1至O的跳變時,確認(rèn)是串行發(fā)送來的一幀數(shù)據(jù)的開始位0,從而開始接收一幀數(shù)據(jù)。在接收到附加的第9位數(shù)據(jù)后,當(dāng)滿足(RI):0;(SM2)=0或接收到的第9位數(shù)據(jù)為1時,第
12、9位數(shù)據(jù)才進(jìn)入RB8,8位數(shù)據(jù)才能進(jìn)入接收寄存器,并由硬件置位中斷標(biāo)志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來決定,可表示為:波特率=2sMoDfosc64也就是當(dāng)SMOD=1時,波特率為132fosc,當(dāng)SM
13、OD=0時,波特率為164fosc。 3方式1和方式3定時器T1作為波特率發(fā)生器,其公式如下:波特率=2SMOD32定時器T1溢出率T1溢出率=T1計數(shù)率產(chǎn)生溢出所需的周期數(shù) 式中T1計數(shù)率取決于它工作在定時器狀態(tài)還是計數(shù)器狀態(tài)。當(dāng)工作于定時器狀態(tài)時,T1計數(shù)率為Fosc/2:當(dāng)工作于計數(shù)器狀態(tài)時,T1計數(shù)率為外部輸入頻率,此頻率應(yīng)小于Fosc/24。產(chǎn)生溢出所需周期與定時器T1的工作方式、T1的預(yù)置值有關(guān)。定時器T1工作于方式O:溢出所需周期數(shù)=8192-定時器T1工作于方式1:溢出所需周期數(shù)=65536-X定時器T1工作于方式2:溢出所需周期數(shù)=256-X因為方式2為自動重裝入初值的8位定
14、時器計數(shù)器模式,所以用它來做波特率發(fā)生器最恰當(dāng)。這種方式下,T1的溢出率次秒計算式可以表示為:T1溢出率=Fsoc12256-X1.2 雙機(jī)通信原理雙機(jī)通訊對單片機(jī)而言意義重大,不但可以實現(xiàn)將單片機(jī)的數(shù)據(jù)傳輸?shù)接嬎銠C(jī)端,而且也能實現(xiàn)計算機(jī)對單片機(jī)的控制。由于其所需電纜線少,接線簡單,所以在較遠(yuǎn)距離傳輸中,得到了廣泛的運用。1.3 系統(tǒng)網(wǎng)絡(luò)協(xié)議通信協(xié)議是通信設(shè)備在通信前的約定。單片機(jī)、計算機(jī)有了協(xié)議這種約定,通信雙方才能明白對方的意圖,以進(jìn)行下一步動作。假定我們需要在PC機(jī)與單片機(jī)之間進(jìn)行通信,在雙方程式設(shè)計過程中,有如下約定: 0xA1:單片機(jī)讀取P0端口數(shù)據(jù),并將讀取數(shù)據(jù)返回PC機(jī); 0xA
15、2:單片機(jī)從PC機(jī)接收一段控制數(shù)據(jù); 0xA3:單片機(jī)操作成功信息。在系統(tǒng)工作過程中,單片機(jī)接收到PC機(jī)數(shù)據(jù)信息后,便查找協(xié)議,完成相應(yīng)的操作。當(dāng)單片機(jī)接收到0xA1時,讀取P0端口數(shù)據(jù),并將讀取數(shù)據(jù)返回PC機(jī);當(dāng)單片機(jī)接收到0xA2時,單片機(jī)等待從PC機(jī)接收一段控制數(shù)據(jù);當(dāng)PC接收到0xA3時,就表明單片機(jī)操作已經(jīng)成功。2.設(shè)計方案 本次設(shè)計,對于兩片89C51,采用RS232進(jìn)行雙機(jī)通信。發(fā)送方的數(shù)據(jù)由串行口TXD段輸出,經(jīng)過電平轉(zhuǎn)換芯片MAX232將TTL電平轉(zhuǎn)換為RS232電平輸出,經(jīng)過傳輸線將信號傳送到接收端。接收方也使用MAX232芯片進(jìn)行電平轉(zhuǎn)換后,信號到達(dá)接收方串行口的接收端。
16、接受方接收后,在數(shù)碼管上顯示接收的信息。為提高抗干擾能力,還可以在輸入輸出端加光耦合進(jìn)行光電隔離。軟件部分,通過通信協(xié)議進(jìn)行發(fā)送接收,主機(jī)先送AAH給從機(jī),當(dāng)從機(jī)接收到AAH后,向主機(jī)回答B(yǎng)BH。主機(jī)收到BBH后就把數(shù)碼表TAB16中的10個數(shù)據(jù)送給從機(jī),并發(fā)送檢驗和。從機(jī)收到16個數(shù)據(jù)并計算接收到數(shù)據(jù)的檢驗和,與主機(jī)發(fā)送來的檢驗和進(jìn)行比較,若檢驗和相同則發(fā)送00H給主機(jī);否則發(fā)送FFH給主機(jī),重新接受。從機(jī)收到16個正確數(shù)據(jù)后送到一個數(shù)碼管顯示。3.單片機(jī)與通信芯片介紹3.1 單片機(jī)技術(shù)介紹1974年12月,美國著名的仙童公司推出了世界上第一臺單片機(jī)F8。該機(jī)由兩快集成電路芯片組成,結(jié)構(gòu)新穎
17、,并具有與眾不同的指令系統(tǒng),深受民用電器和儀器儀表領(lǐng)域的歡迎和重視。從此單片機(jī)開始迅速發(fā)展,應(yīng)用范圍也在不斷擴(kuò)大,現(xiàn)已成為微型計算機(jī)的重要分支。單片機(jī)的發(fā)展大致經(jīng)歷了外圍集成、總線完善、功能集成、全方位發(fā)展等技術(shù)發(fā)展階段,至今走過了四代的歷程。第一代:單片機(jī)探索階段。主要有通用CPU 68XX系列和專用CPUMCS-48系列。第二代:單片機(jī)完善階段。表現(xiàn)在:1.面對對象,突出控制功能,專用CPU滿足嵌入功能;2.尋址范圍16位或8位;3.規(guī)范的總線結(jié)構(gòu),有8位數(shù)據(jù)線,16位地址線及多功能異步串行口(UART);4.特殊功能寄存器(SFR)的集中管理模式;5.海量位地址空間,提供位尋址及位操作功
18、能;6.指令系統(tǒng)突出功能。第三代:微控制器形成階段。這一階段已經(jīng)形成系列產(chǎn)品:以8051系列為代表,如8031、8032、8051和8052等。第四代:微控制器百花齊放。表現(xiàn)在:1.電氣商、半導(dǎo)體商廣泛加入;2.滿足最低層電子技術(shù)的應(yīng)用(玩具、小家電);3.大力發(fā)展專用型單片機(jī);4.致力于提高單片機(jī)的綜合品質(zhì)。由于單片機(jī)在整個設(shè)計中占據(jù)著重要的地方,首先介紹一下單片機(jī)的相關(guān)知識。單片機(jī)AT89S52具有低電壓供電和體積小等特點,四個端口只需要兩個口就能滿足電路系統(tǒng)的設(shè)計需要。MCS-51單片機(jī)內(nèi)部結(jié)構(gòu)8051是MCS-51系列單片機(jī)的典型產(chǎn)品,我們以這一代表性的機(jī)型進(jìn)行系統(tǒng)的講解。8051單片
19、機(jī)包含中央處理器、程序存儲器(ROM)、數(shù)據(jù)存儲器(RAM)、定時/計數(shù)器、并行接口、串行接口和中斷系統(tǒng)等幾大單元及數(shù)據(jù)總線、地址總線和控制總線等三大總線,現(xiàn)在分別加以說明:中央處理器:中央處理器(CPU)是整個單片機(jī)的核心部件,是8位數(shù)據(jù)寬度的處理器,能處理8位二進(jìn)制數(shù)據(jù)或代碼,CPU負(fù)責(zé)控制、指揮和調(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ù)
20、據(jù),運算的中間結(jié)果或用戶定義的字型表。 圖3.1 8051 內(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ā)器,也可以當(dāng)同步移位器使用。中斷系統(tǒng):8051具備較完善的中斷功能,有兩個外中斷、兩個定時/計數(shù)器中斷和一個串行中斷,可滿足
21、不同的控制要求,并具有2級的優(yōu)先級別選擇。時鐘電路:8051內(nèi)置最高頻率達(dá)12MHz的時鐘電路,用于產(chǎn)生整個單片機(jī)運行的脈沖時序,但8051單片機(jī)需外置振蕩電容。單片機(jī)的結(jié)構(gòu)有兩種類型,一種是程序存儲器和數(shù)據(jù)存儲器分開的形式,即哈佛(Harvard)結(jié)構(gòu),另一種是采用通用計算機(jī)廣泛使用的程序存儲器與數(shù)據(jù)存儲器合二為一的結(jié)構(gòu),即普林斯頓(Princeton)結(jié)構(gòu)。INTEL的MCS-51系列單片機(jī)采用的是哈佛結(jié)構(gòu)的形式,而后續(xù)產(chǎn)品16位的MCS-96系列單片機(jī)則采用普林斯頓結(jié)構(gòu)。 圖3.2 MCS-51結(jié)構(gòu)框圖MCS-51的引腳說明:MCS-51系列單片機(jī)中的8031、8051及8751均采用4
22、0Pin封裝的雙列直接DIP結(jié)構(gòu),圖2.3是它們的引腳配置,40個引腳中,正電源和地線兩根,外置石英振蕩器的時鐘線兩根,4組8位共32個I/O口,中斷口線與P3口線復(fù)用?,F(xiàn)在我們對這些引腳的功能加以說明:圖3.3 51單片機(jī)引腳圖Pin9:RESET/Vpd復(fù)位信號復(fù)用腳,當(dāng)8051通電,時鐘電路開始工作,在RESET引腳上出現(xiàn)24個時鐘周期以上的高電平,系統(tǒng)即初始復(fù)位。初始化后,程序計數(shù)器PC指向0000H,P0-P3輸出口全部為高電平,堆棧指針寫入07H,其它專用寄存器被清“0”。RESET由高電平下降為低電平后,系統(tǒng)即從0000H地址開始執(zhí)行程序。然而,初始復(fù)位不改變RAM(包括工作寄存
23、器R0-R7)的狀態(tài),8051的初始態(tài)。8051的復(fù)位方式可以是自動復(fù)位,也可以是手動復(fù)位,如圖(2.4)。此外,RESET/Vpd還是一復(fù)用腳,Vcc掉電其間,此腳可接上備用電源,以保證單片機(jī)內(nèi)部RAM的數(shù)據(jù)不丟失。 圖2.4 復(fù)位電路圖Pin30:ALE/當(dāng)訪問外部程序器時,ALE(地址鎖存)的輸出用于鎖存地址的低位字節(jié)。而訪問內(nèi)部程序存儲器時,ALE端將有一個1/6時鐘頻率的正脈沖信號,這個信號可以用于識別單片機(jī)是否工作,也可以當(dāng)作一個時鐘向外輸出。更有一個特點,當(dāng)訪問外部程序存儲器,ALE會跳過一個脈沖。如果單片機(jī)是EPROM,在編程其間,將用于輸入編程脈沖。Pin29:當(dāng)訪問外部程序
24、存儲器時,此腳輸出負(fù)脈沖選通信號,PC的16位地址數(shù)據(jù)將出現(xiàn)在P0和P2口上,外部程序存儲器則把指令數(shù)據(jù)放到P0口上,由CPU讀入并執(zhí)行。Pin31:EA/Vpp程序存儲器的內(nèi)外部選通線,8051和8751單片機(jī),內(nèi)置有4kB的程序存儲器,當(dāng)EA為高電平并且程序地址小于4kb時,讀取內(nèi)部程序存儲器指令數(shù)據(jù),而超過4kB地址則讀取外部指令數(shù)據(jù)。如EA為低電平,則不管地址大小,一律讀取外部程序存儲器指令。顯然,對內(nèi)部無程序存儲器的8031,EA端必須接地。3.2 MAZ232芯片用8051串行接口通信,如果兩臺8051單片機(jī)之間的距離很近(不超過1.5m),可以采用直接將兩臺8051單片機(jī)的串行接
25、口直接相連,利用其自身的TTL電平(0-5V)直接傳輸數(shù)據(jù)信息。如果傳輸距離較遠(yuǎn)(超過1.5m),由于傳輸線的阻抗與分布電容,會產(chǎn)生電平損耗和波形畸變,以至于檢測不出數(shù)據(jù)或數(shù)據(jù)出錯。此時可利用 RS232標(biāo)準(zhǔn)總線接口,將單片機(jī)輸出的TTL電平轉(zhuǎn)換為RS232標(biāo)準(zhǔn)電平(邏輯1為-15-5V;邏輯0為+5-+15V)。用RS232可將傳輸距離提高到15m,如果想遠(yuǎn)距離傳輸,可以采用RS422或者RS485。電平轉(zhuǎn)換芯片MAX232是美信公司(MAXIM)生產(chǎn),專用于進(jìn)行將TTL電平轉(zhuǎn)換為RS232電平的芯片,MAX232內(nèi)部有泵電源,能將+5V電源電壓在芯片內(nèi)提高到RS232電平所需的+10V或者
26、-10V電平。圖2.電平轉(zhuǎn)換芯片MAX2323.3 44鍵盤介紹3.3.1 44矩陣鍵盤工作原理矩陣鍵盤又稱為行列式鍵盤,它是用4條I/O線作為行線,4條I/O線作為列線組成的鍵盤。在行線和列線的每一個交叉點上,設(shè)置一個按鍵。這樣鍵盤中按鍵的個數(shù)是44個。這種行列式鍵盤結(jié)構(gòu)能夠有效地提高單片機(jī)系統(tǒng)中I/O口的利用率。圖3.4為ME300B矩陣鍵盤電路圖,行線接P1.4P1.7,列線接P1.0P1.3。圖3.4 矩陣鍵盤電路 圖2 按鍵排列3.3.2數(shù)碼動態(tài)掃描顯示電路在ME300B開發(fā)系統(tǒng)中,采用了8位數(shù)碼管動態(tài)掃描顯示。它將所有數(shù)碼管的8個段線相應(yīng)地并接在一起,并接到 AT89S51的P0口
27、,由P0口控制字段輸出。而各位數(shù)碼管的共陽極由AT89S51的P2口控制Q20Q27來實現(xiàn)8位數(shù)碼管的位輸出控制。這樣,對于一組數(shù)碼管動態(tài)掃描顯示需要由兩組信號來控制:一組是字段輸出口輸出的字形代碼,用來控制顯示的字形,稱為段碼;另一組是位輸出口輸出的控制信號,用來選擇第幾位數(shù)碼管工作,稱為位碼。由于各位數(shù)碼管的段線并聯(lián),段碼的輸出對各位數(shù)碼管來說都是相同的。因此,同一時刻如果各位數(shù)碼管的位選線都處于選通狀態(tài)的話,8位數(shù)碼管將顯示相同的字符。若要各位數(shù)碼管能夠顯示出與本位相應(yīng)的字符,就必須采用掃描顯示方式。即在某一時刻,只讓某一位的位選線處于導(dǎo)通狀態(tài),而其它各位的位選線處于關(guān)閉狀態(tài)。同時,段線
28、上輸出相應(yīng)位要顯示字符的字型碼。這樣同一時刻,只有選通的那一位顯示出字符,而其它各位則是熄滅的,如此循環(huán)下去,就可以使各位數(shù)碼管顯示出將要顯示的字符。雖然這些字符是在不同時刻出現(xiàn)的,而且同一時刻,只有一位顯示,其它各位熄滅,但由于數(shù)碼管具有余輝特性和人眼有視覺暫留現(xiàn)象,只要每位數(shù)碼管顯示間隔足夠短,給人眼的視覺印象就會是連續(xù)穩(wěn)定地顯示。管的亮度將亮些,若顯示的時間間隔短,顯示時數(shù)碼管的亮度將暗些。若顯示的時間間隔過長的話,數(shù)碼管顯示時將產(chǎn)生閃爍現(xiàn)象。所以,在調(diào)整顯示的時間間隔時,即要考慮到顯示時數(shù)碼管的亮度,又要數(shù)碼管顯示時不產(chǎn)生閃爍現(xiàn)象。在ME300B單片機(jī)開發(fā)系統(tǒng)中使用數(shù)碼管來顯示信息時,
29、要將JP2的2、3端短接。見圖3.6。圖3.63.4數(shù)碼管工作原理 共陽極數(shù)碼管的8個發(fā)光二極管的陽極(二極管正端)連接在一起。通常,公共陽極接高電平(一般接電源),其它管腳接段驅(qū)動電路輸出端。當(dāng)某段驅(qū)動電路的輸出端為低電平時,則該端所連接的字段導(dǎo)通并點亮。根據(jù)發(fā)光字段的不同組合可顯示出各種數(shù)字或字符。此時,要求段驅(qū)動電路能吸收額定的段導(dǎo)通電流,還需根據(jù)外接電源及額定段導(dǎo)通電流來確定相應(yīng)的限流電阻。 共陰極數(shù)碼管的8個發(fā)光二極管的陰極(二極管負(fù)端)連接在一起。通常,公共陰極接低電平(一般接地),其它管腳接段驅(qū)動電路輸出端。當(dāng)某段驅(qū)動電路的輸出端為高電平時,則該端所連接的字段導(dǎo)通并點亮,根據(jù)發(fā)光
30、字段的不同組合可顯示出各種數(shù)字或字符。此時,要求段驅(qū)動電路能提供額定的段導(dǎo)通電流,還需根據(jù)外接電源及額定段導(dǎo)通電流來確定相應(yīng)的限流電阻.4.設(shè)計步驟 基于單片機(jī)的雙機(jī)通信的設(shè)計包括軟件設(shè)計和硬件設(shè)計兩部分。軟硬件設(shè)計都包括發(fā)射部分和接收部分的設(shè)計。軟件設(shè)計主要是C語言程序和匯編語言程序的編寫和運用Proteus軟件進(jìn)行仿真。4.1 Keil和Proteus介紹和聯(lián)調(diào)4.1.1 Proteus的介紹1、Proteus是一種低投資的電子設(shè)計自動化軟件,提供Schematic Drawing、SPICE仿真與PCB設(shè)計功能,這一點Proteus 與 multisim比較類似,只不過它可以仿真單片機(jī)和
31、周邊設(shè)備,可以仿真51系列、AVR,PIC等常用的MCU,與keil和MPLAB不同的是它還提供了周邊設(shè)備的仿真,只要給出電路圖就可以仿真,例如373,led,示波器,Proteus提供了大量的元件庫,有RAM,ROM,鍵盤,馬達(dá),LED,LCD,AD/DA,部分SPI器件,部分IIC器件,編譯方面支持Keil和MPLAB,里面有大量的例子參考. 2、Proteus可提供仿真元件資源 ,Proteus軟件提供了可仿真數(shù)字和模擬、交流和直流等數(shù)千種元器件達(dá)30多個元件庫。 3、Proteus可提供的仿真儀表資源包括擬儀器儀表的數(shù)量、類型和質(zhì)量,是衡量仿真軟件實驗室是否合格的一個關(guān)鍵因素。在Pro
32、teus軟件中,理論上同一種儀器可以在一個電路中隨意的調(diào)用。 除了現(xiàn)實存在的儀器外,Proteus還提供了一個圖形顯示功能,可以將線路上變化的信號,以圖形的方式實時地顯示出來,其作用與示波器相似但功能更多。這些虛擬儀器儀表具有理想的參數(shù)指標(biāo),例如極高的輸入阻抗、極低的輸出阻抗。這些都盡可能減少了儀器對測量結(jié)果的影響。 4、Proteus可提供的調(diào)試手段 Proteus提供了比較豐富的測試信號用于電路的測試。這些測試信號包括模擬信號和數(shù)字信號。 Proteus 與其它單片機(jī)仿真軟件不同的是,它不僅能仿真單片機(jī)CPU 的工作情況,也能仿真單片機(jī)外圍電路或沒有單片機(jī)參與的其它電路的工作情況。因此在仿
33、真和程序調(diào)試時,關(guān)心的不再是某些語句執(zhí)行時單片機(jī)寄存器和存儲器內(nèi)容的改變,而是從工程的角度直接看程序運行和電路工作的過程和結(jié)果。對于這樣的仿真實驗,從某種意義上講,是彌補(bǔ)了實驗和工程應(yīng)用間脫節(jié)的矛盾和現(xiàn)象。4.1.2 Keil的介紹Keil是德國開發(fā)的一個51單片機(jī)開發(fā)軟件平臺,最開始只是一個支持C語言和匯編語言的編譯器軟件。后來隨著開發(fā)人員的不斷努力以及版本的不斷升級,使它已經(jīng)成為了一個重要的單片機(jī)開發(fā)平臺,不過KEIL的界面并不是非常復(fù)雜,操作也不是非常困難,很多工程師的開發(fā)的優(yōu)秀程序都是在KEIL的平臺上編寫出來的??梢哉f它是一個比較重要的軟件,熟悉他的人很多很多,用戶群極為龐大,要遠(yuǎn)遠(yuǎn)
34、超過偉福等廠家軟件用戶群,操作有不懂的地方只要找相關(guān)的書看看,到相關(guān)的單片機(jī)技術(shù)論壇問問,很快就可以掌握它的基本使用了。 1、Keil的Vision2可以進(jìn)行純粹的軟件仿真(仿真軟件程序,不接硬件電路);也可以利用硬件仿真器,搭接上單片機(jī)硬件系統(tǒng),在仿真器中載入項目程序后進(jìn)行實時仿真;還可以使用Vision2的內(nèi)嵌模塊Keil Monitor-51,在不需要額外的硬件仿真器的條件下,搭接單片機(jī)硬件系統(tǒng)對項目程序進(jìn)行實時仿真。 2、uVision2調(diào)試器具備所有常規(guī)源極調(diào)試,符號調(diào)試特性以及歷史跟蹤,代碼覆蓋,復(fù)雜斷點等功能。DDE界面和shift語言支持自動程序測試。 3、虛擬實驗的構(gòu)建及調(diào)試
35、;單片機(jī)的理論教學(xué)和實驗中,內(nèi)容一般包括了四方面,即單片機(jī)系統(tǒng)資源;硬件電路的設(shè)計、組裝、調(diào)試;應(yīng)用軟件的編制、調(diào)試;總調(diào),即應(yīng)用軟件的鏈接調(diào)試,程序固化,軟、硬件結(jié)合的應(yīng)用系統(tǒng)。因此教師在進(jìn)行教學(xué)時,應(yīng)該充分考慮課程的特點并作合理的模塊劃分,在每次實驗課程前作適當(dāng)?shù)臏?zhǔn)備工作,以使教學(xué)任務(wù)能集中和突出。 (1)系統(tǒng)資源的實驗教學(xué) 任何一種單片機(jī)均提供了一定的系統(tǒng)資源。對于51系列單片機(jī)來講,其所提供的資源是以寄存器和存儲器的方式體現(xiàn)出來的。對于寄存器內(nèi)容的查看,可以采用多種可以模擬仿真51單片機(jī)的軟件來實現(xiàn)。對于Keil軟件來講,C51編譯器可以實現(xiàn)對51系列單片機(jī)所有資源的操作。 (2)硬件
36、電路的設(shè)計、組裝、調(diào)試 硬件電路的設(shè)計包含兩部分內(nèi)容:一是系統(tǒng)擴(kuò)展,即單片機(jī)自身的功能單元如ROM、RAM、I/O口、定時器/計數(shù)器等容量不能滿足應(yīng)用系統(tǒng)的需要時,必須在片外進(jìn)行擴(kuò)展,選擇適當(dāng)?shù)男酒O(shè)計相應(yīng)的電路;二是系統(tǒng)配置,即按照系統(tǒng)的要求配置外圍設(shè)備,如鍵盤、顯示器、打印機(jī)、A/D轉(zhuǎn)換器、D/A轉(zhuǎn)換器等,要設(shè)計合適的接口電路。 很多常用的硬件電路的設(shè)計可在Proteus軟件中實現(xiàn),學(xué)生通過Proteus軟件的使用,不當(dāng)可以實現(xiàn)教材上的大部分實驗。而且可以學(xué)到硬件電路設(shè)計的方法。 (3)應(yīng)用軟件的編制、調(diào)試; 使用Keil 軟件工具時,項目開發(fā)流程和其它軟件開發(fā)項目的流程極其相似。 創(chuàng)建
37、一個項目,從器件庫中選擇目標(biāo)器件,配置工具設(shè)置。 用C語言或匯編語言創(chuàng)建源程序。 用項目管理器生成應(yīng)用。 修改源程序中的錯誤。 測試,連接應(yīng)用。 通過使用Keil 軟件工具編制、調(diào)試應(yīng)用軟件,可以學(xué)到單片機(jī)各種指令,也可以學(xué)到單片機(jī)軟件開發(fā)的步驟、方法和技巧。 (4)總調(diào),即應(yīng)用軟件的鏈接調(diào)試,程序固化,軟、硬件結(jié)合的應(yīng)用系統(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)用p
38、roteus進(jìn)行MCU外圍器件的仿真。 4.2 軟件設(shè)計1、源程序設(shè)計首先,根據(jù)發(fā)送端和接收端的功能要求分別編寫源代碼。源程序由C語言編程實現(xiàn),具體如附錄I。所實現(xiàn)的功能是用44鍵盤進(jìn)行手動控制發(fā)送端的數(shù)字信號進(jìn)行發(fā)送。然后,調(diào)試源程序直到無錯誤出現(xiàn)。最后,運行源程序。2、原理圖設(shè)計利用Proteus仿真軟件畫出原理圖并將程序嵌入其中,直到仿真成功。3、將程序分別燒入控制發(fā)送端和接收端的AT89C51中,仿真結(jié)果如附錄II。4.3 硬件設(shè)計按照原理圖將器件一一插入面包板。首先,將各個芯片插入合適的位置。接著把相應(yīng)的器件插入面包板。接下來連接導(dǎo)線。分別給發(fā)送端和接收端接上5V電源,即可觀察設(shè)計結(jié)
39、果,硬件實現(xiàn)如附錄III。千萬不要刪除行尾的分節(jié)符,此行不會被打印?!敖Y(jié)論”以前的所有正文內(nèi)容都要編寫在此行之前。結(jié) 論為期3周的通信專業(yè)課程設(shè)計,我們很好的完成了設(shè)計任務(wù)。期間,我學(xué)到了很多寶貴的經(jīng)驗和相關(guān)的通信技術(shù)知識。在這次的雙機(jī)通信系統(tǒng)設(shè)計中,C語言程序和匯編語言程序的編寫以及原理圖的設(shè)計占了很重要的部分。對于零散的芯片,通過編程、仿真、硬件電路搭建,才能形成一個完整的系統(tǒng)。我們必須深入到工程實踐中,畢竟實踐出真知。同時,在本次課程設(shè)計中,我們還必須將書本中的知識很好的應(yīng)用到實踐中去。經(jīng)過課程設(shè)計,在查閱資料的過程中,學(xué)習(xí)了基于單片機(jī)的C語言程序設(shè)計,了解了單片機(jī)串行通信的基本知識,對
40、于以后的學(xué)習(xí)和工作都有很大的益處。在學(xué)習(xí)的過程中,也遇到了一些困難,比如開始的時候,由于發(fā)送端和接收端的通信協(xié)議沒有做好,導(dǎo)致數(shù)據(jù)不能正確的傳輸,在解決問題的過程中,對于通信協(xié)議的實現(xiàn)有了深刻的認(rèn)識?,F(xiàn)在課程設(shè)計已經(jīng)結(jié)束,但它的影響卻留存長久,它讓我們自己動手,品嘗成功的喜悅,激發(fā)了我們對實踐的興趣和熱情,在很大程度上鼓舞了我們的學(xué)習(xí)決心,增強(qiáng)了我們的自信心,讓我們以更大的勇氣面對以后的學(xué)習(xí)和人生他,它給了我們開拓進(jìn)取的動力。通過這次的課程設(shè)計我深刻的認(rèn)識到了,理論知識和實踐相結(jié)合是教學(xué)環(huán)節(jié)中相當(dāng)重要的一個環(huán)節(jié),只有這樣才能提高自己的實際操作能力,并且從中培養(yǎng)自己獨立思考、用于克服困難、團(tuán)隊協(xié)
41、作的精神。不要自己寫,要利用word來自動生成。詳情請看最后一頁致 謝持續(xù)緊張和忙碌三周的課程設(shè)計終于完了,在此我特別感謝帶我的指導(dǎo)老師-王老師,在這次畢業(yè)設(shè)計中對我的的耐心指導(dǎo)和幫助。還有各位領(lǐng)導(dǎo)在此期間對我的幫助和鼓勵,使我在設(shè)計的時候信心十足。感謝學(xué)校給我門這次畢業(yè)設(shè)計的機(jī)會和其它的幫助。還有一同討論、幫助我設(shè)計的同學(xué)表示感謝。在這次課程設(shè)計中,老師的教導(dǎo)和同學(xué)們的協(xié)作,使我受益匪淺。感謝幾位舍友在我?guī)状闻獊G資料的情況下幫助我共同完成任務(wù)。沒有老師和他們的幫助、查找資料。對于我一個對單片機(jī)知識理解不是很深入的人來說要想在短短的幾周的時間里學(xué)習(xí)到網(wǎng)絡(luò)知識并完成課程論文是很困難的事情。所以,
42、謝謝指導(dǎo)老師和幾位舍友,謝謝你們!參考文獻(xiàn)1 胡漢才. 單片機(jī)原理機(jī)接口技術(shù)M. 北京:北京清華大學(xué)出版社,2004.3.2 薛曉書. 單片微型計算機(jī)原理及應(yīng)用. 西安交通大學(xué)出版社,2007.3 秦實宏,周龍,肖忠. 單片機(jī)原理與應(yīng)用技術(shù). 中國水利水電出版社,2005.附 錄I發(fā)送端程序:#ifndef_PMPDATAT_H #define_PMPDATAT_H#include #include #define uchar unsigned char#define uint unsigned int#define SUCC 0x2A#define ERR 0xF0#define MAXLE
43、N 64 uchar buf;uchar addr,get_key,key;#endif#include PMPDataT.hsbit led=P34;uchar num=0;void delay(uint t)uint i;while(t-)for (i=0;i125;i+) uchar keyscan(void)uchar scancode,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);else scancode = (scancode1)|0x01;/ return(0);void senddata(uchar buf)TI = 0;TB
溫馨提示
- 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. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 交通事故責(zé)任財產(chǎn)保全執(zhí)行合同
- 財產(chǎn)贈與與投資合作合同范本
- 采礦權(quán)抵押貸款合同示范文本
- 融資租賃式餐飲店鋪轉(zhuǎn)讓及運營管理合同
- 兒童身高管理活動方案
- 老人護(hù)理課件
- 老人健康養(yǎng)生課件
- 美術(shù)說課課件下載
- 美術(shù)畫圖案課件
- 防火災(zāi)事故應(yīng)急預(yù)案
- 頭等大事:脫發(fā)青年自救指南
- 中特第五講社會建設(shè)天津大學(xué)
- 密封條范文模板(A4打印版)
- 施工現(xiàn)場安全交底15篇
- 哈雷之約:基于指數(shù)成分股調(diào)整的選股策略
- 湖北省隨州市各縣區(qū)鄉(xiāng)鎮(zhèn)行政村村莊村名居民村民委員會明細(xì)及行政區(qū)劃代碼
- 高處作業(yè)審批表
- 急救醫(yī)學(xué)模擬中心建設(shè)方案
- 三維激光掃描技術(shù)與應(yīng)用實例-PPT課件
- 農(nóng)用地評價方法
- (新知杯)2017-2011上海市初中數(shù)學(xué)競賽試卷
評論
0/150
提交評論