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

下載本文檔

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

文檔簡介

1、<p><b>  目錄</b></p><p><b>  摘要2</b></p><p><b>  1 緒論2</b></p><p>  1.1 選題背景2</p><p>  1.2 技術(shù)發(fā)展概況3</p><p><b

2、>  2 方案設(shè)計(jì)4</b></p><p><b>  2.14</b></p><p>  2.2 設(shè)計(jì)方案5</p><p>  3 系統(tǒng)硬件設(shè)計(jì)6</p><p>  3.1 電路設(shè)計(jì)應(yīng)用環(huán)境簡介6</p><p>  3.2 按鍵輸入電路6</p>

3、;<p>  3.3 單片機(jī)控制電路7</p><p>  3.3.1 AT89S517</p><p>  3.3.2 單片機(jī)控制電路設(shè)計(jì)8</p><p>  3.4 顯示電路9</p><p>  3.4.1 74LS164簡介9</p><p>  3.4.2 顯示電路10</p

4、><p>  3.5 電源電路11</p><p>  4 系統(tǒng)軟件設(shè)計(jì)12</p><p>  4.1 軟件設(shè)計(jì)應(yīng)用環(huán)境12</p><p>  4.2 設(shè)計(jì)流程圖13</p><p>  4.3 按鍵程序設(shè)計(jì)14</p><p>  4.4 串口通信程序設(shè)計(jì)16</p>

5、<p>  4.5 顯示程序設(shè)計(jì)19</p><p><b>  5 總結(jié)21</b></p><p><b>  參考文獻(xiàn)23</b></p><p><b>  附錄24</b></p><p><b>  摘要</b></p

6、><p>  隨著電子技術(shù)的發(fā)展和微處理器技術(shù)的應(yīng)用,帶有單片機(jī)的智能型測控系統(tǒng)的應(yīng)用越來越廣泛,多個單片機(jī)系統(tǒng)之間數(shù)據(jù)傳輸已經(jīng)應(yīng)用于工業(yè)、科研、農(nóng)業(yè)等領(lǐng)域,而單片機(jī)之間的數(shù)據(jù)通信最常用的就是串口通信方式,串口通信可以在使用一根線發(fā)送數(shù)據(jù)的同時利用另一根線接收數(shù)據(jù),使用簡單且能實(shí)現(xiàn)遠(yuǎn)距離通信。本文介紹了一種單片機(jī)之間串口通信的設(shè)計(jì)方法,通過按鍵輸入數(shù)據(jù),單片機(jī)通過串口將數(shù)據(jù)發(fā)送給另一個單片機(jī),同時發(fā)送的數(shù)據(jù)均可在2個

7、單片機(jī)控制的數(shù)碼管上顯示,以檢測串口通信的準(zhǔn)確性。本文介紹的方法簡單易懂,可廣泛應(yīng)用于各種串口數(shù)據(jù)通信系統(tǒng)中。</p><p>  關(guān)鍵字:單片機(jī)、串口通信、數(shù)碼</p><p><b>  1 緒論</b></p><p><b>  1.1 選題背景</b></p><p>  隨著電子技術(shù)的不

8、斷發(fā)展,單片機(jī)的應(yīng)用范圍越來越廣泛,在工業(yè)控制、家電控制、數(shù)據(jù)采集等多個領(lǐng)域都有著十分重要的作用,由于單片機(jī)的使用,越來越多的系統(tǒng)開始向智能化方向發(fā)展。而單片機(jī)自帶的串口功能可以實(shí)現(xiàn)其與其他外設(shè)MCU或PC機(jī)之間的通信,這樣就使得控制系統(tǒng)更加的方便實(shí)用,利用單片機(jī)的串口通信可以實(shí)現(xiàn)數(shù)據(jù)的遠(yuǎn)程傳輸、數(shù)據(jù)分析與系統(tǒng)綜合控制功能,尤其是在數(shù)據(jù)量比較大的場合下,利用一個主機(jī)向各個從機(jī)發(fā)送控制指令是一個很好的解決方案,在這個過程中,串口通信是實(shí)現(xiàn)

9、單片機(jī)與單片機(jī)之間通信的關(guān)鍵?,F(xiàn)在多處理器通信已經(jīng)在工業(yè)、科研、農(nóng)業(yè)等領(lǐng)域廣泛地應(yīng)用。</p><p>  串行通信是指計(jì)算機(jī)主機(jī)與外設(shè)之間以及主機(jī)系統(tǒng)與主機(jī)系統(tǒng)之間數(shù)據(jù)的串行傳送。使用串口通信時,發(fā)送和接收到的每一個字符實(shí)際上都是一次一位的傳送的,每一位為1或者為0。串行通信只使用一條數(shù)據(jù)線,將數(shù)據(jù)一位一位地依次傳輸,每一位數(shù)據(jù)占據(jù)一個固定的時間長度。其只需要少數(shù)幾條線就可以在系統(tǒng)間交換信息。</p>

10、;<p>  本文基于以上原因本文介紹了基于單片機(jī)之間的串口通信設(shè)計(jì),實(shí)現(xiàn)單片機(jī)與單片機(jī)之間通過串口進(jìn)行數(shù)據(jù)傳輸?shù)墓δ堋?lt;/p><p>  1.2 技術(shù)發(fā)展概況</p><p>  數(shù)據(jù)通信是通信技術(shù)和計(jì)算機(jī)技術(shù)相結(jié)合而產(chǎn)生的一種新的通信方式。要在兩地之間傳輸信息必須由傳輸信道,根據(jù)傳輸媒體的不同,有有線數(shù)據(jù)通信與無線數(shù)據(jù)通信之分,但它們都是通過傳輸信道將數(shù)據(jù)終端與計(jì)算機(jī)連

11、接起來,而使不同地點(diǎn)的數(shù)據(jù)終端實(shí)現(xiàn)軟、硬件和信息資源的共享。數(shù)據(jù)通信的發(fā)展主要分為五個階段。第一階段:以語言為主,通過人力、馬力、烽火等原始手段傳遞信息;第二階段:文字、郵政;第三階段:印刷;第四階段:電報、電話、廣播;第五階段:信息時代,除語言信息外,還有數(shù)據(jù)、圖像、文本等。</p><p>  通信作為電信是從19世紀(jì)30年代開始的。1831年,法拉第發(fā)現(xiàn)電磁感應(yīng);1837年,莫爾斯發(fā)明電報;1873年,馬克

