Rangkaian LED dengan software compiler PIC
22.15
1. Tujuan
-membuat rangkaian LED menggunakan software compiler PIC
3. Dasar teori
mikro PIC
PIC yang digunakan pada percobaan ini adalah PIC 16F877A, yang terdiri ats 5 port.
pada PIC ini, kaki ADCnya terdapat 7 kaki, yaitu pada port A dan E kecuali kaki A4.
ada beberapa poin ynag menjadi keunggulan PIC, diantaranya pengkonvile-an nya lebih cepat dibaningkan mikro lain
seperti ATmega, arduino, dll.
PIC yang digunakan pada percobaan ini adalah PIC 16F877A, yang terdiri ats 5 port.
pada PIC ini, kaki ADCnya terdapat 7 kaki, yaitu pada port A dan E kecuali kaki A4.
ada beberapa poin ynag menjadi keunggulan PIC, diantaranya pengkonvile-an nya lebih cepat dibaningkan mikro lain
seperti ATmega, arduino, dll.
LED
LED merukan perangkat atau komponen yang merupakan keluarga dioda, dimana led adalah dioda
yang mengeluarkan cahaya. prinsip kerja LED sam halnya dengan dioda, ada kalanya refers bias,
juga fordward bias.
LED merukan perangkat atau komponen yang merupakan keluarga dioda, dimana led adalah dioda
yang mengeluarkan cahaya. prinsip kerja LED sam halnya dengan dioda, ada kalanya refers bias,
juga fordward bias.
5. Program
void main(void) //Fungsi utama program
{ //Pembuka program utama
PORTB=0x00; //Deklarasi PORT B dengan kondisi awal LOW
TRISB=0x00; //Deklarasi PORT B secara keseluruhan sebagai OUTPUT
PORTD=0x00; //Deklarasi PORT D dengan kondisi awal LOW
TRISD=0x03; //Deklarasi PORT D sebagai OUTPUT dan INPUT
{ //Pembuka program utama
PORTB=0x00; //Deklarasi PORT B dengan kondisi awal LOW
TRISB=0x00; //Deklarasi PORT B secara keseluruhan sebagai OUTPUT
PORTD=0x00; //Deklarasi PORT D dengan kondisi awal LOW
TRISD=0x03; //Deklarasi PORT D sebagai OUTPUT dan INPUT
while(1) //Fungsi perulangan
{
if(PORTD.RD1==1) { //menyatakan apabila kondisi PINA.1=1 terpenuhi maka akan menampilkan statemen
if(PORTD.RD0==1) { //menyatakan kondisi bahwa jika Pin A0=1 apabila terpenuhi maka akan menampilkan statemen
PORTB=0x3F; //menyatakan bahwa Port B menampilkan angka 0
delay_ms(100); //menyatakan keterlambatan selama 100ms untuk menampilkan tampilan selanjutnya
PORTB=0x06; //menyatakan bahwa Port B menampilkan angka 1
delay_ms(100); //menyatakan keterlambatan selama 100ms untuk menampilkan tampilan selanjutnya
PORTB=0x5B; //menyatakan bahwa Port B menampilkan angka 2
delay_ms(100); //menyatakan keterlambatan selama 100ms untuk menampilkan tampilan selanjutnya
PORTB=0x4F; //menyatakan bahwa Port B menampilkan angka 3
delay_ms(100); //menyatakan keterlambatan selama 100ms untuk menampilkan tampilan selanjutnya
PORTB=0x66; //menyatakan bahwa Port B menampilkan angka 4
delay_ms(100); //menyatakan keterlambatan selama 100ms untuk menampilkan tampilan selanjutnya
PORTB=0xED; //menyatakan bahwa Port B menampilkan angka 5
delay_ms(100); //menyatakan keterlambatan selama 100ms untuk menampilkan tampilan selanjutnya
PORTB=0x7D; //menyatakan bahwa Port B menampilkan angka 6
delay_ms(100); //menyatakan keterlambatan selama 100ms untuk menampilkan tampilan selanjutnya
PORTB=0x07; //menyatakan bahwa Port B menampilkan angka 7
delay_ms(100); //menyatakan keterlambatan selama 100ms untuk menampilkan tampilan selanjutnya
PORTB=0x7F; //menyatakan bahwa Port B menampilkan angka 8
delay_ms(100); //menyatakan keterlambatan selama 100ms untuk menampilkan tampilan selanjutnya
PORTB=0x6F; //menyatakan bahwa Port B menampilkan angka 9
delay_ms(100); //menyatakan keterlambatan selama 100ms untuk menampilkan tampilan selanjutnya
}
else
{PORTB=0x00;}
}
else if(PORTD.RD1==0) { //menyatakan apabila kondisi PINA.1=1 terpenuhi maka akan menampilkan statemen
PORTB=0x00;
}
}
}
if(PORTD.RD0==1) { //menyatakan kondisi bahwa jika Pin A0=1 apabila terpenuhi maka akan menampilkan statemen
PORTB=0x3F; //menyatakan bahwa Port B menampilkan angka 0
delay_ms(100); //menyatakan keterlambatan selama 100ms untuk menampilkan tampilan selanjutnya
PORTB=0x06; //menyatakan bahwa Port B menampilkan angka 1
delay_ms(100); //menyatakan keterlambatan selama 100ms untuk menampilkan tampilan selanjutnya
PORTB=0x5B; //menyatakan bahwa Port B menampilkan angka 2
delay_ms(100); //menyatakan keterlambatan selama 100ms untuk menampilkan tampilan selanjutnya
PORTB=0x4F; //menyatakan bahwa Port B menampilkan angka 3
delay_ms(100); //menyatakan keterlambatan selama 100ms untuk menampilkan tampilan selanjutnya
PORTB=0x66; //menyatakan bahwa Port B menampilkan angka 4
delay_ms(100); //menyatakan keterlambatan selama 100ms untuk menampilkan tampilan selanjutnya
PORTB=0xED; //menyatakan bahwa Port B menampilkan angka 5
delay_ms(100); //menyatakan keterlambatan selama 100ms untuk menampilkan tampilan selanjutnya
PORTB=0x7D; //menyatakan bahwa Port B menampilkan angka 6
delay_ms(100); //menyatakan keterlambatan selama 100ms untuk menampilkan tampilan selanjutnya
PORTB=0x07; //menyatakan bahwa Port B menampilkan angka 7
delay_ms(100); //menyatakan keterlambatan selama 100ms untuk menampilkan tampilan selanjutnya
PORTB=0x7F; //menyatakan bahwa Port B menampilkan angka 8
delay_ms(100); //menyatakan keterlambatan selama 100ms untuk menampilkan tampilan selanjutnya
PORTB=0x6F; //menyatakan bahwa Port B menampilkan angka 9
delay_ms(100); //menyatakan keterlambatan selama 100ms untuk menampilkan tampilan selanjutnya
}
else
{PORTB=0x00;}
}
else if(PORTD.RD1==0) { //menyatakan apabila kondisi PINA.1=1 terpenuhi maka akan menampilkan statemen
PORTB=0x00;
}
}
}
6. Flowchart
7. Video
8. File download
Simulasi rangkaian
Program
Flowchart
Video
Casinos Near Laurel, Maryland - Mapyro
BalasHapusWhere can I find 나주 출장안마 Casinos Near 서귀포 출장안마 Laurel, Maryland? Find Casinos Near Laurel, Maryland, United States. 인천광역 출장안마 Mapyro 진주 출장마사지 locations, map, and more for 제천 출장마사지