機(jī)電之家資源網(wǎng)
單片機(jī)首頁|單片機(jī)基礎(chǔ)|單片機(jī)應(yīng)用|單片機(jī)開發(fā)|單片機(jī)文案|軟件資料下載|音響制作|電路圖下載 |嵌入式開發(fā)
培訓(xùn)信息
贊助商
PIC16C63單片機(jī)串口通信
PIC16C63單片機(jī)串口通信
 更新時間:2008-7-26 16:10:50  點(diǎn)擊數(shù):3
【字體: 字體顏色
用PIC16C63A作單片機(jī)串行通信,將BUFFER1和BUFFER2中的數(shù)據(jù)通過串口發(fā)送出去,我寫了下面的程序,不知對不對,謝謝!

;*******************************************
;MCU-PIC16C63A,WDT=ON,HS,16MHZ
;本例將寄存器BUFFER1和BUFFER2中的數(shù)據(jù)串口發(fā)送出去,沒有中斷調(diào)用,單片機(jī)選用PIC16C63A
;*******************************************
LIST P=PIC16C63A
INCLUDE "P16C63A.INC"
ORG 0000H
GOTO MAIN
BUFFER1 EQU 20H
BUFFER2 EQU 21H

MAIN MOVLW 0X55
MOVWF BUFFER1
MOVLW 0X56
MOVWF BUFFER2
;發(fā)送過程
BSF STATUS,RP0
MOVLW 25H
MOVWF SPBRG;設(shè)定波特率9600
CLRF TXSTA;SYNC=0-異步方式,沒有第9位,BRGH=0低速
BCF STATUS,RP0
MOVLW B'10010000'
MOVWF RCSTA;SPEN=1,串口使能
BSF TXSTA,TXEN;允許發(fā)送

MOVF BUFFER1,W;發(fā)送第一個寄存器數(shù)據(jù)
MOVWF TXREG
again BTFSS TXSTA,TRMT;判斷TSR為空則間斷
GOTO again
MOVF BUFFER2,W;發(fā)送第二個寄存器數(shù)據(jù)
MOVWF TXREG
again2 BTFSS TXSTA,TRMT;判斷TSR為空則間斷
GOTO again2
NOP
END


PIC單片機(jī) www.pic16.com
 回復(fù)文章:有問題,寫了一個給你參考。
發(fā)信人:martin 發(fā)表時間:2001-11-02 13:12:06


    list      p=16c63           ; list directive to define processor
    #include <p16c63.inc>        ; processor specific variable definitions
       
        __CONFIG _BODEN_OFF&_CP_OFF&_WRT_ENABLE_ON&_PWRTE_ON&_WDT_OFF&_XT_OSC&_DEBUG_OFF&_CPD_OFF&_LVP_OFF

; '__CONFIG' directive is used to embed configuration data within .asm file.
; The lables following the directive are located in the respective .inc file.
; See respective data sheet for additional information on configuration word.






;***** VARIABLE DEFINITIONS
w_temp        EQU     0x20        ; variable used for context saving 
status_temp   EQU     0x21        ; variable used for context saving
Buffer1          EQU     0x22
Buffer2          EQU     0x23
             

;**********************************************************************
        ORG     0x000             ; processor reset vector
            nop
                 clrf    PCLATH            ; ensure page bits are cleared
          goto    main              ; go to beginning of program


        ORG     0x004             ; interrupt vector location
        MOVwf   w_temp            ; save off current W register contents
        MOVf    STATUS,w          ; move status register into W register
        bcf     STATUS,RP0        ; ensure file register bank set to 0
        MOVwf    status_temp       ; save off contents of STATUS register


; isr code can go here or be located as a call subroutine elsewhere


        bcf     STATUS,RP0        ; ensure file register bank set to 0
        MOVf    status_temp,w     ; retrieve copy of STATUS register
        MOVwf    STATUS            ; restore pre-isr STATUS register contents
        swapf   w_temp,f
        swapf   w_temp,w          ; restore pre-isr W register contents
        retfie                    ; return from interrupt

                ORG 40H

