(畢業(yè)論文)基于單片機的串口通訊設計_第1頁
(畢業(yè)論文)基于單片機的串口通訊設計_第2頁
(畢業(yè)論文)基于單片機的串口通訊設計_第3頁
(畢業(yè)論文)基于單片機的串口通訊設計_第4頁
(畢業(yè)論文)基于單片機的串口通訊設計_第5頁
已閱讀5頁,還剩23頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、 工程訓練設計報告題目:基于單片機的串口通訊設計學 院計算機與信息科學學院專 業(yè) 自動化 組長 組 員 指導教師 成 績?nèi)?期2013年8月25日摘要:本文設計的是基于單片機串口通訊的發(fā)送和接收。本系統(tǒng)的設計主要是以兩個at89c51單片機為核心部分,進行數(shù)據(jù)發(fā)送和接收的控制。該系統(tǒng)采用兩個max232芯片進行電平的轉(zhuǎn)換,同時用lcd顯示發(fā)送和接收的相應的數(shù)據(jù),在實際應用中很方便。并且能實現(xiàn)用鍵盤控制數(shù)據(jù)發(fā)送和接收的啟動和停止。關(guān)鍵詞:串口通訊,at89c51單片機,lcd顯示,鍵盤控制abstract: in this paper, the design is based on single

2、 chip computer serial communication to send and receive. the design of this system is mainly based on two at89c51 as the core part, send and receive data control. the system uses two max232 chip level transformation, at the same time with the lcd display to send and receive the corresponding data, i

3、s very convenient in practical application. and can realize the keyboard to control the sending and receiving data to start and stop.key words:a serial port communication, at89c51 single-chip microcomputer, lcd display, keyboard control目錄前言21、串口通訊簡介22、總體方案設計23、硬件電路設計23.1單片機主機系統(tǒng)電路設計23.2max232電路設計23.3

4、lcd電路設計23.4單片機與max232連接電路的設計24、軟件設計24.1 主程序設計24.2 鍵盤程序設計24.3 發(fā)送和接收程序24.4 lcd顯示程序設計25、系統(tǒng)調(diào)試與通信25.1 軟件調(diào)試25.2 硬件調(diào)試25.3 軟件、硬件連接調(diào)試26、總結(jié)體會27、源程序2前言單片機行業(yè)已經(jīng)有了很久的歷史,隨著科學技術(shù)的進步和社會的發(fā)展,單片機行業(yè)更加迅速的發(fā)展起來。不論在工業(yè)還是民也上都有很好的發(fā)展和應用,得到大家很好的認可和高度的評價。單片機的通信接口是各臺儀表之間或儀表與計算機之間進行信息交換和傳輸?shù)穆?lián)絡裝置。主要有五種類型,串行通信接口、并行通信接口、usb接口、現(xiàn)場總線接口以及以太

5、網(wǎng)接口。串行通信按同步方式可分為異步通信和同步通信兩種基本通信方式。它是在數(shù)字化的基礎(chǔ)上用微處理器裝備起來,是計算機技術(shù)與電子儀器相結(jié)合的產(chǎn)物。它具有數(shù)據(jù)存儲、運算、邏輯判斷能力,能根據(jù)被測參數(shù)的變化自選量程,可自動校正,自動補償,自尋故障等,可以做一些需要人類的智慧才能完成的工作,既具備了一定的智能,故稱為智能儀器。人們習慣將這種內(nèi)含微型計算機并帶有g(shù)p-ib等通信接口的電子儀器稱為智能儀器。本課程設計就是利用兩片單片機實現(xiàn)串口通訊數(shù)據(jù)的發(fā)送和接收,該系統(tǒng)可采用max232進行串口通訊數(shù)據(jù)傳送??捎胠cd顯示發(fā)送的相應據(jù)??捎面I盤控制數(shù)據(jù)發(fā)送的啟動和停止。1、 串口通訊簡介串口通信最重要的參

