Académique Documents
Professionnel Documents
Culture Documents
#include <16f877a.h>
#device adc = 8
#fuses xt,nowdt
#use delay(clock=4M)
#define use_portb_kbd TRUE
#use standard_io(A)
#use standard_io(C)
#include <KBD4x4.c>
void Configure(){
kbd_init();
port_b_pullups(TRUE);
output_d (0x00);
set_tris_d (0x00);
}
#int_TIMER0
void TIMER0_isr(void){
output_toggle(PIN_C0);
set_timer0 (0x1B);
}
void deo(){
setup_timer_0(RTCC_INTERNAL|RTCC_DIV_2);
set_timer0(0x1B);
enable_interrupts(INT_TIMER0);
enable_interrupts(global);
while (1);
}
void main(){
char C;
output_high(PIN_A0);
Configure();
while (TRUE) {
C = kbd_getc();
switch (C) {
case '0':
output_d(Cero);
break;
case '1':
output_d(Uno);
break;
case '2':
output_d(Dos);
break;
case '3':
output_d(Tres);
break;
case 'A':
output_d(CarA);
break;
case '4':
output_d(Cuatro);
break;
case '5':
output_d(Cinco);
break;
case '6':
output_d(Seis);
break;
case 'B':
output_d(CarB);
break;
case '7':
output_d(Siete);
deo();
break;
case '8':
output_d(Ocho);
break;
case '9':
output_d(Nueve);
break;
case 'C':
output_d(CarC);
break;
case 'E':
output_d(CarE);
break;
case 'F':
output_d(CarF);
break;
case 'D':
output_d(CarD);
break;
default:
break;
}
}
}