12、斯韋爾提出了電磁場理論;1876年,貝爾發(fā)明電話;1895年,馬可尼發(fā)明無線電,開辟了電信的新紀(jì)元;1906年發(fā)明電子管,從而模擬通信得到發(fā)展;1928年,出現(xiàn)了奈奎斯特準(zhǔn)則和取樣定理;1948年,提出了山農(nóng)定理;20世紀(jì)50年代發(fā)明半導(dǎo)體,從而數(shù)字通信得到發(fā)展。20世紀(jì)60年代發(fā)明集成電路。20世紀(jì)40年代提出靜止衛(wèi)星概念,但無法實(shí)現(xiàn);20世紀(jì)50年代航天技術(shù)開始活躍;1963年第一次實(shí)現(xiàn)同步衛(wèi)星通信;20世紀(jì)60年代發(fā)明了激光,企圖

13、用于通信,但未成功;20世紀(jì)70年代發(fā)明光導(dǎo)纖維,光纖通信得到發(fā)展。</p><p>  串口通信的概念:串口按位發(fā)送和接收字節(jié),盡管比按字節(jié)的并行通信慢,但是串口可以在使用一根線發(fā)送數(shù)據(jù)的同時利用另一根線接收數(shù)據(jù),很簡單且能實(shí)現(xiàn)遠(yuǎn)距離通信,長度可以達(dá)到1200米。</p><p>  最被人們熟悉的串行通信技術(shù)標(biāo)準(zhǔn)是EIA-232、EIA-422和EIA-485,也就是以前所稱的RS-2

14、32、RS-422和RS-485,由于EIA提出的建議標(biāo)準(zhǔn)都是以RS作為前綴,所以在同業(yè)通信領(lǐng)域,仍然習(xí)慣將上述標(biāo)準(zhǔn)以RS作為前綴稱謂。EIA-232、EIA-422和EIA-485最初都是由電子工業(yè)協(xié)會制定并發(fā)布的,EIA-232在1962年發(fā)布,后來陸續(xù)有不少改進(jìn)版本,其中最常用的是EIA-232-C版。目前EIA-232是PC機(jī)與通信工業(yè)中應(yīng)用最廣泛的一種串行接口。EIA-422標(biāo)準(zhǔn)全稱是“平衡電壓數(shù)字接口電路的電氣特性”,它定義

15、了一種平衡通信接口,將傳輸速率提高到了10Mbps,傳輸距離延長到了1219米,并允許在一條平衡總線上最多連接10個接收器。1983年EIA在EIA-422的基礎(chǔ)上制定了EIA-485標(biāo)準(zhǔn),增加了多點(diǎn)、雙向通信能力,即允許多個發(fā)送器連接到同一條總線上,同時增加了發(fā)送器的驅(qū)動能力和沖突保護(hù)特性,擴(kuò)展了總線共模范圍,后命名為TIA/EIA-485-A標(biāo)準(zhǔn)。</p><p><b>  2 方案設(shè)計(jì)</

16、b></p><p>  2.1 串行通信簡介</p><p>  設(shè)計(jì)題目《單片機(jī)之間的串口通信設(shè)計(jì)》。 串行通信可以分為同步通信和異步通信兩類。</p><p>  同步通信是一種連續(xù)串行傳送數(shù)據(jù)的通信方式,一次通信只傳送一幀信息。這里的信息幀與異步通信中的字符幀不同,通常含有若干個數(shù)據(jù)字符。它們均由同步字符、數(shù)據(jù)字符和校驗(yàn)字符組成。其中同步字符位于幀開頭

17、,用于確認(rèn)數(shù)據(jù)字符的開始。數(shù)據(jù)字符在同步字符之后,個數(shù)沒有限制,由所需傳輸?shù)臄?shù)據(jù)塊長度來決定;校驗(yàn)字符有1到2個,用于接收端對接收到的字符序列進(jìn)行正確性的校驗(yàn)。同步通信的缺點(diǎn)是要求發(fā)送時鐘和接收時鐘保持嚴(yán)格的同步。</p><p>  異步通信中,在異步通行中有兩個比較重要的指標(biāo):字符幀格式和波特率。數(shù)據(jù)通常以字符或者字節(jié)為單位組成字符幀傳送。字符幀由發(fā)送端逐幀發(fā)送,通過傳輸線被接收設(shè)備逐幀接收。發(fā)送端和接收端可

18、以由各自的時鐘來控制數(shù)據(jù)的發(fā)送和接收,這兩個時鐘源彼此獨(dú)立,互不同步。接收端檢測到傳輸線上發(fā)送過來的低電平邏輯"0"(即字符幀起始位)時,確定發(fā)送端已開始發(fā)送數(shù)據(jù),每當(dāng)接收端收到字符幀中的停止位時,就知道一幀字符已經(jīng)發(fā)送完畢。</p><p>  串口通信最重要的參數(shù)是波特率、起始位、數(shù)據(jù)位、停止位和奇偶校驗(yàn)。</p><p>  波特率:是一個衡量通信速度的參數(shù),表示

19、每秒鐘傳送的bit的個數(shù)。</p><p>  起始位:當(dāng)通信線上沒有數(shù)據(jù)被傳送時處于邏輯“1”狀態(tài),當(dāng)發(fā)送設(shè)備要發(fā)送一個數(shù)據(jù)時,先發(fā)送一個邏輯“0”信號,這個低電平就是起始位,起始位通過通信線傳向接收設(shè)備,接收端檢測到這個低電平后,就確認(rèn)開始接收數(shù)據(jù)了。起始位的作用是使通信雙方在傳送數(shù)據(jù)前協(xié)調(diào)同步。</p><p>  數(shù)據(jù)位:是衡量通信中實(shí)際數(shù)據(jù)位的參數(shù),當(dāng)計(jì)算機(jī)發(fā)送一個信息包,實(shí)際的

20、數(shù)據(jù)不會是8位的,標(biāo)準(zhǔn)的值是5、7或8位,如何設(shè)置取決于要傳送的信息。每個包是指一個字節(jié),包括開始/停止位、數(shù)據(jù)位和奇偶校驗(yàn)位,由于實(shí)際數(shù)據(jù)位取決于通信協(xié)議的選取,術(shù)語“包”指任何通信的情況。</p><p>  停止位:用于表示單個包的最后一位。典型的值為1、1.5和2位,它是一個數(shù)據(jù)的結(jié)束標(biāo)志,接收端接收到停止位后,通信線路上會回復(fù)邏輯“1”的狀態(tài),知道下一個起始位的到來。</p><p&

21、gt;  奇偶校驗(yàn)位:在串行通信中一種簡單的檢錯方式,有四種方式:偶、奇、高和低。對于偶和檢驗(yàn)的情況,串口會設(shè)置檢驗(yàn)位,用一個值確保傳輸?shù)臄?shù)據(jù)有偶個或者奇?zhèn)€邏輯高位。高位和低位不真正的檢查數(shù)據(jù),簡單置位邏輯高或者邏輯低校驗(yàn),這樣使得接收設(shè)備能夠知道一個位的狀態(tài),有機(jī)會判斷是否有噪聲干擾了通信或者是否傳輸和接收數(shù)據(jù)是否不同步。</p><p><b>  2.2 設(shè)計(jì)方案</b></p&

