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

下載本文檔

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

文檔簡介

1、<p><b>  雙機通信系統(tǒng)設計</b></p><p><b>  一、設計要求:</b></p><p>  編程實現(xiàn)兩片AT89C52芯片近距離通信,一臺為發(fā)送方,另一臺為接收方。采用單片機直接交叉連接的方式,一方發(fā)送由串行口TXD輸出,直接由另一方的串行口數(shù)據(jù)接收端RXD接收。</p><p><

2、;b>  二、設計方案分析</b></p><p><b>  1、方案設計:</b></p><p>  (1)設計思路:串行數(shù)據(jù)通信要解決兩個關鍵問題,一個是數(shù)據(jù)轉換,另一個是數(shù)據(jù)傳送。所謂數(shù)據(jù)以什么形式傳送。所謂數(shù)據(jù)轉換就是指單片機在接收數(shù)據(jù)時,如何把接收到串行數(shù)據(jù)進行發(fā)送。為此編制了兩個匯編語言程序:其一,為數(shù)據(jù)發(fā)送程序;其二,為數(shù)據(jù)接收程序

3、。為了確保每個字符發(fā)送出去,并且被接收,發(fā)送接收雙方的波特率設置一致,并且均采取查詢方式進行下一步操作。接收數(shù)據(jù)只需執(zhí)行一次,即駐留在內存中,此后,只要二號單片機有數(shù)據(jù)要發(fā)送,則一號機隨時接收并顯示在數(shù)碼管上;反之一號機發(fā)送,二號機接收并顯示。</p><p>  (2)原因:由于是近距離的雙機通信,我們采用單片機直接交叉連接的方式,上位機發(fā)送的數(shù)據(jù)由串行口TXD端輸出,直接由下位機的串行口數(shù)據(jù)接收端RXD接收。

4、需要注意的是一定要保證主從機相同的數(shù)據(jù)傳輸速率,即要求設置相同的波特率。</p><p>  單片機串行通信口,串行結構如下:</p><p>  數(shù)據(jù)緩沖器(SBUF)</p><p>  接受或發(fā)送的數(shù)據(jù)都要先送到SBUF緩存。有兩個,一個緩存,另一個接受,用同一直接地址99H,發(fā)送時用指令將數(shù)據(jù)送到SBUF即可啟動發(fā)送;接收時用指令將SBUF中接收到的數(shù)據(jù)取出

5、。</p><p>  b)串行控制寄存器(PCON):SCON用于串行通信方式的選擇,收發(fā)控制及狀態(tài)指示,各位含義如下:</p><p>  SM0,SM1:串行接口工作方式選擇位,這兩位組合成00,01,10,11對應于工作方式0、1、2、3。串行接口工作方式特點見下表1.2.1.</p><p>  表1.2.1 串行口工作方式表</p><

6、;p>  SM2:多機通信控制位。</p><p>  REN:接收允許控制位。軟件置1允許接收;軟件置0禁止接收。</p><p>  TB8:方式2或3時,TB8為要發(fā)送的第9位數(shù)據(jù),根據(jù)需要由軟件置1或清0。</p><p>  RB9:在方式2或3時,RB8位接收到的第9位數(shù)據(jù),實際為主機發(fā)送的第9位數(shù)據(jù)TB8,使從機根據(jù)這一位來判斷主機發(fā)送的時呼叫地

7、址還是要傳送的數(shù)據(jù)。</p><p>  TI:發(fā)送中斷標志。發(fā)送完一幀數(shù)據(jù)后由硬件自動置位,并申請中斷。必須要軟件清零后才能繼續(xù)發(fā)送。</p><p>  RI:接收中斷標志。接收完一幀數(shù)據(jù)后由硬件自動置位,并申請中斷。必須要軟件清零后才能繼續(xù)接收。</p><p><b>  c)輸入移位寄存器</b></p><p&g

