微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何在 PIC16F1829 上使用所需的值退出查找表指令

如何解决如何在 PIC16F1829 上使用所需的值退出查找表指令

当我在代码中包含 ADC 转换时,如何让我的代码正常工作?

我有一个工作代码,它使用 p16f1829 在 2 个 LED 显示器上显示两位数字。但是,当我尝试包含一个收集 ADC 转换结果以显示在 LED 显示屏上的代码块时出现问题(见下文)。

struct Animal *to_allocate,array[];

更准确地说,它似乎发生在我试图从查找表中获取相应值的时候(见下文):

enter image description here

该指令后 W-reg 中的结果应为 0x7D。但是,它退出查找表而不返回预期值。

enter image description here

没有 ADC 模块的原始工作代码如下:

A2D:
; Start the ADC
        nop                         ; Requried ADC delay of 8uS => (1/(Fosc/4)) = (1/(500KHz/4)) = 8uS
        BANKSEL     ADCON0          ; Selects memory bank containing ADCON0 register 
        BSF         ADCON0,GO      ; Start the ADC
        BTFSC       ADCON0,GO      ; This bit will be cleared when the conversion is complete
        GOTO        $-1             ; Keep checking the above line until GO bit is clear

; Grab Results and write to the LEDs
        SWAPF       ADRESH,w       ; Get the top 4 MSbs (remember that the ADC result is LEFT justified!)
        MOVWF       L0
        RETURN

我尝试了各种方法,目前对如何进行有一个心理障碍。任何人都可以提供的任何见解将不胜感激。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。