main
                banksel    TRISC             ; MPLAB提供的宏,BANK選擇
                MOVLW   0X80
                MOVWF   TRISC             ; TX/RX口輸入輸出配置
                banksel SPBRG
                MOVLW   D'25'             ; 十進(jìn)制的25
                MOVWF   SPBRG             ; 9600 BPS/ 4MHZ
                banksel TXSTA
                CLRF    TXSTA
                BSF     TXSTA,BRGH        ; HIGH SPEED/ASYN/8BITS
                BSF     TXSTA,TXEN
        banksel    RCSTA
                CLRF    RCSTA  
                BSF     RCSTA,SPEN        ; SERIAL PORT ENABLE
                BSF     RCSTA,CREN        ; CONTINUOUS RECEIVE ENABLE
                                          ; 8BITS/DISABLE ADDEN
                banksel TXREG                
                MOVf    Buffer1,W    
                MOVwf   TXREG
                call    TXPOLL
                MOVf    Buffer2,W
        MOVwf   TXREG
        call    TXPOLL
        goto    $
            
;************************************************
;* RXPOLL - This function polls the USART       *
;* receive interrupt flag and waits until a     *
;* data byte is available in RCREG.             *
;************************************************
RXPOLL
    bcf    STATUS,RP0
    btfss    PIR1,RCIF
    goto    RXPOLL
    return

;************************************************
;* TXPOLL - This function polls the TRMT flag   *
;* and waits until the USART has finished       * 
;* shifting the data byte out of the transmit   *
;* shift register.                              *
;************************************************
TXPOLL
    bsf    STATUS,RP0
TLOOP
    btfss    TXSTA,TRMT
    goto    TLOOP
    bcf    STATUS,RP0
    return         
          
    END                       ; directive 'end of program'
  • 上一篇: PIC浮點(diǎn)數(shù)和十進(jìn)制數(shù)相互轉(zhuǎn)換
  • 下一篇: PIC16C71按鍵換醒CPU的程序
  • 發(fā)表評論   告訴好友   打印此文  收藏此頁  關(guān)閉窗口  返回頂部
    熱點(diǎn)文章
     
    推薦文章
     
    相關(guān)文章
    網(wǎng)友評論:(只顯示最新5條。)
    關(guān)于我們 | 聯(lián)系我們 | 廣告合作 | 付款方式 | 使用幫助 | 機(jī)電之家 | 會員助手 | 免費(fèi)鏈接

    點(diǎn)擊這里給我發(fā)消息66821730(技術(shù)支持)點(diǎn)擊這里給我發(fā)消息66821730(廣告投放) 點(diǎn)擊這里給我發(fā)消息41031197(編輯) 點(diǎn)擊這里給我發(fā)消息58733127(審核)
    本站提供的機(jī)電設(shè)備,機(jī)電供求等信息由機(jī)電企業(yè)自行提供,該企業(yè)負(fù)責(zé)信息內(nèi)容的真實(shí)性、準(zhǔn)確性和合法性。
    機(jī)電之家對此不承擔(dān)任何保證責(zé)任,有侵犯您利益的地方請聯(lián)系機(jī)電之家,機(jī)電之家將及時作出處理。
    Copyright 2007 機(jī)電之家 Inc All Rights Reserved.機(jī)電之家-由機(jī)電一體化網(wǎng)更名-聲明
    電話:0571-87774297 傳真:0571-87774298
    杭州濱興科技有限公司提供技術(shù)支持

    主辦:杭州市高新區(qū)(濱江)機(jī)電一體化學(xué)會
    中國行業(yè)電子商務(wù)100強(qiáng)網(wǎng)站

    網(wǎng)站經(jīng)營許可證:浙B2-20080178-1