上機作業:
姓名:相柳堂學號:10123782 機號:47
通過實驗掌握微控制器的串列埠的設定和應用。
按實驗內容上機輸入並除錯實驗程式。畫出實驗程式的流程框圖。
在程式控制下,本方撥碼開關的資訊,可以在對方的led上顯示。
編制軟體時,使用了組合語言,針對按鍵和序列通訊,都採用了中斷方式,這樣就可以取得最快的反應速度。在實際的硬體實驗中,雙方都顯得十分靈敏。兩個微控制器,使用同乙個程式,序列口引數:
方式1, 資料位——8;奇偶校驗——無;停止位——1;;波特率設定[email protected]
proteus模型為d-serial communication.dsn。
組合語言源程式:
org 0000h
sjmp start
org 0003hint0中斷
sjmp int0int
org 0023huart中斷
sjmp uartint
start:
mov sp, #60h
mov scon,#50h方式1,8-n-1
mov tmod,#20h波特率發生器設定
mov th1,#0fdh波特率設定
mov tl1,#0fdh
setb tr1啟動定時器
setb it0p3.2下降沿觸發中斷
mov ie,#91h開放中斷
sjmp $
int0int:
mov p2, #0ffh
mov a, p2讀出的撥碼開關資訊
; mov p0, a除錯的時候,可在本方顯示,以證明中斷正常
jb ti, $
mov sbuf,a向串列埠傳送
reti
uartint:
jb ti,send測試是否傳送中斷,是轉send進行傳送中斷處理
mov a,sbuf讀出串列埠收到的資訊
mov p0, a送到p0口進行顯示
請接收中斷標誌
reti
send:
clr ti清傳送中斷標誌
reti
endat89c51微控制器的串列埠經max232電平轉換後,與pc機序列口相連。使用虛擬終端,實現上位機與下位機的通訊。
proteus模型為serial communication.dsn。
程式設計:
採用查詢法接收和傳送資料,上位機發出指定字元,下位機收到後返回原字元,
虛擬終端設定如下:波特率——4800;資料位——8;奇偶校驗——無;停止位——1;如圖所示。
組合語言源程式:
org 30h
start: mov sp,#60h
mov scon,#50h設定序列方式:8位非同步,允許接收
mov tmod,#20h設定計數器1為模式2
mov pcon,#80h波特率加倍
mov th1,#0f3h設定波特率為4800
mov tl1,#0f3h
setb tr1計數器1開始計時
again: jnb ri等待接收完成
clr ri清接收標誌
mov a,sbuf接收資料送緩衝區
mov sbuf,a傳送收到的資料
jnb ti等待傳送完成
clr ti清傳送標誌
sjmp again
end在選單欄中選擇「」→「」選項,開啟虛擬終端視窗,在鍵盤上按鍵,在虛擬終端視窗中會顯示相應的字元。如圖所示。
微控制器實驗指導書
電控教研室 2012年5月 目錄實驗一微控制器開發環境熟悉及keil軟體使用 2 實驗二微控制器io口應用實驗 7 實驗三 i o口輸入輸出實驗 9 實驗四紅綠燈模擬實驗 11 實驗五中斷應用 按鍵計數實驗 14 實驗六 led動態顯示實驗 16 實驗七串列埠通訊實驗 18 實驗一微控制器開發環境熟...
自控微控制器實驗指導書 一
實驗目的 1.了解at89s51微控制器的基本原理 2.掌握keil uvision2程式設計環境 3.掌握io的基本操作 4.掌握微控制器的定時功能 實驗原理和方法 1.io的基本原理 微控制器是通過程式給io口賦值 1 或 0 由硬體的io驅動電路產生乙個確定的電壓,使上圖的mos管導通和關斷實...
ADuC831微控制器實驗指導書
利用子程式實現壓縮bcd碼的加法運算,通過迴圈多次呼叫子程式實現多位元組bcd碼的加法運算。二 實驗目的 熟悉並掌握aduc831 mcs 51微控制器開發系統的使用,掌握bcd碼的加法和子程式的程式設計方法。三 實驗說明 編寫程式,實現多位元組bcd碼的加法運算。四 實驗電路連線 此實驗不需要連線...