「單片機(jī)串口通訊設(shè)計(jì)」.doc_第1頁(yè)
「單片機(jī)串口通訊設(shè)計(jì)」.doc_第2頁(yè)
「單片機(jī)串口通訊設(shè)計(jì)」.doc_第3頁(yè)
「單片機(jī)串口通訊設(shè)計(jì)」.doc_第4頁(yè)
「單片機(jī)串口通訊設(shè)計(jì)」.doc_第5頁(yè)
免費(fèi)預(yù)覽已結(jié)束,剩余12頁(yè)可下載查看

下載本文檔

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

文檔簡(jiǎn)介

1、 設(shè)計(jì)內(nèi)容和要求1.1設(shè)計(jì)內(nèi)容本設(shè)計(jì)采用AT89S52單片機(jī)以及MAX232通信芯片配合使用與上位機(jī)(計(jì)算機(jī))進(jìn)行串口通訊,根據(jù)上位機(jī)所發(fā)送的不同請(qǐng)求數(shù)據(jù)來(lái)判斷計(jì)算機(jī)所要求單片機(jī)所返回的數(shù)據(jù)。上位機(jī)軟件采用串口調(diào)試助手,在串口調(diào)試助手發(fā)送區(qū)輸入相應(yīng)字符,然后點(diǎn)擊發(fā)送,串口調(diào)試助手軟件將數(shù)據(jù)傳送到計(jì)算機(jī)串口處,采用串口連接線將計(jì)算機(jī)串口信號(hào)傳送至MAX232芯片,再通過(guò)電平轉(zhuǎn)換將RS232信號(hào)轉(zhuǎn)換為單片機(jī)所能識(shí)別的TTL信號(hào),然后將該信號(hào)傳輸?shù)絾纹瑱C(jī)串行口,將數(shù)據(jù)傳送到單片機(jī)內(nèi)部寄存器進(jìn)行相應(yīng)處理。1.2功能要求:通過(guò)上位機(jī)串口調(diào)試軟件給單片機(jī)發(fā)送命令,單片機(jī)接收到所發(fā)送的命令后,進(jìn)行比較處理,確定上位機(jī)信息內(nèi)容后,返回上位機(jī)所請(qǐng)求的數(shù)據(jù)。具體通信波特率和校驗(yàn)方法設(shè)置為:通信波特率:9600bps;校驗(yàn)方式:無(wú)校驗(yàn);數(shù)據(jù)位:8位;停止位:1位。具體發(fā)送和接收要求為:首先上位機(jī)發(fā)送請(qǐng)求命令,當(dāng)單片機(jī)接送到上位機(jī)的請(qǐng)求命令后,判斷上位機(jī)是何數(shù)據(jù),然后給出相應(yīng)的返回?cái)?shù)據(jù),具體發(fā)送和接收的數(shù)據(jù)如下表所示:序號(hào)上位機(jī)發(fā)送數(shù)據(jù)上位機(jī)接收數(shù)據(jù)11“What do you plan to do this Friday?”22“I plan to go to the concert.”33“What are you doing next week?”44“Im thinking of going to my grandmas”5其他字符“Please select a character 1,2,3,4!”2、 系統(tǒng)總體結(jié)構(gòu)2.1功能模塊描述本設(shè)計(jì)為上位機(jī)與單片機(jī)通訊,單片機(jī)采用UART串行口,計(jì)算機(jī)采用串口,考慮到單片機(jī)串行口輸出的是TTL電平信號(hào),而計(jì)算機(jī)串口輸出的是RS232信號(hào),兩種信號(hào)存在不兼容的問(wèn)題,因此需要進(jìn)行電平轉(zhuǎn)換以達(dá)到電平兼容的目的,所以我們還需要選擇另外一種具有TTL信號(hào)到RS232信號(hào)轉(zhuǎn)換功能的芯片,本設(shè)計(jì)中要求采用交流9V電源供電,而我們單片機(jī)以及其他芯片工作所需要的電壓為直流,因此這里我們必須將電壓性質(zhì)轉(zhuǎn)化一下,否則芯片將不能正常工作。整流的方法有半波整流和橋式整流兩種方法,半波整流效率較低,只有輸入電壓的0.45倍,輸入交流電壓為9V,半波整流后輸出的電壓僅為4.05V,而我們單片機(jī)正常工作的電壓為直流5V,不能滿足要求,因此半波整流方式不可取。在本設(shè)計(jì)中我們選擇橋式整流方式,其輸出電壓為輸入電壓的0.9倍,輸入電壓為交流9V時(shí),輸出電壓為8.1V大于單片機(jī)工作電壓,可以選擇,整流后輸出直流電壓波動(dòng)較嚴(yán)重,因此在整流輸出端我們需要增加濾波網(wǎng)絡(luò),進(jìn)行穩(wěn)定輸出電壓。由于橋式整流電路輸出電壓大于我們芯片所能承受的最大電壓,因此需要增加降壓網(wǎng)絡(luò),將整流橋輸出電壓降低到芯片的工作電壓5V。為保證電路板加電后能夠有上電指示功能,因此在降壓網(wǎng)絡(luò)輸出端增加發(fā)光二極管作為上電指示燈。本設(shè)計(jì)中,當(dāng)上位機(jī)下發(fā)請(qǐng)求數(shù)據(jù)時(shí),下位機(jī)(單片機(jī))能夠識(shí)別下發(fā)數(shù)據(jù)并顯示所下發(fā)的數(shù)據(jù),正常下發(fā)請(qǐng)求命令為1、2、3、4或其他數(shù)據(jù)或字符,設(shè)計(jì)要求電路板能夠正常顯示1、2、3、4,顯示其他數(shù)據(jù)或字符時(shí)不必顯示,因此這里我們需要選擇一個(gè)8段數(shù)碼管即可。2.2功能模塊框圖3、 硬件設(shè)計(jì)3.1硬件介紹3.1.1單片機(jī)介紹AT89S52 是一種低功耗、高性能CMOS8位微控制器,具有8K 在系統(tǒng)可編程Flash存儲(chǔ)器。使用Atmel 公司高密度非易失性存儲(chǔ)器技術(shù)制造,與工業(yè)80C51 產(chǎn)品指令和引腳完全兼容。片上Flash允許程序存儲(chǔ)器在系統(tǒng)可編程,亦適于常規(guī)編程器。在單芯片上,擁有靈巧的8 位CPU 和在系統(tǒng)可編程Flash,使得AT89S52為眾多嵌入式控制應(yīng)用系統(tǒng)提供高靈活、超有效的解決方案。 AT89S52具有以下標(biāo)準(zhǔn)功能: 8k字節(jié)Flash,256字節(jié)RAM, 32 位I/O 口線,看門狗定時(shí)器,2 個(gè)數(shù)據(jù)指針,三個(gè)16 位 定時(shí)器/計(jì)數(shù)器,一個(gè)6向量2級(jí)中斷結(jié)構(gòu),全雙工串行口, 片內(nèi)晶振及時(shí)鐘電路。另外,AT89S52 可降至0Hz 靜態(tài)邏 輯操作,支持2種軟件可選擇節(jié)電模式。空閑模式下,CPU 停止工作,允許RAM、定時(shí)器/計(jì)數(shù)器、串口、中斷繼續(xù)工 作。掉電保護(hù)方式下,RAM內(nèi)容被保存,振蕩器被凍結(jié),單片機(jī)一切工作停止,直到下一個(gè)中斷或硬件復(fù)位為止。端口0是一個(gè)8位寬的開路汲極(Open Drain)雙向輸出入端口,共有8個(gè)位,P0.0表示位0,P0.1表示位1,依此類推。其他三個(gè)I/O端口(P1、P2、P3)則不具有此電路組態(tài),而是內(nèi)部有一提升電路,P0在當(dāng)做I/O用時(shí)可以推動(dòng)8個(gè)LS的TTL負(fù)載。端口1也是具有內(nèi)部提升電路的雙向I/O端口,其輸出緩沖器可以推動(dòng)4個(gè)LS TTL負(fù)載,同樣地若將端口1的輸出設(shè)為高電平,便是由此端口來(lái)輸入數(shù)據(jù)。端口3也具有內(nèi)部提升電路的雙向I/O端口,其輸出緩沖器可以推動(dòng)4個(gè)TTL負(fù)載,同時(shí)還多工具有其他的額外特殊功能,包括串行通信、外部中斷控制、計(jì)時(shí)計(jì)數(shù)控制及外部數(shù)據(jù)存儲(chǔ)器內(nèi)容的讀取或?qū)懭肟刂频裙δ?。端?是具有內(nèi)部提升電路的雙向I/O端口,每一個(gè)引腳可以推動(dòng)4個(gè)LS的TTL負(fù)載,若將端口2的輸出設(shè)為高電平時(shí),此端口便能當(dāng)成輸入端口來(lái)使用。端口3也具有內(nèi)部提升電路的雙向I/O端口,其輸出緩沖器可以推動(dòng)4個(gè)TTL負(fù)載,同時(shí)還多工具有其他的額外特殊功能,包括串行通信、外部中斷控制、計(jì)時(shí)計(jì)數(shù)控制及外部數(shù)據(jù)存儲(chǔ)器內(nèi)容的讀取或?qū)懭肟刂频裙δ?。其引腳分配如下:P3.0:RXD,串行通信輸入。P3.1:TXD,串行通信輸出。P3.2:INT0,外部中斷0輸入。P3.3:INT1,外部中斷1輸入。P3.4:T0,計(jì)時(shí)計(jì)數(shù)器0輸入。P3.5:T1,計(jì)時(shí)計(jì)數(shù)器1輸入。P3.6:WR:外部數(shù)據(jù)存儲(chǔ)器的寫入信號(hào)。P3.7:RD,外部數(shù)據(jù)存儲(chǔ)器的讀取信號(hào)。3.1.2 RS232芯片介紹MAX232芯片是美信(MAXIM)公司專為RS-232標(biāo)準(zhǔn)串口設(shè)計(jì)的單電源電平轉(zhuǎn)換芯片,使用+5v單電源供電。管腳介紹:第一部分是電荷泵電路。由1、2、3、4、5、6腳和4只電容構(gòu)成。功能是產(chǎn)生+12v和-12v兩個(gè)電源,提供給RS-232串口電平的需要。第二部分是數(shù)據(jù)轉(zhuǎn)換通道。由7、8、9、10、11、12、13、14腳構(gòu)成兩個(gè)數(shù)據(jù)通道。其中13腳(R1IN)、12腳(R1OUT)、11腳(T1IN)、14腳(T1OUT)為第一數(shù)據(jù)通道。8腳(R2IN)、9腳(R2OUT)、10腳(T2IN)、7腳(T2OUT)為第二數(shù)據(jù)通道。TTL/CMOS數(shù)據(jù)從11引腳(T1IN)、10引腳(T2IN)輸入轉(zhuǎn)換成RS-232數(shù)據(jù)從14腳(T1OUT)、7腳(T2OUT)送到電腦DB9插頭;DB9插頭的RS-232數(shù)據(jù)從13引腳(R1IN)、8引腳(R2IN)輸入轉(zhuǎn)換成TTL/CMOS數(shù)據(jù)后從12引腳(R1OUT)、9引腳(R2OUT)輸出。第三部分是供電。15腳GND、16腳VCC(+5v)。3.2電路介紹3.2.1電源電路為滿足實(shí)物能夠兼容交流和直流9V電壓輸入,在輸入網(wǎng)絡(luò)中增加整流橋,后級(jí)電路中增加濾波電容,來(lái)滿足不論直流還是交流電壓輸入,輸出端均能得到穩(wěn)定的直流電壓,而且直流電壓輸入時(shí)不受電壓正負(fù)極限制,可以任意接入??紤]到芯片正常工作時(shí)所需要的電壓為DC5V,因此需要增加降壓網(wǎng)絡(luò),將輸出電壓穩(wěn)定在5V,而且需要具有一定的輸出功率,本設(shè)計(jì)中我們選擇L7805三端穩(wěn)壓芯片,該芯片最大輸出電流為1A,輸出電壓為DC5V,完全滿足本設(shè)計(jì)要求。為了能夠顯示外部電壓是否正常接入,因而在電壓輸出端增加電源指示功能,該功能由發(fā)光二極管和限流電阻組成。電路如下圖所示:3.2.2單片機(jī)最小系統(tǒng)本設(shè)計(jì)使用的單片機(jī)為AT89S52單片機(jī),封裝形式為DIP40。單片機(jī)能夠正常工作需要滿足一下硬件條件:1、 單片機(jī)所需要的工作電壓需要正常接入(DC5V)。2、 單片機(jī)工作所需要的時(shí)鐘需要正常接入(一般采用晶體振蕩器產(chǎn)生)。3、 單片機(jī)上電后須有復(fù)位信號(hào)產(chǎn)生后方能正常工作,因此復(fù)位電路必不可少。以上三點(diǎn)為單片機(jī)能夠正常工作的必要條件,也即單片機(jī)最小系統(tǒng)。本設(shè)計(jì)中由于所需處理的數(shù)據(jù)量比較少,因此編譯后產(chǎn)生 的機(jī)器碼文件比較小,單片機(jī)本身具有8K的ROM存儲(chǔ)空間,足夠本設(shè)計(jì)需求。因此無(wú)需外擴(kuò)ROM存儲(chǔ)單元,使用內(nèi)部ROM即可,因此在硬件設(shè)計(jì)上面不必考慮外擴(kuò)ROM,即P0口和P2口無(wú)需增加鎖存器來(lái)鎖存外部尋址所需要的數(shù)據(jù)存儲(chǔ)地址,減少比必要元器件的使用,節(jié)省布板空間,從而簡(jiǎn)化了設(shè)計(jì)。AT89S51單片機(jī)規(guī)定使用外部存儲(chǔ)空間(即外擴(kuò)ROM)時(shí),單片機(jī)使能信號(hào)(即EA管腳)必須下拉,當(dāng)使用內(nèi)部存儲(chǔ)空間時(shí)該引腳必須上拉,由于被設(shè)計(jì)中采用內(nèi)部ROM,因此,需要將該引腳上拉。電路如下圖所示:3.2.3 RS232通信電路本設(shè)計(jì)中RS232通訊采用MAX232芯片,該芯片輸入電壓為DC5V,由于RS232輸出端為12V電壓,因此需要升壓,該芯片借助外接4個(gè)0.1uF電路實(shí)現(xiàn)升壓功能。該芯片為雙通道,本設(shè)計(jì)中只需要選擇其一即可。4、 軟件設(shè)計(jì)4.1單片機(jī)I/O口分配序號(hào)I/O口功能定義說(shuō)明1P2.0-P2.7數(shù)碼管顯示8端數(shù)碼管需要一個(gè)字節(jié)驅(qū)動(dòng)2P3.0串行數(shù)據(jù)接收使用該端口第二功能,作為串行數(shù)據(jù)接收3P3.1串行數(shù)據(jù)發(fā)送使用該端口第二功能,作為串行數(shù)據(jù)發(fā)送4RST單片機(jī)復(fù)位端高電平復(fù)位5VCC、GND電源引腳DC5V供電6XTAL1、2晶振引腳本設(shè)計(jì)中采用11.0592MHZ晶振頻率7EA存儲(chǔ)空間選擇本設(shè)計(jì)中EA上拉,選擇內(nèi)部存儲(chǔ)空間4.2程序流程圖主函數(shù)流程圖 中斷函數(shù)流程圖5、 系統(tǒng)調(diào)試根據(jù)原理圖焊接電路,焊接時(shí)注意元器件以及連接導(dǎo)線之間不能有短路或開路現(xiàn)象。用萬(wàn)用表測(cè)試已經(jīng)焊接完畢的電路板,檢驗(yàn)是否有短路現(xiàn)象,特別是電源模塊,確保沒(méi)有短路現(xiàn)象后,給電路板上電9V,同時(shí)在電路中串接電流表,觀察工作電流,若工作電流遠(yuǎn)大于20mA,應(yīng)立即斷電,查找原因。具體查找電源模塊有無(wú)短路現(xiàn)象、元器件參數(shù)是否焊接錯(cuò)誤、芯片是否焊接反等現(xiàn)象。代問(wèn)題解決后,開始根據(jù)軟件流程圖編寫程序。 程序編輯過(guò)程中需要不斷調(diào)試,在線監(jiān)測(cè)數(shù)據(jù)變化。待程序編輯完成后,將編譯后產(chǎn)生的機(jī)器碼文件即HEX文件通過(guò)程序下載軟件,下載到單片機(jī)ROM中。給電路板上電,觀察單片機(jī)工作,若數(shù)碼管沒(méi)有顯示切無(wú)產(chǎn)行數(shù)據(jù) 接收,考慮單片機(jī)有沒(méi)有正常工作;主要檢查晶體振蕩器有沒(méi)有正常工作,可使用示波器觀察晶振波形,能觀察到正弦波信號(hào)且頻率在11MHZ左右,說(shuō)明晶體振蕩器已經(jīng)正常工作,下一步檢查復(fù)位電路是否正常,查看電路是否接錯(cuò),電路參數(shù)能不能足以讓單片機(jī)正常復(fù)位,最后檢查使能信號(hào)端EA是否對(duì)電源地之間有5V電壓,待硬件故障排除以后,開始軟件調(diào)試,反復(fù)修改程序,并下載到單片機(jī)ROM中,觀察程序運(yùn)行情況,直至正常為止。6、 實(shí)驗(yàn)小結(jié)這次實(shí)習(xí)讓我受益匪淺,無(wú)論從知識(shí)上還是其他的各個(gè)方面。上課的時(shí)候的學(xué)習(xí)從來(lái)沒(méi)有見(jiàn)過(guò)真正的單片機(jī),只是從理論的角度去理解枯燥乏味。但在實(shí)習(xí)中見(jiàn)過(guò)甚至使用了單片機(jī)及其系統(tǒng),能夠理論聯(lián)系實(shí)際的學(xué)習(xí),開闊了眼界,提高了單片機(jī)知識(shí)的理解和水平。在做本次課程設(shè)計(jì)的過(guò)程中,我感觸最深的當(dāng)屬查閱大量的設(shè)計(jì)資料了。為了讓自己的設(shè)計(jì)更加完善,查閱這方面的設(shè)計(jì)資料是十分必要的,同時(shí)也是必不可少的。我們是在做單片機(jī)課程設(shè)計(jì),但我們不是藝術(shù)家,他們可以拋開實(shí)際盡情在幻想的世界里翱翔,而我們一切都要有據(jù)可依,有理可尋,不切實(shí)際的構(gòu)想永遠(yuǎn)只能是構(gòu)想,永遠(yuǎn)無(wú)法升級(jí)為設(shè)計(jì)。 其次,在這次課程設(shè)計(jì)中,我們運(yùn)用到了以前所學(xué)的專業(yè)課知識(shí),如:CAD制圖、匯編語(yǔ)言、模擬和數(shù)字電路知識(shí)等。雖然過(guò)去從未獨(dú)立應(yīng)用過(guò)它們,但在學(xué)習(xí)的過(guò)程中帶著問(wèn)題去學(xué)我發(fā)現(xiàn)效率很高,這是我做這次課程設(shè)計(jì)的又一收獲。要做好一個(gè)課程設(shè)計(jì),就必須做到:在設(shè)計(jì)程序之前,對(duì)所用單片機(jī)的內(nèi)部結(jié)構(gòu)有一個(gè)系統(tǒng)的了解,知道該單片機(jī)內(nèi)有哪些資源;要有一個(gè)清晰的思路和一個(gè)完整的的軟件流程圖;在設(shè)計(jì)程序時(shí),不能妄想一次就將整個(gè)程序設(shè)計(jì)好,反復(fù)修改、不斷改進(jìn)是程序設(shè)計(jì)的必經(jīng)之路;要養(yǎng)成注釋程序的好習(xí)慣,一個(gè)程序的完美與否不僅僅是實(shí)現(xiàn)功能,而應(yīng)該讓人一看就能明白你的思路,這樣也為資料的保存和交流提供了方便;在設(shè)計(jì)課程過(guò)程中遇到問(wèn)題是很正常德,但我們應(yīng)該將每次遇到的問(wèn)題記錄下來(lái),并分析清楚,以免下次再碰到同樣的問(wèn)題的課程設(shè)計(jì)結(jié)束了,但是從中學(xué)到的知識(shí)會(huì)讓我受益終身。發(fā)現(xiàn)、提出、分析、解決問(wèn)題和實(shí)踐能力的提高都會(huì)受益于我在以后的學(xué)習(xí)、工作和生活中。設(shè)計(jì)過(guò)程,好比是我們?nèi)祟惓砷L(zhǎng)的歷程,常有一些不如意,但畢竟這是第一次做,難免會(huì)遇到各種各樣的問(wèn)題。在設(shè)計(jì)的過(guò)程中發(fā)現(xiàn)了自己的不足之處,對(duì)以前所學(xué)過(guò)的知識(shí)理解得不夠深刻,掌握得不夠牢固。在本次課程設(shè)計(jì)過(guò)程中也遇到了許多問(wèn)題,有些問(wèn)題在自己查找資料中解決了,還有一些問(wèn)題無(wú)從下手,通過(guò)我們的指導(dǎo)老師莊老師的悉心指導(dǎo),耐心的講解使我茅塞頓開,瞬時(shí)豁然開朗,令人心情舒暢。在設(shè)計(jì)中收獲了不少樂(lè)趣,最重要的是學(xué)到的許多的知識(shí),在今后的工作和學(xué)習(xí)中一定大有用處!在此向我們的指導(dǎo)老師莊老師表示感謝!7、 參考文獻(xiàn)附錄: 元器件清單序號(hào)元器件名稱規(guī)格型號(hào)數(shù)量備注1單片機(jī)底座DIP4012通信芯片底座DIP1613整流橋KBPC61014穩(wěn)壓芯片L780515發(fā)光二極管3mm,紅色16電阻1/4W,10K21/4W,1K87電解電容22uf1瓷片電容0.47uf10.1uf58接線端子DT103-219串口接頭DB9110單片機(jī)AT89S52-DIP40111通訊芯片MAX232-DIP16112面包板單面9*151 原理圖 程序清單#include#include #define uchar unsigned char#define uint unsigned intuchar code str1=what do you plan to do this Friday?;uchar code str2=I playn to go to cencert.;uchar code str3=what are you ding next week?;uchar code str4=im thingking of going to my Grandmas.;uchar code str5=please select a character 1,2,3,4!;uint flag,flag1=0,num;void sendString(uchar *ucString);main() EA=1; /開總中斷中斷 ES=1; /開串口中斷 REN=1;/開允許串口接收 SM0=0;/設(shè)置串口工作方式 SM1=1; TR1=1; /開定時(shí)器T1 TMOD=0X20; /設(shè)置定時(shí)器工作方式 TH1=0XFD; /設(shè)定定時(shí)器自動(dòng)重載值 TL1=0XFD;

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論