22、gt;<p>  本設(shè)計(jì)2個相同單片機(jī)之間通過串口進(jìn)行通信,通過按鍵輸入要發(fā)送的數(shù)據(jù),該數(shù)據(jù)為數(shù)字,并可在數(shù)碼管上顯示出來,設(shè)置完后通過串口通信發(fā)送給另一個單片機(jī),另一個單片機(jī)接收到后在數(shù)碼管上顯示出來,2個單片機(jī)可以互相發(fā)送數(shù)據(jù),通過2個單片機(jī)系統(tǒng)的數(shù)碼管顯示的數(shù)字可以判斷串口通信發(fā)送的數(shù)據(jù)的正確性。系統(tǒng)設(shè)計(jì)框圖如圖2-1所示。本設(shè)計(jì)主要由按鍵輸入電路、單片機(jī)控制電路和數(shù)碼管顯示電路組成,2個單片機(jī)的電路圖完全相同,實(shí)現(xiàn)

23、的功能也相同,所以本文只介紹其中一塊單片機(jī)電路的設(shè)計(jì)方法和串口通信的原理。</p><p>  圖2-1 系統(tǒng)設(shè)計(jì)框圖</p><p><b>  3 系統(tǒng)硬件設(shè)計(jì)</b></p><p>  3.1 電路設(shè)計(jì)應(yīng)用環(huán)境簡介</p><p>  Protel電子線路設(shè)計(jì)軟件是在TANGO基礎(chǔ)上改進(jìn)的電路CAD軟件,它在原理

24、圖文件格式、印制板文件格式、原理圖器件庫文件格式、印制板封裝庫文件格式、原理圖編譯和網(wǎng)絡(luò)表轉(zhuǎn)換與檢查等方面保持了與TANGO版本一致或兼容的前提下,對原TANGO版本做了一些改動。</p><p>  Protel電子線路設(shè)計(jì)軟件由原理圖編輯、印制板設(shè)計(jì)、原理圖輸出、印制板輸出、原理圖器件庫編輯和其他應(yīng)用程序組成。</p><p>  電路原理圖的設(shè)計(jì)是印制電路板設(shè)計(jì)中的第一步,也是非常重

25、要的一步。電路原理圖設(shè)計(jì)得好壞將直接影響到后面的工作。首先,原理圖的正確性是最基本的要求,因?yàn)樵谝粋€錯誤的基礎(chǔ)上所進(jìn)行的工作是沒有意義的;其次,原理圖應(yīng)該布局合理,這樣不僅可以盡量避免出錯,也便于讀圖、便于查找和糾正錯誤;最后,在滿足正確性和布局合理的前提下應(yīng)力求原理圖的美觀。</p><p>  進(jìn)行原理圖設(shè)計(jì)步驟:</p><p>  一、建立數(shù)據(jù)庫。打開Protel軟件后,在“文件”

26、標(biāo)題欄里選擇“新建”選項(xiàng),在彈出的對話框里選擇Document Folder,然后點(diǎn)擊OK即可。</p><p>  二、打開Documents,選擇“文件”標(biāo)題欄里選擇“新建”選項(xiàng),在彈出的對話框里選擇“Schematic Document”選項(xiàng),建立原理圖文件,并給原理圖文件命名。</p><p>  三、設(shè)計(jì)電路原理圖。利用Protel里的元器件庫完成電路原理圖的繪制。</p&

27、gt;<p>  四、檢查原理圖電性能可靠性。選擇工具下面的電氣規(guī)則檢查,在“Rule Matrix”中選擇要進(jìn)行電氣檢查的項(xiàng)目,設(shè)置好各項(xiàng)后,在“Setup Electrical Rlues Check”對話框上選擇“OK”即可運(yùn)行電氣規(guī)則檢查,檢查結(jié)果將被顯示到界面上。</p><p>  3.2 按鍵輸入電路</p><p>  常用的按鍵有獨(dú)立鍵盤和矩陣鍵盤,矩陣式鍵

28、盤分行和列,通過行和列來確定某一個按鍵的位置,適用于多鍵盤操作,可以節(jié)省單片機(jī)的I/O口。獨(dú)立式鍵盤是直接將按鍵連接至單片機(jī)I/O口,單片機(jī)通過檢測I/O的電平來判斷按下的按鍵,編程簡單,但是占用I/O資源比較多。本設(shè)計(jì)中只需要用到4個按鍵來實(shí)現(xiàn)數(shù)據(jù)的輸入,所以使用獨(dú)立式鍵盤即可。按鍵輸入電路如圖3-1所示。單片機(jī)的P1.0-P1.3引腳用來控制4路按鍵,4個按鍵分別代表4組數(shù)據(jù)“1、12、123、1234”,不同長度的數(shù)據(jù)可以更充分的

29、檢測串口數(shù)據(jù)傳輸?shù)臏?zhǔn)確性。</p><p>  圖3-1 按鍵輸入電路</p><p>  3.3 單片機(jī)控制電路</p><p>  3.3.1 AT89S51</p><p>  AT89S51單片機(jī)內(nèi)部主要由9個部件組成:1個8位中央處理器;4KBFlash存儲器;128B的數(shù)據(jù)存儲器;32條I/O口線;2個定時器/計(jì)數(shù)器;1個具有6個

30、中斷源、4個優(yōu)先級的中斷嵌套結(jié)構(gòu);用于多處理機(jī)通信、I/O擴(kuò)展或全雙工UART的串行口;特殊功能寄存器;1個片內(nèi)振蕩器和時鐘電路。AT89S51系列單片機(jī)完全繼承了MCS-51的指令系統(tǒng),共有111條指令,按其功能可分為五大類:數(shù)據(jù)傳送類指令、算術(shù)運(yùn)算類指令、邏輯運(yùn)算類指令、控制轉(zhuǎn)移類指令、布爾操作。AT89S51單片機(jī)引腳如圖3-2所示。</p><p>  圖3-2 AT89S51單片機(jī)引腳圖</p&g

31、t;<p><b>  管腳說明:</b></p><p>  P0口:8位、漏極開路的雙向I/O口。P0能夠用于外部程序數(shù)據(jù)存儲器。它可以被定義為數(shù)據(jù)/地址的第八位。P0口在應(yīng)用時必須外接上拉電阻,作為輸入時,首先應(yīng)將引腳置1。</p><p>  P1口:8位雙向I/O口,內(nèi)部含上拉電阻。作為輸入時,應(yīng)先將引腳置高;若負(fù)載為低電平,則通過內(nèi)部上拉電阻

