2023年全國碩士研究生考試考研英語一試題真題(含答案詳解+作文范文)_第1頁
已閱讀1頁,還剩104頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、<p><b>  摘 要 </b></p><p>  計算機與計算機或計算機與終端之間的數(shù)據(jù)傳送可以采用串行通訊和并行通訊兩種方式。由于串行通訊方式具有使用線路少、成本低,特別是在遠程傳輸時,避免了多條線路特性的不一致而被廣泛采用。在串行通訊時,要求通訊雙方都采用一個標準接口,使不同的設備可以方便地連接起來進行通訊。 RS-232-C接口(又稱 EIA RS-232-C)是目前

2、最常用的一種串行通訊接口。它是在1970年由美國電子工業(yè)協(xié)會(EIA)聯(lián)合貝爾系統(tǒng)、 調(diào)制解調(diào)器廠家及計算機終端生產(chǎn)廠家共同制定的用于串行通訊的標準。它是“數(shù)據(jù)終端設備(DTE)和數(shù)據(jù)通訊設備(DCE)之間串行二進制數(shù)據(jù)交換接口技術(shù)標準”該標準對連接器的每個引腳的信號內(nèi)容加以規(guī)定,還對各種信號的電平加以規(guī)定。</p><p>  隨著計算機技術(shù)尤其是單片微型機技術(shù)的發(fā)展,人們已越來越多地采用單片機來對一些工業(yè)控制

3、系統(tǒng)中如溫度、流量和壓力等參數(shù)進行檢測和控制。PC機具有強大的監(jiān)控和管理功能,而單片機則具有快速及靈活的控制特點,利用MAX232轉(zhuǎn)換芯片實現(xiàn)PC機的RS-232串行接口與外部設備進行通信,是許多測控系統(tǒng)中常用的一種通信解決方案。因此如何實現(xiàn)PC機與單片機之間的通訊具有非常重要的現(xiàn)實意義。</p><p>  關(guān)鍵詞:串行通訊;AT89S52;MAX232</p><p><b>

4、;  Abstract</b></p><p>  The computer and the computer or between computer and terminal transfer data can use serial communication and parallel communication in two ways. Because of serial communicatio

5、n way has less use of lines, low cost, especially in remote transmission, avoid multiple line characteristics, widely adopted inconsistent. In serial communication, communication both adopt a request, make different stan

