Saturday, January 31, 2009

Input to the PIC 16f84

Now that we learned how to get output form the PIC ( flashing LED ) , we 'll learn to input the

Microcontroller by a push button . This will give you an idea to get order from the user to do an

action ( open door, turn-off lights, ......... ) .

; Button.ASM;******************************************************

list p=16f84

include ""
org 0x00goto start

org 0x20


bcf INTCON,7

movlw 0x00

bsf STATUS,5

movwf TRISA

bcf STATUS,5

movlw 0xFF

bsf STATUS,5

movwf TRISB

bcf STATUS,5

againbtfss PORTB,0

call LED_ON

call LED_OFF

goto again


movlw 0xFF

movwf PORTA

goto again


movlw 0x00

movwf PORTA

goto again


The program makes the LED is ON when the Button is pressed , LED off when Button is released.

The only new command here is BTFSS which checks if the button is pressed or released.

What it makes is Bit Test F Skip if Set where F is a bit in register. This command is a

bit-oriented command. It means it deals with one bit of the register.

Build the following circuit in Proteus 7 ISIS :

Follow the steps you learned before to add the source code to the circuit and configure it , then

start simulation. Of course in this time you 'll add the Button.ASM source code.

Now , we 'll write the same program in C





unsigned char i;

TRISA = 0 ; // Make PORTB output

TRISB = 0xFF ; // Make PORTB input

PORTA = 0 ; // Initialize PORTB

for(;;) // This is the infinite loop that keeps the PIC running


if ( PORTB == 0 )

PORTA = 1;


PORTA = 0 ;




Note that the logic is inverted because the button by default inputs one to the PIC and when pressed inputs zero.

Again , you can configure the project for the C source code from this lesson.

You can download the project files and source code from here.


If you like this blog you can support us by many ways:
   1. Leave comments stating your point of view about this article.

   2. Buy our book on Amazon Learn By Making.

   3. Click on links of our sponsors without adding any extra cost on you if you make purchase from them. Actually, many of these offers are totally free.
This means that you can enjoy something for free and still support our blog to keep posting useful stuff. - Read eBooks using the FREE Kindle Reading App on Most Devices

This is the well-know Amazon Kindle platform. If you sign up for the free reader from Amazon to read any book, we get commission. 
There are many useful book for free on Amazon Kindle. Even you can find best sellers offered for free on Kindle format.
The best part is you can have the application on any platform. You can even read any book without installing any application by using Amazon Cloud-Reader on your browser.

Join Amazon Kindle Unlimited 30-Day Free Trial

You can join Amazon Kindle for 30 days free to have access to many paid book for free. You can cancel you subscription anytime.

Try Amazon Prime 30-Day Free Trial

The Amazon Prime is a special paid service from Amazon that offers good promotions and one-day free shipment for Amazon Shoppers. You can try this service for 30 days. You can cancel you subscription anytime.

Shop Amazon - Give the Gift of Amazon Prime

Try Audible and Get Two Free Audiobooks

Audible is the audio books website from Amazon. Many Kindle books are sold on Audible. You can try this service for free and get 2 free book. You can cancel you subscription anytime.

Shop Amazon - Create an Amazon Baby Registry

If you have a new baby borne or expecting one, you can create your free baby registry to easily save products and get offers and promotions on baby requirements.

  4. Visit our new website

Thank you for visiting our blog.

1 comment:

janpatfoort said...


was very usefull