PIC的ADC代码

时间:2014-04-29 02:41:24

标签: pic

我想在C中编写一个程序,它接受pickit中电位器的输入。程序应根据电位计旋转的方向左右旋转拾音器板中的4个LED。如果电位计的箭头指向右侧,则LED应开始向右旋转。此外,LED的旋转速度应取决于电位计上箭头指向中心的距离。此外,我想使用板上的按钮作为暂停开关。因此,当按下按钮时,即使电位计旋转,LED也应停在当前位置。任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:0)

我一直在考虑你们的建议。我想出了以下伪代码。

main: ; start program

 readadc wiper, val  ; read 8-bit ADC value into variable val

if val = max then top ;    jump to label top if true
if val > near_max then middle_1  ; 
if val > middle AND val < near_max then middle_2  ;  
if val < middle then bottom  ; 

goto main  ;jump back to the start


top:   ; label
HIGH LED1
LOW LED2
LOW LED3
LOW LED4
goto main ; done jump back to start 

middle_1:   ; label
LOW LED1
HIGH LED2
LOW LED3
LOW LED4
goto main  ; done jump back to start

middle_2:
LOW LED1
LOW LED2
HIGH LED3
LOW LED4
goto main  ; done jump back to start

bottom:  ; label
LOW LED1
LOW LED2
LOW LED3
HIGH LED4

goto main  ; done jump back to start

我仍然对如何编程按钮的事情感到困惑,但是现在我只是想让LED变速首先工作。任何帮助将非常感激。此代码仅适用于电位器的一侧,另一侧将非常相同,但顺序相反。我正在考虑在汇编中编程,因为我知道一些汇编代码。