3
#include <p18f4550.h> #include <delays.h> #pragma config FOSC = HS #pragma config WDT = OFF #pragma config PWRT = ON #pragma config BORV = 0 #pragma config LVP = OFF #define RS PORTEbits.RE0 #define EN PORTEbits.RE1 #define RW PORTEbits.RE2 #define INT0 PORTBbits.RB0 #define INT1 PORTBbits.RB1 #define INT2 PORTBbits.RB2 #define BOTAO1 PORTCbits.RC0 #define BOTAO2 PORTCbits.RC1 signed char contador = 0,i; unsigned char valor[3]; void tempo() { Delay10TCYx(20); } void dado(unsigned char x) { RS = 1; PORTD = x; EN = 1; tempo(); EN = 0; } void comando(unsigned char x) { RS = 0; PORTD = x; EN = 1; tempo(); EN = 0; } void apaga_lcd() { comando(0x01); Delay10KTCYx(1); } void configura() { comando(0x38); comando(0x0C);

Contador de 0 a 99 Com Display Lcd

Embed Size (px)

Citation preview

Page 1: Contador de 0 a 99 Com Display Lcd

#include <p18f4550.h> #include <delays.h> #pragma config FOSC = HS #pragma config WDT = OFF #pragma config PWRT = ON #pragma config BORV = 0 #pragma config LVP = OFF #define RS PORTEbits.RE0 #define EN PORTEbits.RE1 #define RW PORTEbits.RE2 #define INT0 PORTBbits.RB0 #define INT1 PORTBbits.RB1 #define INT2 PORTBbits.RB2 #define BOTAO1 PORTCbits.RC0 #define BOTAO2 PORTCbits.RC1 signed char contador = 0,i; unsigned char valor[3]; void tempo() { Delay10TCYx(20); } void dado(unsigned char x) { RS = 1; PORTD = x; EN = 1; tempo(); EN = 0; } void comando(unsigned char x) { RS = 0; PORTD = x; EN = 1; tempo(); EN = 0; } void apaga_lcd() { comando(0x01); Delay10KTCYx(1); } void configura() { comando(0x38); comando(0x0C);

Page 2: Contador de 0 a 99 Com Display Lcd

comando(0x06); comando(0x01); Delay10KTCYx(1); } void incrementa() { if (contador<100) { contador++; while(BOTAO1==0); } else { contador=100; while(BOTAO1==0); } } void decrementa() { if (contador>0) { contador--; while(BOTAO2==0); } else { contador=0; while(BOTAO2==0); } } void exibir(unsigned char x) { comando(0x80); btoa(contador,valor); for(i=0;i<3;i++) dado(valor[i]); } void main() { ADCON1=0x0F; TRISB = 0XFF; INTCON2bits.NOT_RBPU=0; TRISC = 0XFF; TRISD = 0X00; TRISE = 0X00; RW=0; configura(); exibir(contador); while(1) { if(BOTAO1==0) {

Page 3: Contador de 0 a 99 Com Display Lcd

incrementa(); exibir(contador); } if(BOTAO2==0) { decrementa(); exibir(contador); } } }