6、數(shù)是波特率、數(shù)據(jù)位、停止位和奇偶校驗。對于兩個進行通行的端口,這些參數(shù)必須匹配: a,波特率:這是一個衡量通信速度的參數(shù)。它表示每秒鐘傳送的bit的個數(shù)。例如300波特表示每秒鐘發(fā)送300個bit。當我們提到時鐘周期時,我們就是指波特率例如如果協(xié)議需要4800波特率,那么時鐘是4800hz。這意味著串口通信在數(shù)據(jù)線上的采樣率為4800hz。通常電話線的波特率為14400,28800和36600。波特率可以遠遠大于這些值,但是波特率和距離成反比。高波特率常常用于放置的很近的儀器間的通信,典型的例子就是gpib設備的通信。 b,數(shù)據(jù)位:這是衡量通信中實際數(shù)據(jù)位的參數(shù)。當計算機發(fā)送一個信息包,實際的

7、數(shù)據(jù)不會是8位的,標準的值是5、7和8位。如何設置取決于你想傳送的信息。比如,標準的ascii碼是0127(7位)。擴展的ascii碼是0255(8位)。如果數(shù)據(jù)使用簡單的文本(標準ascii碼),那么每個數(shù)據(jù)包使用7位數(shù)據(jù)。每個包是指一個字節(jié),包括開始/停止位,數(shù)據(jù)位和奇偶校驗位。由于實際數(shù)據(jù)位取決于通信協(xié)議的選取,術(shù)語“包”指任何通信的情況。 c,停止位:用于表示單個包的最后一位。典型的值為1,1.5和2位。由于數(shù)據(jù)是在傳輸線上定時的,并且每一個設備有其自己的時鐘,很可能在通信中兩臺設備間出現(xiàn)了小小的不同步。因此停止位不僅僅是表示傳輸?shù)慕Y(jié)束,并且提供計算機校正時鐘同步的機會。適用于停止位的

8、位數(shù)越多,不同時鐘同步的容忍程度越大,但是數(shù)據(jù)傳輸率同時也越慢。 d,奇偶校驗位:在串口通信中一種簡單的檢錯方式。有四種檢錯方式:偶、奇、高和低。當然沒有校驗位也是可以的。對于偶和奇校驗的情況,串口會設置校驗位(數(shù)據(jù)位后面的一位),用一個值確保傳輸?shù)臄?shù)據(jù)有偶個或者奇?zhèn)€邏輯高位。例如,如果數(shù)據(jù)是011,那么對于偶校驗,校驗位為0,保證邏輯高的位數(shù)是偶數(shù)個。如果是奇校驗,校驗位位1,這樣就有3個邏輯高位。高位和低位不真正的檢查數(shù)據(jù),簡單置位邏輯高或者邏輯低校驗。這樣使得接收設備能夠知道一個位的狀態(tài),有機會判斷是否有噪聲干擾了通信或者是否傳輸和接收數(shù)據(jù)是否不同步。 串行通信接口的基本任務:(1)實現(xiàn)

9、數(shù)據(jù)格式化:因為來自cpu的是普通的并行數(shù)據(jù),所以,接口電路應具有實現(xiàn)不同串行通信方式下的數(shù)據(jù)格式化的任務。在異步通信方式下,接口自動生成起止式的幀數(shù)據(jù)格式。在面向字符的同步方式下,接口要在待傳送的數(shù)據(jù)塊前加上同步字符。(2)進行串并轉(zhuǎn)換:串行傳送,數(shù)據(jù)是一位一位串行傳送的,而計算機處理數(shù)據(jù)是并行數(shù)據(jù)。所以當數(shù)據(jù)由計算機送至數(shù)據(jù)發(fā)送器時,首先把串行數(shù)據(jù)轉(zhuǎn)換為并行數(shù)才能送入計算機處理。因此串并轉(zhuǎn)換是串行接口電路的重要任務。(3)控制數(shù)據(jù)傳輸速率:串行通信接口電路應具有對數(shù)據(jù)傳輸速率波特率進行選擇和控制的能力。(4)進行錯誤檢測:在發(fā)送時接口電路對傳送的字符數(shù)據(jù)自動生成奇偶校驗位或其他校驗碼。在接

