卡诺图是组合逻辑电路设计和分析最常用和有效的数学工具,
格雷码是特点是任意两相邻代码之间只有一位数不同,其余各位均相同,正好和卡诺图循环邻接特点一致。
格雷码转换为二进制码的51单片机汇编语言子程序如下:
;;入口:8位格雷码存于累加器A,
;;返回值:转换所得8位二进制码仍存于累加器A。
GtoB: MOV R5, #8 ;;R5←循环次数
MOV 22H, A ;;原格雷码送至RAM的22H单元暂存
LP1: RLC A ;;A带进位左移
MOV 23H, A ;;RAM的23H单元←(A)
MOV A, 22H ;;A←(22H)
RLC A ;;A带进位左移
MOV 22H, A ;;22H←(A)
MOV A, 23H ;;A←(23H)
JNB 10, LP2 ;;若22H单元的最低位≠1,则不取反
CPL ACC.7 ;;否则取反
LP2: DJNZ R5, LP1 ;;若剩余次数递减至零,则处理下一位
MOV A, 22H ;;A←结果
RET
格雷码与二进制码对照表:
|