8、t;  接收的數(shù)據(jù)先串行進入輸入移位寄存器,8位數(shù)據(jù)全移入后,再并行送入接收SBUF中。</p><p><b>  d)波特率發(fā)生器</b></p><p>  波特率發(fā)生器用來控制串行通信的數(shù)據(jù)傳輸速率的,51系列單片機用定時器T1作為波特率發(fā)生器,T1設置在定時方式。波特率時用來表示串行通信數(shù)據(jù)傳輸快慢程度的物理量,定義為每秒鐘傳送的數(shù)據(jù)位數(shù)。</p>

9、;<p>  e)電源控制寄存器PCON,其最高位為SMOD。</p><p><b>  f)波特率計算</b></p><p>  當定時器T1工作在定時方式的時候,定時器T1溢出率=(T1計數(shù)率)/(產生溢出所需機器周期)。由于是定時方式,T1計數(shù)率= fORC/12。產生溢出所需機器周期數(shù)=模M-計數(shù)初值X。</p><p&g

10、t;<b> ?。?)框圖:</b></p><p> ?。?)器材選擇:89C52單片機,四位一體數(shù)碼管,晶振,三極管,八位開關DSW,電容,電阻,按鍵開關以及若干導線等等。</p><p>  2、背景知識介紹:所涉及的背景知識如單片機相關知識、電機調速方法、PID算法、MATLAB建模和仿真方法等。</p><p>  串行通信是單片機的

11、一個重要應用。本設計就是利用單片機來完成一個系統(tǒng),實現(xiàn)雙片單片機串行通信。隨著計算機技術的快速發(fā)展和廣泛應用,從智能家用電器到工業(yè)上的控制系統(tǒng)都采用了上位機與下位機基于串行通信的主從工作方式,這樣就充分利用了微機分析處理能力強、速度快的特點及下位機(單片機)面向控制、使用靈活方便的優(yōu)勢。</p><p><b>  三、硬件設計:</b></p><p>  整個雙機

12、通信系統(tǒng)以89C52單片機為主控制器,由數(shù)碼管為核心的數(shù)據(jù)顯示模塊、主機校驗指示模塊、以及單片機最小系統(tǒng)構成。</p><p>  1.以89C51為核心的單片機最小系統(tǒng)</p><p>  89C51單片機的最小系統(tǒng)采用內部時鐘方式:以XTAL1和XTAL2引腳外接晶振,構成了自激振蕩器并在單片機內部產生時鐘脈沖信號,然后給晶振的每個腳分別外接一個30PF的電容,以此使晶振快速起振并且達

13、到約11.0592MHZ的穩(wěn)定頻率。而在單片機的RST腳接上按鍵開關以及適當?shù)碾娮?、電容便構成按鍵與斷電兩用的復位電路。具體電路如圖1-1所示:</p><p>  圖1-1單片機最小系統(tǒng)</p><p><b>  2.數(shù)碼管顯示模塊</b></p><p>  設計中,我們使用的是共陽的四位一體數(shù)碼管并使用P0口控制數(shù)碼管段選信號,P2口選

14、取四位為位選信號控制端。拿到數(shù)碼管后,我們借助萬用表進行測試,最終確定為共陽型數(shù)碼管,進一步測試便得出了該數(shù)碼管對應的管腳分布圖。</p><p>  3.主機校驗指示模塊</p><p>  主機接收從機應答信號進行校驗,成功后點亮P1口的指示燈并保持一段時間,然后進入等待狀態(tài),然后開始下一次數(shù)據(jù)傳送。這種握手模式是單片機在串行編程中使用的提高數(shù)據(jù)傳輸準確性的有效方法。</p>

15、;<p><b>  四、軟件設計:</b></p><p> ?。?) 軟件設計思路:在主機編程中,我們增加了置位取數(shù)標志的編程思路,即通過查詢取數(shù)標志實現(xiàn)在主函數(shù)回送應答并執(zhí)行相應服務程序,如此一來,很好的避免了中斷程序的冗長,提高了程序實現(xiàn)的效率。</p><p>  串行通信程序設計包括:1)初始化程序:對特殊功能寄存器SCON和PEON的設置,

