目前正在尝试转换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
此致 活性