32、向外輸出電流。</p><p>  P2口:8位雙向I/O口,內(nèi)部含上拉電阻。作為輸入時,應(yīng)先將引腳置高;若負(fù)載為低電平,則通過內(nèi)部上拉電阻向外輸出電流。</p><p>  P3口:8位雙向I/O口,內(nèi)部含上拉電阻。作為輸入時,應(yīng)先將引腳置高;若負(fù)載為低電平,則通過內(nèi)部上拉電阻向外輸出電流。P3口除了通用I/O口功能外,還有第二功能。P3口的第二功能定義如表3-1所示。</p>

33、;<p>  表3-1 P3口第二功能定義</p><p>  RST:復(fù)位輸入,低電平有效。</p><p>  ALE/PROG:地址鎖存允許信號輸出。在正常操作狀態(tài)下,該引腳端口輸出恒定頻率的脈沖。其頻率為晶振頻率的1/6,可用作外部定時或其他觸發(fā)信號。如果需要,可通過SFR的第0位置禁止ALE操作,但ALE的禁止位不影響對外部存儲器的訪問。</p>&l

34、t;p> ?。浩獬绦虼鎯ζ鬟x通信號,低電平有效。當(dāng)AT89S51執(zhí)行來自外部程序存儲器的指令代碼時,PSEN/每個機(jī)器周期兩次有效。在訪問外部數(shù)據(jù)存儲器時,PSEN/無效。</p><p>  :片外程序存儲器訪問允許信號,低電平有效。</p><p>  XTAL1:外接晶振。在單片機(jī)內(nèi)部是反相放大器的輸入及端。</p><p>  XTAL2:外接晶振。

35、在單片機(jī)內(nèi)部是反相放大器的輸出端,輸入到內(nèi)部時鐘發(fā)生器。</p><p>  3.3.2 單片機(jī)控制電路設(shè)計(jì)</p><p>  該部分電路設(shè)計(jì)如圖3-3所示。單片機(jī)的時鐘的頻率直接影響著單片機(jī)的速度和系統(tǒng)的穩(wěn)定性。AT89S51片內(nèi)由一個反相放大器構(gòu)成振蕩器,可以通過它倆產(chǎn)生時鐘。常用的單片機(jī)產(chǎn)生時鐘的方法有兩種:內(nèi)部時鐘方式和外部時鐘方式。本設(shè)計(jì)選用外部時鐘方式,單片機(jī)內(nèi)部XTAL1引

36、腳為高增益反向放大器的輸入端,XTAL2為輸出端,在這2個引腳之間接石英晶振和電容,就可以構(gòu)成一個穩(wěn)定的自激振蕩器。</p><p>  外接晶振振蕩頻率不大于單片機(jī)的最大工作頻率即可。如果有串行通信,需要選擇振蕩頻率除以串行通信頻率可以整除的晶振。本設(shè)計(jì)選用的11.0592MHz晶振。</p><p>  復(fù)位是單片機(jī)的初始化操作,復(fù)位信號是高電平有效,復(fù)位操作有上電自動復(fù)位、按鍵電平復(fù)

37、位、外部脈沖復(fù)位和自動復(fù)位四種方式。在本設(shè)計(jì)中復(fù)位電路采用按鍵電平方式,使RST引腳經(jīng)過10u電解電容與VCC電源接通,同時經(jīng)過電阻與地連接而實(shí)現(xiàn),按下按鍵時,RST引腳置高,實(shí)現(xiàn)復(fù)位功能。</p><p>  單片機(jī)的P1.0-P1.3引腳控制4個按鍵用于輸入數(shù)字,P2口控制數(shù)碼管顯示電路,單片機(jī)之間的通信通過串行口RXD和TXD。</p><p>  圖3-3 單片機(jī)控制電路</

38、p><p><b>  3.4 顯示電路</b></p><p>  3.4.1 74LS164簡介</p><p>  74LS164為8位移位寄存器,管腳圖如圖3-4所示。當(dāng)/MR為低電平時,輸出端(Q0-Q7)均為低電平。串行數(shù)據(jù)輸入端(A,B)可控制數(shù)據(jù)。當(dāng)A、B有一個為高電平,則另一個就允許輸入數(shù)據(jù),并在CLOCK上升沿作用下決定Q0的狀

39、態(tài)。真值表如表3-2所示。</p><p>  圖3-4 74LS164引腳圖</p><p>  表3-2 74LS164真值表</p><p>  H——高電平,L——低電平,X——任意電平,↑——低到高電平跳變,QA0、QB0、QH0——規(guī)定的穩(wěn)態(tài)條件建立前的電平,Qan、QGn——時鐘最近的↑前的電平。</p><p>  3.4.2

40、 顯示電路</p><p>  本設(shè)計(jì)中選用數(shù)碼管作為顯示器件。LED數(shù)碼管由八只發(fā)光二極管組成,編號是a、b、c、d、e、f、g、h,分別和同名管腳相連,當(dāng)發(fā)光二極管導(dǎo)通時發(fā)光。每個二極管就是一個筆劃,若干個二極管發(fā)光時,就構(gòu)成一個顯示字符。若將單片機(jī)的I/O口與數(shù)碼管的a-g和h相連,高電平(對應(yīng)共陰極數(shù)碼管)或低電平(對應(yīng)共陽極數(shù)碼管)的位對應(yīng)的發(fā)光二極管就會亮,這樣,I/O口輸出不同的代碼就可以控制數(shù)碼管

41、顯示不同的字符。為減少電路板中的焊接線,本設(shè)計(jì)選用4位一體數(shù)碼管,采用串行輸入并行輸出的8位移位寄存器74LS164進(jìn)行驅(qū)動輸出,單片機(jī)的P2.6和P2.7引腳分別作為74LS164的數(shù)據(jù)線和CLK信號。74LS164將輸入的串行數(shù)據(jù)鎖存在并行輸出端,通過這些并行口線驅(qū)動數(shù)碼管的各字段。數(shù)碼管選用共陽型,當(dāng)74LS164的某個輸出端口為低電位時,數(shù)碼管對應(yīng)的字段將被點(diǎn)亮。軟件設(shè)計(jì)中數(shù)碼管采用循環(huán)送顯的方式,單片機(jī)通過控制9012來選擇要

42、送顯的數(shù)碼管,當(dāng)需要某一位數(shù)碼管顯示時,該數(shù)碼管相對應(yīng)的9012三極管基極所連接的單片機(jī)引腳輸出高電平,三極管導(dǎo)通,進(jìn)而選通該位數(shù)碼管。74LS164的輸出Q0-Q7分別對應(yīng)接</p><p><b>  圖3-5 顯示電路</b></p><p><b>  3.5 電源電路</b></p><p>  電源部分提供整個

