新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 89C51單片機I/O 口模擬串行通信的實現方法

        89C51單片機I/O 口模擬串行通信的實現方法

        作者: 時間:2012-11-03 來源:網絡 收藏

        程序清單見下,系統要求單片機晶振為6M。程序清單如下:
        TXD EQU P1.0
        RXD EQU P1.1 ;定義89C51 P1.0 為發送端,P1.1 為接收端
        ORG 0000H
        AJMP MAIN
        ORG 0100H
        MAIN: MOV A, #30H
        MOV R5,#N
        SETB RXD ;P1.0 置高
        TX: LCALL INPUT ;調用發送子程序,將寄存器A 中內容發給PC 機
        ;
        SETB TXD ;P1.1 置高
        MOV R0,#40H
        RX: LCALL OUTPUT ;調用接收子程序,將接收的N 個數據存放在以40H開始的地址中
        MOV @R0,A
        INC R0
        DJNZ R5, RX ;N 個數據接收結束,則等待,否則轉RX 繼續接收
        AJMP $
        ;**************延時833μs 子程序*****
        DEL833: MOV R7 ,#205
        MS11: DJNZ R7,MS11
        RET
        ; **********************************
        ;******** 89C51發送數據給PC 機子程序****
        INPUT: CLR C
        MOV TXD,C ;發送起始位
        LCALL DEL833 ;延時
        MOV R3,#8
        REP: RRC A
        MOV TXD ,C
        LCALL DEL833
        DJNZ R3,REP ;發送8 位數據
        SETB C ;發送停止位
        MOV TXD,C
        LCALL DEL833
        RET
        ;********從PC 機接收數據子程序********
        OUTPUT: JB RXD, $ ; 判斷是否有起始位出現
        LCALL DEL833
        MOV R3,#8
        OUT: MOV C ,RXD
        RRC A
        LCALL DEL833
        DJNZ R3,OUT ; 接收8 位數據
        JNB RXD ,$ ; 判斷是否有停止位出現
        RET
        本文介紹的用 89C51 單片機I/O 口模擬實現串行通信的方法,已成功地應用在某電壓數據采集系統中,實踐證明能可靠地傳送和接收數據。


        上一頁 1 2 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 靖州| 南靖县| 平凉市| 兰考县| 呼玛县| 永仁县| 富阳市| 泉州市| 陵水| 迁安市| 滁州市| 沁阳市| 高唐县| 九江市| 抚松县| 肇州县| 康保县| 霍城县| 连平县| 莱州市| 浙江省| 浦江县| 贡山| 古浪县| 芜湖市| 贺兰县| 英山县| 巍山| 襄城县| 富川| 济宁市| 贵南县| 枣强县| 泌阳县| 柞水县| 威宁| 调兵山市| 广州市| 大竹县| 美姑县| 新龙县|