10、收時,接口電路檢查字符的奇偶校驗或其他校驗碼,確定是否發(fā)生傳送錯誤。(5)進行ttl與eia電平轉(zhuǎn)換:cpu和終端均采用ttl電平及正邏輯,它們與eia采用的電平及負邏輯不兼容,需在接口電路中進行轉(zhuǎn)換。(6)提供eia-rs-232c接口標準所要求的信號線:遠距離通信采用modem時,需要9根信號線;近距離零modem方式,只需要3根信號線。這些信號線由接口電路提供,以便與modem或終端進行聯(lián)絡與控制。串行通信接口電路的組成:為了完成上述串行接口的任務,串行通信接口電路一般由可編程的串行接口芯片、波特率發(fā)生器、eia與ttl電平轉(zhuǎn)換器以及地址譯碼電路組成。其中,串行接口芯片,隨著大規(guī)模繼承電

11、路技術(shù)的發(fā)展,通用的同步(usrt)和異步(uart)接口芯片種類越來越多,如下表所示。它們的基本功能是類似的,都能實現(xiàn)上面提出的串行通信接口基本任務的大部分工作,且都是可編程的。串行通信分類:在串行通信中,數(shù)據(jù)是在兩個站之間傳送的。按照數(shù)據(jù)傳送方向,串行通信可分為三種制式。1. 單工制式(simplex)單工制式是指甲乙雙方通信只能單向傳送數(shù)據(jù)。單工制式如圖1所示:圖1 單工制式2. 半雙工制式(half duplex) 半雙工制式是指通信雙方都具有發(fā)送器和接收器,雙方既可發(fā)送也可接收,但接收和發(fā)送不能同時進行,即發(fā)送時就不能接收,接收時就不能發(fā)送。半雙工制式如圖2所示。圖2 半雙工制式3.

12、 全雙工制式全雙工制式是指通信雙方均設有發(fā)送器和接收器,并且將信道劃分為發(fā)送信道和接收信道,兩端數(shù)據(jù)允許同時收發(fā),因此通信效率比前兩種高。全雙工制式如圖3所示:圖3全雙工制式2、 總體方案設計本次課程設計的整個電路是采用兩個at89c51單片機芯片控制兩個分電路,實現(xiàn)串口數(shù)據(jù)的發(fā)送和接收兩個功能。其中單片機的p1口為數(shù)據(jù)采集口,其中p1.0p1.2接lcd的rs、rw、和e引腳,p1.3p1.5接鍵盤,然后和另一個單片機相連,實現(xiàn)單片機與lcd之間的數(shù)據(jù)傳遞和顯示。p2口接lcd的d0到d7引腳,實現(xiàn)了8位數(shù)顯,然后p3口的輸入和輸出引腳接max232的輸出和輸入引腳,另一個單片機的接法與此類

13、似,便可以實現(xiàn)串口通訊的功能。串口通訊的設計原理框圖如4所示:單片機單片機lcd 顯示lcd 顯示max232max232按鍵1按鍵2按鍵3按鍵圖4 串口通訊的設計原理框圖3、 硬件電路設計3.1 單片機主機系統(tǒng)電路設計時鐘電路:89c51單片機的時鐘信號通常有內(nèi)部振蕩和外部振蕩方式。在引腳xtal1和xtal2外接晶體振蕩器,就夠成了內(nèi)部振蕩方式。由于單片機內(nèi)部有一個高增益反相放大器,當外接晶振后,就構(gòu)成了自激振蕩器并產(chǎn)生振蕩時鐘脈沖。晶振通常選用6mhz、12mhz或24mhz(晶體可在1.2mhz12mhz之間任選,電容c1和c2的典型值在20pf100pf之間選擇),本設計中選用12m