6、dard interface of equipment can be easily connected to communicate. RS - 232 - C interface (also called </p><p>  Along with the computer technology, especially the development of single chip, Internet techn

7、ology. People have increasingly used to some industry single ship controlling system such as temperature, flow and pressure testing and control parameters such as. PC machines have powerful monitoring and management func

8、tions, and SCM has rapid and flexible control characteristics.Use MAX232 conversion chip realize the PC RS - 232 serial interface communication with external devices, is used in many meas</p><p>  Keywords:

9、serial communication;AT89S52;MAX232</p><p><b>  目錄</b></p><p><b>  1 緒論1</b></p><p>  1.1選題背景和意義1</p><p>  1.2國內(nèi)外研究現(xiàn)狀1</p><p>  

10、1.3研究的主要內(nèi)容2</p><p>  2 串口通訊協(xié)議3</p><p>  2.1串口通訊的概念及背景3</p><p>  2.2 串口通訊的特點3</p><p>  2.3 串口通訊的應用3</p><p>  2.4串口通訊的選擇4</p><p>  2.5 RS-

11、232C標準介紹5</p><p>  2.5.1 RS-232C引腳定義5</p><p>  2.5.2 RS-232C電氣特性6</p><p>  2.6串口通訊原理7</p><p>  3 串口通訊硬件系統(tǒng)設計11</p><p>  3.1 AT89S52單片機的概述11</p>

12、<p>  3.2 AT89S52單片機存儲器13</p><p>  3.3 定時系統(tǒng)13</p><p>  3.4中斷系統(tǒng)15</p><p>  3.4.1中斷的基本概念15</p><p>  3.4.2中斷源15</p><p>  3.4.3中斷控制16</p>&l

13、t;p>  3.5 AT89S52單片機的串行口16</p><p>  3.6 RS-232C與TTL邏輯電平的轉(zhuǎn)換17</p><p>  3.7單片機開發(fā)板介紹19</p><p>  3.8單片機與PC串口通訊的收發(fā)原理22</p><p>  4 串口通訊軟件設計23</p><p>  4.

14、1單片機C51編程介紹23</p><p>  4.2 Keil C開發(fā)軟件及應用23</p><p>  4.2.1開發(fā)軟件介紹23</p><p>  4.2.2 keil uVision2軟件使用方法24</p><p>  4.3串口通訊軟件流程圖30</p><p>  5 系統(tǒng)運行調(diào)試32<

15、;/p><p>  5.1調(diào)試助手設置32</p><p>  5.2通訊測試33</p><p>  5.3 調(diào)試注意事項34</p><p><b>  6 結(jié)論35</b></p><p><b>  致謝36</b></p><p>&l

16、t;b>  參考文獻37</b></p><p>  附錄一 串口通訊程序源代碼38</p><p>  附錄二 程序流程圖41</p><p><b>  1 緒論</b></p><p>  1.1選題背景和意義</p><p>  在實驗和工業(yè)中,串口通訊是常用的計

17、算機與外部串行設備之間的數(shù)據(jù)傳輸通道,同時串口通訊是工業(yè)自動化、智能終端、通信管理等領域傳統(tǒng)且重要的通訊手段。而串口通信協(xié)議是通信設備通用的通信協(xié)議,可以用于獲取遠程采集設備的數(shù)據(jù)。單片機技術(shù)自發(fā)展以來已走過了近20年的發(fā)展路程 。以廣泛的應用領域拉動,表現(xiàn)出較微處理器更具個性的發(fā)展趨勢。小到遙電子玩具,大到航空航天技術(shù)等電子行業(yè)都有單片機應用的影子。AT89S52單片機以其獨特的串行通信功能為主、從設備之間的數(shù)據(jù)傳輸提供了便利,可以通

18、過軟件編程來表達到不同的效果,實現(xiàn)各種各樣不同的功能,具有靈活性強、可靠性高、可擴展性好等優(yōu)點,因此串口通訊作為設計課題很有價值。</p><p>  計算機通信技術(shù)越來越成熟,在眾多通信實現(xiàn)方案中,串行通行技術(shù)有著廣泛的應用。尤其是在工業(yè)控制領域,微機與微機、微機與外設、微機與分布式下位機等都可以通過RS232串行端口互連通信,以實現(xiàn)控制和傳輸數(shù)據(jù)等目的。各種智能終端設備都可以通過通訊的方式聯(lián)接起來,形成高度的

19、自動化控制集成系統(tǒng)。</p><p>  1.2國內(nèi)外研究現(xiàn)狀</p><p>  在工業(yè)控制領域(如DCS系統(tǒng)),國內(nèi)外不少公司開展了這方面的研制開發(fā)工作,并取得了成功,已產(chǎn)生出若干性能良好、應用廣泛的串行接口總線。如Philips開發(fā)出的一種雙向二線串行總線的I2C總線、Intel的位總線、National Semiconductor Corporation開發(fā)的一種三線同步串行接口總

20、線的Microwire 總線,以及美國Motorola公司生產(chǎn)的68系列單片機內(nèi)含的兩種串行接口總線的SPI/SCI 總線等。在競爭和發(fā)展中,一些企業(yè)級串行接口總線可望發(fā)展形成新的通用串行接口標準。例如Philips,與DEC共同開發(fā)和制定的Access 總線就是一種以I2C總線為基礎的開放式串行聯(lián)接系統(tǒng)。</p><p>  無論是通信主機發(fā)送信息至指定的RS-232串口設備或是RS-232串口設備發(fā)送信息至指

21、定通信主機,都可以經(jīng)其輕易且正確地傳輸。如中國波士電子創(chuàng)造了許多種世界上第一的RS-232/RS-485產(chǎn)品,波士的USB232是專門為工業(yè)通信設計制造的,特別強調(diào)對工業(yè)通信的適用性。</p><p>  1.3研究的主要內(nèi)容</p><p>  本文主要是利用AT89S52單片機的串口功能單元實現(xiàn)單片機與PC機間數(shù)據(jù)通訊。首先文中介紹了串口通訊協(xié)議,在此基礎上設計了基于單片機的簡易通訊板

22、卡,通訊系統(tǒng)硬件和配套的軟件,最后,把PC機和該板卡通過串口線連接起來,實現(xiàn)兩者的數(shù)據(jù)通訊功能。通過實際程序設計和調(diào)試,逐步掌握模塊化程序設計方法和調(diào)試技術(shù)。通過完成一個包括電路設計和程序開發(fā)的完整過程,了解開發(fā)單片機應用系統(tǒng)的全過程,為今后從事相應打下基礎。</p><p><b>  2 串口通訊協(xié)議</b></p><p>  2.1串口通訊的概念及背景<

23、;/p><p>  串行接口簡稱串口,也稱串行通信接口(通常指COM接口),是采用串行通信方式的擴展接口。</p><p>  計算機與外界的信息交換稱為通信,通信有并行和串行兩種方法。并行通信是數(shù)據(jù)字節(jié)的各位同時發(fā)送。而串行通信是指數(shù)據(jù)一位一位的按順序傳送。</p><p>  串口的出現(xiàn)是在1980年前后,數(shù)據(jù)傳輸率是115kbps~230kbps。串口出現(xiàn)的初期是

24、為了實現(xiàn)連接計算機外設的目的,初期串口一般用來連接鼠標和外置Modem以及老式攝像頭和寫字板等設備。串口也可以應用于由于兩臺計算機(或設備)之間的互聯(lián)及數(shù)據(jù)傳輸。由于串口不支持熱插拔及傳輸速率較低目前部分新主板和大部分便攜電腦已開始取消該接口,目前串口多用于工控和測量設備以及部分通信設備中。</p><p>  2.2 串口通訊的特點</p><p>  串行通訊的特點是:數(shù)據(jù)按位傳送,最

25、少只需一根傳輸線即可完成,可大大降低硬件成本,特別適合遠距離通信。但傳輸速度較低。串行通訊的距離可以從幾米到幾千米。根據(jù)信息的傳送方向,串行通訊可以進一步分為單工、半雙工和全雙工三種。串口通信具有穩(wěn)定可靠,成本低廉,軟件易實現(xiàn)等優(yōu)點。</p><p>  2.3 串口通訊的應用</p><p>  對于那些與計算機相距不遠的人-機交換設備和串行存儲的外部設備如終端、打印機、邏輯分析儀、磁盤

26、等,采用串行方式交換數(shù)據(jù)也很普遍。在實時控制和管理方面,采用多臺微機處理機組成分級分布控制系統(tǒng)中,各 CPU 之間的通信一般都是串行方式。所以串行接口是微機應用系統(tǒng)常用的接口。許多外設和計算機按串行方式進行通信,這里所說的串行方式,是指外設與接口電路之間的信息傳送方式,實際上, CPU 與接口之間仍按并行方式工作。</p><p>  單片機系統(tǒng)中經(jīng)常使用串口進行外部通訊,因此,串口通訊部分是單片機功能模塊極為重

27、要的一部分。早期的8位單片機,如Intel的MCS-48系列,并沒有在單片機芯片中集成串行通訊模塊,使用上受到很大的限制。從MSC-51系列起,串行通訊模塊作為單片機的一個重要功能,被集成到了單片機內(nèi)部。Atmel的AT89S52,其內(nèi)部集成了一個全雙工的串行通訊接口,并提供了四種工作模式。此后在一系列的單片機設計中,都將串行通信模塊作為標準配置,部分高檔單片機還增加了串口的數(shù)量和功能。因此,串口仍是當前工業(yè)控制領域比較廣泛的通信方式。

28、</p><p>  2.4串口通訊的選擇 </p><p>  串行通訊的標準接口存在多種,如RS-232,RS-485,USB接口,IEEE-1394等, 它們各有特點, 應用的領域也各有側(cè)重。RS-485在傳輸數(shù)據(jù)時抗噪聲干擾的能力比較強,常用于工業(yè)生產(chǎn)領域;USB接口和IEEE-1394傳輸速度較快, 但有些計算機和操作系統(tǒng)不支持這樣的接口;RS-232 是PC機與通信工業(yè)中應用最

29、廣泛的一種串行接口;RS-232 被定義為一種在速率串行通訊中增加通訊距離的單端標準。RS-232-C接口標準出現(xiàn)較早,難免有不足之處,如傳輸距離短,傳輸速率低、有電平偏移,抗干擾能力差等缺點。但是經(jīng)過許多年來RS-232 器件以及通信技術(shù)的改進,RS-232 的通信距離已經(jīng)大大增加而且綜合其性能、價格和實用性, 對該系統(tǒng)而言, 利用RS-232 進行端口通訊最為合適。</p><p>  為了實現(xiàn)系統(tǒng)的可靠實時

30、性傳輸, 本系統(tǒng)在設計的過程中采用了三線制接法,即僅采用RS-2232 端口的地端、接收數(shù)據(jù)和發(fā)送數(shù)據(jù)三引腳與外部相連。</p><p>  接線如圖2.1所示。</p><p>  圖2.1 RS-232端口連接圖</p><p>  2.5 RS-232C標準介紹</p><p>  串口通信接口標準中,RS-232C接口是目前最常用的一

31、種串行通訊接口。RS-232C標準的全稱是EIA-RS-232C標準,EIA代表美國電子工業(yè)協(xié)會,RS代表推薦標準,232是標識號,C代表RS-232的最新一次修改。它是在1970年由美國電子工業(yè)協(xié)會(EIA)聯(lián)合貝爾系統(tǒng)、調(diào)制解調(diào)器廠家及計算機終端生產(chǎn)廠家共同制定的用于串行通訊的標準。RS-232C廣泛應用于Internet,工業(yè)控制電信,金融,終端連接等應用領域。</p><p>  2.5.1 RS-232

32、C引腳定義</p><p>  傳統(tǒng)的RS-232-C接口標準有22根線,采用標準25芯D型插頭座(DB25),通常插頭在DCE端,插座在DTE端。后來為了簡化串口的線路連接,出現(xiàn)了簡化的9芯D型插座(DB9),現(xiàn)在應用中25芯插頭座已很少采用。下圖為DB9連接器的引腳分布。</p><p>  圖2.2 DB9連接器的引腳圖</p><p>  RS-232C的9

33、芯連接器對應的引腳說明如下圖所示。</p><p>  表2.1 9針串行口的針腳功能表</p><p><b>  a.聯(lián)絡控制信號線</b></p><p>  DSR:數(shù)據(jù)裝置準備好——有效時(ON)狀態(tài),表明MODEM處于可以使用的狀態(tài)。 </p><p>  DTR:數(shù)據(jù)終端準備好——有效時(ON)狀態(tài),表明數(shù)

34、據(jù)終端可以使用。 </p><p>  這兩個信號有時連到電源上,一上電就立即有效。這兩個設備狀態(tài)信號有效,只表示設備本身可用,并不說明通信鏈路可以開始進行通信了,能否開始進行通信要由下面的控制信號決定。 </p><p>  RTS:請求發(fā)送——用來表示DTE請求DCE發(fā)送數(shù)據(jù),即當終端要發(fā)送數(shù)據(jù)時,使該信號有效(ON狀態(tài)),向MODEM請求發(fā)送。它用來控制MODEM是否要進入發(fā)送狀態(tài)。

35、 </p><p>  CTS:允許發(fā)送——用來表示DCE準備好接收DTE發(fā)來的數(shù)據(jù),是對請求發(fā)送信號RTS的響應信號。當MODEM已準備好接收終端傳來的數(shù)據(jù),并向前發(fā)送時,使該信號有效,通知終端開始沿發(fā)送數(shù)據(jù)線TxD發(fā)送數(shù)據(jù)。 </p><p>  DCD:載波檢測——用來表示DCE已接通通信鏈路,告知DTE準備接收數(shù)據(jù)。當本地的MODEM收到由通信鏈路另一端(遠地)的MODEM送來的載

36、波信號時,使DCD信號有效,通知終端準備接收,并且由MODEM將接收下來的載波信號解調(diào)成數(shù)字兩數(shù)據(jù)后,沿接收數(shù)據(jù)線RxD送到終端。 </p><p>  RI:振鈴指示——當MODEM收到交換臺送來的振鈴呼叫信號時,使該信號有效(ON狀態(tài)),通知終端,已被呼叫。 </p><p>  b.數(shù)據(jù)發(fā)送與接收線</p><p>  TxD:發(fā)送數(shù)據(jù)——通過TxD終端將串行

37、數(shù)據(jù)發(fā)送到MODEM,(DTE→DCE)。 </p><p>  RxD: 接收數(shù)據(jù)——通過RxD線終端接收從MODEM發(fā)來的串行數(shù)據(jù),(DCE→DTE)。 </p><p><b>  c.地線 </b></p><p>  有兩根線SG、PG——信號地和保護地信號線,無方向。 </p><p>  上述控制信號線何時

38、有效,何時無效的順序表示了接口信號的傳送過程。例如,只有當DSR和DTR都處于有效(ON)狀態(tài)時,才能在DTE和DCE之間進行傳送操作。若DTE要發(fā)送數(shù)據(jù),則預先將DTR線置成有效(ON)狀態(tài),等CTS線上收到有效(ON)狀態(tài)的回答后,才能在TxD線上發(fā)送串行數(shù)據(jù)。 </p><p>  2.5.2 RS-232C電氣特性</p><p>  在TxD和RxD上:邏輯1:-3V~-15V

39、</p><p>  邏輯0:+3~+15V </p><p>  在RTS、CTS、DSR、DTR和DCD等控制線上: </p><p>  信號有效(接通,ON狀態(tài),正電壓):+3V~+15V </p><p>  信號無效(斷開,OFF狀態(tài),負電壓):-3V~-15V</p><p>  以上規(guī)定說明了RS-32

40、3C標準對邏輯電平的定義。對于數(shù)據(jù)(信息碼):邏輯“1”的電平低于-3V,邏輯“0”的電平高于+3V;對于控制信號:接通狀態(tài)信號有效的電平高于+3V,斷開狀態(tài)信號無效的電平低于-3V,也就是當傳輸電平的絕對值大于3V時,電路可以有效地檢查出來,介于-3~+3V之間的電壓無意義,低于-15V或高于+15V的電壓也認為無意義,因此,實際工作時,應保證電平在±(3~15)V之間。</p><p><b&

41、gt;  2.6串口通訊原理</b></p><p><b>  a.通訊原理</b></p><p>  圖2.3 串口通信方框圖</p><p>  由于串口通訊是異步的,端口能夠在一根線上發(fā)送數(shù)據(jù)同時在另一根線上接收數(shù)據(jù)。對于兩個進行通訊的端口,波特率、數(shù)據(jù)位、停止位和奇偶校驗這些參數(shù)都必須是匹配的。</p>&

42、lt;p>  起止式異步協(xié)議是一個字符一個字符傳輸,并且傳送一個字符總是以起始位開始,以停止位結(jié)束,字符之間沒有固定的時間間隔要求。其格式如圖2.4 所示。每一個字符的前面都有一位起始位,字符本身有5~7位數(shù)據(jù)位組成,接著字符后面是一位校驗位(也可以沒有校驗位),最后是一位停止位,后面是不定長度的空閑位。停止位和空閑位都規(guī)定為高電平,這樣就保證起始位開始處一定有一個下跳沿。</p><p>  圖2.4 起

43、止式異步協(xié)議圖</p><p>  傳送時,數(shù)據(jù)的低位在前,高位在后,圖2.5表示了波形11110100。即ASCII碼11110100=F4H。 </p><p>  圖2.5 傳送波形圖</p><p>  起始位實際上是作為聯(lián)絡信號附加進來的,當它變?yōu)榈碗娖綍r,告訴收方傳送開始。它的到來,表示下面接著是數(shù)據(jù)位來了,要準備接收。而停止位標志一個字符的結(jié)束,它的出

