Código feito em CCS C Compiler
#include <18f4550.h>
#device ADC=8
#FUSES xt, put, nowdt, nomclr//fuses bits
#use delay(crystal = 20M)
#use fast_io(a)//ports com as diretivas
#use fast_io(b)
#use fast_io(c)
#use fast_io(d)
#include <lcd.c>
#INT_EXT//interrupção externa gerada pelo pino a0
//função
void senha(void){
write_eeprom(1,2);//escreve no endereço 1 o número 2
write_eeprom(2,0);
write_eeprom(3,1);
write_eeprom(4,4);
output_b(0x00);//vai externa no port b tudo 0
delay_ms(1000);
output_high(pin_e0);//vai externar no pino e0 o nível logico alto
delay_ms(2000);
output_low(pin_e0);//vai externar em nível baixo nesse pino
delay_ms(2000);
output_low(pin_e0);
delay_ms(1000);
lcd_putc(" \f SENHA GRAVADA\n COM SUCESSO");
delay_ms(1000);
}
void main(void){
set_tris_a(0xff);//port como entrada
set_tris_b(0x01);//port como saída
output_b(0x00);//externando o port b como 0
enable_interrupts(int_ext);//habilitando a interrupção externa
enable_interrupts(global);//habilitando a chave geral
lcd_init();
lcd_putc(" FAVOR GRAVAR\nSENHA:");
while(true){
output_b(0xff);//externando tudo 1
delay_ms(500);
output_b(0x00);
delay_ms(500);
//quando houver 1 interrupção, irá chamar a função
}
}
Nenhum comentário:
Postar um comentário