實驗目的和任務
目的:利用「模組化微控制器教學實驗平台」,加深對微控制器的序列口的理解。
任務:利用微控制器的序列口完成程式設計。
實驗內容
使用at89s52微控制器的序列口通過rs232通訊介面與pc機進行通訊,讓微控制器把接收到的每一幀資料(即pc機傳送給微控制器的每一幀資料)直接再傳送給pc機。(序列口波特率設定為9600bit/s,使用方式1)注意:使用串列埠除錯助手(baud 9600、資料位8、停止位1、效驗位無)作為上位機來向微控制器傳送資料和接收微控制器串列埠所發的資料,觀察串列埠除錯助手接收視窗。
實驗過程和結果
電路圖硬體連線:
母版
cpu板
j57/j59:rxd
p2:p3.0
j57/j59:txd
p2:p3.1
用232串列埠線連線計算機的usb口和main_board的rs2/rs1串列埠。
注意:實驗箱的at89s52微控制器的晶振頻率為11.0592mhz!
實驗結果圖
實驗心得
實驗過程讓我熟悉了中斷程式和串列埠的編寫步驟和微控制器執行串列埠傳輸的工作流程。實驗中由於不熟悉中埠的相關暫存器分布和功能,導致錯誤設定了特殊功能暫存器,程式不能正常執行,後來在老師的指導下修改了程式和中斷入口位址,程式能正常執行並返回輸入內容。
附錄(**)
(1)基本實驗
org 0000h
ljmp main
org 0023h
ljmp u
main:
mov scon,#01010000b
setb es
setb ea
mov tmod,#00100000b
mov th1,#0fdh
setb tr1
ljmp $
u:clr ri
mov a,sbuf
mov sbuf,a
jnb ri,$
clr ri
reti
end(2)擴充套件實驗
org 0000h
ljmp main
org 0023h
ljmp u
main:
mov scon,#01010000b
setb es
setb ea
mov tmod,#00100000b
mov th1,#0fdh
setb tr1
setb t1 ;手動執行中斷
ljmp $
u:clr ri
mov sbuf,#68h
mov sbuf,#65h
mov sbuf,#6ch
mov sbuf,#6ch
mov sbuf,#6fh
mov sbuf,#26h
mov sbuf,#20h
mov sbuf,#77h
mov sbuf,#6fh
mov sbuf,#72h
mov sbuf,#6ch
mov sbuf,#64h
mov sbuf,#0dh
mov sbuf,#0ah
mov sbuf,#0ah
jnb ri,$
clr ri
ljmp u ;傳送完畢後回到中斷程式頭部,迴圈傳送hello world
reti
end
序列非同步通訊 微控制器序列口介紹
序列口是微控制器與外界進行資訊交換的工具,8051微控制器的通訊方式有兩種 並行通訊 資料的各位同時傳送或接收。序列通訊 資料一位一位次序傳送或接收。非同步通訊 字元格式規定能使雙方把0和1串理解成同一種意義,原則上自由制定,通用角度使用標準如ascii 波特率即資料傳輸速率,每秒傳送的二進位制位數...
51微控制器序列口並 串 串 並轉換實驗
一 實驗內容 利用mcs 51微控制器p1.2做控制訊號 把並轉串單元的lock和串轉並單元的lock連線至p1.2。實現並轉串 串轉並,並把串轉並的資料送到發光二極體單元顯示。二 圖 三 c語言實現 74ls164 串入並出 74ls165 併入串出 include include define ...
51微控制器序列口速率設定
51微控制器速率設定公式波特率 sysclk 32 12 256 th1 ifndef monitor51 scon 0x50 scon mode 1,8 bit uart,enable rcvr tmod 0x20 tmod timer 1,mode 2,8 bit reload th1 221 ...