44、現(xiàn),表示一個字符傳送完畢。這樣就為通信雙方提供了何時開始收發(fā),何時結(jié)束的標志。傳送開始前,發(fā)收雙方把所采用的起止式格式和數(shù)據(jù)傳輸速率作統(tǒng)一規(guī)定。傳送開始后,接收設備不斷地檢測傳輸線,看是否有起始位到來。當收到一系列的“1”(停止位或空閑位)之后,檢測到一個下跳沿,說明起始位出現(xiàn),起始位經(jīng)確認后,就開始接收所規(guī)定的數(shù)據(jù)位和奇偶校驗位以及停止位。經(jīng)過處理將停止位去掉,把數(shù)據(jù)位拼裝成一個并行字節(jié),并且經(jīng)校驗后,無奇偶錯才算正確的接收一個字符。

45、一個字符接收完畢,接收設備有繼續(xù)測試傳輸線,監(jiān)視“0”電平的到來和下一個字符的開始,直到全部數(shù)據(jù)傳送完。</p><p>  由上述工作過程可看到,異步通信是按字符傳輸?shù)模總鬏斠粋€字符,就用起始位來通知收方,以此來重新核對收發(fā)雙方同步。若接收設備和發(fā)送設備兩者的時鐘頻率略有偏差,這也不會因偏差的累積而導致錯位,加之字符之間的空閑位也為這種偏差提供一種緩沖,所以異步串行通信的可靠性高。但由于要在每個字符的前后加上