43、電路所需各種電壓,由電源變壓器、整流電路、濾波電路及輔助穩(wěn)壓輸出構(gòu)成,電源變壓器的功率由需要輸出的電流大小決定,確保有充足功率余量。</p><p>  交流電經(jīng)過二極管整流之后,方向單一了,但是大小(電流強(qiáng)度)還是處在不斷地變化之中。這種脈動直流一般是不能直接用來給無線電裝供電的。要把脈動直流變成波形平滑的直流,還需要再做一番“填平取齊”的工作,這便是濾波。換句話說,濾波的任務(wù),就是把整流器輸出電壓中的波動成分

44、盡可能地減小,改造成接近恒穩(wěn)的直流電。穩(wěn)壓電路有分立元件穩(wěn)壓電路和集成穩(wěn)壓電路兩種,其中集成穩(wěn)壓電路主要用于低電壓小電流的整流電路,具有體積小,電路簡單,穩(wěn)壓精度高,使用調(diào)試方便等特點(diǎn)。</p><p><b>  4 系統(tǒng)軟件設(shè)計(jì)</b></p><p>  4.1 軟件設(shè)計(jì)應(yīng)用環(huán)境</p><p>  本設(shè)計(jì)軟件的設(shè)計(jì)是在Keil C51的

45、環(huán)境下編譯的。Keil C51是美國Keil Software公司出品的51系列兼容單片機(jī)C語言軟件開發(fā)系統(tǒng),軟件提供豐富的庫函數(shù)和功能強(qiáng)大的集成開發(fā)調(diào)試工具,全Windows界面。Keil C51標(biāo)準(zhǔn)C編譯器為8051微控制器的軟件開發(fā)提供了C語言環(huán)境,同時保留了匯編代碼高效、快速的特點(diǎn)。C51編譯器的功能不斷增強(qiáng),使你可以更加貼近CPU本身,及其它的衍生產(chǎn)品。C51已被完全繼承到μVsion2的集成開發(fā)環(huán)境中,這個集成開發(fā)環(huán)境包含:

46、編譯器、匯編器、實(shí)時操作系統(tǒng)、項(xiàng)目管理器、調(diào)試器。μVsion2 IDE可為它們提供單一而靈活的開發(fā)環(huán)境。C51 V7版本是目前最高效、靈活的8051開發(fā)平臺。它可以支持所有8051的衍生產(chǎn)品,也可以支持所有兼容的仿真器,同時支持其它第三方開發(fā)工具。因此,C51 V7版本無疑是8051開發(fā)用戶的最佳選擇。Keil C51編譯器在遵循ANSI標(biāo)準(zhǔn)的同時,為8051微控制器系列特別設(shè)計(jì),語言上的擴(kuò)展能讓用戶使用應(yīng)用中的所有資源。</p

47、><p><b>  編輯器和調(diào)試器:</b></p><p>  一、源代碼編輯器:uVision2編輯器包含了所有用戶熟悉的特性。彩色語法顯像和文件辯識都對C源代碼進(jìn)行和優(yōu)化??梢栽诰庉嬈鲀?nèi)調(diào)試程序,它能提供一種自然的調(diào)試環(huán)境,使你更快速地檢查和修改程序。</p><p>  二、斷點(diǎn):uVision2允許用戶在編輯時設(shè)置程序斷點(diǎn)(甚至在源代碼

48、未經(jīng)編譯和匯編之前)。用戶啟動V2調(diào)試器之后,斷點(diǎn)即被激活。斷點(diǎn)可設(shè)置為條件表達(dá)式,變量或存儲器訪問,斷點(diǎn)被觸發(fā)后,調(diào)試器命令或調(diào)試功能即可執(zhí)行。</p><p>  在屬性框中可以快速瀏覽斷點(diǎn)設(shè)置情況和源程序行的位置。代碼覆蓋率信息可以讓你區(qū)分程序中已執(zhí)行和未執(zhí)行的部分。</p><p>  三、調(diào)試函數(shù)語言:uVision2中,可以編寫或使用類似C的數(shù)語言進(jìn)行調(diào)試。</p>

49、<p>  1、內(nèi)部函數(shù):如printf, memset, rand及其它功能的函數(shù)。 </p><p>  2、信號函數(shù):模擬產(chǎn)生CPU的模擬信號和脈沖信號。 </p><p>  3、用戶函數(shù):擴(kuò)展指令范圍,合并重復(fù)動作。 </p><p>  四、變量和存儲器:用戶可以在編輯器中選中變呈來觀察其取值。雙層窗口顯示,可進(jìn)行以下調(diào)整:當(dāng)前函數(shù)的

50、局部變量;用戶在兩個不同watch窗口頁面上的自定義變量;堆棧調(diào)用(call stack)頁面上的調(diào)用記錄;不同格式的四個存儲區(qū)。</p><p>  C51允許用戶使用C語言編寫中斷服務(wù)程序,快速進(jìn)、出代碼和寄存器區(qū)的轉(zhuǎn)換功能使C語言中斷功能更加高效??稍偃牍δ苁怯藐P(guān)鍵字來定義的。多任務(wù),中斷或非中斷的代碼要求必須具備可再入功能。C51提供了靈活高效的指針?! ⊥ㄓ弥羔樣?個字節(jié)來存儲存儲器類型及目標(biāo)地址,可以

51、在8051的任意存儲區(qū)內(nèi)存取任何變量。特殊指針在聲明的同時已指定了存儲器類型,指向某一特定的存儲區(qū)域。由于地址的存儲只需1-2字節(jié),因此,指針存取非常迅速。</p><p>  Keil C51兼容單片機(jī)C語言軟件開發(fā)系統(tǒng),與匯編相比,C語言在功能上、結(jié)構(gòu)上、可讀性、可維護(hù)性上有明顯的優(yōu)勢,因而易學(xué)易用。</p><p><b>  4.2 設(shè)計(jì)流程圖</b><

52、/p><p>  本系統(tǒng)軟件設(shè)計(jì)分為發(fā)送機(jī)和接收機(jī),發(fā)送機(jī)程序設(shè)計(jì)流程圖如圖4-1所示,接收機(jī)程序設(shè)計(jì)流程圖如圖4-2所示。</p><p>  圖4-1 發(fā)送機(jī)程序設(shè)計(jì)流程圖</p><p>  圖4-2 接收機(jī)程序設(shè)計(jì)流程圖</p><p>  4.3 按鍵程序設(shè)計(jì)</p><p>  單片機(jī)讀取按鍵值的方法有兩種:查

53、詢方式和中斷方式。查詢方式是利用鍵盤程序不斷查詢是否有按鍵按下,有按下則進(jìn)入相應(yīng)按鍵的子程序進(jìn)行數(shù)據(jù)處理,沒有則一直循環(huán)查詢;中斷方式是將按鍵動作與單片機(jī)的中斷系統(tǒng)聯(lián)系起來,有按鍵按下時,就引起單片機(jī)中斷,使系統(tǒng)進(jìn)入中斷處理程序。本設(shè)計(jì)中有4個按鍵,且主要程序就是按鍵的處理,所以采用查詢方式來處理讀取按鍵值程序。</p><p>  設(shè)計(jì)按鍵程序時,首先應(yīng)注意的是按鍵的機(jī)械觸點(diǎn)效應(yīng),原理上,按鍵按下時,單片機(jī)端口