14、hz。電容器c9、c10起穩(wěn)定振蕩頻率、快速起振的作用,電容設定為30pf。內(nèi)部振蕩方式所得的時鐘信號比較穩(wěn)定。外部振蕩方式是把已有的時鐘信號引入單片機內(nèi),這種方式適用于用來使單片機的時鐘與外部信號保持一致。復位電路:本系統(tǒng)的復位電路是采用按鍵復位的電路,復位輸入引腳ret為at89c51提供了初始化的手段。當89c51的ale及psen兩引腳輸出高電平,ret引腳高電平到時,單片機復位。按下按鈕,則直接把+5v加到了ret端從而復位稱為手動復位。復位后,p0到p3并行i/o口全為高電平,其它寄存器全部清零,只有sbuf寄存器狀態(tài)不確定。89c51單片機內(nèi)部有p0、p1、p2、p3四個8位雙向

15、i/o口:p0口具有雙重功能:可以作為輸入/輸出用,外接輸入/輸出設備;在有外接存儲器和i/o接口時常作為低8位地址/數(shù)據(jù)總線,即低8位地址與數(shù)據(jù)線分時使用p0口。此時低8位地址由ale信號的下跳沿使它鎖存到外部地址鎖存器中,而后,p0口出現(xiàn)數(shù)據(jù)信息。p1口具有單一接口功能,p1口每一位都能作為可編程的輸入或輸出口線。p2口具有雙重功能:作為輸入口或輸出口使用,外接輸入/輸出設備;在有外接存儲器i/o接口時,作為系統(tǒng)的地址總線。輸出高位地址,與p0口低8位地址一起組成16位地址總線。p3口為雙重功能口:可以作為輸入/輸出口,外接輸入/輸出設備;作為第二功能。 單片機主機系統(tǒng)原理圖如圖5所示:圖

16、5 單片機主機系統(tǒng)原理圖3.2 max232電路設計max232芯片是美信公司專門為電腦的rs-232標準串口設計的單電源電平轉(zhuǎn)換芯片,使用+5v單電源供電。引腳介紹:第一部分是電荷泵電路。由1、2、3、4、5、6腳和4只電容構(gòu)成。功能是產(chǎn)生+12v和-12v兩個電源,提供給rs-232串口電平的需要。 第二部分是數(shù)據(jù)轉(zhuǎn)換通道。由7、8、9、10、11、12、13、14腳構(gòu)成兩個數(shù)據(jù)通道。其中13腳(r1in)、12腳(r1out)、11腳(t1in)、14腳(t1out)為第一數(shù)據(jù)通道。 8腳(r2in)、9腳(r2out)、10腳(t2in)、7腳(t2out)為第二數(shù)據(jù)通道。 ttl/c

17、mos數(shù)據(jù)從t1in、t2in輸入轉(zhuǎn)換成rs-232數(shù)據(jù)從t1out、t2out送到電腦db9插頭;db9插頭的rs-232數(shù)據(jù)從r1in、r2in輸入轉(zhuǎn)換成ttl/cmos數(shù)據(jù)后從r1out、r2out輸出。第三部分是供電。15腳gnd、16腳vcc(+5v)。max232電路的設計原理圖如圖6:圖6 max232電路的設計原理圖如圖兩個max232的連接圖7:圖7 max232連接原理圖3.3 lcd電路設計顯示電路要求采用液晶顯示器liquid crystal display,簡稱lcd,它是利用液晶的光電效應特點制成的顯示產(chǎn)品。hd44780控制器由兩個8位寄存器、指令寄存器(ir)和