46、起始位和停止位這樣一些附加位,使得傳輸效率變低了,只有約80%。因此,起止協(xié)議一般用在數(shù)據(jù)速率較慢的場合(小于19.2kbps)。在高速傳送時,一般要采用同步協(xié)議。</p><p>  在PC機和單片機的通訊中,確定一個明確而合理的通訊協(xié)議是關(guān)鍵,包括對數(shù)據(jù)格式、通訊方式、傳送速度、傳送步驟、檢糾錯方式以及控制字符定義等問題做出統(tǒng)一規(guī)定。</p><p>  實現(xiàn)PC機與單片機的串口通訊,

47、我們采用MAX232來實現(xiàn)電平轉(zhuǎn)換,用三線制連接串口,也就是說和計算機的9針串口只連接其中的3根線:第5腳的GND、第2腳的RXD、第3腳的TXD。這是最簡單的連接方法,另外,MAX232的第10腳和單片機的11腳連接,第9腳和單片機的10腳連接,第15腳和單片機的20腳連接。電路連接如圖2.6所示。</p><p>  圖2.6 串口通訊原理圖</p><p><b>  在此

48、電路中要注意:</b></p><p>  (1)VCC接電源,必須保證穩(wěn)定可靠。</p><p>  (2)管腳不可懸空,必須連到VCC,或者通過上拉電阻接到VCC。</p><p> ?。?)復位電路建議采用傳統(tǒng)的RC復位,最好多帶一個復位按鍵,以便操作。</p><p> ?。?)晶振的頻率點不是任意的,推薦使用11.059

49、2MHZ或者22.1184MHZ。</p><p> ?。?)管腳請懸空,不要接GND。</p><p><b>  b.異步通信</b></p><p>  串行通信有兩種基本的通信方式,即異步通信和同步通信。同步通信使用數(shù)據(jù)塊傳送信息,而不是字節(jié),每個數(shù)據(jù)塊的開始使用同步字符,使接收和發(fā)送同步。常用于信息量大,速度要求高的場合。</p

50、><p>  異步傳送的特點是數(shù)據(jù)在線路上的傳送不連續(xù)。傳送時數(shù)據(jù)以一幀信息(一個字符)為單位進行傳送的。一幀信息由起始位、數(shù)據(jù)位、奇偶校驗位和停止位4個部分組成,如表2.2所示。常用于信息量不大,速度較低的場合。在計算機測控系統(tǒng)中,由于串行接口的標準化,一般采用異步串行通信方式,以提高其通用性。</p><p><b>  表2.2 幀結(jié)構(gòu)表</b></p>

51、<p>  停止位后的空閑位用于等待傳送,用高電平表示。這樣接收和發(fā)送可以隨時或間斷進行,而不受時間的限制。</p><p>  數(shù)據(jù)位:是衡量通信中實際數(shù)據(jù)位的參數(shù)。當計算機發(fā)送一個信息包,實際的數(shù)據(jù)不會是8位的,標準的值是5、7和8位。如何設置取決于想傳送的信息。例如,標準的ASCII碼是0~127(7位)。擴展的ASCII碼是0~255(8位)。如果數(shù)據(jù)使用簡單的文本(標準 ASCII碼),那

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

53、位的位數(shù)越多,不同時鐘同步的容忍程度越大,但是數(shù)據(jù)傳輸率同時也越慢。</p><p>  3 串口通訊硬件系統(tǒng)設計</p><p>  3.1 AT89S52單片機的概述</p><p>  單片機微型計算機是微型計算機的一個重要分支。單片機微型計算機簡稱單片機,特別適用于控制領域,故又稱為微控制器。</p><p>  通常,單片機由單塊

54、集成電路芯片構(gòu)成,內(nèi)部包含有計算機的基本功能部件:中央處理器、存儲器和I/O接口電路等。AT89S52是一種低功耗、高性能CMOS 8位微控制器,具有8K 在系統(tǒng)可編程Flash 存儲器。使用Atmel 公司高密度非易失性存儲器技術(shù)制造,與工業(yè)80C51 產(chǎn)品指令和引腳完全兼容。在單芯片上,擁有靈巧的8 位CPU 和在系統(tǒng)可編程Flash,使得AT89S52在眾多嵌入式控制應用系統(tǒng)中得到廣泛應用。如圖3.1所示AT89S52單片機結(jié)構(gòu)。

55、</p><p>  圖3.1 AT89S52單片機結(jié)構(gòu)圖</p><p><b>  引腳說明</b></p><p><b>  a.電源部分</b></p><p>  VCC:接+5V電壓。   </p><p><b>  GND:接信號地。</b&

56、gt;</p><p>  b.I/O口部分   </p><p>  P0口:(P0.0~P0.7)P0口為一個8位雙向I/O口,在不接片外存儲器和不擴展I/O口時,可作為準雙向輸入/輸出口。在接片外存儲器或擴展I/O口時,P0口分時復用為地8位地址總線和雙向數(shù)據(jù)總線。  </p><p>  P1口:(P1.0~P1.7)P1口是一個8位雙向I/O口?! ?lt

57、;/p><p>  P2口:(P2.0~P2.7)P2口為8位準雙向I/O口,在接有片外存儲器或擴展I/O口且尋址范圍超過256B時,P2口用作高8位地址總線。</p><p>  P3口:(P3.0~P3.7)P3口是一個8位雙向I/O口。它還有第二功能。</p><p>  表3.1 P3口第二功能表</p><p><b>  c

