The type LCD that we use is M1632. This LCD have when each row using 16 characteristic. This device is easy to operate and need the low power. For interfacing circuit, LCD don’t need a much of the support component. We need only one resistor and resistor variable to give the contrast voltage to the matrix of LCD.
This is the table of the pin LCD:
This the LCD circuit to microcontroller:
When we want to display the string to the LCD is easy. We are need a tool to compile our listing with CodeVision AVR. You can having with download from the site http://www.hpinfotech.ro. You must install this program and set this program like picture inside:
In menu setting, choose programmer and make setting programmer in Programmer setting and doing changing this setting like this
After those, make a new project that appropriate with the listing that will make. Attention this block program:
…
//Alphanumeric LCD Module functions
#asm
.equ _lcd_port=0x15 ;PORTC
#endasm
#include
The block must be participate if we ‘ll make Generate file way….and automatically its will done. The meaning of the instruction block above is to set LCD to the PORT C and then linking in library lcd.h that the inside of those provide the instructions for access to the LCD.
This is the listing program that can be to practice our skill:
#include
//Alphanumeric LCD Module functions
#asm
.equ _lcd_port=0x15 ;PORTC
#endasm
#include
// Declare your global variables here
Void main (void)
{
// Declare your local variables here
// Input / Output Ports initialization
// Port A initialization
// Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In
// State7=T State6=T State5=T State4=T State3=T State2=T State1=T State0=T
PORTA=0x00;
DDRA=0x00;
// PORT B initialization
// Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In
// State7=T State6=T State5=T State4=T State3=T State2=T State1=T State0=T
PORTB=0x00;
DDRB=0x00;
// PORT C initialization
// Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In
// State7=T State6=T State5=T State4=T State3=T State2=T State1=T State0=T
PORTC=0x00;
DDRC=0x00;
// PORT D initialization
// Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In
// State7=T State6=T State5=T State4=T State3=T State2=T State1=T State0=T
PORTD=0x00;
DDRD=0x00;
// Timer/Counter 0 initialization
// Clock source: System Clock
// Clock value: Timer 0 Stopped
// Mode: Normal top=FFh
//OC0 output: Disconnected
TCCR0=0x00;
TCNT0=0x00;
OCR0=0x00;
// Timer/Counter 1 initialization
// Clock source: System Clock
// Clock value: Timer 1 Stopped
// Mode: normal top=FFFh
// OC1A output: Discon.
// OC1B output: Discon.
// Noise Canceler: Off
// Input Capture on Falling Edge
// Timer 1 Overflow Interrupt: Off
// Input Capture Interrupt: Off
// Compare A Match Interrupt: Off
// Compare B Match Interrupt: Off
TCCR1A=0x00;
TCCR1B=0x00;
TCNT1H=0x00;
TCNT1L=0x00;
ICR1H=0x00;
ICR1L=0x00;
OCR1AH=0x00;
OCR1AL=0x00;
OCR1BH=0x00;
OCR1BL=0x00;
// Timer/Counter 2 initialization
// Clock source: System Clock
// Clock value: Timer 2 Stopped
// Mode: normal top=FFh
//OC2 output: Disconnected
ASSR=0x00;
TCCR2=0x00;
TCNT2=0x00;
OCR2=0x00;
// External Interrupt (s) initialization
// INT0: Off
// INT1: Off
// INT2: Off
MCUCR=0x00;
MCUCSR=0x00;
// Timer(s)/Counter(s) Interrupt(s) initialization
TIMSK=0x00;
// Analog Comparator initialization
// Analog Comparator: Off
// Analog Comparator Input capture by Timer/Counter 1: Off
ACSR=0x00;
SFIOR=0x00;
// LCD module initialization
Lcd_init(16); //inisialisasi LCD
Lcd_gotoxy(0,0); //menempatkan posisi di 0,0
//kolom 0, baris 0
lcd_putsf(“Halo..”): //menampilkan string Halo..
lcd_gotoxy(0,1); //menempatkan posisi
//kolom 0, baris1
Lcd_putsf(“Nama saya Joni”); //menampilkan string
While (1)
{
// Place your code here
}
}
Lets to practice and Good Luck.
The End.