54、為低電平,但是由于按鍵的機(jī)械觸點(diǎn)效應(yīng),按鍵在斷開和閉合瞬間會有抖動過程,這個過程會出現(xiàn)一系列的負(fù)脈沖,這樣會讓單片機(jī)引起誤判,因次,必須采取措施去掉按鍵抖動的影響。去按鍵抖動常用的有兩種方法:硬件方法和軟件方法。硬件方法一般是并接電容,或者加R-S觸發(fā)器;軟件去抖動一般采用延時的方法,按鍵抖動的過程一般持續(xù)5-10ms的時間,在判斷按鍵狀態(tài)時,只要加一個5-10ms的延時程序,再次判斷按鍵是否狀態(tài)不變,即可實(shí)現(xiàn)去抖動的作用。本設(shè)計(jì)中選用

55、軟件延時的方法去按鍵抖動。讀取按鍵子程序如下:</p><p>  if(key_1==0)</p><p><b>  {</b></p><p>  delay(20);</p><p>  if(key_1==0)</p><p><b>  {</b></p&g

56、t;<p>  while(key_1==0);</p><p><b>  flag_t=1;</b></p><p><b>  unm_t=1; </b></p><p><b>  }</b></p><p><b>  }</b>&

57、lt;/p><p>  if(key_2==0)</p><p><b>  {</b></p><p>  delay(20);</p><p>  if(key_2==0)</p><p><b>  {</b></p><p>  while(key

58、_2==0);</p><p><b>  flag_t=2;</b></p><p><b>  unm_t=2;</b></p><p><b>  }</b></p><p><b>  }</b></p><p>  if(

59、key_3==0)</p><p><b>  {</b></p><p>  delay(20);</p><p>  if(key_3==0)</p><p><b>  {</b></p><p>  while(key_3==0);</p><p&

60、gt;<b>  flag_t=3;</b></p><p><b>  unm_t=3;</b></p><p><b>  }</b></p><p><b>  }</b></p><p>  if(key_4==0)</p><

61、p><b>  {</b></p><p>  delay(20);</p><p>  if(key_4==0)</p><p><b>  {</b></p><p>  while(key_4==0);</p><p><b>  flag_t=4;&l

62、t;/b></p><p><b>  unm_t=4;</b></p><p><b>  }</b></p><p><b>  }</b></p><p>  4.4 串口通信程序設(shè)計(jì)</p><p>  AT89S51的串行口是一個全雙工的

63、異步串行通信口,可以同時進(jìn)行接收數(shù)據(jù)和發(fā)送數(shù)據(jù),因?yàn)榭趦?nèi)的接受緩沖器和發(fā)送緩沖器在物理上是隔離的,即是完全獨(dú)立的。可以通過訪問特殊功能寄存器SBUF,來訪問接收緩沖器和發(fā)送緩沖器。接收緩沖器還具有雙緩沖的功能,即它在接收第一個數(shù)據(jù)字節(jié)后,能接受第二個數(shù)據(jù)字節(jié),但是,在它完成接收第二個數(shù)據(jù)字節(jié)之后,若第一個字節(jié)仍未取走,那么該字節(jié)數(shù)據(jù)將丟失。對串行口的控制主要包括對狀態(tài)控制寄存器SCON、控制寄存器PCON、和串行數(shù)據(jù)寄存器SBUF的設(shè)置

64、。</p><p>  1、狀態(tài)控制寄存器SCON:SCON是一個逐位定義的8位寄存器,由它控制串行通信的方式選擇、接收和發(fā)送,指示串行口的狀態(tài)。寄存器SCON既可字節(jié)尋址也可位尋址,字節(jié)地址為98H,位地址為98H-9FH。其格式如下表4-1所示:</p><p>  表4-1 SCON地址格式</p><p>  SM0,SM1:串行口工作方式選擇位;</

65、p><p>  SM2:允許方式2、3中的多處理機(jī)通信位;</p><p>  REN:允許串行接收位,置位時,允許串行接收,清除時,禁止串行接收,可用軟件置位/清除;</p><p>  TB8:方式2和方式3中要發(fā)送的第9位數(shù)據(jù),可用軟件置位/清除;</p><p>  RB8:方式3和方式3中接收的第9位數(shù)據(jù)。方式1中接收的是停止位,方式0

66、中不使用這一位。</p><p>  TI:發(fā)送中斷標(biāo)志位,硬件置位,軟件清除。方式0中,在發(fā)送第8位末尾置位,在其他方式時,在發(fā)送停止位開始時設(shè)置;</p><p>  RI:接收中斷標(biāo)志位。硬件置位,軟件清除。方式0中,在接收第8位末尾置位,在其他方式時,在接收停止位中間設(shè)置。</p><p>  2、控制寄存器PCON:PCON是一個逐位定義的8位寄存器,目前

67、僅有幾位有定義,其中僅最高位SMOD與串行口控制有關(guān),其他位與掉電方式有關(guān),其格式如表4-2所示。</p><p>  表4-2 PCON地址格式</p><p>  SMOD:串行通信波特率系數(shù)控制位,當(dāng)SMOD=1時,使波特率加倍。</p><p>  寄存器PCON的地址為87H,只能字節(jié)尋址。</p><p>  3、串行數(shù)據(jù)寄存器S

68、BUF:SBUF包含在物理上隔離的兩個8位寄存器:發(fā)送數(shù)據(jù)寄存器和接受數(shù)據(jù)寄存器,但是它們共用一個地址99H,其格式如下表4-3所示。</p><p>  表4-3 數(shù)據(jù)寄存器格式</p><p>  對于波特率發(fā)生器采用定時器/計(jì)數(shù)器1。</p><p>  定時器/計(jì)數(shù)器是單片機(jī)內(nèi)的重要部件,其作用主要包括產(chǎn)生各種時標(biāo)間隔、記錄外部事件的數(shù)量等。AT89S51單

69、片機(jī)有2個16位的定時器/計(jì)數(shù)器:定時器/計(jì)數(shù)器0(T0)和定時器/計(jì)數(shù)器1(T1)。定時器/計(jì)數(shù)器的核心是一個16位的加1計(jì)數(shù)器:做定時器時,其計(jì)數(shù)脈沖來源于時鐘振蕩器(經(jīng)12分頻后提供),這個脈沖的周期稱為單片機(jī)的機(jī)器周期,每一個機(jī)器周期定時寄存器自動加1,所以定時器也可看做是計(jì)算機(jī)器周期的計(jì)數(shù)器,由于每一個機(jī)器周期為12個時鐘振蕩周期,所以定時器的分辨率是時鐘振蕩頻率的1/12,一旦振蕩頻率選定,則機(jī)器周期也確定。AT89S51單

