在Pic 16F Micro(asm)中缩放ADC

时间:2017-11-21 08:55:55

标签: assembly pic

我有一个使用PIC16F676的ADC(我很欣赏可能有更好的芯片,但设计目前仍然稳定)和MC9700A温度传感器。

目前它在PORT C上输出ADC值(我只使用6位)

 movwf     ADC_VALUE
     rrf       ADC_VALUE        ; 4 x Divide (1.5Vref (AN1) & 1.5V IP (AN3) = all 6 bits on)
     bcf       STATUS,C         ; Limits Digitiser Tag with MCP9700A -40C to +97C

 movf      ADC_VALUE,w
     movwf     PORTC          ; Copy the ADC value to PORTC

我没有输出'raw'值而是想将它转换为C值。我知道temperature = (ADC_VALUE*5.0)/10.24会在C中实现这一点但是asm中的等价物是什么(我宁愿坚持使用asm作为这个项目需要一段时间才能实现)?

最后,在输出端口C上的值之前,我想要“去掉”所有负温度值(-40C到-1C)并且只输出1C到97C。因为我只使用6个输出引脚,所以我很欣赏它最高可以达到63C,但这很好。

任何想法都赞赏。

此致 活性

0 个答案:

没有答案