如何實現(xiàn)(電腦)PC機與單片機AT89C51的串行通信
org 0000h
本文引用地址:http://www.biyoush.com/article/273495.htmajmpstart
org0023h ;串行中斷入口
ljmps&r
org0100h
start:mov tmod,#20h ;設置定時器T1方式2
movpcon,#00h;使SMOD為0
movtll,#0fdh;波特率為9600b/s
movthl,#0fdh
setbea;開全局中斷
clret1;關T1中斷
setbes;開串行中斷
setbtrl;開T1定時
movscon,#50h;串行方式1,允許接收
sjmp$
S&r:movc,ri
jcrecive;RI為1,執(zhí)行接收子程序
sjmpsend;否則,執(zhí)行發(fā)送子程序
recive:mova,sbuf;接收數(shù)據(jù)
clrri
cjnea,#52h,re;是否接收到“R”
mova,#59h;是,發(fā)送“Y”
movsbuf,a
sjmpendtr
re:mov @rl,a ;r1為接收數(shù)據(jù)存放地址
incr1
sjmpendtr
send:mova,@r0;發(fā)送數(shù)據(jù),r0為存放數(shù)據(jù)的地址
movsbuf,a
jnbti,$
clrti
incr0
endtr:reti;中斷返回
3 結束語
串口通信是一種廣泛應用于各個領域的通信方式,由于目前大部分計算機都安裝了Windows95操作系統(tǒng),所以本文具體實現(xiàn)了在Windows95下利用它的SDK函數(shù)來與單片機進行串口通信。本文所提出的實現(xiàn)函數(shù)在所有當前流行軟件如VC++、Delphi等中都可實現(xiàn)。它不僅可以用于近距離的RS-232通信,而且,還可以實現(xiàn)中遠距離RS-485通信。在使用該程序的通信系統(tǒng)中,近遠距離的通信都取得良好的效果。
51單片機相關文章:51單片機教程
單片機相關文章:單片機教程
單片機相關文章:單片機視頻教程
單片機相關文章:單片機工作原理
數(shù)字通信相關文章:數(shù)字通信原理
通信相關文章:通信原理
晶振相關文章:晶振原理
評論