58、.控制與復位部分</b></p><p>  RST:復位信號。當振蕩器復位器件時,要保持RST腳兩個機器周期的高電平時間。</p><p>  ALE/:地址鎖存允許輸出。當訪問外部程序存儲器或數(shù)據(jù)存儲器時,ALE輸出脈沖用于鎖存地址的低8位字節(jié)。一般情況下,ALE仍以時鐘振蕩頻率的1/6輸出固定的脈沖信號,因此它可對外輸出時鐘或用于定時目的。</p><

59、p> ?。和獠砍绦虼鎯ζ鞯倪x通信號。當讀外部ROM時,有效,實現(xiàn)從片外程序存儲器的讀操作。</p><p>  /V:為片外程序存儲器選用端。當保持低電平時,只選用片外部程序存儲器。否則,單片機上電或復位后選用片內(nèi)程序存儲器。</p><p><b>  d.外接晶振部分 </b></p><p>  XTAL1:反向振蕩放大器的輸入及內(nèi)

60、部時鐘工作電路的輸入。   </p><p>  XTAL2:反向振蕩器的輸出。</p><p>  3.2 AT89S52單片機存儲器 </p><p>  AT89S52單片機的存儲結(jié)構(gòu)與普通的微機系統(tǒng)不同,其程序存儲器和數(shù)據(jù)存儲器使用兩個獨立的地址空間,是單獨編址的。從結(jié)構(gòu)上看其存儲空間可以分為片內(nèi),片外程序存儲器與片內(nèi),片外數(shù)據(jù)存儲器,特殊功能寄存器(SFR

61、)。</p><p><b>  a.程序存儲器</b></p><p>  單片機的程序存儲器用于保存在單片機中執(zhí)行的程序和表格常數(shù)等信息。AT89S52單片機執(zhí)行指令是根據(jù)引腳的電平來決定從片內(nèi)程序存儲器還是片外程序存儲器讀取指令的。當=1時,先執(zhí)行片內(nèi)程序存儲器的程序,當程序計數(shù)器PC內(nèi)容超過片內(nèi)程序存儲器地址的最大值,將自動轉(zhuǎn)向片外程序存儲器。當=0時,CPU

62、直接從片外程序存儲器讀取指令。</p><p><b>  b.數(shù)據(jù)存儲器</b></p><p>  AT89S52單片機片內(nèi)、片外數(shù)據(jù)存儲器是兩個獨立的地址空間,應分別單獨編址。片內(nèi)數(shù)據(jù)存儲器除RAM外還有特殊功能寄存器(SFR)。片內(nèi)RAM又可分為工作寄存區(qū)、位尋址區(qū)、數(shù)據(jù)緩沖區(qū)3個部分。</p><p>  (1)工作寄存區(qū)為00H~1

63、FH,當前程序使用的工作寄存器是由程序狀態(tài)字PSW中的RS0位和RS1位來決定的,通過修改PSW寄存器中的RS0位和RS1位,可以快速的切換工作區(qū)。</p><p> ?。?)位尋址區(qū)為20H~2FH,這16個單元(共128位)的每一位都賦予了一個位地址,地址范圍是00H~7FH。</p><p>  (3)數(shù)據(jù)緩沖區(qū)為30H~7FH,也是用戶RAM區(qū),多用于堆棧的數(shù)據(jù)空間。</p&

64、gt;<p><b>  c.特殊功能寄存器</b></p><p>  特殊功能寄存器(SFR)又稱為專用寄存器,專用于控制、管理片內(nèi)算術(shù)邏輯部件、并行I/O口、串行I/O口、定時器/計數(shù)器、中斷系統(tǒng)等功能模塊的工作。</p><p><b>  3.3 定時系統(tǒng)</b></p><p>  在AT89S5

65、2 中,定時器0 和定時器1 的操作與AT89C51 和AT89C52一樣。定時器2是一個16位定時/計數(shù)器,它既可以做定時器,又可以做事件計數(shù)器。定時器0 和定時器1可編程控制4種工作模式。還包括兩個定時控制寄存器TCON和TMOD。</p><p>  a.定時器/計數(shù)器方式控制寄存器TMOD</p><p>  TMOD的低4位用于T0,高4位用于T1。如表3.2所示。</p&

66、gt;<p>  表3.2 TMOD格式定義表</p><p>  C/:定時或計數(shù)功能選擇位,當C/=1時為計數(shù)方式,當C/=0時,為定時方式。M1、M0:定時/計數(shù)器工作方式選擇位如表3.3所示。</p><p>  表3.3 定時器/計數(shù)器工作方式表</p><p>  GATE:門控位,用于控制定時器/計數(shù)器的啟動是否受外部中斷請求信號的影響。

67、</p><p>  定時器/計數(shù)器在工作方式2時,M1、M0分別設為1、0,此時是一個自動裝入初值的8位定時器/計數(shù)器。此時計數(shù)器的計數(shù)值為:N=28-X=256-X</p><p>  b.定時器/計數(shù)器控制寄存器TCON</p><p>  定時器/計數(shù)器控制寄存器TCON的高4位用于定時/計數(shù)器的啟動和溢出標示。如表3.4所示。</p>&l

68、t;p>  表3.4 TCON位定義格式表</p><p>  TF1:定時/計數(shù)器T1溢出標志。</p><p>  TF0: 定時/計數(shù)器T0溢出標志。</p><p>  TR1:T1定時器/計數(shù)器的運行控制位,當TR1=1時,啟動T1開始計數(shù),當TR1=0時,T1停止計數(shù)。</p><p>  TR0:T0定時器/計數(shù)器的運行控

69、制位,當TR0=1時啟動T0開始計數(shù),當TR0=0時,T0停止計數(shù)。</p><p><b>  3.4中斷系統(tǒng)</b></p><p>  3.4.1中斷的基本概念</p><p>  中斷系統(tǒng)是計算機重要的組成部分。它為計算機的多任務處理提供了一種解決方法,多用于實時控制,故障自動檢測人機互動等應用環(huán)境。</p><p&

70、gt;  所謂中斷是指CPU在進行某項任務處理時響應系統(tǒng)中或系統(tǒng)外的某個事件的一種響應過程,即CPU暫時停止現(xiàn)行程序的執(zhí)行,而自動轉(zhuǎn)去執(zhí)行預先安排好的處理該事件的服務子程序。當處理結(jié)束后,再返回到被暫停程序的斷點處,繼續(xù)執(zhí)行原來的程序。實現(xiàn)這種中斷功能的硬件系統(tǒng)和軟件系統(tǒng)統(tǒng)稱為中斷系統(tǒng)。</p><p><b>  3.4.2中斷源</b></p><p>  AT8

