專注電子技術(shù)學(xué)習(xí)與研究
當(dāng)前位置:單片機(jī)教程網(wǎng) >> MCU設(shè)計(jì)實(shí)例 >> 瀏覽文章

單片機(jī)串行口通信程序匯編語言編寫

作者:佚名   來源:本站原創(chuàng)   點(diǎn)擊數(shù):  更新時(shí)間:2008年07月01日   【字體:

ORG 0000H 
   ;http://www.torrancerestoration.com 出品匯編語言串口通信程序
   mov p1,#0ffh
   mov p3,#0ffh
  ;mov p3,#00h
   mov p1,#00h
   MOV SCON,#50H;設(shè)置成串口1方式
   MOV TMOD,#20H;波特率發(fā)生器T1工作在模式2上
   MOV PCON,#80H;波特率翻倍為2400x2=4800BPS
   MOV TH1,#0faH;預(yù)置初值(按照波特率2400BPS預(yù)置初值)
   MOV TL1,#0FaH;預(yù)置初值(按照波特率2400BPS預(yù)置初?1
setb tr1
LOOP:JnB P3.2,WRIT;
LCALL DELAY10
SETB P1.0
LCALL DELAY10
SETB P1.3
LCALL DELAY10
CLR P1.3
LCALL DELAY10
LCALL DELAY10

CLR P1.0


WRIT:JnB P3.3,LOOP;判斷K1是否按下,如果沒有按下就

lCALL DELAY10;延時(shí)10毫秒消觸點(diǎn)抖動(dòng)
JB P3.2,WRIT;去除干擾信號
JB P3.2,$;等待按鍵松?
SETB p1.0
SETB P1.3;?
mov a,p1
swap a
anl a,#0fh
add a,#03h
mov @r1,a
movc a,@a+pc;將16進(jìn)制的字符AF發(fā)送到串口去
MOV SBUF,A;將AF通過單片機(jī)的串行口發(fā)送數(shù)據(jù)出去
sjmp writ

asctab:db '1','2','3','4','5','6','7','8','9'
       db '0','*','#','a','b','c','d'
   
;10毫秒延時(shí)子程序
DELAY10:MOV R4,#20
D2:MOV R5,#248
DJNZ R5,$
DJNZ R4,D2
RET
end

關(guān)閉窗口