|
|||||||||||
| 技術(shù)交流 | 電路欣賞 | 工控天地 | 數(shù)字廣電 | 通信技術(shù) | 電源技術(shù) | 測控之家 | EMC技術(shù) | ARM技術(shù) | EDA技術(shù) | PCB技術(shù) | 嵌入式系統(tǒng) 驅(qū)動編程 | 集成電路 | 器件替換 | 模擬技術(shù) | 新手園地 | 單 片 機 | DSP技術(shù) | MCU技術(shù) | IC 設(shè)計 | IC 產(chǎn)業(yè) | CAN-bus/DeviceNe |
PIC12F675/Kit1 串口通信程序 |
| 作者:geraldwang 欄目:單片機 |
通過PC串口發(fā)送一8位數(shù)據(jù),單片機返回。 MPLAB6.4下編譯通過,配合串口調(diào)試助手2.0調(diào)試通過。 list p=12F675 #include <p12F675.inc> cblock 0x20 i data_t data_r Tcount Rcount m endc org 0x00 BANKSEL 0x80 movlw 0x1f movwf TRISIO movlw 0x40 movwf OPTION_REG clrf ANSEL bcf STATUS,RP0 clrf GPIO movlw 0x07 movwf CMCON main call com_rcvr movf data_r,0 movwf data_t call com_send movlw 0xff movwf i cirl call delay decfsz i goto cirl goto main com_send movlw 0x08 movwf Tcount bcf GPIO,5 T_Next call delay rrf data_t btfsc STATUS,C bsf GPIO,5 btfss STATUS,C bcf GPIO,5 decfsz Tcount goto T_Next T_Stop call delay bsf GPIO,5 call delay retlw 0x00 com_rcvr movlw 0x08 movwf Rcount Rcvr btfsc GPIO,4 goto Rcvr R_Next call delay bcf STATUS,C rrf data_r btfsc GPIO,4 bsf data_r,7 btfss GPIO,4 bcf data_r,7 decfsz Rcount goto R_Next R_Over call delay retlw 0x00 delay ;延時 movlw 0x1f movwf m loop decfsz m goto loop retlw 0x00 end |
| 2樓: | >>參與討論 |
| 作者: americ 于 2004/3/12 21:56:00 發(fā)布:
沒有防干擾措施,距離太近,誤碼太高. 我用C搞過一個,用630. |
|
| 3樓: | >>參與討論 |
| 作者: geraldwang 于 2004/3/12 22:06:00 發(fā)布:
請大俠指正 這個段程序還沒有和系統(tǒng)連接,請教大俠該如何彌補您剛才提到的缺陷? |
|
| 4樓: | >>參與討論 |
| 作者: geraldwang 于 2004/3/13 9:34:00 發(fā)布:
我想您說的是奇偶校驗吧 目前PC上的程序我還沒寫,所以還沒有加上校驗。這個程序僅僅是測試延遲是否正確。 |
|
| 5樓: | >>參與討論 |
| 作者: americ 于 2004/3/15 12:37:00 發(fā)布:
標(biāo)準(zhǔn)的UART 使用16倍采樣. 用單片機實現(xiàn),當(dāng)然不能像CPLD一樣, 不過,還是需要仔細(xì)考慮的. 一切一切,要實事求是.以實際測量的效果為準(zhǔn). 如果你的程序,在實際效果上,沒問題,就那么用!! 如果有了問題,真的誤碼太多(例如環(huán)境干擾很大),再詳細(xì)考慮.畢竟675資源很少. |
|
|
|
| 免費注冊為維庫電子開發(fā)網(wǎng)會員,參與電子工程師社區(qū)討論,點此進入 |
Copyright © 1998-2006 m.58mhw.cn 浙ICP證030469號 |