|
|||||||||||
| 技術(shù)交流 | 電路欣賞 | 工控天地 | 數(shù)字廣電 | 通信技術(shù) | 電源技術(shù) | 測(cè)控之家 | EMC技術(shù) | ARM技術(shù) | EDA技術(shù) | PCB技術(shù) | 嵌入式系統(tǒng) 驅(qū)動(dòng)編程 | 集成電路 | 器件替換 | 模擬技術(shù) | 新手園地 | 單 片 機(jī) | DSP技術(shù) | MCU技術(shù) | IC 設(shè)計(jì) | IC 產(chǎn)業(yè) | CAN-bus/DeviceNe |
PIC單片機(jī)通訊例程(2)---雙機(jī)同步通訊 |
| 作者:BLACKHILL 欄目:單片機(jī) |
單片機(jī)雙機(jī)同步通信 1. 單片機(jī)PIC1編程(主控發(fā)送) LIST P=16F876 #INCLUDE P16F876.INC CBLOCK 0X24 ;保留三個(gè)字節(jié)作為顯示用 COUNT ;作計(jì)數(shù)器或暫存器用 ENDC ORG 0X0000 ;程序復(fù)位入口 NOP START GOTO MAIN ORG 0X0100 MAIN MOVLW 0X30 MOVWF FSR ;以下將從30H單元開始的RAM內(nèi)容初始化 MOVLW 0X30 ;將值30H賦給單元30H MOVWF COUNT INTRAM MOVF COUNT,0 ;將30H~7FH賦給單元30H~7FH MOVWF INDF INCF COUNT,1 INCF FSR,1 BTFSS COUNT,7 GOTO INTRAM BSF STATUS,RP0 ;將SCI部件初始化 MOVLW 0X19 ;將傳輸?shù)牟ㄌ芈试O(shè)為約9600 bps MOVWF SPBRG MOVLW 0X94 ;選擇同步高速方式傳輸8位數(shù)據(jù) MOVWF TXSTA BCF STATUS,RP0 MOVLW 0X80 ;允許同步串行口工作 MOVWF RCSTA BSF STATUS,RP0 BSF TRISC,7 ;將RC6、RC7設(shè)置為輸入方式,斷絕與外接電路的連接 BSF TRISC,6 BSF STATUS,RP0 MOVLW 0X30 ;將從30H單元開始的內(nèi)容傳送到PIC2 MOVWF FSR MOVF INDF,0 MOVWF TXREG ;將待發(fā)送的數(shù)據(jù)寫入發(fā)送緩沖器TXREG BSF STATUS,RP0 BSF TXSTA,TXEN ;發(fā)送允許 BCF STATUS,RP0 TX1 BTFSS PIR1,TXIF ;等待上一個(gè)數(shù)據(jù)寫完 GOTO TX1 INCF FSR ;準(zhǔn)備發(fā)送下一個(gè)數(shù)據(jù) MOVF INDF,0 MOVWF TXREG ;將新的數(shù)據(jù)寫入TXREG BTFSS FSR,7 ;判斷所有30H~7FH單元的內(nèi)容是否發(fā)送完畢? GOTO TX1 ;沒有,則繼續(xù)發(fā)送其它字節(jié) TX2 BTFSS PIR1,TXIF ;等所有要求發(fā)送的數(shù)據(jù)已經(jīng)發(fā)送完,再額外 GOTO TX2 ;寫一個(gè)字節(jié)到TXREG,使最后一個(gè)數(shù)據(jù)能夠順利發(fā)送 MOVWF TXREG NOP ;延時(shí)幾個(gè)微秒后,關(guān)發(fā)送允許 NOP NOP NOP NOP BSF STATUS,RP0 BCF TXSTA,TXEN BCF STATUS,RP0 CALL LED ;調(diào)用顯示子程序,將發(fā)送的數(shù)據(jù)顯示出來 END ;程序完 2. 單片機(jī)PIC2編程(從動(dòng)接收) LIST P=16F876 #INCLUDE P16F876.INC CBLOCK 0X24 COUNT |
| 2樓: | >>參與討論 |
| 作者: wyhfly 于 2003/1/24 14:36:00 發(fā)布:
有參考價(jià)值 |
|
| 免費(fèi)注冊(cè)為維庫電子開發(fā)網(wǎng)會(huì)員,參與電子工程師社區(qū)討論,點(diǎn)此進(jìn)入 |
Copyright © 1998-2006 m.58mhw.cn 浙ICP證030469號(hào) |