18、數(shù)據(jù)寄存器(dr)、忙標志(bf)、顯示數(shù)據(jù)ram(ddram)、字符發(fā)生器rom(cgrom)、字符發(fā)生器ram(cgram)、地址計數(shù)器(ac)構(gòu)成。ir用于寄存指令碼,只能寫入不能讀出;dr用于寄存數(shù)據(jù),數(shù)據(jù)由內(nèi)部操作自動寫入ddram和cgram,或者暫存從ddram和cgram讀出的數(shù)據(jù)。bf為1時,液晶模塊處于內(nèi)部處理模式,不響應外部操作指令和接受數(shù)據(jù)。ddram 用來存儲顯示的字符,能存儲80個字符碼。cgrom由8位字符碼生成5*7點陣字符160種和5*10點陣字符32種。cgram是為用戶編寫特殊字符留用的,它的容量僅64字節(jié)、可以自定義8個5*7點陣字符或者4個5*10點陣

19、字符。ac可以存儲ddram和cgram的地址,如果地址碼隨指令寫入ir,則ir自動把地址碼裝入ac,同時選擇ddram或者cgram單元。lm016l的各引腳功能為:d0d7(三態(tài))為數(shù)據(jù)總線;e為使能信號端;rs(輸入)為數(shù)據(jù)/指令信號端,rs=1為數(shù)據(jù)信號,rs=0為指令信號;rw(輸入)為讀/寫數(shù)據(jù)模式端,rw=1為讀,rw=0為寫。通過對hd44780寫入控制指令,使hd44780產(chǎn)生顯示驅(qū)動信號來驅(qū)動lm016l。hd44780的控制指令主要有:清除顯示(clear display)、地址歸位(return home)、輸入模式設定(entry mode set)、顯示開/關(guān)控制(

20、display on/off control)、功能設定(function set)、設定 cgram 的地址(set cgram address)、設定ddram 的地址(set ddram address)、寫 ddram/cgram(write date to ddram/cgram)、讀忙標志和地址(read busy flagand address)以及從ddram 和cgram 中讀數(shù)據(jù)(read date from ddram/cgram)。lcd數(shù)碼管的d0到d7接單片機的p2口, lcd的rs、rw、和e引腳分別接單片機的p1.0p1.2口。即可實現(xiàn)數(shù)碼管與單片機之間的數(shù)據(jù)傳

21、送,lcd電路的設計如下圖8:圖8 lcd顯示電路原理圖3.4 單片機與max232連接電路的設計單片機和和max232之間相互連接就是ttl電平標準和rs-232-c標準之間的電平轉(zhuǎn)換。為使計算機、電話以及其他通信設備互相溝通,現(xiàn)在,已經(jīng)對串行通信建立了幾個一致的概念和標準,這些概念和標準屬于三個方面:傳輸率,電特性,信號名稱和接口標準。1、傳輸率:所謂傳輸率就是指每秒傳輸多少位,傳輸率也常叫波特率。國際上規(guī)定了一個標準波特率系列,標準波特率也是最常用的波特率,標準波特率系列為110、300、600、1200、4800、9600和19200。大多數(shù)crt終端都能夠按110到9600范圍中的任

22、何一種波特率工作。打印機由于機械速度比較慢而使傳輸波特率受到限制,所以,一般的串行打印機工作在110波特率,點針式打印機由于其內(nèi)部有較大的行緩沖區(qū),所以可以按高達2400波特的速度接收打印信息。大多數(shù)接口的接收波特率和發(fā)送波特率可以分別設置,而且,可以通過編程來指定。2、rs-232-c標準:rs-232-c標準對兩個方面作了規(guī)定,即信號電平標準和控制信號線的定義。rs-232c采用負邏輯規(guī)定邏輯電平,信號電平與通常的ttl電平也不兼容,rs-232-c將-5v-15v規(guī)定為“1”,+5v+15v規(guī)定為“0”。ttl標準和rs-232-c標準之間的電平轉(zhuǎn)換如圖9:圖9 ttl標準和rs-232

