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

單片機(jī)匯編實(shí)驗(yàn)五-2:?jiǎn)纹瑱C(jī)與PC機(jī)串行通信實(shí)驗(yàn)

作者:韓冰   來源:本站原創(chuàng)   點(diǎn)擊數(shù):  更新時(shí)間:2013年11月30日   【字體:

實(shí)驗(yàn)要求:AT89S52串行通信口工作在方式1,8位UART方式,允許接收,9600bps。在PC機(jī)上運(yùn)行串口調(diào)試軟件。編程實(shí)現(xiàn):AT89S52內(nèi)部定時(shí)器1,按方式1工作,每1秒鐘內(nèi)部RAM30H單元內(nèi)容加1,并通過串行通信口送PC機(jī)顯示。
//This is the fifth_2 program of homework
//This is made by WQ    Data:2013/3/4/
        ORG 0000H     
        AJMP MAIN
        ORG 0023H       //0023H 串口中斷程序的入口地址
        AJMP Transfer  
        ORG 000BH       //000BH 計(jì)時(shí)器程序T0入口地址      
        AJMP WT0        
MAIN:
       MOV TMOD,#21H      //定時(shí)器的工作方式寄存器
       MOV TH0,#4CH      //定時(shí)器0
       MOV TL0,#00H     //定時(shí)器0
       MOV R3,#40          //R3做一個(gè)計(jì)數(shù)器
       SETB EA              //開總中斷
       SETB ET0              //允許計(jì)時(shí)器
       SETB TR0              //開啟計(jì)時(shí)器0
       MOV TH1,#0FDH       
       MOV SCON,#50H         ;傳口工作方式1,允許中斷接受
       SJMP $
       ORG 0100H
WT0:   MOV TH0,#4CH  //計(jì)時(shí)器0置數(shù)
       MOV TL0,#00H
    DJNZ R3,RETN   //1秒鐘到來了
    MOV R3,#50
       SETB ES        //打開串口中斷
       SETB TR1       //打開定時(shí)器1
    MOV R1,#30H
    MOV @R1,#89H
    MOV R1,#030H
    MOV A,@R1           
       MOV SBUF,A     //將內(nèi)存中的數(shù)據(jù)傳送給計(jì)算機(jī)
RETN:RETI             //中斷子程序的返回指令

Transfer:
        JNB TI,$
        CLR TI
        MOV P1,A
        RETI
        END
 

關(guān)閉窗口

相關(guān)文章