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