23、-c標準之間的電平轉(zhuǎn)換單片機與max232連接圖如圖10圖10 單片機與max232連接原理圖4、 軟件設計4.1 主程序設計主程序流程圖如圖11:開 始是否有鍵按下調(diào)用延遲哪鍵按下調(diào)用延遲lcd顯示結(jié)束nyyn圖11 主程序流程圖 整個主程序采用模塊化的思想來設計,其中主要有按鍵識別,lcd顯示,發(fā)送和接收等幾大模塊構(gòu)成,來完成整個串口通訊的功能。4.2 鍵盤程序設計鍵盤程序部分主要完成鍵輸入和顯示的功能。當沒有鍵按下時主程序一直執(zhí)行鍵掃描工作,當有鍵按下時,先執(zhí)行延遲消抖程序,然后在確認是否有鍵按下。若確實有鍵按下,計算出鍵值后顯示執(zhí)行顯示程序。鍵盤掃描的流程圖見圖12所示:開始有鍵閉合嗎

24、?消除抖動確實有鍵按下計算鍵位閉合鍵釋放了嗎?執(zhí)行鍵操作返回調(diào)用顯示子程序ynynn圖12 鍵盤掃描流程圖4.3 發(fā)送和接收程序在主程序中,tmod=0x20:設置定時器1為工作方式2,th1=0xfd:設置串口波特率,tl1=0xfd:設置串口波特率,tr1=1:打開定時器1,ren=1:將允許接受位置一,sm0=0:設置串行口工作方式,sm1=1:設置串行口工作方式ea=1:打開總中斷,es=1:打開串行口中斷。發(fā)送程序流程圖如圖13:開始打開發(fā)送控制p1.0寫sbuft1=1?發(fā)送完畢?延時t秒關(guān)閉發(fā)送控制p1.0結(jié)束nn圖13 發(fā)送程序流程圖接收程序流程圖如圖14開始p1.0處于結(jié)束讀

25、sbuft1=1?接收完畢?延時t秒結(jié)束nn圖14 接收程序流程圖4.4 lcd顯示程序設計本次課設采用lcd進行顯示,首先進行鍵盤控制,由發(fā)送端的三個鍵,加一,減一和鎖鍵改變數(shù)據(jù)的狀態(tài),然后進行鍵盤的識別,再調(diào)用延時,通過中斷的的方法可以顯示發(fā)送端所發(fā)送的數(shù)據(jù)和接收端所接收的數(shù)據(jù),如圖15所示:開始鍵盤控制程序識別按鍵軟件延時lcd顯示圖15 顯示流程圖5、 系統(tǒng)調(diào)試與通信系統(tǒng)的硬件、軟件獨調(diào)和系統(tǒng)調(diào)試是系統(tǒng)最后的步驟也是系統(tǒng)特別重要的環(huán)節(jié),因為設計和開發(fā)出的系統(tǒng)是否成功,功能是否完善只有在這里才能顯現(xiàn)出來。所以為了保證設計系統(tǒng)能夠正常工作,必須對軟件和硬件部分的每一個部分進行調(diào)試和分析。5

26、.1 軟件調(diào)試軟件問題是調(diào)試中遇到問題最多的,此系統(tǒng)中出現(xiàn)過的問題有以下幾處:1、鍵盤中斷處理程序中中斷入口后,沒有關(guān)掉外部中斷,出現(xiàn)鍵值讀取不正確,不能正確操作鍵盤。解決方法,在中斷入口處關(guān)掉外中斷,并在出口時再開外中斷。2、鍵盤掃描前沒有軟件延時消抖,出現(xiàn)鍵值讀取不準確。解決方法,在鍵盤中斷入口后在鍵值掃描前軟件延時1ms,消去鍵盤抖動所帶來的誤操作。3、程序中有個別地方將“=”與“=”混淆,造成結(jié)果不準確,解決辦法,仔細查找,將混淆出更正。再把到計時設定時子程序加進來,看是否能通過菜單正確調(diào)用,返回。能否修改到計時。整個調(diào)試完畢。5.2 硬件調(diào)試硬件的測試首先是檢查電路的邏輯線路是否正確

