在线看毛片网站电影-亚洲国产欧美日韩精品一区二区三区,国产欧美乱夫不卡无乱码,国产精品欧美久久久天天影视,精品一区二区三区视频在线观看,亚洲国产精品人成乱码天天看,日韩久久久一区,91精品国产91免费

<menu id="6qfwx"><li id="6qfwx"></li></menu>
    1. <menu id="6qfwx"><dl id="6qfwx"></dl></menu>

      <label id="6qfwx"><ol id="6qfwx"></ol></label><menu id="6qfwx"></menu><object id="6qfwx"><strike id="6qfwx"><noscript id="6qfwx"></noscript></strike></object>
        1. <center id="6qfwx"><dl id="6qfwx"></dl></center>

            新聞中心

            EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 51單片機(jī)匯編模擬串口通信程序

            51單片機(jī)匯編模擬串口通信程序

            作者: 時間:2012-10-16 來源:網(wǎng)絡(luò) 收藏

            編寫的

            T2作為波特率控制
            UART_RXD 是硬中斷0或1口,如果能進(jìn)入中斷,說明該線有一個起始位產(chǎn)生,進(jìn)入中斷后調(diào)
            用下面的接收程序。退出硬中斷之前還需要將硬中斷標(biāo)志重新復(fù)位。
            UART_TXD 是任何其它IO即可。

            UART_SEND:
            PUSH IE
            PUSH DPH
            PUSH DPL
            PUSH PSW
            PUSH 00H
            PUSH ACC
            CLR EA
            SETB UART_TXD ;START BIT

            MOV R0,A
            CLR TR2 ;TR2置1,計數(shù)器2啟動,時間計數(shù)啟動。
            MOV A,RCAP2L;計數(shù)器2重新裝載值
            MOV TL2,A ;置計數(shù)器2初值 ;T2需要重新裝載
            MOV A,DPH
            MOV A,RCAP2H
            MOV TH2,A
            MOV A,R0

            SETB TR2 ;TR2置1,計數(shù)器
            JNB TF2,$
            CLR TF2
            JNB TF2,$
            CLR TF2

            CLR UART_TXD ;START BIT
            JNB TF2,$
            CLR TF2
            JNB TF2,$
            CLR TF2

            MOV R0,#08H
            UART_SEND_LOOP:
            RRC A
            MOV UART_TXD,C ;8 BIT
            JNB TF2,$
            CLR TF2
            JNB TF2,$
            CLR TF2
            DJNZ R0,UART_SEND_LOOP

            SETB UART_TXD ;END BIT
            JNB TF2,$
            CLR TF2
            JNB TF2,$
            CLR TF2

            POP ACC
            POP 00H
            POP PSW
            POP DPL
            POP DPH
            POP IE
            RET

            ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
            UART_REC:
            PUSH IE
            PUSH DPH
            PUSH DPL
            CLR EA

            CLR TR2 ;TR2置1,計數(shù)器2啟動,時間計數(shù)啟動。
            MOV A,RCAP2L;計數(shù)器2重新裝載值
            MOV TL2,A ;置計數(shù)器2初值 ;T2需要重新裝載
            MOV A,DPH
            MOV A,RCAP2H
            MOV TH2,A

            JB UART_RXD,$ ;REC
            SETB TR2 ;TR2置1,計數(shù)器2啟動,時間計數(shù)啟動。
            JNB TF2,$
            CLR TF2 ;0.5 BIT

            JNB TF2,$
            CLR TF2 ;1 BIT

            JNB TF2,$
            CLR TF2 ;1.5 BIT
            MOV C,UART_RXD
            MOV ACC.0,C

            JNB TF2,$
            CLR TF2

            JNB TF2,$
            CLR TF2 ;2.5
            MOV C,UART_RXD
            MOV ACC.1,C

            JNB TF2,$
            CLR TF2

            JNB TF2,$
            CLR TF2 ;3.5
            MOV C,UART_RXD
            MOV ACC.2,C

            JNB TF2,$
            CLR TF2

            JNB TF2,$
            CLR TF2 ;4.5
            MOV C,UART_RXD
            MOV ACC.3,C

            JNB TF2,$
            CLR TF2

            JNB TF2,$
            CLR TF2 ;5.5
            MOV C,UART_RXD
            MOV ACC.4,C

            JNB TF2,$
            CLR TF2

            JNB TF2,$
            CLR TF2 ;6.5
            MOV C,UART_RXD
            MOV ACC.5,C

            JNB TF2,$
            CLR TF2

            JNB TF2,$
            CLR TF2 ;7.5
            MOV C,UART_RXD
            MOV ACC.6,C

            JNB TF2,$
            CLR TF2

            JNB TF2,$
            CLR TF2 ;8.5
            MOV C,UART_RXD
            MOV ACC.7,C

            JNB TF2,$
            CLR TF2 ;9.5
            JNB UART_RXD,$ ;等待停止位,并重新復(fù)位計數(shù)器
            SETB UART_RXD

            POP DPL
            POP DPH
            POP IE
            RET

            數(shù)字通信相關(guān)文章:數(shù)字通信原理


            通信相關(guān)文章:通信原理


            塵埃粒子計數(shù)器相關(guān)文章:塵埃粒子計數(shù)器原理


            評論


            相關(guān)推薦

            技術(shù)專區(qū)

            關(guān)閉