71、9S52有6個中斷源:兩個外部中斷源,。三個定時中斷(定時器0、1、2)和一個串行中斷。IE還包括一個中斷允許總控制位EA,它能一次禁止所有中斷。當系統(tǒng)產(chǎn)生中斷時,6個中斷源的中斷請求標志分別由特殊功能寄存器TCON和SCON的相應位來鎖存。</p><p>  a.定時器/計數(shù)器控制寄存器TCON</p><p>  TCON是定時器/計數(shù)器T0、T1的控制寄存器,同時他又能鎖存外部中斷

72、請求標志和定時/計數(shù)器T0,T1的溢出中斷標志,如上表3.4中所示。</p><p>  IE1:外部中斷請求標志。IE1=1時表示外部中斷向CPU請求中斷,當CPU相應中斷時由硬件清0。</p><p>  IT1:外部中斷觸發(fā)控制位。IT1=0,則選擇外部中斷為電平觸發(fā)方式。IT1=1,則選擇外部中斷為跳變觸發(fā)方式。</p><p>  IE0:外部中斷請求標志

73、。IE0=1表示外部中斷向CPU請求中斷,當CPU相應中斷時由硬件清0。</p><p>  IT0:外部中斷請求標志。</p><p>  b.串行口控制寄存器SCON</p><p>  當AT89S52單片機內(nèi)置的串行口接收到或者發(fā)送完數(shù)據(jù)時,會向CPU發(fā)出串口中斷,并根據(jù)中斷產(chǎn)生的原因相應的置T1位和R1位。CPU響應中斷后并不自動清0。T1位和R1位分別位

74、于寄存器SCON的如表3.5所示。</p><p>  表3.5 SCON位定義格式表</p><p>  T1:串口發(fā)送中斷標志。當串行口發(fā)送完數(shù)據(jù)時置位T1,同時向CPU發(fā)送串口中斷請求,CPU相應中斷后不對該位清0。</p><p>  R1:串口接收中斷標志。當串行口接收到一個數(shù)據(jù)時置位R1,同時向CPU發(fā)送串口中斷請求,CPU相應中斷后不對該位清0。<

75、;/p><p><b>  3.4.3中斷控制</b></p><p>  使用中斷允許寄存器IE可以方便的對所有的中斷源或?qū)δ承┨囟ǖ闹袛嘣催M行開啟和屏蔽控制。IE的各位如表3.6所示。</p><p>  表3.6 IE位定義格式表</p><p>  EA:CPU 中斷(總)允許位。EA=1,CPU開放中斷,EA=0,

76、CPU屏蔽所有中斷。</p><p>  ES:串行口中斷開放控制位。ES=1,CPU相應串行口中斷,ES=0,CPU禁止串行口中斷。</p><p>  EX1(EX0):CPU外部中斷1(0)開放控制位。</p><p>  ET1(ET0):CPU定時溢出中斷1(0)開放控制位。</p><p>  3.5 AT89S52單片機的串行口

77、</p><p><b>  a.功能與結(jié)構(gòu)</b></p><p>  AT89S52單片機內(nèi)部有一個功能很強的全雙工串行口,可同時接收和發(fā)送數(shù)據(jù)。對串口的訪問和設置是通過訪問其相關(guān)的特殊寄存器進行的,與AT89S52相關(guān)的特殊寄存器有3個:SCON、PCON和SBUF。</p><p>  (1)串口控制寄存器SCON</p>

78、<p>  串口控制寄存器SCON主要用于設置串口的工作模式和串口中斷查詢,格式如表3.5。</p><p>  SM0,SM1:由軟件置為或清0,用于選擇串行口的工作方式。</p><p>  SM2:串口多機通訊控制位。</p><p>  REN:允許串行接收控制,將其置為1時允許接收。</p><p> ?。?)特殊功能寄

79、存器PCON</p><p>  特殊功能寄存器PCON僅最高位與串口有關(guān)。如表3.7所示。</p><p>  表3.7 PCON位格式定義表</p><p>  PCON的最高位SMOD是串行口波特率選擇位。SMOD=1時波特率增大一倍。</p><p>  b.串行口的工作方式</p><p>  單片機內(nèi)部串口

80、的工作方式有4中,由特殊寄存器SCON的SM0,SM1位設定,4中工作方式。如表3.8所示。</p><p>  表3.8 串行口的工作方式表 </p><p>  工作方式2的一幀信息由10位組成,包括1位起始位,8位數(shù)據(jù)位和1位停止位,不包括奇偶校驗位。波特率是由定時器/計數(shù)器T1的溢出率決定,因此是可變的。</p><p>  所謂波特率是數(shù)據(jù)的傳送速率,即每

81、秒傳送的二進制位數(shù),單位為位/秒。而在工作方式2情況下,波特率的計算公式如下:</p><p><b> ?。?.1)</b></p><p>  可以求出不同的波特率對應的TL1的初值。</p><p>  因此當通信速率設置為4800波特率。SMOD=1單片機晶振頻率為11.0592MHZ,定時器T1的初值為:</p><

82、;p><b>  ,即F4H。</b></p><p>  3.6 RS-232C與TTL邏輯電平的轉(zhuǎn)換</p><p>  RS-232C用正負電壓來表示邏輯狀態(tài),將-5V~-15V規(guī)定為“1”,+5V~+15V規(guī)定為“0”,與TTL以高低電平表示邏輯狀態(tài)的規(guī)定不同。(TTL輸出高電平>2.4V,輸出低電平<0.4V)因此,為了能夠同計算機接口或終

83、端的TTL器件連接,必須在RS-232C 與TTL電路之間進行電平和邏輯關(guān)系的變換。因此當PC機與單片機通信時必須進行電平轉(zhuǎn)換。常見的電平轉(zhuǎn)換方法有以下3種:</p><p>  (1)使用MC1488、MC1489電平轉(zhuǎn)換器。此方法的缺點是:需要+l2 V、-12 V電源供電,工作穩(wěn)定性和可靠性不高,易燒壞。</p><p>  (2)使用2個三極管構(gòu)成準RS一232C電平轉(zhuǎn)換器。此方法

84、的缺點是:通信只能工作于半雙工狀態(tài),程序設計較復雜。</p><p>  (3)使用雙向電平轉(zhuǎn)換集成芯片。此方法的優(yōu)點是:只需單一+5 V電源供電,可靠性高,無需增加程序設計的復雜性,常用的芯片有ICL232、MAX232、TSC232等。本文采用最后一種方法,芯片選用MAX232,MAX232內(nèi)部有電壓倍增電路和轉(zhuǎn)換電路僅需+5V電源可工作。</p><p><b>  MAX

