7segment c++ dan c--
program untuk 7segment counting up dan down...
#include <18f4550.h>
#fuses XT, NOWDT,NOLVP,NOPROTECT
#use delay (clock = 4M)
#define SW1 PIN_A1
#define SW2 PIN_A2
void wait_for_one_press( ) //funtion tuk push button 1&2
{
while(!input(SW1)||!input(SW2)); //semasa push1 dan2 ditekan
delay_ms(100);
while(input(SW1)&&input(SW2)) ; //semasa push1 dan2 xtekan
delay_ms(100);
}
void main( )
{
int count=0; //clearkn nilai count
char PORTD;
set_tris_d(0x00); //Port C output
set_tris_a(0xFF); //Port A input
output_d(0x00);
while(true)
{
wait_for_one_press( ) ; //call funtion button
if(!input(sw1)&&input(sw2)) //jika push buttoon 1 ditekan dan push button2 xtekan
{
count++; //count up
}
else if(!input(sw2)&&input(sw1)) //jika push buttoon 2 ditekan dan push button1 xtekan
{
count--; //count down
}
PORTD = (count/10<<4)+(count%10); //formula tuk address port d count up dan down
output_d(PORTD); //portd sebagai output
if(count>99) //jika count lagi besar dari 99
count = 0; //count akan jadi 0
}
}
#fuses XT, NOWDT,NOLVP,NOPROTECT
#use delay (clock = 4M)
#define SW1 PIN_A1
#define SW2 PIN_A2
void wait_for_one_press( ) //funtion tuk push button 1&2
{
while(!input(SW1)||!input(SW2)); //semasa push1 dan2 ditekan
delay_ms(100);
while(input(SW1)&&input(SW2)) ; //semasa push1 dan2 xtekan
delay_ms(100);
}
void main( )
{
int count=0; //clearkn nilai count
char PORTD;
set_tris_d(0x00); //Port C output
set_tris_a(0xFF); //Port A input
output_d(0x00);
while(true)
{
wait_for_one_press( ) ; //call funtion button
if(!input(sw1)&&input(sw2)) //jika push buttoon 1 ditekan dan push button2 xtekan
{
count++; //count up
}
else if(!input(sw2)&&input(sw1)) //jika push buttoon 2 ditekan dan push button1 xtekan
{
count--; //count down
}
PORTD = (count/10<<4)+(count%10); //formula tuk address port d count up dan down
output_d(PORTD); //portd sebagai output
if(count>99) //jika count lagi besar dari 99
count = 0; //count akan jadi 0
}
}
contoh circuit dalam proteus:-
tekan push button1:- dalam keadaan c++
tekan push button2:-dalam keadaan c--