單片機(jī)串口通信程序(方式1調(diào)試單片機(jī)給電腦發(fā)送)
ORG0000H
RESET:MOVR0,#00H
L0:DJNZR0,L0;延時(shí)指令,可以使硬件恢復(fù)到準(zhǔn)狀態(tài)
INIT:MOVTMOD,#00100000B ;設(shè)置定時(shí)器1為工作模式2,8位自動(dòng)重裝
MOVTH1,#0FDH;設(shè)置波特率,9600bps
MOVTL1,#0FDH
SETBTR1;打開T1定時(shí)器中斷
CLRSM0;設(shè)置串口傳輸模式1
SETBSM1
START:CLRTI
MOVA,#31H
MOVSBUF,A
L1:JNBTI,L1;直接尋址位為0則轉(zhuǎn)移(意思是:當(dāng)TI置1后,緩存中已經(jīng)把數(shù)據(jù)發(fā)送出去了,可以發(fā)下一個(gè)了)
LCALLDELAY ;調(diào)用延時(shí)函數(shù)(可以不用,因?yàn)闃?biāo)志位已經(jīng)硬件置1了),可以感覺到發(fā)送的減速
CLRTI
SJMPSTART
DELAY1:MOVR1,#00H ;此延時(shí)只能延時(shí)512us時(shí)間,視覺上看不出來
L3:DJNZR1,L3
RET
DELAY:PUSHPSW ;此延時(shí)程序可以延時(shí)130ms時(shí)間,在用串口調(diào)試工具調(diào)試的時(shí)候可以明顯的感覺到
MOVR0,#00H
L4:MOVR1,#00H
L5:DJNZR1,L5
DJNZR0,L4
POP PSW
RET
END
評(píng)論