0% found this document useful (0 votes)
43 views

Workshop 4: Digital Electronics & Microcontroller

This workshop teaches students how to write a PIC microcontroller program to control a 7-segment LED display using button input. The objectives are to learn how to increment and decrement the display in response to buttons. Students will write code for a PIC 16F627 to display numbers 0-9 on the 7-segment LED by pressing an "Up" button, and to countdown by pressing a "Down" button. They will demo their programs to the lab supervisor.

Uploaded by

Madhav Prabhu
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
43 views

Workshop 4: Digital Electronics & Microcontroller

This workshop teaches students how to write a PIC microcontroller program to control a 7-segment LED display using button input. The objectives are to learn how to increment and decrement the display in response to buttons. Students will write code for a PIC 16F627 to display numbers 0-9 on the 7-segment LED by pressing an "Up" button, and to countdown by pressing a "Down" button. They will demo their programs to the lab supervisor.

Uploaded by

Madhav Prabhu
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 2

Workshop 4

Digital Electronics & Microcontroller

Workshop 4
Title:
PIC interactive input/output
Objectives:
Learn to write a program for up/down 7-segment LED display by detecting different
button input.

Apparatus:
mikroC compiler for PIC, PIC programmer (Top2005 universal programmer)

Components:
PIC 16F627 and PIC test board

Procedures
1.

Enter the following code for a new project:


void main()
{
int seg7[10] = {0x02,
0x9e,
0x24,
0x0c,
0x98,
0x48,
0x40,
0x1e,
0x00,
0x08};
int index = 0;
/* for

/*0*/
/*1*/
/*2*/
/*3*/
/*4*/
/*5*/
/*6*/
/*7*/
/*8*/
/*9*/
store the current display digit */

PORTB = seg7[0];
TRISB = 0;
CMCON = 0x07;
/* enable digital I/O for PORTA */
TRISA.F0 = 1;
TRISA.F1 = 1;
while (1) {
if (PORTA.F0 == 0)
/* when RA0 is pressed */
{
index = index + 1;
if (index == 10)
index = 0;
PORTB = seg7[index];
Delay_ms(1000);
}
}
}

2.

Set all jumpers to drive 7-segment LED. When received input from "Up" button
connected to RA0, the 7-segment LED will change from "0" to "1" and so on until "9"
and then back to "0". Demo it to the lab supervisor.
Sign: __________________

Workshop 4

3.

Modify the above program. When received input from "Down" button connected to
RA1, the 7-segment LED will change from "9" to "8" and so on until "0" and then back
to "9". Demo it to the lab supervisor.

Sign: __________________
4.

Advance programming:
Combine the above programs to accept inputs from Up and Down buttons. Demo it
to the lab supervisor.

Sign: __________________

You might also like