LCD voi avr

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

Tags: #saoxathubk