85、232介紹</b></p><p>  MAX232芯片是美信公司生產(chǎn)的一種新型的電平轉(zhuǎn)換芯片,其內(nèi)部有電壓倍增電路和電壓轉(zhuǎn)換電路,只需單一+5 V電源供電。它含有4個反向器,可實現(xiàn)TTL/CMOS電平到RS-232C電平的轉(zhuǎn)換和RS-232C電平到TTL/CMOS電的轉(zhuǎn)換。結(jié)構(gòu)圖如圖3.2所示。</p><p>  圖3.2 MAX232結(jié)構(gòu)圖</p><

86、p>  MAX232芯片是美信公司專門為電腦的RS-232標準串口設計的單電源電平轉(zhuǎn)換芯片, 由于標準規(guī)定, RS232的電平采用±12V,與AT89S52單片機串行口的TTL電平不一致。因此,采用集成電平轉(zhuǎn)換芯片MAX232進行電平轉(zhuǎn)換成+5V單電源供電,方能實現(xiàn)電壓一致性驅(qū)動電路。其引腳分布如圖3.3所示。</p><p>  圖3.3 MAX232引腳分布圖</p><p

87、><b>  a.引腳介紹</b></p><p>  第一部分是電荷泵電路。由1、2、3、4、5、6腳和4只電容構(gòu)成。功能是產(chǎn)生+12V和-12V兩個電源,提供給RS-232串口電平的需要。   </p><p>  第二部分是數(shù)據(jù)轉(zhuǎn)換通道。由7、8、9、10、11、12、13、14腳構(gòu)成兩個數(shù)據(jù)通道。   </p><p>  其中1

88、3腳(R1IN)、12腳(R1OUT)、11腳(T1IN)、14腳(T1OUT)為第一數(shù)據(jù)通道。8腳(R2IN)、9腳(R2OUT)、10腳(T2IN)、7腳(T2OUT)為第二數(shù)據(jù)通道。TTL/CMOS數(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輸出。   </p>&

89、lt;p>  第三部分是供電。15腳GND、16腳VCC(+5V)。 </p><p><b>  b.主要特點</b></p><p>  1、符合所有的RS-232C技術(shù)標準。   </p><p>  只需要單一 +5V電源供電。   </p><p>  片載電荷泵具有升壓、電壓極性反轉(zhuǎn)能力,能產(chǎn)生+10V

90、和-10V電壓?! ?lt;/p><p>  4、功耗低,典型供電電流5mA。   </p><p>  5、內(nèi)部集成2個RS-232C驅(qū)動器。   </p><p>  內(nèi)部集成2個RS-232C接收器。</p><p>  3.7單片機開發(fā)板介紹</p><p>  AT89S52單片機開發(fā)板也稱AT89S52單片機實

91、驗板、AT89S52單片機學習板。是用于學習AT89S52型號的單片機的實驗及學習器件,他是將AT89S52單片機常用的外圍。比如流水燈,數(shù)碼管,矩陣鍵盤,EEPROM,時鐘,蜂鳴器,繼電器等集成在一小塊電路板上。便于攜帶及學習,直接插在PC機上面。隨時隨地的進行學習,另外一些中小型項目也可以直接在此板上面進行二次開發(fā),開發(fā)完成后即可以在此基礎上面重新畫圖做板,極大節(jié)省硬件成本。如圖3.4所示。</p><p>

92、  圖3.4單片機開發(fā)板圖</p><p>  在開發(fā)板上我們主要用到4個模塊:</p><p><b>  a.單片機模塊</b></p><p>  專用板采用AT89S52單片機作為中央控制器,這款單片機在引腳和指令上與通用的MCS-51完全兼容。編程時只需借助單片機自身的串行口,外接一塊RS232芯片即可實現(xiàn)程序下載。與在系統(tǒng)并行下載

93、比較,連線該方式顯得更為簡潔方便。</p><p><b>  b.復位模塊</b></p><p><b> ?。?)復位電路</b></p><p>  通常單片機復位電路有兩種:上電復位電路,按鍵復位電路。上電復位是單片機上電后立即進入規(guī)定的復位狀態(tài)。按鍵復位電路具有上電復位電路的功能且操作比上電復位電路的操作簡單。

94、如果要實現(xiàn)復位,只要按下RESET鍵即可。它主要是利用電阻的分壓來實現(xiàn)的。</p><p>  上電瞬間RESET引腳獲得高電平,隨著電容的充電,RERST引腳的高電平將逐漸下降。RERST引腳的高電平只要能保持足夠的時間(2個機器周期),單片機就可以進行復位操作。復位后P0-P3口均置1引腳表現(xiàn)為高電平,程序計數(shù)器和特殊功能寄存器SFR全部清零。當復位腳由高電平變?yōu)榈碗娖綍r,芯片為ROM的0000H處開始運行程

95、序。復位電路如圖3.5所示。</p><p><b>  圖3.5復位電路圖</b></p><p><b> ?。?)晶振電路</b></p><p>  AT89S52系統(tǒng)工作時鐘可以采用內(nèi)部時鐘和外部時鐘兩種方式??紤]成本原因在電路中采用了內(nèi)部時鐘電路。時鐘電路見圖3.6所示。</p><p>

96、;  圖中考慮通訊時波特率準確,以及系統(tǒng)工作頻率在滿足工作要求的基礎上應采取較低值得要求,選擇晶振頻率為11.0592MHz。</p><p><b>  圖3.6時鐘電路圖</b></p><p>  c.MAX232模塊和串口模塊</p><p>  為滿足RS-232C轉(zhuǎn)換的要求,必須將單片機的標準TTL信號轉(zhuǎn)換成RS-232標準,為此我

97、們使用MAX232芯片轉(zhuǎn)換。</p><p>  開發(fā)板中的串口和RS-232連接,經(jīng)過電平的轉(zhuǎn)換從而實現(xiàn)PC機和單片機的數(shù)據(jù)通訊。電路原理圖如圖3.7所示。</p><p>  圖3.7 RS232接口電路圖 </p><p>  3.8單片機與PC串口通訊的收發(fā)原理</p><p><b>  a.PC機</b>&l

98、t;/p><p>  (1)向單片機進行呼叫,接著發(fā)送字符串,最后發(fā)送結(jié)束標志。</p><p>  (2)按照一定的時間間隔對串口進行讀操作,如果有數(shù)據(jù)需要接收,則進行數(shù)據(jù)接收。</p><p><b>  b.單片機</b></p><p> ?。?)接收功能:識別上位機發(fā)送的地址,如果地址匹配則接收數(shù)據(jù),直到結(jié)束標志到

99、來,則停止接收。</p><p>  (2)發(fā)送功能:下位機有數(shù)據(jù)需要發(fā)送時,首先向上位機發(fā)送本機地址,然后發(fā)送數(shù)據(jù),最后發(fā)送結(jié)束標志。</p><p>  分布式控制系統(tǒng)中的下位機的每臺單片機均有唯一的地址。通信開始時,先由PC機呼叫被叫單片機的地址,單片機在接收到PC機的呼叫后,首先判斷是不是自己的地址,如果不是就不予理睬。如果是,則發(fā)送呼叫應答信號,并根據(jù)上位機的命令進行相應的接收或

