Shift left – shift right value For Basic PRO Compiler

@ device pic16f877
define osc 4
define adc_bits 8
main:
    trisb =$00
    trisa =$ff
    adcon1 = 7
    lamp       var portb
    sw1        var porta.0
    sw2        var porta.1    
    lamp=0
while(1)
     if(!sw1) then 
         gosub speed1         
         pause 50   
     endif

     if(!sw2) then       
        gosub speed2  
        pause 50                 
     endif                         
    pause 10   
 wend
end

speed1:
 lamp =$80
 pause 200
  while(sw2)
     lamp = lamp >> 1   ' shift right
     if lamp = $00 then lamp = $80
     pause 200
  wend   
return

speed2:
 lamp =$01
 pause 200
 while(sw1)
     lamp = lamp << 1  'shift left  
     if lamp = $00 then lamp = $01
     pause 200
 wend    
return

About The Author

Ibrar Ayyub

I am an experienced technical writer holding a Master's degree in computer science from BZU Multan, Pakistan University. With a background spanning various industries, particularly in home automation and engineering, I have honed my skills in crafting clear and concise content. Proficient in leveraging infographics and diagrams, I strive to simplify complex concepts for readers. My strength lies in thorough research and presenting information in a structured and logical format.

Follow Us:
LinkedinTwitter

Leave a Comment

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.