27、,如果正確再檢查原理圖的線路連接是否正確,電路的布局安排是否合理等等。經(jīng)過進行精心的檢查的連線,本設計的硬件仿真圖運行正確無誤。5.3 軟件、硬件連接調(diào)試本設計軟件采用的是keil,硬件采用的是proteus軟件實現(xiàn)仿真和電路圖設計和,proteus軟件與keil軟件聯(lián)合使用,實現(xiàn)設計要求。在keil軟件中創(chuàng)建新文件,輸入所編寫的c語言程序并保存,在編譯源程序無誤后,會產(chǎn)出相應的”.hex”文件;將所生成的”.hex”文件加載到已繪制好的proteus原理圖中,使proteus與keil真正連接起來,實現(xiàn)聯(lián)合調(diào)試。調(diào)試結(jié)果如圖16所示:圖16 仿真效果圖6、 總結(jié)體會本課程設計的主要任務是設計

28、一個以兩片89c51單片機為核心的串口通訊系統(tǒng)。從確定課設題目,到查閱質(zhì)料確定總體方案設計,硬件電路仿真的設計,硬件電路的優(yōu)化,軟件的設計,軟件的優(yōu)化,檢驗仿真電路,調(diào)試軟件程序,到最后的軟硬件聯(lián)調(diào),都是我努力去完成的。在最后的仿真電路圖中達到了我想要的結(jié)果,并且對串口通訊有了更一步的認識。對單片機也有了更加深刻的了解。對以后很好的應用單片機打下了深刻的基礎(chǔ)。本次課設主要設計的是單片機與單片機之間的通信,即雙機通信。但是設計的比較簡單,如果進一步的設計,可以有以下兩種改進方案:1 可以使發(fā)送的數(shù)據(jù)多樣化,不止停留在數(shù)字的發(fā)送,可以使字母或者其他形式的數(shù)據(jù)。2 可以進行多機通訊,突破兩片單片機之

29、間的通訊,還可以研究單片機與pc機之間的通信。總而言之,本次畢業(yè)設計我收獲頗多。不僅學會了兩款新的軟件protues和keil c51,也了解了單片機的一些工作原理及常見的用途。最重要的,本次設計教會了我一種解決問題的方法,這對我以后的工作及學習絕對是大有幫助。最后,在此對所有幫助過我的老師和同學再次表示真摯的感謝。7、 源程序串口發(fā)送程序:#include#define uint unsigned int#define uchar unsigned charuchar a=150;uchar b=0;sbit rs=p12;sbit rw=p11;sbit e=p10;sbit inc=p1

30、3;sbit dec=p14;sbit con=p15;code uchar table=0,1,2,3,4,5,6,7,8,9;/*延時子程序*void delay(uinti)uint j;for(;i0;i-)for(j=0;j=15) xpos=0;ypos=1;/異或運算 void display(uchardat)writechar(7,1,tabledat%10);dat/=10;writechar(6,1,tabledat%10);dat/=10;writechar(5,1,tabledat%10);/*主程序子程序*void main(void) tmod=0x20;/設置定時器1為工作方式2 th1=0xfd;/*設置串口波特率 tl1=0xfd;/*設置串口波特率 tr1=1;/*打開定時器1 /ren=1;/*將允許接受位置一 sm0=0;/*設置串行口工作方式 sm1=1;/*設置串行口工作方式 /ea=1;/*打開總中斷 /es=1;/*打開串行口中斷l(xiāng)cdrset(); /p0=0xf0;writestring(0,1,sent:);while(1) display(a);if(inc=0)delay(10);if(inc=0)while(!inc);a+;if(

溫馨提示

  • 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

提交評論