freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內容

雙機間波特率可選的串行通信設計與調試(編輯修改稿)

2025-07-26 22:23 本頁面
 

【文章內容簡介】 有不同的波特率計算方法。其中,模式0和模式2波特率計算很簡單;模式1和模式3的波特率選擇相同,故在此僅以工作模式1為例來說明串口通信波特率的選擇。 在串行端口工作于模式1,其波特率將由計時/計數(shù)器1來產(chǎn)生,通常設置定時器工作于模式2(自動再加模式)。在此模式下波特率計算公式為:波特率=(1+SMOD)*晶振頻率/(384*(256TH1)) (28) 其中,SMOD——寄存器PCON的第7位,稱為波特率倍增位; TH1——定時器的重載值。 在選擇波特率的時候需要考慮兩點:首先,系統(tǒng)需要的通信速率。這要根據(jù)系統(tǒng)的運作特點,確定通信的頻率范圍。然后考慮通信時鐘誤差。使用同一晶振頻率在選擇不同的通信速率時通信時鐘誤差會有很大差別。為了通信的穩(wěn)定,我們應該盡量選擇時鐘誤差最小的頻率進行通信。 AT89C51單片機的結構和作用 AT89C51是一個低電壓,低功耗,高性能CMOS 8位單片機,40個引腳,32個外部雙向輸入/輸出(I/O)端口,同時內含2個外設中斷口,2個16位可編程定時計數(shù)器,2個全雙工串行通信口。AT89C51可以按照常規(guī)的方法進行編程,也可以在線編程。片內含4k bytes的可反復擦寫的Flash只讀程序存儲器和128 bytes的隨機存取數(shù)據(jù)存儲器(RAM),器件采用ATMEL公司的高密度、非易失性存儲技術生產(chǎn),兼容標準MCS51指令系統(tǒng)。 雙機通信兩臺機器的通信方式可分為單工通信、半雙工通信、雙工通信,他們的通信原理及通信方式為:單工通信:是指消息只能單方向傳輸?shù)墓ぷ鞣绞?。單工通信信道是單向信道,發(fā)送端和接收端的身份是固定的,發(fā)送端只能發(fā)送信息,不能接收信息;接收端只能接收信息,不能發(fā)送信息,數(shù)據(jù)信號僅從一端傳送到另一端,即信息流是單方向的。通信雙方采用單工通信屬于點到點的通信。根據(jù)收發(fā)頻率的異同,單工通信可分為同頻通信和異頻通信。半雙工通信:這種通信方式可以實現(xiàn)雙向的通信,但不能在兩個方向上同時進行,必須輪流交替地進行。也就是說,通信信道的每一段都可以是發(fā)送端,也可以是接端。但同一時刻里,信息只能有一個傳輸方向。如日常生活中的例子有步話機通信等。雙工通信:雙工通信是指在同一時刻信息可以進行雙向傳輸,和打電話一樣,說的同時也能聽,邊說邊聽。這種發(fā)射機和接收機分別在兩個不同的頻率上能同時進行工作的雙工機也稱為異頻雙工機。雙工機的特點是使用方便,但線路設計較復雜,價格也較高。利用AT89C51芯片、復位電路、時鐘電路、開關組、發(fā)光二極管等,使A機和B機的波特率可選,完成串行通信。圖22 系統(tǒng)框圖 方案的比較確定本設計是基于Proteus與μ Vision仿真軟件編程來設計方案,選擇合適的編程語言是一個重序可讀性和可移植性比較差。而C語言雖然執(zhí)行效率沒有匯編語言高,但語言簡潔,使用方便,靈活,運算方便,表達類型多樣化,數(shù)據(jù)結構類型豐富,具有結構化的控制語句,程序設計自由度大,有很好的可重用性,可移植性等特點。所以我們采用C語言編寫了程序。兩個單片機間采用串行口方式1進行通信。由于距離近可以直接采用輸入輸出直接相連通信。三 電路設計與調試 設計方案本次設計,對于兩片AT89C51,發(fā)送方的數(shù)據(jù)由串行口TXD段輸出,經(jīng)過傳輸線將信號傳送到接收方。接收方接收后,在LED上顯示接收的信息。軟件部分,通過通信協(xié)議進行發(fā)送接收,主機先送0xaa給從機,當從機接收到0xaa后,向主機反饋,主機收到反饋后停止發(fā)送數(shù)據(jù)給從機。從機收到正確數(shù)據(jù)后送到LED顯示。 軟件仿真 電路設計在桌面上雙擊圖標打開ISIS 7 Professional窗口。在器件選擇按鈕中單擊“P”按鈕,或執(zhí)行菜單命令“庫”→“拾取元件/符號”,添加如下表所示的元件。表31元件選擇表單片機AT89C51 二片晶體CRYSTAL 二只瓷片電容CAP 22pF 四只電解電容CAPELEC 1uF 二只電阻RES 10K 二只電阻RES 1K 二只開關 Button 六個發(fā)光二極管 LED 八個圖 31 AT89C51管腳圖管腳說明:VCC:供電電壓。GND:接地。P0口:P0口為一個8位漏級開路雙向I/O口,每腳可吸收8TTL門電流。當P0口的管腳第一次寫1時,被定義為高阻輸入。P0能夠用于外部程序數(shù)據(jù)存儲器,它可以被定義為數(shù)據(jù)/地址的第八位。在FIASH編程時,P0 口作為原碼輸入口,當FIASH進行校驗時,P0輸出原碼,此時P0外部必須被拉高。 P1口:P1口是一個內部提供上拉電阻的8位雙向I/O口,P1口緩沖器能接收輸出4TTL門電流。P1口管腳寫入1后,被內部上拉為高,可用作輸入,P1口被外部下拉為低電平時,將輸出電流,這是由于內部上拉的緣故。在FLASH編程和校驗時,P1口作為第八位地址接收。RST:復位輸入。當振蕩器復位器件時,要保持RST腳兩個機器周期的高電平時間。 ALE/PROG:當訪問外部存儲器時,地址鎖存允許的輸出電平用于鎖存地址的地位字節(jié)。在FLASH編程期間,此引腳用于輸入編程脈沖。在平時,ALE端以不變的頻率周期輸出正脈沖信號,此頻率為振蕩器頻率的1/6。因此它可用作對外部輸出的脈沖或用于定時目的。然而要注意的是:每當用作外部數(shù)據(jù)存儲器時,將跳過一個ALE脈沖。如想禁止ALE的輸出可在SFR8EH地址上置0。此時, ALE只有在執(zhí)行MOVX,MOVC指令是ALE才起作用。另外,該引腳被略微拉高。如果微處理器在外部執(zhí)行狀態(tài)ALE禁止,置位無效。 /PSEN:外部程序存儲器的選通信號。在由外部程序存儲器取指期間,每個機器周期兩次/PSEN有效。但在訪問外部數(shù)據(jù)存儲器時,這兩次有效的/PSEN信號將不出現(xiàn)。/EA/VPP:當/EA保持低電平時,則在此期間外部程序存儲器(0000HFFFFH),不管是否有內部程序存儲器。注意加密方式1時,/EA將內部鎖定為RESET;當/EA端保持高電平時,此間內部程序存儲器。在FLASH編程期間,此引腳也用于施加12V編程電源(VPP)。 XTAL1:反向振蕩放大器的輸入及內部時鐘工作電路的輸入。XTAL2:來自反向振蕩器的輸出。 振蕩器特性: XTAL1和XTAL2分別為反向放大器的輸入和輸出。該反向放大器可以配置為片內振蕩器。石晶振蕩和陶瓷振蕩均可采用。如采用外部時鐘源驅動器件,XTAL2應不接。有余輸入至內部時鐘信號要通過一個二分頻觸發(fā)器,因此對外部時鐘信號的脈寬無任何要求,但必須保證脈沖的高低電平要求的寬度。設計電路詳見附錄圖附1。 程序設計主機程序流程圖:詳見附錄圖附2。從機程序流程圖:詳見附錄圖附3。主機程序詳見附錄。從機程序詳見附錄。 調試仿真關于Proteus與Keil的聯(lián)合仿真調試。需注意Proteus的ISIS中A、B機的CPU屬性中Program File與Keil的μVision4中的路徑和文件名要一致。啟動Proteus的ISIS,并將其放在屏幕的右上角(可將原理圖放大到合適大?。辉賳覭eil的μVision4,并將其放在屏幕的左下角。在Keil中執(zhí)行菜單命令“調試”→“啟動/停止調試”,進入Keil調試環(huán)境。同時,在Proteus ISIS的窗口中可看出Proteus也進入了程序調試狀態(tài)。在Keil中點擊“運行”快捷按鈕,運行程序。調試成功顯示如圖所示(詳見附錄圖附4)。四 總結經(jīng)過課程設計,在查閱資料的過程中,學習了基于單片機的C語言程序設計,了解了單片機串行通信的基本知識,對于以后的學習和工作都有很大的益處。在學習的過程中,也遇到了一些困難,比如開始的時候,由于發(fā)送端和接收端的通信協(xié)議沒有做好,導致數(shù)據(jù)不能正
點擊復制文檔內容
環(huán)評公示相關推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1