新聞中心

        EEPW首頁 > 手機與無線通信 > 設計應用 > 利用USART實現單片機與PC通信

        利用USART實現單片機與PC通信

        作者: 時間:2012-10-31 來源:網絡 收藏

        ;實驗目的:熟悉
        ;通過“串口調試助手”協助工作
        ;串口調試助手發送數據給877,877收到后再轉發回串口助手
        ;硬件要求:撥碼開關S7全置ON,其他撥碼開關置OFF
        #INCLUDEP16F877A.INC> ;調用芯片頭文件,省去特殊寄存器等的定義
        __CONFIG _DEBUG_OFF_CP_ALL_WRT_HALF_CPD_ON_LVP_OFF_BODEN_OFF_PWRTE_ON_WDT_OFF_HS_OSC
        VAL_US EQU .249 ;短延時定時參數
        VAL_MS EQU .200 ;長延時定時參數
        COUNT EQU 25H
        COUNT_MS EQU 26H
        ORG 00H
        NOP
        GOTO MAIN
        ORG 04H ;中斷入口地址
        BTFSS PIR1,RCIF ;判斷是否是串口接收中斷
        GOTO EXIT ;否,轉中斷結束程序
        MOVF RCREG,0 ;讀取接收寄存器的數據
        MOVWF TXREG ;保存到發送寄存器,隨后發送出去
        EXIT
        RETFIE

        本文引用地址:http://www.104case.com/article/153766.htm

        MAIN

        BANKSEL TRISC ;選擇體1
        BSF TRISC,7 ;斷開RC模塊與 TX引腳的聯系
        BSF TRISC,6 ;斷開RC模塊與USART RX引腳的聯系
        MOVLW 0CH ;裝載波特率發生器,為19.2kbd
        MOVWF SPBRG
        MOVLW 24H ;勢能USART,設置波特率發生器為高速方式
        MOVWF TXSTA
        BSF PIE1,RCIE ;使能接收中斷
        CLRF STATUS ;返回體0
        MOVLW 90H
        MOVWF RCSTA ;使能USART連續接收
        BSF INTCON,GIE ;使能全局中斷使能位
        BSF INTCON,PEIE ;使能外設中斷使能位

        USART_1
        CALL DELAY_MS ;調用2次延時程序
        CALL DELAY_MS
        GOTO USART_1 ;返回!

        ;*************************200ms延時程序***********************
        DELAY_MS
        MOVLW VAL_MS
        MOVWF COUNT_MS
        LOOP_MS
        CALL DELAY_US
        DECFSZ COUNT_MS,1
        GOTO LOOP_MS
        RETURN

        ;*************************100us延時程序***********************
        DELAY_US
        MOVLW VAL_US
        MOVWF COUNT
        LOOP_US
        NOP
        DECFSZ COUNT,1
        GOTO LOOP_US
        RETURN

        DELAY_S
        MOVLW 0FFH
        MOVWF 50H
        CALL DELAY_MS
        DECFSZ 50H,1
        GOTO $-2
        RETURN
        END

        數字通信相關文章:數字通信原理




        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 福安市| 应城市| 宁武县| 桐庐县| 高唐县| 祥云县| 南丰县| 湖北省| 延安市| 桦甸市| 高青县| 平果县| 海口市| 会宁县| 平阳县| 浦城县| 密山市| 金溪县| 凌海市| 留坝县| 惠州市| 仪征市| 吕梁市| 瓮安县| 武夷山市| 卢湾区| 盐山县| 石屏县| 顺昌县| 潼南县| 衢州市| 马山县| 长子县| 永胜县| 额尔古纳市| 扬州市| 涟源市| 江津市| 汕头市| 桂阳县| 休宁县|