|
|||||||||||
| 技術(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 |
pic12f629寄存器問題 |
| 作者:dictator 欄目:單片機 |
使用GP2做串行異步通信,9600bps,一幀數(shù)據(jù)的最后兩位總是收不到,但是若發(fā)送一陣數(shù)據(jù)全為零則可以收到,每次接收數(shù)據(jù)后用間接尋址方式存入20h-2Bh,現(xiàn)在無法判斷是數(shù)據(jù)接收產(chǎn)生錯誤,還是寫寄存器時出現(xiàn)問題。程序中沒有中斷產(chǎn)生,也沒有定時器,請各位幫忙找找原因,或是提供幾個測試方案,謝謝! ;;;;;recieve data;;;;;;;;;;;;;;;;;;;;; R_data bcf INTCON,GIE bcf INTCON,INTF movlw 0x20 ;;save data from 20h movwf FSR call delay_46us nop nop nop nop nop nop start_bit btfsc dassin goto detect_ID call delay_93us nop nop nop nop nop movlw 0x08 movwf counter R_next bcf STATUS,C btfsc dassin goto re_1 bcf STATUS,C goto re_bit re_1 bsf STATUS,C re_bit rrf rec_data call delay_93us nop decfsz counter goto R_next call delay_93us ;nop ;call delay_46us ;call delay_46us movf rec_data,W movwf INDF clrf rec_data incf FSR goto start_bit detect_ID movlw 0xAA ;;detect wehther the data is ID data xorwf r_data1,W btfsc STATUS,Z goto ack_ID movlw 0xC6 xorwf r_data1,W btfss STATUS,Z goto INT_RETURN goto dass_data |
|
|
| 免費注冊為維庫電子開發(fā)網(wǎng)會員,參與電子工程師社區(qū)討論,點此進入 |
Copyright © 1998-2006 m.58mhw.cn 浙ICP證030469號 |