Alarme Residencial - PIC
Monografias: Alarme Residencial - PIC. Pesquise 861.000+ trabalhos acadêmicosPor: RicardoNE • 11/11/2014 • 4.059 Palavras (17 Páginas) • 426 Visualizações
#include <16F877A.h>
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* Configurações para gravação *
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
#FUSES xt,nowdt,noprotect,put,brownout,nolvp,nocpd,nowrt // configuração dos fusíveis
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* Definições para uso de Rotinas de Delay *
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
#use delay(clock=4000000)
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* Definição e inicialização das variáveis *
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
int i; // for dos leds
int tb=0;
int ACIONA;
int ACIONA1;
int DIGI1,DIGI2,DIGI3,DIGI4;
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* Definição e inicialização dos port's *
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* Definição e inicialização dos port's *
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* ENTRADAS *
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
//RTC
#define SDA PIN_C4
#define SCL PIN_C3
// RS-232
#define TX PIN_C6
#define RX PIN_C7
//interrupção
#define INTER PIN_B0
//teclado matricial
#define L4 PIN_E0
#define L3 PIN_A5
#define L2 PIN_A4
#define L1 PIN_A3
#define C3 PIN_A2
#define C2 PIN_A1
#define C1 PIN_A0
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* SAÍDAS *
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
// display 7 segmentos
#define SEG1 PIN_E1
#define SEG2 PIN_E2
// motor de passos
#define BB1 PIN_C5
#define BB2 PIN_C2
// #define BB3 PIN_C1
// #define BB4 PIN_C0
//reles
#define RELE1 PIN_C0
#define RELE2 PIN_C1
//leds
#define LED1 PIN_B1
#define LED2 PIN_B2
#define LED3 PIN_B3
#define LED4 PIN_B4
#define LED5 PIN_B5
#define LED6 PIN_B6
#define LED7 PIN_B7
//buzzer
#define BUZZER PIN_D0
//lcd
#define lcd_enable pin_d1 // pino enable do LCD
#define lcd_rw pin_d2 // pino rw do LCD
#define lcd_rs pin_d3 // pino rs do LCD
#define lcd_db4 pin_d4 // pino de dados d4 do LCD
#define lcd_db5 pin_d5 // pino de dados d5 do LCD
#define lcd_db6 pin_d6 // pino de dados d6 do LCD
#define lcd_db7 pin_d7 // pino de dados d7 do LCD
/************************************************************************/
/* */
/* ROTINA LCD */
/* */
/************************************************************************/
/* * * * Envio de "Nibble" para o LCD * * * * * * * * * * * * * * * * * */
//Esta rotina lê o "Nibble" inferior de uma variável e envia para o LCD.
void envia_nibble_lcd(int dado) {
//Carrega as vias de dados (pinos) do LCD de acordo com o nibble lido
...