输出二进制值为BCD /十进制

时间:2017-10-17 13:52:03

标签: assembly pic

目前正在尝试转换PIC汇编程序,该程序读取输入字符(0-9,A-F)并在PORTA上输出该值(在某些LED上)。这适用于“二进制格式”输出。

MOVF RCREG,W    ;Move the received byte to W
    MOVWF TMP_TX    ;Move W to TPM_TX
    movwf TEMP      ;Move W to TEMP
    btfsc TEMP,6    ;Start 4bit convert - bit 6 is set for both A-F and a-f
    addlw -7        ;subtract 7 to map 'A' as 10 thru 'F' as 15
    andlw 0xf       ;mask down to nibble. Result is 0x0 - 0xF
    MOVWF PORTA     ;Move W to PORTA

我需要输出为'十进制',即设置PORTA,读取1时为0,PORTA,3(仅)读取4时等等。我看了一些BCD /十进制转换代码,当然我可以遍历w(case语句)来查看它包含的内容,然后相应地设置端口,但我想知道是否有更简单的方法。

PIC16F628A,MPLABX

此致 活性

0 个答案:

没有答案