自在自线亚洲а∨天堂在线-中文字幕一区视频播放-扒开双腿猛进入喷水高潮叫声-欧美日本亚洲一区二区-老熟妇高潮偷拍一区二区-国产精品高清一区二区不卡-午夜色福利视频一区二区三区-亚洲国产成人精品福利在线观看-亚洲欧美成人一区二区在线电影

機(jī)電之家資源網(wǎng)
單片機(jī)首頁|單片機(jī)基礎(chǔ)|單片機(jī)應(yīng)用|單片機(jī)開發(fā)|單片機(jī)文案|軟件資料下載|音響制作|電路圖下載 |嵌入式開發(fā)
培訓(xùn)信息
贊助商
CRC16校驗(yàn)的程序
CRC16校驗(yàn)的程序
 更新時(shí)間:2008-7-26 20:32:18  點(diǎn)擊數(shù):4
【字體: 字體顏色

CRC16校驗(yàn)的程序

;==========================================================
        DATA_BUFF       EQU        10H
        CRC_NUM         EQU        22H
        CRC_DATA        EQU        23H
        CRC_POINTER     EQU        30H
;==========================================================
        CRC_XORH        EQU        10H        ;11021=2^16+2^12+2^5+1
        CRC_XORL        EQU        21H
;==========================================================
               ORG 0000H
               AJMP MAIN
MAIN:      MOV CRC_DATA,#DATA_BUFF
           MOV CRC_NUM,#3
           ACALL CRC
           AJMP MAIN
;==========================================================
;               *****RC校驗(yàn)子程序*****
;               多項(xiàng)式=2^16+2^12+2^5+1=11021H
;CRC_DATA-----進(jìn)行CRC校驗(yàn)的數(shù)據(jù)指針,保存需要進(jìn)行CRC校驗(yàn)的數(shù)據(jù)首址
;CRC_POINTER--緩沖保存CRC校驗(yàn)數(shù)據(jù)首址
;CRC_NUM------保存所需進(jìn)行CRC校驗(yàn)的字節(jié)數(shù)
;R7-----------所有進(jìn)行CRC校驗(yàn)字節(jié)的位數(shù) , =(CRC_NUM+2)*8-16
;==========================================================
CRC:       MOV R0,CRC_DATA
           MOV R1,#CRC_POINTER
           MOV R2,CRC_NUM
           MOV A,CRC_NUM       ;R7=CRC_NUM*8
           ADD A,#2
           RL A
           RL A
           RL A
           CLR C
           SUBB A,#16           ;CRC碼為2個(gè)字節(jié),16位
           MOV R7,A
CRC1:      MOV A,@R0            ;緩存原數(shù)據(jù)
           MOV @R1,A
           INC R0
           INC R1
           DJNZ R2,CRC1
           CLR A                ;在原數(shù)據(jù)后添加2個(gè)零字節(jié)
           MOV @R1,A
           INC R1
           MOV @R1,A
CRC2:      MOV A,#CRC_POINTER   ;從最后一個(gè)字節(jié)開始左移一位
           ADD A,CRC_NUM        ;共有CRC_NUM+2個(gè)字節(jié)
           ADD A,#1             ;最后一個(gè)數(shù)據(jù)地址為
           MOV R0,A             ;R0=CRC_POINTER+CRC_NUM+2-1
           MOV A,CRC_NUM        ;計(jì)算參與移位計(jì)算的字節(jié)數(shù)
           ADD A,#2             ;保存在R1中
           MOV R1,A             ;R1=CRC_NUM+2
           CLR C
CRC3:      MOV A,@R0
           RLC A
           MOV @R0,A
           DEC R0
           DJNZ R1,CRC3         ;判斷每移動(dòng)一位,所有參與移位的字節(jié)是否移完
           JNC CRC4             ;進(jìn)行異或條件判斷
           MOV A,#CRC_XORH
           XRL A,CRC_POINTER
           MOV CRC_POINTER,A
           MOV A,#CRC_XORL
           XRL A,CRC_POINTER+1
           MOV CRC_POINTER+1,A
CRC4:      DJNZ R7,CRC2         ;判斷移位是否結(jié)束

CRC_END:
          RET

 

  • 上一篇: 16bit CRC assembler program
  • 下一篇: 用AVR單片機(jī)模擬的串口程序
  • 發(fā)表評(píng)論   告訴好友   打印此文  收藏此頁  關(guān)閉窗口  返回頂部
    熱點(diǎn)文章
     
    推薦文章
     
    相關(guān)文章
    網(wǎng)友評(píng)論:(只顯示最新5條。)
    關(guān)于我們 | 聯(lián)系我們 | 廣告合作 | 付款方式 | 使用幫助 | 機(jī)電之家 | 會(huì)員助手 | 免費(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ī)電之家對(duì)此不承擔(dān)任何保證責(zé)任,有侵犯您利益的地方請(qǐng)聯(lián)系機(jī)電之家,機(jī)電之家將及時(shí)作出處理。
    Copyright 2007 機(jī)電之家 Inc All Rights Reserved.機(jī)電之家-由機(jī)電一體化網(wǎng)更名-聲明
    電話:0571-87774297 傳真:0571-87774298
    杭州濱興科技有限公司提供技術(shù)支持

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

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