16、來選擇串行口的工作方式,設置通信波特率。由于設計采用了中斷方式,則還要對中斷系統(tǒng)進行設置;2)發(fā)送數(shù)據(jù)的程序:51單片機串口發(fā)送數(shù)據(jù)的條件是串行口已準備好,此時標志位TI狀態(tài)為“1”,則需將待發(fā)數(shù)據(jù)傳送到發(fā)送數(shù)據(jù)緩沖期SBUF,即啟動一次發(fā)送;3)接收數(shù)據(jù)的程序:51單片機串行口接收數(shù)據(jù)的條件是SCON中的RI置“1”,表明串行口已收到一個字節(jié)數(shù)據(jù),此時即可置位取數(shù)標志;4)通信控制程序:用來控制發(fā)送和接收的進行。</p>

17、<p><b> ?。?)流程介紹:</b></p><p><b>  MAIN:</b></p><p>  LOOP: MOV A, P1</p><p>  ACALL DISPLAY_OUT</p><p>  MOV PCON, #80H ;串行口的工作方式的設定,波特

18、率的設定</p><p>  MOV SCON, #90H</p><p><b>  MOV A, P1</b></p><p>  MOV SBUF, A;把數(shù)據(jù)送入緩沖區(qū)</p><p>  LOOP1: MOV A, SBUF; 發(fā)聯(lián)絡信號</p><p>  ACALL DISPLAY

19、_IN; 調用顯示數(shù)據(jù)輸入程序</p><p>  CLR RI; 允許再接受</p><p><b>  JMP LOOP</b></p><p><b>  SJMP $</b></p><p>  DISPLAY_OUT:</p><p>  MOV B, #16;采

20、用16進制顯示</p><p><b>  DIV AB</b></p><p><b>  MOV R1, B</b></p><p><b>  MOV R2, A</b></p><p>  MOV R3, #10</p><p><b>

21、;  LOOP2:</b></p><p><b>  MOV A, R2</b></p><p>  SETB P2.2;選擇輸出片選信號控制端</p><p>  ACALL DISPLAY;采用查詢方式</p><p>  ACALL DL1;調用延時程序</p><p><

22、;b>  CLR P2.2</b></p><p><b>  MOV A, R1</b></p><p><b>  SETB P2.3</b></p><p>  ACALL DISPLAY</p><p><b>  ACALL DL1</b></

23、p><p><b>  CLR P2.3</b></p><p>  DJNZ R3, LOOP2</p><p><b>  RET</b></p><p>  DISPLAY_IN:</p><p>  MOV B, #16;采用16進制輸入顯示</p><

24、;p><b>  DIV AB</b></p><p><b>  MOV R1, B</b></p><p><b>  MOV R2, A</b></p><p>  MOV R3, #10</p><p><b>  LOOP3:</b><

25、;/p><p><b>  MOV A, R2</b></p><p>  SETB P2.0;選擇片選信號控制端</p><p>  ACALL DISPLAY;采用查詢方式</p><p>  ACALL DL1;調用延時程序</p><p><b>  CLR P2.0</b&g

26、t;</p><p><b>  MOV A, R1</b></p><p><b>  SETB P2.1</b></p><p>  ACALL DISPLAY</p><p><b>  ACALL DL1</b></p><p><b>

27、;  CLR P2.1</b></p><p>  DJNZ R3, LOOP3</p><p><b>  RET</b></p><p><b>  DISPLAY:</b></p><p>  MOV DPTR, #TABLE;設置數(shù)據(jù)指針地址初值</p><p

28、>  MOVC A,@A+DPTR;根據(jù)有效地址查詢</p><p>  MOV P0, A; 結果傳送到輸出口P0</p><p><b>  RET</b></p><p>  DL1: MOV R7, #2;延時4us子程序</p><p>  DL: MOV R6, #100</p><

29、;p><b>  NOP</b></p><p>  DL6: DJNZ R6, DL6</p><p>  DJNZ R7, DL</p><p><b>  RET</b></p><p>  TABLE: DB 0C0H, 0F9H, 0A4H, 0B0H</p><

30、p>  DB 99H, 92H, 82H, 0F8H</p><p>  DB 80H, 90H, 88H, 83H</p><p>  DB 0C6H, 0A1H, 86H, 8EH</p><p><b>  END </b></p><p>  五、測試數(shù)據(jù)及設計結果:</p><p&g

溫馨提示

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

評論

0/150

提交評論