Vi xử Lý : Ứng dụng Họ vi điều khiển 8051 điều khiển ghép nối màn hình tinh thể lỏng (LCD
Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.25 MB, 36 trang )
Bạn đang đọc: Vi xử Lý : Ứng dụng Họ vi điều khiển 8051 điều khiển ghép nối màn hình tinh thể – Tài liệu text
BÀI TẬP LỚN MÔN : VI XỬ LÝ
GVHD: Đỗ Duy Phú
LỜI NÓI ĐẦU
Ngày nay khoa học kỹ thuật đang phát triển hết sức mạnh mẽ, đặc biệt là lĩnh
vực điều khiển và tự động hoá.Để tăng tính năng điều khiển, các bộ vi điều khiển
đã không ngừng được cải tiến và nâng cấp. Và một trong những họ vi điều khiển
đang được ửng dụng rộng rãi ngày nay là họ vi điều khiển 8051. Các bộ vi điều
khiển thuộc họ 8051 đầu tiên ra đời vào năm 1981.Các bộ vi điều khiển này mới
chỉ có 128 byte Ram, 4kb Rom, 2 bộ định thời, một cổng nổi tiếp và 4 cổng vào
ra.Tất cả được đặt trên cùng một chíp. Và sau này đã có nhiều bộ vi điều khiển
thuộc họ 8051 ra đời với những sự cải tiến đặc biệt của nhiều hãng sản xuất như vi
điều khiển 8052, AT89S52…..
Họ vi điều khiển 8051 được ửng dụng trong thực tế rất phổ biến như ứng
dụng để điều khiển động cơ, điều khiển led, điều khiển đèn giao thông, làm bộ đếm
sản phẩm….. Trong nhiều ứng dụng đó nhóm sinh viên chúng em gồm:
1. Nguyễn Mạnh Linh
2. Nguyễn Văn Nam
3. Mai Hải Minh
4. Nguyễn Văn Quý
5. Lê Hữu Tuấn
Tham gia vào thực hiện đề tài ” Ứng dụng Họ vi điều khiển 8051 điều
khiển ghép nối màn hình tinh thể lỏng (LCD)”. Dưới sự hướng dẫn của thầy
giáo: Th.S Phạm Văn Hùng. Chúng em mong rằng sự nhiệt tình của thầy sẽ giúp
chúng em thực hiện đề tài thành công .
Page 1
Nhóm 8 – Điện 4 –K7
BÀI TẬP LỚN MÔN : VI XỬ LÝ
GVHD: Đỗ Duy Phú
MỤC LỤC
CHƯƠNG 1: Tổng quan về 8051………………………………………………………..3
1.1. Cấu trúc vi điều khiển 8051…………………………………………………………3
1.2. Tổ chức bộ nhớ vi điều khiển……………………………………………………….6
CHƯƠNG 2: Giới thiệu về IC 89S52…………………………………………………..8
2.1. Giới thiệu về IC 89S52…………………………………………………………………8
2.2. Khảo sát sơ đồ chân……………………………………………………………………..10
2.3. Sơ đồ khối của IC 89S52………………………………………………………………14
CHƯƠNG 3: Tổng quan về LCD………………………………………………………..16
3.1. Phân loại LCD…………………………………………………………………………….16
3.2. Nguyên tắc hiển thị ký tự trên màn hình LCD………………………………19
CHƯƠNG 4: Sơ đồ nguyên lý và mạch in…………………………………………..20
4.1. Sơ đồ nguyên lý……………………………………………………………………………20
4.1.1. Khối nguồn………………………………………………………………………….20
4.1.2. Khối điều khiển……………………………………………………………………21
4.1.3. Khối hiển thị……………………………………………………………………….22
4.1.4. Nút ấn…………………………………………………………………………………22
4.1.5. Khối cảm biến……………………………………………………………………..23
CHƯƠNG 5: Lưu đồ thuật toán và chương trình điều khiển……………….26
5.1. Lưu đồ thuật toán………………………………………………………………………..27
Page 2
Nhóm 8 – Điện 4 –K7
BÀI TẬP LỚN MÔN : VI XỬ LÝ
GVHD: Đỗ Duy Phú
5.2. Chương trình điều khiển……………………………………………………………..27
5.2.1. Giới thiệu về phần mềm lập trình…………………………………………27
5.2.2. Các bước tạo Project……………………………………………………………28
5.2.3. Xây dựng chương trình………………………………………………………..28
CHƯƠNG 6: Kết luận và tài liệu tham khảo……………………………………….36
Page 3
Nhóm 8 – Điện 4 –K7
BÀI TẬP LỚN MÔN : VI XỬ LÝ
GVHD: Đỗ Duy Phú
CHƯƠNG 1: TỔNG QUAN VỀ 8051
1.1. Cấu trúc vi điều khiển 8051
Hình 1.1. Cấu trúc vi điều khiển 8051
Bộ vi điều khiển này có 128 byte RAM, 4K byte ROM, hai bộ định thời, một cổng
nối tiếp và bốn cổng 8 bit. Tất cả đều được tích hợp trên một chip.
8051 là một bộ vi xử lí 8 bit, tức là CPU có thể làm việc với 8 bit dữ liệu. Dữ liệu
lớn hơn 8 bit được chia thành các dữ liệu 8 bit để xử lí. 8051 có tất cả 4 cổng
vào/ra, mỗi cổng rộng 8 bit. 8051 có thể có một ROM trên chip cực đại là 64K
byte.
Page 4
Nhóm 8 – Điện 4 –K7
BÀI TẬP LỚN MÔN : VI XỬ LÝ
GVHD: Đỗ Duy Phú
Bộ vi điều khiển 8051 là thành viên đầu tiên của họ 8051 với các thông số kỉ thuật:
Đặc tính
ROM
RAM
Số lượng
4K byte
128 byte
Bộ định thời
2
Chân vào/ra
32
Cổng nối tiếp
1
Nguồn ngắt
6
Bảng 1.1. Thông số của 8051
Hình 1.2. Sơ đồ khối của 8051
Page 5
Nhóm 8 – Điện 4 –K7
BÀI TẬP LỚN MÔN : VI XỬ LÝ
GVHD: Đỗ Duy Phú
1.2. Tổ chức bộ nhớ vi điều khiển 8051
Page 6
Nhóm 8 – Điện 4 –K7
BÀI TẬP LỚN MÔN : VI XỬ LÝ
GVHD: Đỗ Duy Phú
Các thanh ghi nằm giữa các thanh ghi 80H và FFh.Các địa chỉ này nằm trên
thanh 80H,vì các địa chỉ từ 00H đến 7FH là địa chỉ của bộ nhớ RAM bên trong
8051.Không phải tất cả mọi địa chỉ từ 80H đến FFH đều do FSR sử dụng,nhưng vị
trí ngăn nhớ từ 80H đến FFH chưa dùng là để dự trữ và lập trình viên 8051 cũng
không được sử dụng.
Bảng 1.2 : Chức năng của các thanh ghi đặc biệt SFR
SFR định địa chỉ từng bít(những thanh ghi cần nhớ đối với khi lập trình C)
Page 7
Nhóm 8 – Điện 4 –K7
BÀI TẬP LỚN MÔN : VI XỬ LÝ
GVHD: Đỗ Duy Phú
CHƯƠNG 2 : GIỚI THIỆU VỀ IC 89S52
2.1. Giới thiệu về IC 89S52
Hiện nay có rất nhiều họ Vi điều khiển trên thị trường với nhiều ứng
dụng khác nhau, trong đó họ Vi điều khiển họ MCS-51 được sử dụng rất rộng
rãi trên thế giới và ở Việt nam.Vào năm 1980 Intel công bố chíp 8051(80C51),
bộ vi điều khiển đầu tiên của họ vi điều khiển MCS-51. Nó bao gồm 4KB
ROM, 128 byte RAM, 32 đường xuất nhập, 1 port nối tiếp và 2 bộ định thời 16
bit. Tiếp theo sau đó là sự ra đời của chip 8052, 8053, 8055 với nhiều tính
năng được cải tiến.Hiện nay Intel không còn cung cấp các loại Vi điều khiển
họ MCS-51 nữa, thay vào đó các nhà sản xuất khác như Atmel,
Philips/signetics, AMD, Siemens, Matra&Dallas, Semiconductors được cấp
phép làm nhà cung cấp thứ hai cho các chip của họ MSC-51. Chip Vi điều
khiển được sử dụng rộng rãi trên thế giới cũng như ở Việt Nam hiện nay là Vi
điều khiển của hãng Atmel với nhiều chủng loại vi điều khiển khác nhau. Hãng
Atmel có các chip Vi điều khiển có tính năng tương tự như chip Vi điều khiển
MCS-51 của Intel, các mã số chip được thay đổi chút ít khi được Atmel sản
xuất. Mã số 80 chuyển thành 89, chẳng hạn 80C52 của Intel khi sản xuất ở
Atmel mã số thành 89C52 (Mã số đầy đủ: AT89C52) với tính năng chương
trình tương tự như nhau. Tương tự 8051,8053,8055 có mã số tương đương ở
Atmel là 89C51,89C53,89C55. Vi điều khiển Atmel sau này ngày càng được
cải tiến và được bổ sung thêm nhiều chức năng tiện lợi hơn cho người dùng.
Hình 2.1. Vi điều khiển 89S52 – DIP 40
Page 8
Nhóm 8 – Điện 4 –K7
BÀI TẬP LỚN MÔN : VI XỬ LÝ
GVHD: Đỗ Duy Phú
Bảng 2.1
Dung lượng RAM
Dung lượng ROM
Chế độ nạp
89C51
128 byte
4 Kbyte
song song
89C52
128 byte
8 Kbyte
song song
89C53
128 byte
12 Kbyte
song song
89C55
128 byte
20 Kbyte
song song
Sau khoảng thời gian cải tiến và phát triển, hãng Atmel tung ra thị trường dòng
Vi điều khiển mang số hiệu 89Sxx với nhiều cải tiến và đặc biệt là có thêm khả
năng nạp chương trình theo chế độ nối tiếp rất đơn giản và tiện lợi cho người
sử dụng.
Bảng 2.2
Dung lượng RAM
Dung lượng ROM
Chế độ nạp
89S51
128 byte
4 Kbyte
nối tiếp
89S52
128 byte
8 Kbyte
nối tiếp
89S53
128 byte
12 Kbyte
nối tiếp
89S55
128 byte
20 Kbyte
nối tiếp
Tất cả các Vi điều khiển trên đều có đặc tính cơ bản giống nhau về phần mềm (các
tập lệnh lập trình như nhau), còn phần cứng được bổ sung với chip có mã số ở hai
số cuối cao hơn, các Vi điều khiển sau này có nhiều tính năng vượt trội hơn Vi điều
khiển thế hệ trước. Các Vi điều khiển 89Cxx như trong bảng 1 có cấu tạoROM và
Page 9
Nhóm 8 – Điện 4 –K7
BÀI TẬP LỚN MÔN : VI XỬ LÝ
GVHD: Đỗ Duy Phú
RAM như 98Sxx trong bảng 2, tuy nhiên 98Sxx được bổ sung một số tính năng và
có thêm chế độ nạp nối tiếp.
Trên thị trường hiện nay có rất nhiều loại sách hướng dẫn về Vi điều khiển với
nhiều loại khác nhau như 8051, 89C51, 89S8252, 89S52 v.v… các sách này đều
hướng dẫn cụ thể về phần cứng cũng như cách thức lập trình. Chương trình phần
mềm dành cho các Vi điều khiển này là như nhau, vì vậy bạn có thể tham khảo
thêm về Vi điều khiển ở các sách này.
– VDK 89S tính năng hơn hẳn 89C, trong khi giá cả tương đương mà tính
năng lại nhiều hơn so với 89C. Ví dòng MCU này dùng chế độ nạpISP (In
System Programming) nên việc nạp cho nó rât đơn giản và rẻ tiền.89Sxx có
chế độ nạp nối tiếp với mạch nạp đơn giản có khả năng nạp ngay trên bo mạch
mà không cần tháo chip vi điều khiển sang mạch khác để nạp chương trình và
nhiều tính năng cải tiến khác.89S52 có khả năng xóa và viết lại chương trình
nhiều lần.
–
Đối với 89C thì ta phải sử dụng thêm một con làm master. Còn với 89S52
thì không cần con master, ta nạp trực tiếp.Và giá thành cho một mạch là rất
rẻ. Toàn bộ câu trúc phần cứng tương thích hoàn toàn, mọi chương trình
viết cho 89C đều chạy tốt trên 89S52
– 89S52 có dung lượng RAM 128 byte,dung lượng ROM 8 Kyte,chế độ nạp
nối trực tiếp.
2.2. Khảo sát sơ đồ chân
IC 89S52 có 40 chân cho các chức năng khác nhau như: vào ra I/0, đọc, ghi ,
địa chỉ, dữ liệu và ngắt. Tuy nhiên, vì hầu hết các nhà phát triển chính dụng
chíp đóng vỏ 40 chân với hai hàng chân DIP, nên chúng ta cùng khảo sát Vi
điều khiển với 40 chân dạng DIP.
Page 10
Nhóm 8 – Điện 4 –K7
BÀI TẬP LỚN MÔN : VI XỬ LÝ
GVHD: Đỗ Duy Phú
Hình 2.2. Sơ đồ chân
1. Chân VCC: Chân số 40 là VCC cấp điện áp nguồn cho Vi điều khiển
Nguồn điện cấp là +5V±0.5.
2. Chân GND: Chân số 20 nối GND(hay nối Mass).
Khi thiết kế cần sử dụng một mạch ổn áp để bảo vệ cho Vi điều khiển, cách
đơn giản là sử dụng IC ổn áp 7805.
3 .Port 0 (P0)
Port 0 gồm 8 chân (từ chân 32 đến 39) có hai chức năng:
– Chức năng xuất/nhập : Các chân này được dùng để nhận tín hiệu từ bên
ngoài vào để xử lí, hoặc dùng để xuất tín hiệu ra bên ngoài, chẳng hạn xuất tín
hiệu để điều khiển led đơn sáng tắt.
– Chức năng là bus dữ liệu và bus địa chỉ (AD7-AD0) : 8 chân này (hoặc Port
0) còn làm nhiệm vụ lấy dữ liệu từ ROM hoặc RAM ngoại (nếu có kết nối với
bộ nhớ ngoài), đồng thời Port 0 còn được dùng để định địa chỉ của bộ nhớ
ngoài.
4. Port 1 (P1)
Port P1 gồm 8 chân (từ chân 1 đến chân 8), chỉ có chức năng làm các
đường xuất/nhập, không có chức năng khác.
Page 11
Nhóm 8 – Điện 4 –K7
BÀI TẬP LỚN MÔN : VI XỬ LÝ
GVHD: Đỗ Duy Phú
5. Port 2 (P2)
Port 2 gồm 8 chân (từ chân 21 đến chân 28) có hai chức năng:
– Chức năng xuất/nhập
– Chức năng là bus địa chỉ cao (A8-A15): khi kết nối với bộ nhớ ngoài có
dung lượng lớn,cần 2 byte để định địa chỉ của bộ nhớ, byte thấp do P0 đảm
nhận, byte cao do P2 này đảm nhận.
6. Port 3 (P3)
Port 3 gồm 8 chân (từ chân 10 đến 17):
– Chức năng xuất/nhập
– Với mỗi chân có một chức năng riêng thứ hai như trong bảng sau :
Bảng 1.3. Chức năng các chân trong Port 3
Bit
Tên
Chức năng
P3.0
RxD
Ngõ vào nhận dữ liệu nối tiếp
P3.1
TxD
Ngõ xuất dữ liệu nối tiếp
P3.2
INT0
Ngõ vào ngắt cứng thứ 0
P3.3
INT1
Ngõ vào ngắt cứng thứ 1
P3.4
T0
Ngõ vào của Timer/Counter thứ 0
P3.5
Xem thêm: Ứng dụng của tích phân tính diện tích, thể tích, quãng đường, vận tốc cực hay – Toán lớp 12
T1
Ngõ vào của Timer/Counter thứ 1
P3.6
WR
Ngõ điều khiển ghi dữ liệu lên bộ nhớ ngoài
P3.7
RD
Ngõ điều khiển đọc dữ liệu từ bộ nhớ bên
ngoài
P1.0
T2
Ngõ vào của Timer/Counter thứ 2
P1.1
T2X
Ngõ Nạp lại/thu nhận của Timer/Counter thứ
2
Page 12
Nhóm 8 – Điện 4 –K7
BÀI TẬP LỚN MÔN : VI XỬ LÝ
GVHD: Đỗ Duy Phú
7. Chân RESET (RST)
Ngõ vào RST ở chân 9 là ngõ vào Reset dùng để thiết lập trạng thái ban
đầu cho vi điều khiển. Hệ thống sẽ được thiết lập lại các giá trị ban đầu nếu
ngõ này ở mức 1 tối thiểu 2 chu kì máy.
8. Chân XTAL1 và XTAL2
Hai chân này có vị trí chân là 18 và 19 được sử dụng để nhận nguồn
xung clock từ bên ngoài để hoạt động, thường được ghép nối với thạch anh và
các tụ để tạo nguồn xung clock ổn định.
9. Chân cho phép bộ nhớ chương trình PSEN
PSEN ( program store enable) tín hiệu được xuất ra ở chân 29 dùng để
truy xuất bộ nhớ chương trình ngoài. Chân này thường được nối với chân OE
(output enable) của ROM ngoài.
Khi vi điều khiển làm việc với bộ nhớ chương trình ngoài, chân này phát
ra tín hiệu kích hoạt ở mức thấp và được kích hoạt 2 lần trong một chu kì máy
Khi thực thi một chương trình ở ROM nội, chân này được duy trì ở mức
logic không tích cực (logic 1)
(Không cần kết nối chân này khi không sử dụng đến)
10. Chân ALE (chân cho phép chốt địa chỉ-chân 30)
Khi Vi điều khiển truy xuất bộ nhớ từ bên ngoài, port 0 vừa có chức năng
là bus địa chỉ, vừa có chức năng là bus dữ liệu do đó phải tách các đường dữ
liệu và địa chỉ. Tín hiệu ở chân ALE dùng làm tín hiệu điều khiển để giải đa
hợp các đường địa chỉ và các đường dữ liệu khi kết nối chúng với IC chốt.
Các xung tín hiệu ALE có tốc độ bằng 1/6 lần tần số dao động đưa vào Vi
điều khiển, như vậy có thể dùng tín hiệu ở ngõ ra ALE làm xung clock cung
cấp cho các phần khác của hệ thống.
– Ghi chú: khi không sử dụng có thể bỏ trống chân này
11. Chân EA
Chân EA dùng để xác định chương trình thực hiện được lấy từ ROM nội
hay ROM ngoại.
Khi EA nối với logic 1(+5V) thì Vi điều khiển thực hiện chương trình lấy
từ bộ nhớ nội
Khi EA nối với logic 0(0V) thì Vi điều khiển thực hiện chương trình lấy từ
bộ nhớ ngoại .
Page 13
Nhóm 8 – Điện 4 –K7
BÀI TẬP LỚN MÔN : VI XỬ LÝ
GVHD: Đỗ Duy Phú
2.3. Sơ đồ khối của IC 89S52
Hình 2.3. Sơ đồ khối của IC 89S52
Page 14
Nhóm 8 – Điện 4 –K7
BÀI TẬP LỚN MÔN : VI XỬ LÝ
GVHD: Đỗ Duy Phú
CHƯƠNG 3: TỔNG QUAN VỀ LCD
3.1. Phân loại LCD
Có thể chia các module LCD làm hai loại chính :
– Loại hiển thị ký tự (character LCD ) gồm có các kích cỡ 16×1(16 ký tự 1
dòng),16×2 ( 16 ký tự x 2 dòng) ; 16x 4(16 ký tự x 4 dòng); 20x 1(20 ký tự x1
dòng) v.v..
– Loại hiển thị đồ họa (graphic LCD ) đen trắng hoặc màu ,gồm các kích cỡ
1,47 inch (128 x128 điểm ảnh) ;1,8 inch( 128 x 160 điểm ảnh ); 2,4 inch( 240x
320 điểm ảnh ) ..v.v…
Page 15
Nhóm 8 – Điện 4 –K7
BÀI TẬP LỚN MÔN : VI XỬ LÝ
GVHD: Đỗ Duy Phú
Mô tả về các chân của Màn hình LCD 16×2
Bảng 3.1. Các chân của màn hình LCD 16×2
Châ
n
Ký
hiệu
I/O
Mô tả
1
VSS
–
Đất
2
VCC
–
Nguồn +5V
3
VEE
–
Cấp nguồn điều khiển phản
I
RS=0 chọn thanh ghi lệnh
4
RS
RS=1 chọn thanh dữ liệu
5
R/W
I
R/W=1 đọc dữ liệu.R/W =0 ghi dữ
liệu
6
E
I/O
Cho phép
7
DB0
I/O
Các bít dữ liệu
8
DB1
I/O
Các bít dữ liệu
9
DB2
I/O
Các bít dữ liệu
10
DB3
I/O
Các bít dữ liệu
11
DB4
I/O
Các bít dữ liệu
12
DB5
I/O
Các bít dữ liệu
13
DB6
I/O
Các bít dữ liệu
14
DB7
I/O
Các bít dữ liệu
Chức năng của các chân :
– Chân Vcc :cấp nguồn dương
– Chân Vss : cấp nguồn âm
– Chân V
EE : điều khiển độ tương phản của LCD
Page 16
Nhóm 8 – Điện 4 –K7
BÀI TẬP LỚN MÔN : VI XỬ LÝ
GVHD: Đỗ Duy Phú
– Chân chọn thanh ghi RS :có hai thanh ghi rất quan trọng trong LCD, chân RS
(register select) được dùng để chọn thanh ghi như sau : Nếu RS=1 thì thanh ghi
dữ liệu được chọn cho phép người dùng gửi dữ liệu cần hiể thị về LCD; Nếu
RS=0 thì thanh ghi mà lệnh được chọn để cho phép người dùng gửi một lệnh
chẳng hạn như lệnh xóa màn hình ,đưa con trỏ về đầu dòng…
– Chân đọc/ghi (R/W) :đầu vào đọc/ghi cho phép người dùng ghi thông tin lên
LCD khi R/W =0 hoặc đọc thông tin từ nó khi R/W=1
– Chân cho phép E(Enable) :Chân cho phép E được sử dụng bởi LCD để chốt
dữ liệu của nó .Khi dữ liệu được cấp đến chân dữ liệu thì một xung mức cao
xuống thấp phải
được áp đến chân này để LCD chốt dữ liệu trên các chân dữ liệu .Xung này
phải rộng tối thiểu 450 ns .
– Chân D0 D7 : Đây là 8 chân dữ liệu 8 bit ,được dùng để gửi thông điệp lên
LCD hoặc đọc nội dung các thanh ghi trong LCD .Để hiển thị các chữ cái và
các con số ,chúng ta gửi mã ASCII của các chữ cái từ A đến Z ,a đến z và các
con số từ 0 đến 9 đến các chân này khi bật RS =1.Cũng có các mã lệnh có thể
được gửi đến LCD để xóa màn hình hoặc dưa con trỏ về đầu dòng hoặc nhấp
nháy con trỏ
– Chú ý :Chúng ta cũng được sử dụng RS=0 để kiểm tra bí cờ bận để xem LCD
có sẵn sàng nhận thông tin.Cờ bận là bit D7 và có thể được đọc khi R/W=1 và
RS=0 như sau: Nếu R/W =1 ,RS=0 khi D7=1 (cờ bận 1)thì LCD bận bởi các
công viêc bên trong và sẽ không nhận bất cứ thông tin mới nào.Khi D7=0 thì
LCD sẵn sàng nhận thông tin mới.Lưu ý chúng ta nên kiểm tra cờ bận trước
khi ghi bất kỳ dữ liệu nào lên LCD.
Chân 15 và 16 :ghi là A và K .Nó là a nốt và ca tốt của một đèn LED dùng để
chiếu sáng LCD trong bóng tối.Chúng ta không sử dụng.Nếu muốn dùng thì
nối chân A qua một điện trở từ 1k đến 5k lên dương 5V ,chân K xuống đất đèn
sẽ sáng.
Page 17
Nhóm 8 – Điện 4 –K7
BÀI TẬP LỚN MÔN : VI XỬ LÝ
GVHD: Đỗ Duy Phú
Bảng 3.2. Mã lệnh của LCD
Mã
lệnh(hex
)
Lệnh đến thanh ghi của LCD
1
Xóa màn hình hiển thị
2
Trở về đầu dòng
4
Giảm con trỏ (dịch con trỏ sang trái)
6
Tăng con trỏ (dịch con trỏ sang phải)
5
Dịch hiển thị sang phải
7
Dịch hiển thị sang trái
8
Tắt con trỏ,tắt hiển thị
A
Tắt hiển thi ,bật con trỏ
C
Tắt con trỏ,bật hiển thị
E
Bật hiển thị ,nhấp nháy con trỏ
F
Tắt hiển thị,nhấp nháy con trỏ
10
Dịch vị trí con trỏ sang trái
14
Dịch vị trí con trỏ sang phải
18
Dịch toàn bộ hiển thị sang trái
1C
Dịch toàn bộ hiển thị sang phải
80
Ép con trỏ về đầu dòng thứ nhất
C0
Ép con trỏ về đầu dòng thứ hai
38
Hai dòng và ma trận 5×7
Page 18
Nhóm 8 – Điện 4 –K7
BÀI TẬP LỚN MÔN : VI XỬ LÝ
GVHD: Đỗ Duy Phú
3.2. Nguyên tắc hiển thị ký tự trên màn hình LCD
Một chương trình hiển thị ký tự trên LCD sẽ đi theo 4 bước sau :
Xóa toàn bộ màn hình
Đặt chế độ hiển thị
Đặt vị trí con trỏ (Nơi bắt đầu của ký tự hiển thị )
Hiển thị ký tự
Chú ý :
+ Các bước 3,4 có thể lặp đi lặp lại nhiều lần nếu hiển thị nhiều ký tự
+ Chế độ hiển thị mặc định sẽ là hiển thị dịch ,vị trí con trỏ mặc định sẽ là
dòng thứ nhất
Để điều khiển hoạt động của LCD nên sử dụng port 2 hoặc port 1 cho việc
xuất nhập dữ liệu ,các chân tạo tín hiệu điều khiển RS,RW,EN_LCD có thể
chọn tùy ý trong các chân của các Port còn lại. Hình vẽ dưới là ví dụ về mạch
ghép nối giữa vi điều khiển 8051 với module LCD 16×2.Port 2 của vi điều
khiển được nối tới buz dữ liệu của LCD ,các chân P1.0,P1.1, và P1.2 của port
1 dùn để tạo các tín hiệu điều khiển LCD.
Page 19
Nhóm 8 – Điện 4 –K7
BÀI TẬP LỚN MÔN : VI XỬ LÝ
GVHD: Đỗ Duy Phú
CHƯƠNG 4: SƠ ĐỒ NGUYÊN LÝ VÀ MẠCH IN
4.1. Sơ đồ nguyên lý
4.1.1. Khối nguồn
Hình 4.1. Khối nguồn
Khối nguồn sử dụng điện áp đầu vào là điện áp xoay chiều 12V. Qua khối
nguồn sẽ thu được điện áp DC 5V
Page 20
Nhóm 8 – Điện 4 –K7
BÀI TẬP LỚN MÔN : VI XỬ LÝ
GVHD: Đỗ Duy Phú
4.1.2. Khối điều khiển: vi xử lý 89S52
Hình 4.2. Khối điều khiển
Chân 20 được nối mass, chân 40 nối nguồn 5V
Chân 18,19 nối với
Chân 9 nối với bộ reset.
Chân 31 nối với nguồn 5V
Page 21
Nhóm 8 – Điện 4 –K7
BÀI TẬP LỚN MÔN : VI XỬ LÝ
GVHD: Đỗ Duy Phú
4.1.3. Khối hiển thị
Hình 4.3. Khối hiển thị
4.1.4. Nút ấn
Hình 4.4. Nút ấn
Page 22
Nhóm 8 – Điện 4 –K7
BÀI TẬP LỚN MÔN : VI XỬ LÝ
GVHD: Đỗ Duy Phú
4.1.5. Khối cảm biến
Hình 4.5. Khối cảm biến
Page 23
Nhóm 8 – Điện 4 –K7
BÀI TẬP LỚN MÔN : VI XỬ LÝ
GVHD: Đỗ Duy Phú
Sau khi ghép nối các khối sẽ có mạch hoàn chỉnh như sau:
Page 24
Nhóm 8 – Điện 4 –K7
BÀI TẬP LỚN MÔN : VI XỬ LÝ
GVHD: Đỗ Duy Phú
Nguyên lí hoạt động:
Khi cấp nguồn Vcc thì mạch bắt đầu hoạt động.
– Khi nhấn tổ hợp các phím thì ngay lập tức gửi một xung đến IC AT89S52.
AT89S52 sẽ tiến hành mã hóa,giải mã và chuyển xung gửi đến thành dữ liệu
và sau đó tín hiệu được xuất lên LCD để hiển thị (từ p.0.0 => p.0.7).
Nhưng trước khi gửi dữ liệu lên LCD thì phải kiểm tra LCD. Nếu LCD rỗi thì
dữ liệu sẽ được hiển thị và ngược lại nếu LCD bận thì dữ liệu chưa được hiển
thị và gửi thông báo cho IC vi xử lí (AT89S52) qua chân RS và RW.
Nguyên tắc kiểm tra bận như sau:
Nếu RW=1;RS=0 khi D7=1 thì LCD bận bởi các công việc bên trong và sẽ
không nhận bất cứ thông tin nào từ IC vi xử lí.
Khi D7=0 thì LCD sẵn sang nhận thông tin từ IC vi xử lí.
Ở đây: + RW là chân đọc/ghi,cho phép người dung ghi thông tin lên LCD.
RW = 0 (ghi); RW = 1 ( đọc thông tin ).
+ RS chọn thanh ghi :
RS = 0 thanh ghi lệnh được chọn để cho phép người dung gửi một lệnh lên
LCD.
RS = 1 thanh ghi dữ liệu được chọn cho phép người dùng gửi dữ liệu cần
hiển thị lên LCD
– Khi không nhấn phím thì xung ở mức 0
Page 25
Nhóm 8 – Điện 4 –K7
GVHD : Đỗ Duy PhúMỤC LỤCCHƯƠNG 1 : Tổng quan về 8051 ……………………………………………………….. 31.1. Cấu trúc vi điều khiển 8051 ………………………………………………………… 31.2. Tổ chức bộ nhớ vi điều khiển ………………………………………………………. 6CH ƯƠNG 2 : Giới thiệu về IC 89S52 ………………………………………………….. 82.1. Giới thiệu về IC 89S52 ………………………………………………………………… 82.2. Khảo sát sơ đồ chân …………………………………………………………………….. 102.3. Sơ đồ khối của IC 89S52 ……………………………………………………………… 14CH ƯƠNG 3 : Tổng quan về LCD. ………………………………………………………. 163.1. Phân loại LCD. …………………………………………………………………………… 163.2. Nguyên tắc hiển thị ký tự trên màn hình hiển thị LCD. …………………………….. 19CH ƯƠNG 4 : Sơ đồ nguyên tắc và mạch in ………………………………………….. 204.1. Sơ đồ nguyên tắc …………………………………………………………………………… 204.1.1. Khối nguồn …………………………………………………………………………. 204.1.2. Khối điều khiển …………………………………………………………………… 214.1.3. Khối hiển thị ………………………………………………………………………. 224.1.4. Nút ấn ………………………………………………………………………………… 224.1.5. Khối cảm ứng …………………………………………………………………….. 23CH ƯƠNG 5 : Lưu đồ thuật toán và chương trình điều khiển ………………. 265.1. Lưu đồ thuật toán ……………………………………………………………………….. 27P age 2N hóm 8 – Điện 4 – K7BÀI TẬP LỚN MÔN : VI XỬ LÝGVHD : Đỗ Duy Phú5. 2. Chương trình điều khiển …………………………………………………………….. 275.2.1. Giới thiệu về ứng dụng lập trình ………………………………………… 275.2.2. Các bước tạo Project …………………………………………………………… 285.2.3. Xây dựng chương trình ……………………………………………………….. 28CH ƯƠNG 6 : Kết luận và tài liệu tìm hiểu thêm ………………………………………. 36P age 3N hóm 8 – Điện 4 – K7BÀI TẬP LỚN MÔN : VI XỬ LÝGVHD : Đỗ Duy PhúCHƯƠNG 1 : TỔNG QUAN VỀ 80511.1. Cấu trúc vi điều khiển 8051H ình 1.1. Cấu trúc vi điều khiển 8051B ộ vi điều khiển này có 128 byte RAM, 4K byte ROM, hai bộ định thời, một cổngnối tiếp và bốn cổng 8 bit. Tất cả đều được tích hợp trên một chip. 8051 là một bộ vi xử lí 8 bit, tức là CPU hoàn toàn có thể thao tác với 8 bit tài liệu. Dữ liệulớn hơn 8 bit được chia thành những tài liệu 8 bit để xử lí. 8051 có toàn bộ 4 cổngvào / ra, mỗi cổng rộng 8 bit. 8051 hoàn toàn có thể có một ROM trên chip cực lớn là 64K byte. Page 4N hóm 8 – Điện 4 – K7BÀI TẬP LỚN MÔN : VI XỬ LÝGVHD : Đỗ Duy PhúBộ vi điều khiển 8051 là thành viên tiên phong của họ 8051 với những thông số kỹ thuật kỉ thuật : Đặc tínhROMRAMSố lượng4K byte128 byteBộ định thờiChân vào / ra32Cổng nối tiếpNguồn ngắtBảng 1.1. Thông số của 8051H ình 1.2. Sơ đồ khối của 8051P age 5N hóm 8 – Điện 4 – K7BÀI TẬP LỚN MÔN : VI XỬ LÝGVHD : Đỗ Duy Phú1. 2. Tổ chức bộ nhớ vi điều khiển 8051P age 6N hóm 8 – Điện 4 – K7BÀI TẬP LỚN MÔN : VI XỬ LÝGVHD : Đỗ Duy PhúCác thanh ghi nằm giữa những thanh ghi 80H và FFh. Các địa chỉ này nằm trênthanh 80H, vì những địa chỉ từ 00H đến 7FH là địa chỉ của bộ nhớ RAM bên trong8051. Không phải tổng thể mọi địa chỉ từ 80H đến FFH đều do FSR sử dụng, nhưng vịtrí ngăn nhớ từ 80H đến FFH chưa dùng là để dự trữ và lập trình viên 8051 cũngkhông được sử dụng. Bảng 1.2 : Chức năng của những thanh ghi đặc biệt quan trọng SFRSFR định địa chỉ từng bít ( những thanh ghi cần nhớ so với khi lập trình C ) Page 7N hóm 8 – Điện 4 – K7BÀI TẬP LỚN MÔN : VI XỬ LÝGVHD : Đỗ Duy PhúCHƯƠNG 2 : GIỚI THIỆU VỀ IC 89S522. 1. Giới thiệu về IC 89S52 Hiện nay có rất nhiều họ Vi điều khiển trên thị trường với nhiều ứngdụng khác nhau, trong đó họ Vi điều khiển họ MCS-51 được sử dụng rất rộngrãi trên quốc tế và ở Việt nam. Vào năm 1980 Intel công bố chíp 8051 ( 80C51 ), bộ vi điều khiển tiên phong của họ vi điều khiển MCS-51. Nó gồm có 4KBROM, 128 byte RAM, 32 đường xuất nhập, 1 port tiếp nối đuôi nhau và 2 bộ định thời 16 bit. Tiếp theo sau đó là sự sinh ra của chip 8052, 8053, 8055 với nhiều tínhnăng được nâng cấp cải tiến. Hiện nay Intel không còn cung ứng những loại Vi điều khiểnhọ MCS-51 nữa, thay vào đó những nhà phân phối khác như Atmel, Philips / signetics, AMD, Siemens, Matra và Dallas, Semiconductors được cấpphép làm nhà phân phối thứ hai cho những chip của họ MSC-51. Chip Vi điềukhiển được sử dụng thoáng rộng trên quốc tế cũng như ở Nước Ta lúc bấy giờ là Viđiều khiển của hãng Atmel với nhiều chủng loại vi điều khiển khác nhau. HãngAtmel có những chip Vi điều khiển có tính năng tương tự như như chip Vi điều khiểnMCS-51 của Intel, những mã số chip được biến hóa chút ít khi được Atmel sảnxuất. Mã số 80 chuyển thành 89, ví dụ điển hình 80C52 của Intel khi sản xuất ởAtmel mã số thành 89C52 ( Mã số rất đầy đủ : AT89C52 ) với tính năng chươngtrình tựa như như nhau. Tương tự 8051,8053,8055 có mã số tương tự ởAtmel là 89C51, 89C53, 89C55. Vi điều khiển Atmel sau này ngày càng đượccải tiến và được bổ trợ thêm nhiều tính năng thuận tiện hơn cho người dùng. Hình 2.1. Vi điều khiển 89S52 – DIP 40P age 8N hóm 8 – Điện 4 – K7BÀI TẬP LỚN MÔN : VI XỬ LÝGVHD : Đỗ Duy PhúBảng 2.1 Dung lượng RAMDung lượng ROMChế độ nạp89C51128 byte4 Kbytesong song89C52128 byte8 Kbytesong song89C53128 byte12 Kbytesong song89C55128 byte20 Kbytesong songSau khoảng chừng thời hạn nâng cấp cải tiến và tăng trưởng, hãng Atmel tung ra thị trường dòngVi điều khiển mang số hiệu 89S xx với nhiều nâng cấp cải tiến và đặc biệt quan trọng là có thêm khảnăng nạp chương trình theo chính sách tiếp nối đuôi nhau rất đơn thuần và thuận tiện cho ngườisử dụng. Bảng 2.2 Dung lượng RAMDung lượng ROMChế độ nạp89S51128 byte4 Kbytenối tiếp89S52128 byte8 Kbytenối tiếp89S53128 byte12 Kbytenối tiếp89S55128 byte20 Kbytenối tiếpTất cả những Vi điều khiển trên đều có đặc tính cơ bản giống nhau về ứng dụng ( cáctập lệnh lập trình như nhau ), còn phần cứng được bổ trợ với chip có mã số ở haisố cuối cao hơn, những Vi điều khiển sau này có nhiều tính năng tiêu biểu vượt trội hơn Vi điềukhiển thế hệ trước. Các Vi điều khiển 89C xx như trong bảng 1 có cấu tạoROM vàPage 9N hóm 8 – Điện 4 – K7BÀI TẬP LỚN MÔN : VI XỬ LÝGVHD : Đỗ Duy PhúRAM như 98S xx trong bảng 2, tuy nhiên 98S xx được bổ trợ một số ít tính năng vàcó thêm chính sách nạp tiếp nối đuôi nhau. Trên thị trường lúc bấy giờ có rất nhiều loại sách hướng dẫn về Vi điều khiển vớinhiều loại khác nhau như 8051, 89C51, 89S8252, 89S52 v.v… những sách này đềuhướng dẫn đơn cử về phần cứng cũng như phương pháp lập trình. Chương trình phầnmềm dành cho những Vi điều khiển này là như nhau, thế cho nên bạn hoàn toàn có thể tham khảothêm về Vi điều khiển ở những sách này. – VDK 89S tính năng hơn hẳn 89C, trong khi Ngân sách chi tiêu tương tự mà tínhnăng lại nhiều hơn so với 89C. Ví dòng MCU này dùng chính sách nạpISP ( InSystem Programming ) nên việc nạp cho nó rât đơn thuần và rẻ tiền. 89S xx cóchế độ nạp tiếp nối đuôi nhau với mạch nạp đơn thuần có năng lực nạp ngay trên bo mạchmà không cần tháo chip vi điều khiển sang mạch khác để nạp chương trình vànhiều tính năng nâng cấp cải tiến khác. 89S52 có năng lực xóa và viết lại chương trìnhnhiều lần. Đối với 89C thì ta phải sử dụng thêm một con làm master. Còn với 89S52 thì không cần con master, ta nạp trực tiếp. Và giá tiền cho một mạch là rấtrẻ. Toàn bộ câu trúc phần cứng thích hợp trọn vẹn, mọi chương trìnhviết cho 89C đều chạy tốt trên 89S52 – 89S52 có dung tích RAM 128 byte, dung tích ROM 8 Kyte, chính sách nạpnối trực tiếp. 2.2. Khảo sát sơ đồ chânIC 89S52 có 40 chân cho những tính năng khác nhau như : vào ra I / 0, đọc, ghi, địa chỉ, tài liệu và ngắt. Tuy nhiên, vì hầu hết những nhà tăng trưởng chính dụngchíp đóng vỏ 40 chân với hai hàng chân DIP, nên tất cả chúng ta cùng khảo sát Viđiều khiển với 40 chân dạng DIP.Page 10N hóm 8 – Điện 4 – K7BÀI TẬP LỚN MÔN : VI XỬ LÝGVHD : Đỗ Duy PhúHình 2.2. Sơ đồ chân1. Chân VCC : Chân số 40 là VCC cấp điện áp nguồn cho Vi điều khiểnNguồn điện cấp là + 5V ± 0.5.2. Chân GND : Chân số 20 nối GND ( hay nối Mass ). Khi phong cách thiết kế cần sử dụng một mạch ổn áp để bảo vệ cho Vi điều khiển, cáchđơn giản là sử dụng IC ổn áp 7805.3. Port 0 ( P0 ) Port 0 gồm 8 chân ( từ chân 32 đến 39 ) có hai công dụng : – Chức năng xuất / nhập : Các chân này được dùng để nhận tín hiệu từ bênngoài vào để xử lí, hoặc dùng để xuất tín hiệu ra bên ngoài, ví dụ điển hình xuất tínhiệu để điều khiển led đơn sáng tắt. – Chức năng là bus tài liệu và bus địa chỉ ( AD7-AD0 ) : 8 chân này ( hoặc Port0 ) còn làm trách nhiệm lấy tài liệu từ ROM hoặc RAM ngoại ( nếu có liên kết vớibộ nhớ ngoài ), đồng thời Port 0 còn được dùng để định địa chỉ của bộ nhớngoài. 4. Port 1 ( P1 ) Port P1 gồm 8 chân ( từ chân 1 đến chân 8 ), chỉ có tính năng làm cácđường xuất / nhập, không có tính năng khác. Page 11N hóm 8 – Điện 4 – K7BÀI TẬP LỚN MÔN : VI XỬ LÝGVHD : Đỗ Duy Phú5. Port 2 ( P2 ) Port 2 gồm 8 chân ( từ chân 21 đến chân 28 ) có hai tính năng : – Chức năng xuất / nhập – Chức năng là bus địa chỉ cao ( A8-A15 ) : khi liên kết với bộ nhớ ngoài códung lượng lớn, cần 2 byte để định địa chỉ của bộ nhớ, byte thấp do P0 đảmnhận, byte cao do P2 này đảm nhiệm. 6. Port 3 ( P3 ) Port 3 gồm 8 chân ( từ chân 10 đến 17 ) : – Chức năng xuất / nhập – Với mỗi chân có một công dụng riêng thứ hai như trong bảng sau : Bảng 1.3. Chức năng những chân trong Port 3B itTênChức năngP3. 0R xDNgõ vào nhận tài liệu nối tiếpP3. 1T xDNgõ xuất dữ liệu nối tiếpP3. 2INT0 Ngõ vào ngắt cứng thứ 0P3. 3INT1 Ngõ vào ngắt cứng thứ 1P3. 4T0 Ngõ vào của Timer / Counter thứ 0P3. 5T1 Ngõ vào của Timer / Counter thứ 1P3. 6WRN gõ điều khiển ghi tài liệu lên bộ nhớ ngoàiP3. 7RDN gõ điều khiển đọc tài liệu từ bộ nhớ bênngoàiP1. 0T2 Ngõ vào của Timer / Counter thứ 2P1. 1T2 XNgõ Nạp lại / thu nhận của Timer / Counter thứPage 12N hóm 8 – Điện 4 – K7BÀI TẬP LỚN MÔN : VI XỬ LÝGVHD : Đỗ Duy Phú7. Chân RESET ( RST ) Ngõ vào RST ở chân 9 là ngõ vào Reset dùng để thiết lập trạng thái banđầu cho vi điều khiển. Hệ thống sẽ được thiết lập lại những giá trị bắt đầu nếungõ này ở mức 1 tối thiểu 2 chu kì máy. 8. Chân XTAL1 và XTAL2Hai chân này có vị trí chân là 18 và 19 được sử dụng để nhận nguồnxung clock từ bên ngoài để hoạt động giải trí, thường được ghép nối với thạch anh vàcác tụ để tạo nguồn xung clock không thay đổi. 9. Chân được cho phép bộ nhớ chương trình PSENPSEN ( program store enable ) tín hiệu được xuất ra ở chân 29 dùng đểtruy xuất bộ nhớ chương trình ngoài. Chân này thường được nối với chân OE ( output enable ) của ROM ngoài. Khi vi điều khiển thao tác với bộ nhớ chương trình ngoài, chân này phátra tín hiệu kích hoạt ở mức thấp và được kích hoạt 2 lần trong một chu kì máyKhi thực thi một chương trình ở ROM nội, chân này được duy trì ở mứclogic không tích cực ( logic 1 ) ( Không cần liên kết chân này khi không sử dụng đến ) 10. Chân ALE ( chân được cho phép chốt địa chỉ-chân 30 ) Khi Vi điều khiển truy xuất bộ nhớ từ bên ngoài, port 0 vừa có chức nănglà bus địa chỉ, vừa có công dụng là bus tài liệu do đó phải tách những đường dữliệu và địa chỉ. Tín hiệu ở chân ALE dùng làm tín hiệu điều khiển để giải đahợp những đường địa chỉ và những đường tài liệu khi liên kết chúng với IC chốt. Các xung tín hiệu ALE có vận tốc bằng 1/6 lần tần số xê dịch đưa vào Viđiều khiển, như vậy hoàn toàn có thể dùng tín hiệu ở ngõ ra ALE làm xung clock cungcấp cho những phần khác của mạng lưới hệ thống. – Ghi chú : khi không sử dụng hoàn toàn có thể bỏ trống chân này11. Chân EAChân EA dùng để xác lập chương trình triển khai được lấy từ ROM nộihay ROM ngoại. Khi EA nối với logic 1 ( + 5V ) thì Vi điều khiển thực thi chương trình lấytừ bộ nhớ nộiKhi EA nối với logic 0 ( 0V ) thì Vi điều khiển thực thi chương trình lấy từbộ nhớ ngoại. Page 13N hóm 8 – Điện 4 – K7BÀI TẬP LỚN MÔN : VI XỬ LÝGVHD : Đỗ Duy Phú2. 3. Sơ đồ khối của IC 89S52 Hình 2.3. Sơ đồ khối của IC 89S52 Page 14N hóm 8 – Điện 4 – K7BÀI TẬP LỚN MÔN : VI XỬ LÝGVHD : Đỗ Duy PhúCHƯƠNG 3 : TỔNG QUAN VỀ LCD3. 1. Phân loại LCDCó thể chia những module LCD làm hai loại chính : – Loại hiển thị ký tự ( character LCD ) gồm có những kích cỡ 16×1 ( 16 ký tự 1 dòng ), 16×2 ( 16 ký tự x 2 dòng ) ; 16 x 4 ( 16 ký tự x 4 dòng ) ; 20 x 1 ( 20 ký tự x1dòng ) v.v.. – Loại hiển thị đồ họa ( graphic LCD ) đen trắng hoặc màu, gồm những kích cỡ1, 47 inch ( 128 x128 điểm ảnh ) ; 1,8 inch ( 128 x 160 điểm ảnh ) ; 2,4 inch ( 240×320 điểm ảnh ) .. v.v … Page 15N hóm 8 – Điện 4 – K7BÀI TẬP LỚN MÔN : VI XỬ LÝGVHD : Đỗ Duy PhúMô tả về những chân của Màn hình LCD 16×2 Bảng 3.1. Các chân của màn hình hiển thị LCD 16×2 ChâKýhiệuI / OMô tảVSSĐấtVCCNguồn + 5VVEEC ấp nguồn điều khiển phảnRS = 0 chọn thanh ghi lệnhRSRS = 1 chọn thanh dữ liệuR / WR / W = 1 đọc tài liệu. R / W = 0 ghi dữliệuI / OCho phépDB0I / OCác bít dữ liệuDB1I / OCác bít dữ liệuDB2I / OCác bít dữ liệu10DB3I / OCác bít dữ liệu11DB4I / OCác bít dữ liệu12DB5I / OCác bít dữ liệu13DB6I / OCác bít dữ liệu14DB7I / OCác bít dữ liệuChức năng của những chân : – Chân Vcc : cấp nguồn dương – Chân Vss : cấp nguồn âm – Chân VEE : điều khiển độ tương phản của LCDPage 16N hóm 8 – Điện 4 – K7BÀI TẬP LỚN MÔN : VI XỬ LÝGVHD : Đỗ Duy Phú – Chân chọn thanh ghi RS : có hai thanh ghi rất quan trọng trong LCD, chân RS ( register select ) được dùng để chọn thanh ghi như sau : Nếu RS = 1 thì thanh ghidữ liệu được chọn được cho phép người dùng gửi tài liệu cần hiể thị về LCD ; NếuRS = 0 thì thanh ghi mà lệnh được chọn để cho phép người dùng gửi một lệnhchẳng hạn như lệnh xóa màn hình hiển thị, đưa con trỏ về đầu dòng … – Chân đọc / ghi ( R / W ) : đầu vào đọc / ghi được cho phép người dùng ghi thông tin lênLCD khi R / W = 0 hoặc đọc thông tin từ nó khi R / W = 1 – Chân được cho phép E ( Enable ) : Chân được cho phép E được sử dụng bởi LCD để chốtdữ liệu của nó. Khi tài liệu được cấp đến chân tài liệu thì một xung mức caoxuống thấp phảiđược áp đến chân này để LCD chốt tài liệu trên những chân tài liệu. Xung nàyphải rộng tối thiểu 450 ns. – Chân D0 D7 : Đây là 8 chân tài liệu 8 bit, được dùng để gửi thông điệp lênLCD hoặc đọc nội dung những thanh ghi trong LCD. Để hiển thị những vần âm vàcác số lượng, tất cả chúng ta gửi mã ASCII của những vần âm từ A đến Z, a đến z và cáccon số từ 0 đến 9 đến những chân này khi bật RS = 1. Cũng có những mã lệnh có thểđược gửi đến LCD để xóa màn hình hiển thị hoặc dưa con trỏ về đầu dòng hoặc nhấpnháy con trỏ – Chú ý : Chúng ta cũng được sử dụng RS = 0 để kiểm tra bí cờ bận để xem LCDcó sẵn sàng chuẩn bị nhận thông tin. Cờ bận là bit D7 và hoàn toàn có thể được đọc khi R / W = 1 vàRS = 0 như sau : Nếu R / W = 1, RS = 0 khi D7 = 1 ( cờ bận 1 ) thì LCD bận bởi cáccông viêc bên trong và sẽ không nhận bất kể thông tin mới nào. Khi D7 = 0 thìLCD chuẩn bị sẵn sàng nhận thông tin mới. Lưu ý tất cả chúng ta nên kiểm tra cờ bận trướckhi ghi bất kỳ dữ liệu nào lên LCD.Chân 15 và 16 : ghi là A và K. Nó là a nốt và ca tốt của một đèn LED dùng đểchiếu sáng LCD trong bóng tối. Chúng ta không sử dụng. Nếu muốn dùng thìnối chân A qua một điện trở từ 1 k đến 5 k lên dương 5V, chân K xuống đất đènsẽ sáng. Page 17N hóm 8 – Điện 4 – K7BÀI TẬP LỚN MÔN : VI XỬ LÝGVHD : Đỗ Duy PhúBảng 3.2. Mã lệnh của LCDMãlệnh ( hexLệnh đến thanh ghi của LCDXóa màn hình hiển thị hiển thịTrở về đầu dòngGiảm con trỏ ( dịch con trỏ sang trái ) Tăng con trỏ ( dịch con trỏ sang phải ) Dịch hiển thị sang phảiDịch hiển thị sang tráiTắt con trỏ, tắt hiển thịTắt hiển thi, bật con trỏTắt con trỏ, bật hiển thịBật hiển thị, nhấp nháy con trỏTắt hiển thị, nhấp nháy con trỏ10Dịch vị trí con trỏ sang trái14Dịch vị trí con trỏ sang phải18Dịch hàng loạt hiển thị sang trái1CDịch hàng loạt hiển thị sang phải80Ép con trỏ về đầu dòng thứ nhấtC0Ép con trỏ về đầu dòng thứ hai38Hai dòng và ma trận 5×7 Page 18N hóm 8 – Điện 4 – K7BÀI TẬP LỚN MÔN : VI XỬ LÝGVHD : Đỗ Duy Phú3. 2. Nguyên tắc hiển thị ký tự trên màn hình hiển thị LCDMột chương trình hiển thị ký tự trên LCD sẽ đi theo 4 bước sau : Xóa hàng loạt màn hình hiển thị Đặt chính sách hiển thị Đặt vị trí con trỏ ( Nơi mở màn của ký tự hiển thị ) Hiển thị ký tựChú ý : + Các bước 3,4 hoàn toàn có thể lặp đi lặp lại nhiều lần nếu hiển thị nhiều ký tự + Chế độ hiển thị mặc định sẽ là hiển thị dịch, vị trí con trỏ mặc định sẽ làdòng thứ nhấtĐể điều khiển hoạt động giải trí của LCD nên sử dụng port 2 hoặc port 1 cho việcxuất nhập tài liệu, những chân tạo tín hiệu điều khiển RS, RW, EN_LCD có thểchọn tùy ý trong những chân của những Port còn lại. Hình vẽ dưới là ví dụ về mạchghép nối giữa vi điều khiển 8051 với module LCD 16×2. Port 2 của vi điềukhiển được nối tới buz tài liệu của LCD, những chân P1. 0, P1. 1, và P1. 2 của port1 dùn để tạo những tín hiệu điều khiển LCD.Page 19N hóm 8 – Điện 4 – K7BÀI TẬP LỚN MÔN : VI XỬ LÝGVHD : Đỗ Duy PhúCHƯƠNG 4 : SƠ ĐỒ NGUYÊN LÝ VÀ MẠCH IN4. 1. Sơ đồ nguyên lý4. 1.1. Khối nguồnHình 4.1. Khối nguồnKhối nguồn sử dụng điện áp nguồn vào là điện áp xoay chiều 12V. Qua khốinguồn sẽ thu được điện áp DC 5VP age 20N hóm 8 – Điện 4 – K7BÀI TẬP LỚN MÔN : VI XỬ LÝGVHD : Đỗ Duy Phú4. 1.2. Khối điều khiển : vi giải quyết và xử lý 89S52 Hình 4.2. Khối điều khiểnChân 20 được nối mass, chân 40 nối nguồn 5VC hân 18,19 nối vớiChân 9 nối với bộ reset. Chân 31 nối với nguồn 5VP age 21N hóm 8 – Điện 4 – K7BÀI TẬP LỚN MÔN : VI XỬ LÝGVHD : Đỗ Duy Phú4. 1.3. Khối hiển thịHình 4.3. Khối hiển thị4. 1.4. Nút ấnHình 4.4. Nút ấnPage 22N hóm 8 – Điện 4 – K7BÀI TẬP LỚN MÔN : VI XỬ LÝGVHD : Đỗ Duy Phú4. 1.5. Khối cảm biếnHình 4.5. Khối cảm biếnPage 23N hóm 8 – Điện 4 – K7BÀI TẬP LỚN MÔN : VI XỬ LÝGVHD : Đỗ Duy PhúSau khi ghép nối những khối sẽ có mạch hoàn hảo như sau : Page 24N hóm 8 – Điện 4 – K7BÀI TẬP LỚN MÔN : VI XỬ LÝGVHD : Đỗ Duy PhúNguyên lí hoạt động giải trí : Khi cấp nguồn Vcc thì mạch mở màn hoạt động giải trí. – Khi nhấn tổng hợp những phím thì ngay lập tức gửi một xung đến IC AT89S52. AT89S52 sẽ triển khai mã hóa, giải thuật và chuyển xung gửi đến thành dữ liệuvà sau đó tín hiệu được xuất lên LCD để hiển thị ( từ p. 0.0 => p. 0.7 ). Nhưng trước khi gửi tài liệu lên LCD thì phải kiểm tra LCD. Nếu LCD rỗi thìdữ liệu sẽ được hiển thị và ngược lại nếu LCD bận thì tài liệu chưa được hiểnthị và gửi thông tin cho IC vi xử lí ( AT89S52 ) qua chân RS và RW.Nguyên tắc kiểm tra bận như sau : Nếu RW = 1 ; RS = 0 khi D7 = 1 thì LCD bận bởi những việc làm bên trong và sẽkhông nhận bất kể thông tin nào từ IC vi xử lí. Khi D7 = 0 thì LCD sẵn sang nhận thông tin từ IC vi xử lí. Ở đây : + RW là chân đọc / ghi, được cho phép người dung ghi thông tin lên LCD.RW = 0 ( ghi ) ; RW = 1 ( đọc thông tin ). + RS chọn thanh ghi : RS = 0 thanh ghi lệnh được chọn để cho phép người dung gửi một lệnh lênLCD. RS = 1 thanh ghi tài liệu được chọn được cho phép người dùng gửi tài liệu cầnhiển thị lên LCD – Khi không nhấn phím thì xung ở mức 0P age 25N hóm 8 – Điện 4 – K7