70、片機(jī)的定時器/計(jì)數(shù)器T0由TH0、TL0構(gòu)成,T1由TH1、TL1構(gòu)成。TMOD用于控制和確定各定時器/計(jì)數(shù)器的功能和工作模式。TCON用于控制定時器/計(jì)數(shù)器T0、T1的啟動和停止計(jì)數(shù),同時包含定時/計(jì)數(shù)器的狀態(tài)。</p><p>  T0、T1的方式寄存器TMOD:</p><p>  方式寄存器TMOD是一個逐位定義的8位寄存器,是只能字節(jié)尋址的寄存器,字節(jié)地址為89H,其格式如表4-

71、4所示。</p><p>  表4-4 TMOD各位定義</p><p>  T1 T0</p><p>  其中低4位定義定時器/計(jì)數(shù)器T0,高4位定義定時器/計(jì)數(shù)器T1,各位的意義如下:</p><p>  GATE——門控位。GATE=1時,由外部中斷/INT0、/INT1和T

72、R0、TR1來啟動定時器。當(dāng)/INT0引腳為高電平時,TR0置位,啟動定時器T0;當(dāng)/INT1引腳為高電平時,TR1置位,啟動定時器T1。GATE=0時,僅由TR0和TR1置位來啟動定時器T0、T1。</p><p>  C/\T——功能選擇位。C/\T=1時,選擇計(jì)數(shù)功能;C/\T=0時,選擇定時功能。</p><p>  M0、M1——方式選擇位。由于M1和M0兩位,可以有4種工作方式

73、,如表4-5所示。</p><p>  表4-5 T0、T14種工作方式</p><p>  T0、T1控制寄存器TCON:TCON是一個逐位定義的8位寄存器,既可字節(jié)尋址也可位尋址,字節(jié)地址為88H,為尋址的地址為88H~8FH。與中斷源有關(guān)的位如表4-6 所示。</p><p>  表4-6 TCON定義</p><p><b&g

74、t;  串口波特率的設(shè)定:</b></p><p>  單片機(jī)的串口工作在方式3下,其波特率由定時器1(T1)的溢出率來決定,計(jì)算公式為:</p><p>  其中:T1的溢出率=,波特率的公式變?yōu)椋?lt;/p><p>  上式中,SMOD為波特率倍增位;f為振蕩頻率;k為T1的定時器的位數(shù),T1工作在模式0下k=13,模式1下k=16,模式2下k=8。&

75、lt;/p><p>  本系統(tǒng)采用晶振的頻率為11.0592MHz,T1工作在模式2下,波特率為9600b/s,將上述公式變形并帶入數(shù)據(jù)得T1的初值為0xFD。單片機(jī)主程序中串口中斷的使用代碼如下:</p><p>  void main(void)</p><p><b>  {</b></p><p>  EA=0;

76、 //關(guān)中斷</p><p><b>  IP=0x00;</b></p><p>  SCON=0X50; //中斷初始化</p><p>  TMOD=0x21;</p><p>  PCON &= 0x00;</p><p>  TH1 = 0xFD; //定時器0賦初始

77、值</p><p>  TL1 = 0xFD;</p><p><b>  TR1=1; </b></p><p><b>  ET0=1;</b></p><p><b>  TR0=1;</b></p><p>  EA=1; //開中斷</

78、p><p><b>  ……</b></p><p><b>  }</b></p><p>  4.5 顯示程序設(shè)計(jì)</p><p>  根據(jù)數(shù)碼管的驅(qū)動方式不同,數(shù)碼管送顯方式有兩種:靜態(tài)送顯和動態(tài)送顯。</p><p>  靜態(tài)顯示驅(qū)動:靜態(tài)驅(qū)動也稱直流驅(qū)動,在靜態(tài)顯示驅(qū)動

79、方式下,數(shù)碼管的共陰極或共陽極共同接地或接電源,每個數(shù)碼管的段選線與8位的單片機(jī)并口連接。靜態(tài)顯示驅(qū)動方式占用的單片機(jī)I/O端口比較多,一般在實(shí)用中不采用。</p><p>  動態(tài)顯示驅(qū)動:數(shù)碼管動態(tài)顯示方式是將所有的段選線并聯(lián)在一起,由一個8位I/O口來控制,再利用單片機(jī)的其他I/O口來作為數(shù)碼管的位選線。當(dāng)單片機(jī)輸出顯示數(shù)字的譯碼時,哪個數(shù)碼管顯示由單片機(jī)對位選通電路的控制來選擇,所以將欲顯示的數(shù)碼管的位選

80、通端選通,該數(shù)碼管就會顯示,其它數(shù)碼管均不會亮。通過輪流控制各個數(shù)碼管的選通端使數(shù)碼管輪流顯示。在顯示過程中,每個數(shù)碼管的顯示時間為1-2ms,由于人們的視覺暫留現(xiàn)象及發(fā)光二極管的余暉效應(yīng),只要掃描的速度夠快,給人的印象就是同時點(diǎn)亮的,而且不會有閃爍感。</p><p>  本設(shè)計(jì)中選用動態(tài)顯示驅(qū)動方式,數(shù)據(jù)通過74LS164的數(shù)據(jù)端送至數(shù)碼管顯示。先按照74LS164的時鐘時序?qū)懭?段碼,寫完后送入數(shù)碼管,子程

81、序如下: </p><p>  void write_164(uchar lx) //向164寫入段碼</p><p><b>  {</b></p><p>  uchar i,j;</p><p><b>  j=lx;</b></p><p>  for

82、(i=0;i<8;i++)</p><p><b>  {</b></p><p>  CLK_164=0;</p><p>  if((j&0x01)==0x01)</p><p><b>  {</b></p><p>  DTAT_164=1;</p

83、><p><b>  }</b></p><p><b>  else</b></p><p><b>  {</b></p><p>  DTAT_164=0;</p><p><b>  }</b></p><p

84、><b>  delay(3);</b></p><p>  CLK_164=1;</p><p><b>  j=j>>1;</b></p><p><b>  delay(2);</b></p><p><b>  }</b><

85、/p><p><b>  }</b></p><p>  void disp_all(void) //送數(shù)碼管顯示</p><p><b>  {</b></p><p>  uchar i,j;</p><p>  for(i=0;i<20;i++)

86、</p><p><b>  {</b></p><p>  for(j=0;j<4;j++)</p><p><b>  {</b></p><p><b>  P2=0X0F;</b></p><p>  write_164(DISP_SAVE

87、[j]);</p><p>  delay(50);</p><p><b>  P2=0X0F;</b></p><p><b>  }</b></p><p><b>  }</b></p><p>  write_164(0xff);</p&

