新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 單片機(jī)匯編實驗五-1:單片機(jī)與PC機(jī)串行通信實驗

單片機(jī)匯編實驗五-1:單片機(jī)與PC機(jī)串行通信實驗

作者: 時間:2016-12-01 來源:網(wǎng)絡(luò) 收藏
實驗要求:AT89S52串行通信口工作在方式1,8位UART方式,允許接收,9600bps。在PC機(jī)上運(yùn)行串口調(diào)試軟件。編程實現(xiàn):單片機(jī)接收PC機(jī)發(fā)送的數(shù)據(jù)并回送給PC機(jī)顯示,可同時送LED顯示;
//Thisprogramis copyed on the internet;
//I even dont know the author ;here I thank him
//The dare
;打開任意串口調(diào)試軟件
;打開對應(yīng)的串口,可以在設(shè)備管理器中看到
;設(shè)置波特率為9600,8個數(shù)據(jù)位,1個停止位,無奇偶校驗
;在發(fā)送欄輸入任意數(shù)字或者字符串,點(diǎn)擊發(fā)送,接收區(qū)能接收到相同的信息
;發(fā)送格式與接收格式必須相同,如都是字符或者都是十六進(jìn)制格式
ORG 0000H
AJMP MAIN
ORG 0023H //串口中斷程序的入口地址
AJMP RECEIVE //跳轉(zhuǎn)到接收中斷入口
ORG 0030H
MAIN: MOV TMOD,#20H //T1工作方式2
MOV TH1,#0FDH ;波特率9600
MOV SCON,#50H ;傳口工作方式1,允許中斷接受
SETB EA ;打開總中斷
SETB ES ;打開串口中斷
SETB TR1 ;打開定時器1
AJMP $
RECEIVE:
CLR RI
MOV A,SBUF //串口接收數(shù)據(jù)
MOV R0,A
MOV SBUF,A //將接收的數(shù)據(jù)再傳送給計算機(jī)
JNB TI,$
CLR TI
MOV A,R0
MOV P1,A //送LED顯示
RETI
END


評論


技術(shù)專區(qū)

關(guān)閉