![24 Digit Simulasi 7-Segmen + Pengkodean: 3 Langkah 24 Digit Simulasi 7-Segmen + Pengkodean: 3 Langkah](https://img.gwsigeps.com/img/img/blank.jpg)
Daftar Isi:
Simulasi 24 x 7-segmen Common Anode menggunakan proteus 8.0, PIC16F887, MicroC untuk pengkodean.
Persediaan:
Langkah 1: Kumpulkan Komponen
Saya menggunakan 3 x 8 Digit 7-Segment Common Anode untuk membentuk 24 Digit dengan PIC16F887 untuk kemudian diprogram menggunakan MicroC.
Langkah 2: Membangun Skema
Saya menghubungkan semua bagian seperti yang ditunjukkan pada gambar dengan Proteus 8.0
lihat video saya untuk lebih jelasnya
Langkah 3: Pengodean
int tab 10 = {0XC0, 0XF9, 0XA4,0XB0, 0X99, 0X92, 0X82, 0XF8, 0X80, 0X90}; // 0 SAMPAI 9 FORMAT HEX
int d1, d2, d3, d4, d5, d6, d7, d8, d10, d11, d12, d13, d14, d15, d15, d16, d17, d18, d19, d20, d21, d22, d23, d24; // untuk setiap digit
int i = 0;
long int j = 0;
delay const = 20;
membatalkan main () {
TRISA = 0X00; // semua port sebagai output
TRISB = 0X00;
TRISC = 0X00;
TRISD = 0X00;
ANSEL = 0; // konfigurasikan pin analog sebagai digital
ANSELH = 0;
C1ON_bit = 0; // nonaktifkan komparator
C2ON_bit = 0;
PORTA = 0X00; // matikan semua porta
PORTD = 0X00;
PORTC = 0X00;
PORTB = 0X00;
while (1) {/////// Counter dengan 24 digit
untuk (j = 0; j <9999999; j ++) {// j adalah angka maksimum // menghapus loop for jika j overflow
i = 0; sementara (i <25) {// i bertanggung jawab atas jumlah waktu setiap angka akan bertahan PORTA = 0X01; // nyalakan digit pertama
PORTB = tab d1;
delay_us (delay);
PORTA = 0X02;
PORTB = tab d2;
delay_us (delay);
PORTA = 0X04;
PORTB = tab d3;
delay_us (delay);
PORTA = 0X08;
PORTB = tab d4;
delay_us (delay);
PORTA = 0X10;
PORTB = tab 9;
delay_us (delay);
PORTA = 0X20;
PORTB = tab 5;
delay_us (delay);
PORTA = 0X40;
PORTB = tab 1;
delay_us (delay);
PORTA = 0X80;
PORTB = tab 0;
delay_us (delay);
PORTD = 0X01;
PORTB = tab 6;
delay_us (delay);
PORTD = 0X02;
PORTB = tab 7;
delay_us (delay);
PORTD = 0X04;
PORTB = tab 8;
delay_us (delay);
PORTD = 0X08;
PORTB = tab 4;
delay_us (delay);
PORTD = 0X10;
PORTB = tab 3;
delay_us (delay);
PORTD = 0X20;
PORTB = tab 1;
delay_us (delay);
PORTD = 0X40;
PORTB = tab 4;
delay_us (delay);
PORTD = 0X80;
PORTB = tab 6;
delay_us (delay);
PORTC = 0X01;
PORTB = tab 6;
delay_us (delay);
PORTC = 0X02;
PORTB = tab 4;
delay_us (delay);
PORTC = 0X04;
PORTB = tab 3;
delay_us (delay);
PORTC = 0X08;
PORTB = tab 0;
delay_us (delay);
PORTC = 0X10;
PORTB = tab 1;
delay_us (delay);
PORTC = 0X20;
PORTB = tab 2;
delay_us (delay);
PORTC = 0X40;
PORTB = tab 8;
delay_us (delay);
PORTC = 0X80;
PORTB = tab 9;
delay_us (delay);
i ++;
}
d1 ++;
if (d1> 9) {d1 = 0; d2 ++;}
if (d2> 9) {d2 = 0; d3 ++;}
if (d3> 9) {d3 = 0; d4 ++;}
if (d4> 9) {d4 = 0; d5 ++;}
if (d5> 9) {d5 = 0; d6 ++;}
if (d6> 9) {d6 = 0; d7 ++;}
if (d7> 9) {d7 = 0; d8 ++;}
if (d8> 9) {d8 = 0; d9 ++;}
if (d9> 9) {d9 = 0; d10 ++;}
if (d10> 9) {d10 = 0; d11 ++;}
if (d11> 9) {d11 = 0; d12 ++;}
if (d12> 9) {d12 = 0; d13 ++;}
if (d13> 9) {d13 = 0; d14 ++;}
if (d14> 9) {d14 = 0; d15 ++;}
if (d15> 9) {d15 = 0; d16 ++;}
if (d16> 9) {d16 = 0; d17 ++;}
if (d17> 9) {d17 = 0; d18 ++;}
if (d18> 9) {d18 = 0; d19 ++;}
if (d19> 9) {d19 = 0; d20 ++;}
if (d20> 9) {d20 = 0; d21 ++;}
if (d21> 9) {d21 = 0; d22 ++;}
if (d22> 9) {d22 = 0; d23 ++;}
if (d23> 9) {d23 = 0; d24 ++;}
if (d24> 9) {d24 = 0;}
} d1 = d2 = d3 = d4 = d5 = d6 = d7 = d8 = d9 = d10 = d11 = d13 = d13 = d14 = d15 = d16 = d16 = d16 = d19 = d20 = d21 = d22 = d23 = d24 = 0; }
}