Lcd

Post on 13-Jul-2016

1 views 0 download

description

programa lcd

Transcript of Lcd

#include "mylcd.h"

void init_mylcd(void){

DDRC=0x0f;DDRD=0XFF;

//clear display functionPORTC=0X00;PORTD=0X01;PORTC=0X01;_delay_ms(20);//set functionPORTC=0X00;PORTD=0b00111100;PORTC=0X01;_delay_ms(20);// display on/offPORTC=0X00;PORTD=0X0c;PORTC=0X01;_delay_ms(20);//entry mode setPORTC=0X00;PORTD=0X06;PORTC=0X01;PORTC=0X00;_delay_ms(20);

}void write_mylcd(uint8_t var){

PORTC=0X04;PORTD=var;PORTC=0X05;PORTC=0X04;_delay_ms(20);

}void sentence_mylcd(char*arreglo){

for(int x=0;arreglo[x]!='\0';x++){

write_mylcd(arreglo[x]);}

}void gotoxy_mylcd(uint8_t x, uint8_t y){

PORTC=0X00;PORTD=0X03;PORTC=0X01;PORTC=0X00;_delay_ms(20);

if (x==1){

PORTC=0X00;PORTD=0X80;PORTC=0X01;PORTC=0X00;_delay_ms(20);

}else {

PORTC=0x00;PORTD=0xc0;PORTC=0x01;PORTC=0x00;_delay_ms(20);

}

for (int k=1; k<y; k++){

PORTC=0X00;PORTD=0X14;PORTC=0X01;PORTC=0X00;_delay_ms(20);

}}

void clear_mylcd(void){

PORTC=0X00;PORTD=0X01;PORTC=0X01;PORTC=0X00;_delay_ms(20);

}

void write_var(uint8_t dato){

uint8_t decenas, unidades;decenas= dato/10;decenas=0x30+decenas;if (decenas!=0x30)

write_mylcd(decenas);unidades=dato-(dato/10)*10;unidades=0x30+unidades;write_mylcd(unidades);

}