20
CHAPTER 2 PIC 16F887 MICROCONTROLLER Eng. Hazem W. Marar

Chapter 2 PIC 16F887 Microcontroller

  • Upload
    lacey

  • View
    191

  • Download
    19

Embed Size (px)

DESCRIPTION

Chapter 2 PIC 16F887 Microcontroller. Eng. Hazem W. Marar. Pic 16F887. Ports. Analog Pins. In MikroC. Ansel and Anselh. Turn LED on. void main() { TRISB = 0 ; // set PORTB as OUTPUT PORTB = 0xff; // turn all LEDs ON }. Write a code to toggle an LED. Delays. - PowerPoint PPT Presentation

Citation preview

Page 1: Chapter 2 PIC 16F887 Microcontroller

CHAPTER 2PIC 16F887 MICROCONTROLLEREng. Hazem W. Marar

Page 2: Chapter 2 PIC 16F887 Microcontroller

PIC 16F887

Page 3: Chapter 2 PIC 16F887 Microcontroller

PORTS

Page 4: Chapter 2 PIC 16F887 Microcontroller

ANALOG PINS

Page 5: Chapter 2 PIC 16F887 Microcontroller

IN MIKROC

Page 6: Chapter 2 PIC 16F887 Microcontroller

ANSEL AND ANSELH

Page 7: Chapter 2 PIC 16F887 Microcontroller

TURN LED ON

void main(){TRISB = 0 ; // set PORTB as OUTPUTPORTB = 0xff; // turn all LEDs ON}

Page 8: Chapter 2 PIC 16F887 Microcontroller

WRITE A CODE TO TOGGLE AN LED

Page 9: Chapter 2 PIC 16F887 Microcontroller

DELAYS void main( )

{TRISB = 0 ; // set PORTB as OUTPUT

While(1) // forever{PORTB = 0xff ; // turn all LEDs ON

Delay_ms(500) ; // wait 500 ms

PORTB = 0 ; // turn all LEDs OFF

Delay_ms(500) ; // wait 500 ms}}

Page 10: Chapter 2 PIC 16F887 Microcontroller

USE AN INPUT SIGNAL (PUSH BUTTON) TO CONTROL AN LED

Page 11: Chapter 2 PIC 16F887 Microcontroller

INPUT SIGNAL void main( )

{TRISB = 0x01 ; // set 1st bit of PORTB as INPUT

While(1) // forever{

if(PORTB.F0 ==1){

PORTB.F1 = 1;}

if(PORTB.F0 ==0){

PORTB.F1 = 0;}

}}

Page 12: Chapter 2 PIC 16F887 Microcontroller

USE AN INPUT SIGNAL (PUSH BUTTON) TO TOGGLE AN LED

Page 13: Chapter 2 PIC 16F887 Microcontroller

TOGGLE

unsigned short LastButton =0;

void main(){

TRISC = 0x01 ;

PORTC=0x00;

while(1) {

if(PORTC.F0 ==1 && LastButton ==0)

{PORTC.F1=~PORTC.F1;

LastButton=1;}

else

{LastButton = PORTC.F0;

} } }

Page 14: Chapter 2 PIC 16F887 Microcontroller

BOUNCING EFFECT

unsigned short current;

unsigned short debounce ( )

{ current = PORTB.F0; if( LastButton != current) { delay_ms(5); current = PORTB.F0;} return current;}

Page 15: Chapter 2 PIC 16F887 Microcontroller

USE PUSH BUTTONS TO CHANGE FLASHING DELAYS

Page 16: Chapter 2 PIC 16F887 Microcontroller

USE A SINGLE PUSH BUTTON TO CHANGE FLASHING DELAYS

Page 17: Chapter 2 PIC 16F887 Microcontroller

MANAGING INDIVIDUAL BITS

Page 18: Chapter 2 PIC 16F887 Microcontroller

USE AN INPUT SIGNAL (PUSH BUTTON) TO CONTROL A LED MATRIX

Page 19: Chapter 2 PIC 16F887 Microcontroller

USE PUSH BUTTONS TO CONTROL MULTIPLE LED MATRICES

Page 20: Chapter 2 PIC 16F887 Microcontroller

LAB EXERCISEChapter 2