標(biāo)題: 格雷碼轉(zhuǎn)換為二進(jìn)制碼_51單片機(jī)匯編語(yǔ)言子程序 [打印本頁(yè)]

作者: Kxuan163    時(shí)間: 2020-12-25 15:33
標(biāo)題: 格雷碼轉(zhuǎn)換為二進(jìn)制碼_51單片機(jī)匯編語(yǔ)言子程序

卡諾圖是組合邏輯電路設(shè)計(jì)和分析最常用和有效的數(shù)學(xué)工具,
    格雷碼是特點(diǎn)是任意兩相鄰代碼之間只有一位數(shù)不同,其余各位均相同,正好和卡諾圖循環(huán)鄰接特點(diǎn)一致。
    格雷碼轉(zhuǎn)換為二進(jìn)制碼的51單片機(jī)匯編語(yǔ)言子程序如下:
;;入口:8位格雷碼存于累加器A,
;;返回值:轉(zhuǎn)換所得8位二進(jìn)制碼仍存于累加器A。
GtoB:   MOV   R5,   #8    ;;R5←循環(huán)次數(shù)
        MOV   22H,  A     ;;原格雷碼送至RAM的22H單元暫存
LP1:    RLC   A           ;;A帶進(jìn)位左移
        MOV   23H,  A     ;;RAM的23H單元←(A)
        MOV   A,    22H   ;;A←(22H)
        RLC   A           ;;A帶進(jìn)位左移
        MOV   22H,  A     ;;22H←(A)
        MOV   A,    23H   ;;A←(23H)
        JNB   10,   LP2   ;;若22H單元的最低位≠1,則不取反
        CPL   ACC.7       ;;否則取反
LP2:    DJNZ  R5,   LP1   ;;若剩余次數(shù)遞減至零,則處理下一位
        MOV   A,    22H   ;;A←結(jié)果
        RET

格雷碼與二進(jìn)制碼對(duì)照表:








歡迎光臨 (http://www.torrancerestoration.com/bbs/) Powered by Discuz! X3.1