<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > PIC單片機實(shí)現CRC算法的小程序

PIC單片機實(shí)現CRC算法的小程序

作者: 時(shí)間:2014-01-09 來(lái)源:網(wǎng)絡(luò ) 收藏
實(shí)現CRC的小程序

實(shí)現Dallas的通訊時(shí),編了段產(chǎn)生和校驗CRC的子程序。

#includeP16CE625.INC>

;-------------------------------
cblock0x20
datBuff:8;assign8bytedatabuffer
bit_cnt;bitcounting
CRC_COUNT;numberofbytesforCRC
CRC_RESULT;CRCresulr
crc_temp;temporarydatabufferduringCRC
endc

;-------------------------------
#defineskp0btfsc
#defineskp1btfss


;===============================
org0x000

movlw.7
movwfCRC_COUNT
movlwdatBuff
movwfFSR;FSRpointtodatabuffer
callCRC_CHECK
movwfdatBuff+7
goto$

;===============================
;CHECKTHECRCFOR?BYTESDATA
;ForthepolynomialofX^8+X^5+X^4+1
;DerivedfromDallas'sstandard
;Beforecalling,FSR=databuffer
;CRC_COUNT=numberofbytesforCRC
CRC_CHECK;~~~~~~~~~~~~~~~
clrfCRC_RESULT;initializetheCRCbuffer
_crc_00
movlw.8;numberofbitsforonebyte
movwfbit_cnt;setbitcounter
movfINDF,w;getonedatabyte
movwfcrc_temp;copytotemporarylocation
_crc_01
rrfcrc_temp,f;getLSBinC
skpc;isthisLSB=1?
goto_crc_02;goifLSB=0
movlw0x01;doifLSB=1
xorwfCRC_RESULT,f
_crc_02
rrfCRC_RESULT,w;getLSBofCRC
skpc;testLSB
goto_crc_03;goifLSB=0
movlw0x18;doifLSB=1
xorwfCRC_RESULT,f;polynomialimplementation
_crc_03
rrfCRC_RESULT,w;wholebyterightrotate
rrfCRC_RESULT,f
decfszbit_cnt,f;bitcounting
goto_crc_01;goonuntilaa8bitsdone
incfFSR,f;pointerupdatetonextbyte
decfszCRC_COUNT,f;bytecounting
goto_crc_00;goonuntilallbytedone
movfCRC_RESULT,w;getCRC,ZsetifCRC=0
return;returnwithCRCinW

END


關(guān)鍵詞: PIC單片機 CRC算法 iButton

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>