88、gt;<p><b>  }</b></p><p><b>  5 總結(jié)</b></p><p>  我所做的是單片機(jī)通信協(xié)議設(shè)計(jì),從開學(xué)初我就開始準(zhǔn)備。畢業(yè)設(shè)計(jì)完成了,達(dá)到了預(yù)期的目的。一開始拿到這個題目的時候,真不知道從哪下手,在老師的指導(dǎo)下,自己找資料、看書,總算完成了。通過這次的畢業(yè)設(shè)計(jì),使我對單片機(jī)有了更深的認(rèn)識,從理論

89、和實(shí)踐上都得到了很大的提高,所以這次任務(wù)的完成是我學(xué)到了很多東西。首先,豐富了自己的知識面,學(xué)到了以前沒能學(xué)通的東西,具體了解了怎樣去完成一個電路的設(shè)計(jì):從流程圖、電路圖、焊接電路板、檢查電路板、仿真到燒片一整套東西。從畢業(yè)設(shè)計(jì)中,學(xué)到了單片機(jī)AT89C51的內(nèi)部結(jié)構(gòu)及其工作原理,了解了時鐘電路和控制電路的工作原理,鞏固了匯編語言的使用能力,提高了自己動手的能力,學(xué)到了很多經(jīng)驗(yàn),并且提高了自己分析問題的能力和創(chuàng)新能力,得到了理論聯(lián)系實(shí)際

90、的機(jī)會,做出了成果。使自己在硬件設(shè)計(jì)方面樹立了信心,為以后從事這方面的工作打好了基礎(chǔ),這也是這次畢業(yè)設(shè)計(jì)的最大收獲。</p><p>  在一開始接觸這個題目的時候,真的很茫然,不知道從哪開始下手,不知道單片機(jī)串行通信協(xié)議是干什么的?怎么才能做出來?用什么做?這些問題一個都不知道。</p><p>  后來在老師的指導(dǎo)下,才知道我要怎么開始做。自己就開始找資料,了解單片機(jī)AT89S51、通

91、信傳輸?shù)挠嘘P(guān)知識,學(xué)習(xí)時鐘電路、控制電路的設(shè)計(jì)原理,看不懂的時候就去問老師、同學(xué)和朋友。在這些都搞得比較明白后就開始畫設(shè)計(jì)流程圖和電路圖,最后用了很長時間才完成自己的通信程序設(shè)計(jì),給老師看后,在老師的幫助下,改正了幾處有問題的地方,完成后就開始仿真。但是仿真的時候卻又遇到了麻煩,先是匯編語言的程序錯誤,Topice52仿真軟件提示我的程序有問題,程序自身沒有通過檢驗(yàn)。接著仔細(xì)根據(jù)提示檢查程序上的錯誤,直到軟件仿真結(jié)束。接下來的工作一切還

92、算順利,在老師還有同學(xué)的幫助下,都一一解決。</p><p>  這次的畢業(yè)設(shè)計(jì)總的來說還是很成功的,自己從中學(xué)到很多,也發(fā)現(xiàn)了不少問題,為自己以后的學(xué)習(xí)、進(jìn)步打下了不錯的基礎(chǔ)。</p><p>  本文介紹了一種單片機(jī)之間串口通信的設(shè)計(jì)方法,論文首先介紹了串口通信的應(yīng)用及研究現(xiàn)狀、串口通信的概念,主要是串口通信的方式和重要的數(shù)據(jù)位說明,接著提出了可行的設(shè)計(jì)方案,并從硬件電路設(shè)計(jì)和軟件程序

93、設(shè)計(jì)兩個方面詳細(xì)介紹了整個設(shè)計(jì)的原理及設(shè)計(jì)過程,同時驗(yàn)證了方案的可行性。</p><p>  當(dāng)然,本設(shè)計(jì)還有許多不足之處,可能發(fā)送的數(shù)據(jù)位數(shù)偏少的原因,測試得出的串口通信數(shù)據(jù)誤碼率為0,在多串?dāng)?shù)據(jù)的情況下應(yīng)該會有微小的誤碼率。</p><p><b>  致謝</b></p><p>  天下沒有不散的宴席,但是論文致謝語寫就的那一刻也真正標(biāo)

94、志著我與這所學(xué)校就此別離了,沒有傷感,更多的是遺憾,但是總歸不如意事十有八九,過去的不能挽回,人應(yīng)該大膽向前看,所以這段文字應(yīng)該像它的標(biāo)題一樣充滿感恩和致謝,感謝三年來在我的成長道路上扶持過我,指點(diǎn)過我的人。</p><p>  這篇論文所涉及的議題是和我的指導(dǎo)老師交流后定下的,在前期的實(shí)習(xí)積累經(jīng)驗(yàn),到中期的修改和討論,及最后的反復(fù)斟酌,我希望能盡自己最大的努力,寫出一篇具有現(xiàn)實(shí)意義的論文。但是在具體實(shí)施的過程中

95、,我還是遇到了相當(dāng)多當(dāng)初沒有預(yù)料的困難,也曾經(jīng)令我迷茫和彷徨,論文最終的定稿,也沒有我當(dāng)初設(shè)想的那么完美,但是總歸是自己盡力完成的著作,和我的每一篇球評一樣都是我心血的累積。</p><p><b>  參考文獻(xiàn)</b></p><p>  [1] 謝沅清,解月珍.電子技術(shù)基礎(chǔ).人民郵電出版社,1999.</p><p>  [2] 何立民.

96、單片機(jī)應(yīng)用技術(shù)選編. 北京航空航天大學(xué)出版社,2006.</p><p>  [3] 譚浩強(qiáng).C程序設(shè)計(jì)(第二版).清華大學(xué)出版社,2001.1.</p><p>  [4] 張毅剛,彭喜源.MCS-51單片機(jī)應(yīng)用設(shè)計(jì).哈爾濱工業(yè)大學(xué)出版社,1997.</p><p>  [5] 胡漢才.單片機(jī)原理及接口技術(shù).清華大學(xué)出版社,1996.</p><

97、;p>  [6] 孫江宏等. Protel 99 電路設(shè)計(jì)與應(yīng)用.機(jī)械工業(yè)出版社,2001.2.</p><p>  [7] 黃亮.基于AT89C51單片機(jī)的串口通信程序的設(shè)計(jì).電子制作,2006年07期.</p><p>  [8] 劉錫東,黃麗民.用C語言實(shí)現(xiàn)串口通信技術(shù).山東商業(yè)職業(yè)技術(shù)學(xué)院學(xué)報,2007年02期.</p><p>  [9] 栗小寬,韓

溫馨提示

  • 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. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論