100、發(fā)送。</p><p>  4 串口通訊軟件設計</p><p>  4.1單片機C51編程介紹</p><p>  AT89S52單片機的應用程序設計,既可以使用匯編語言,也可以使用C51語言。匯編語言與硬件緊密相關(guān),可以方便的實現(xiàn)諸如中斷管理以及模擬/數(shù)字量的輸入/輸出等功能,且占用系統(tǒng)資源小、執(zhí)行速度快。但當應用程序達到一定規(guī)模后,由于匯編語言的代碼可讀性差

101、。將增加編寫和閱讀代碼的難度,不利于系統(tǒng)的升級和維護。使用C51語言進行程序設計雖然相對于匯編語言代碼效率有所下降,但可以方便的實現(xiàn)程序設計模塊化,代碼結(jié)構(gòu)清晰、可讀性強,易于維護、更新和移植,適合較大規(guī)模的單片機程序設計。</p><p>  近年來,隨著C51語言的編譯器性能的不斷提高,在絕大數(shù)的應用環(huán)境下, C51程序的執(zhí)行效率已經(jīng)非常接近匯編程序,因此,使用C51進行單片機程序設計已經(jīng)成為單片機程序設計的

102、主流選擇之一。</p><p>  4.2 Keil C開發(fā)軟件及應用</p><p>  4.2.1開發(fā)軟件介紹</p><p>  隨著單片機開發(fā)技術(shù)的不斷發(fā)展,從普遍使用匯編語言到逐漸使用高級語言開發(fā),單片機的開發(fā)軟件也在不斷發(fā)展,Keil軟件是目前最流行開發(fā)MCS-51系列單片機的軟件。Keil C51是美國Keil Software公司出品的51系列兼容單

103、片機C語言軟件開發(fā)系統(tǒng)。這款軟件提供了豐富的庫函數(shù)和功能強大的集成開發(fā)調(diào)試工具,全Windows界面。另外Keil C51軟件編譯后生成的匯編代碼,就能展現(xiàn)出生成的目標代碼效率非常高,多數(shù)語句生成的匯編代碼很緊湊,容易理解。在開發(fā)大型軟件時更能體現(xiàn)高級語言的優(yōu)勢。Keil提供了包括C編譯器、宏匯編、連接器、庫管理和一個功能強大的仿真調(diào)試器等在內(nèi)的完整開發(fā)方案,通過一個集成開發(fā)環(huán)境(uVision)將這些部分組合在一起。掌握這一軟件的使用

104、對于使用51系列單片機的愛好者來說是十分必要的,如果使用C語言編程,那么Keil幾乎就是你的不二之選(目前在國內(nèi)你只能買到該軟件、而你買的仿真機也很可能只支持該軟件),即使不使用C語言而僅用匯編語言編程,其方便易用的集成環(huán)境、強大的軟件仿真調(diào)試工具也會令你事半功倍。</p><p>  Keil軟件中uVision與Ishell分別是C51 for Windows和for Dos的集成開發(fā)環(huán)境(IDE),可以完成

105、編輯、編譯、連接、調(diào)試、仿真等整個開發(fā)流程。開發(fā)人員可用IDE本身或其它編輯器編輯C或匯編源文件。然后分別由C51及A51編譯器編譯生成目標文件(.OBJ)。目標文件可由LIB51創(chuàng)建生成庫文件,也可以與庫文件一起經(jīng)L51連接定位生成絕對目標文件(.ABS)。ABS文件由OH51轉(zhuǎn)換成標準的Hex文件,可載入Proteus仿真軟件中的MCU中,進行功能仿真。</p><p>  Keil的工程的建立、設置、編譯/

106、匯編及連接產(chǎn)生目標文件的方法非常易于掌握。應用Keil進行軟件仿真開發(fā)的主要步驟為:1.編寫源程序并保存;2.建立工程并添加源文件;3.設置工程;4.編譯/匯編、連接,產(chǎn)生目標文件;5.程序調(diào)試。</p><p>  Keil C51 軟件是眾多單片機應用開發(fā)的優(yōu)秀軟件之一,它集編輯,編譯,仿真于一體,支持匯編,PLM 語言和C語言的程序設計,界面友好,易學易用。</p><p>  4.

107、2.2 keil uVision2軟件使用方法</p><p>  Keil uVision2是目前使用廣泛的單片機開發(fā)軟件,它集成了源程序編輯和程序。Keil C51 的使用:</p><p> ?。?)點擊桌面快捷圖標,可以直接進入主畫面。</p><p> ?。?)單擊Project菜單,在彈出的下拉菜單中選中New Project選項如圖4.1所示。<

108、;/p><p><b>  圖4.1新建工程</b></p><p>  (3)然后選擇保存的路徑,輸入工程文件的名字,如保存到C51目錄里,工程文件名字為C51,如圖4.2所示。</p><p>  圖4.2 新建名工程窗口</p><p>  (4) 選擇單片機的型號 ,keil c51幾乎支持所有的51核的單片機如圖圖

109、4.3所示。</p><p>  圖4.3選擇工程項目</p><p> ?。?) 下面開始編寫程序。單擊“File”菜單,再在下拉菜單中單擊“New”選項。如圖4.4所示。</p><p><b>  圖4.4新建文件</b></p><p>  此時保存該空白的文件,單擊菜單上的“File”,在下拉菜單中選中“Sav

110、e As”選項單擊,在“文件名”欄右側(cè)的編輯框中,鍵入欲使用的文件名。如果用C語言編寫程序,則擴展名為(.c);如果用匯編語言編寫程序,則擴展名必須 (.asm)。單擊“保存”按鈕。如圖4.5所示。</p><p><b>  圖4.5添加擴展名</b></p><p> ?。?)回到編輯界面后,單擊“Target 1”前面的“+”號,然后在“Source Group

111、1”上單擊右鍵,彈出如圖4.6菜單。 </p><p><b>  圖4.6 添加文件</b></p><p> ?。?)然后單擊“Add File to Grop’Source Group 1’”如圖4.7所示。</p><p>  圖4.7添加到工程中</p><p> ?。?)選中Test.c,然后單擊“Add”,

112、如圖4.8所示</p><p>  圖4.8添加到工程中</p><p> ?。?)輸入C語言源程序,在輸入程序時,Keil c51會自動識別關(guān)鍵字,并以不同的顏色提示用戶加以注意,這樣會使用戶少犯錯誤,有利于提高編程效率。程序輸入完畢后,如圖4.9所示。</p><p><b>  圖4.9輸入程序</b></p><p&

溫馨提示

  • 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. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論