LCD giao tiếp theo chuẩn logic TTL thông thường (5V cho logic 1 và 0V cho logic 0) cho nên có thể kết nối trực tiếp với VĐK
+ Chân dữ liệu (những chân dùng để "ra lệnh") của LCD từ chân 7 đến chân 14 (được nhà sản xuất đặt tên là DB0-DB7)
+ Chân tín hiệu là các chân 4(RS), 5(RW), 6(E)
Giả sử bạn lập trình với port C
PortC0 - RS
PortC1 - RD
PortC2 - EN
PortC4 - D4
PortC5 - D5
PortC6 - D6
PortC7 - D7
port có thể thay đổi(PORT A,B hay C) nhưng các thứ tự chân phải đúng như trên .(do cách lập trình trong thư viện lcd.h) Nếu bạn lập trình bộ thư viện riêng , cách chân phần cứng có thể bố trí thoải mái theo ý người lập trình.
Hai nữa khi lập trình LCD các bạn chú ý ở chân VEE (chân số 3 lcd) phải có mức điện áp gần bằng 0V, thường các mạch có 1 con điện trở để chỉnh cường độ sáng tối cho LCD.Để đơn giản bạn có thể nối chân đó với GND(0V) lcd sẽ luôn hiển thị rõ tối đa .
Để tìm hiểu thêm về LCD bạn có thể tham khảo bài viết của trietnguyen :
Giới thiệu về LCD
Khi sử dụng codevision bạn sẽ có một bộ thư viện viết sắn bao gồm các hàm cơ bản sau đây :
void lcd_clear(void)
Xóa hết màn hình
void lcd_gotoxy(unsigned char x, unsigned char y)
Nhảy tới vị trí x và dòng thứ y (0 là dòng 1 và 1 là dòng thứ 2 với lcd 2 dòng )
void lcd_putchar(char c)
Hiển thị 1 kí tự
void Lcd_puts(char *str)
Hiển thị 1 chuỗi kí tự trên RAM
void lcd_putsf(char flash *str)
Hiển thị 1 chuỗi kí tự trên FLASH(thường dùng lệnh này để tiết kiệm ram
Code
/*****************************************************
This program was produced by the
CodeWizardAVR V1.24.8d Professional
Automatic Program Generator
© Copyright 1998-2006 Pavel Haiduc, HP InfoTech s.r.l.
http://www.hpinfotech.com
Project :
Version :
Date : 1/1/2008
Author : LENGOCTUAN
Company : VAGAM
Comments:
Chip type : ATmega16
Program type : Application
Clock frequency : 8.000000 MHz
Memory model : Small
External SRAM size : 0
Data Stack size : 256
*****************************************************/
#include <mega16.h>
#include <delay.h>
// Alphanumeric LCD Module functions
#asm
.equ __lcd_port=0x15 ;PORTC
#endasm
#include <lcd.h>
// Declare your global variables here
unsigned char i; //bien dem de chay chu
char flash *str="<- "; //chuoi ki tu viet tren Flash
void main(void)
{
// LCD module initialization
lcd_init(16);//khoi tao lcd 16 cot 2 dong
i=16;
while (1)
{
// Place your code here
i--;
lcd_gotoxy(i,1);
lcd_putsf(str);
if(i==0) {i=16; lcd_gotoxy(0,1);lcd_putsf(" ");}
lcd_gotoxy(0,0);
lcd_putsf("Happy new year ");
delay_ms(500);
};
}
Bạn đang đọc truyện trên: truyentop.pro