Dùng 8051 điều khiển chạy chữ trên màn hình LCD
Họ và tên: LÊ NGỌC PHÚC
Lớp: CDDT9QN
MSSV: 0782743
BÀI TIỂU LUẬN VI XỬ LÝ
ĐỀ TÀI : Chạy chữ trên màn hinh LCD, ứng dụng IC 8051
MỤC LỤC
1. Giới thiệu IC 8051
2. Giới thiệu cách lấy linh kin
3. Mô tả về LCD
4. Sơ đồ giao tiếp
5. Chương trình mô phỏng
6. Chạy mô phỏng
1. Giới thiệu IC 8051:
1.1Giới thiệu họ MSC-51:
MCS-51 là h IC vi điều khiển do hãng I ntel sản xuất. Các IC tiêu biểu cho họ
8051 và 8031. Các sản phẩm MSC-51 thích hợp cho những ứng dụng điu khiển. Việc
x lý trên Byte và c toán số học ở cấu trúc dliệu nhỏ được thực hin bằng nhiu
chế đọ truy xuất dữ liệu nhanh trên RAM nội.
AT89C51 cung cấp nhungx đặc tính chun như sau : 4 KB bộ nhớ chỉ đọc có thể xóa
lập trình nhanh (EPROM), 128 Byte RAM, 32 đường I/O, 2 TIMER/COUNTER 16 Bit,
vecto ngt có cấu trúc 2 mức ngắt, một Port nối tiếp n song công, 1 mạch dao động
tạo xung Clock và dao động ON-CHIP. Thêm vào đó, AT89C51 được thiết kế với logic
tĩnh cho hoạt động đến mức không tần s htrợ hai phần mềm có thể lựa chọn
những chế độ tiết kiện công suất, chế độ chờ (IDLE MODE) sẽ dừng CPU trong khi vẫn
cho phép RAM, timer/counter, port nối tiếp và hệ thống ngát tiếp tục hot động. Chế
độ giảm công suất sẽ lưu nội dung RAM những sẽ treo bộ dao động làm khả năng hot
động ca tất cả những chức năng khác cho đến khi Reset hệ thống.
1.2 Sơ đồ khối của AT89C51 :
http://photo.zing.vn/photo/gallery/detail.5387929.html
1. 3 Sơ đồ chân của AT89C51
http://photo.zing.vn/photo/gallery/detail.5387932.html
1.4Chức năng các chân của AT89C51
-89C51cos tất cả 40 chaancos chức năng như các đường xuất nhập. trong đó có 24
chân có tác dụng kép (có nghĩa 1 chân có 2 chức năng), mỗi dường có thể hoạt động
như đường xuất nhập hoc như đường điều khiển hoặc là thành phần của các bus dữ
liu và bus địa chỉ.
a/.Các port:
Port 0:
Port 0 là port có hai chức năng ở các chân 32-39 của 89C51. trong các thi
ết kế cỡ nhỏ
không dùng bộ nhớ mở rộng, nó có chức năng như các đường IO. Đối với các thiết kế
cỡ lớnbộ nhớ mở rộng, nó được kết hợp giữa bus đa chỉ và bus dữ liệu.
b/.Port 1:
-port 1 là port IO trên các chân 1-8. các chân được kí hiệu p1.0, p1.1, p1.2, có thể
dùng cho giao tiếp với các thiết bị ngoài nếu cần. port 1 không có chức năng khác, vì
vậy chúng ch được dùng cho giao tiếp với các thiết bị bên ngoài.
c/.Port 2:
-port 2 là 1 port có tác dụng kép trên các chân 21-28 đưc dùng như các đường xut
nhập hoặc là byte cao của bus đa chỉ đối vớic thiết bng bộ nhớ mở rộng.
d/.Port 3:
Generated by Foxit PDF Creator © Foxit Software
http://www.foxitsoftware.com For evaluation only.
Port 3 là port có tác dụng kép trên các chân 10-17. các chân của port này có nhiu
chức năng, các công dụng chuyển đổi có liên hệ vớic đặc tính dặt biệt của 89C51
như ở bản sau:
http://photo.zing.vn/photo/gallery/detail.5387937.html
* Các ngõ tín hiệu điều khiển:
Ngõ tín hiệu PSEN:
- PSEN là tín hiêu ngõ ra ở chân 29 có tác dụng cho phép đọc bộ nh chương trình m
rộng thường được nói đén chân OE của Eprom cho phép đọc các byte m rộng .
- PSEN ở mức thấp trong thời gian Microcontroller 8951 lấy lệnh.c mã lệnh của
chương trình được đc từ Eprom qua bus dữ liu và được chốt từ thanh ghi lnh bên
trong 8951 để gii lệnh. Khi 8951 thi hành chương trình trong ROM nội PSEN sẽ
mc logic 1.
Ngõ tín hiệu điu khin ALE(Address latch Enable):
- Khi 89C51 truy xut bộ nhớ bên ngoài, port 0 có chức năng là bus địa chỉ bus dữ
liu do đó phải tách các đường dữ liu và đa chỉ. Tín hiệu ra ALE ở chân thứ 30 dùng
làm tín hiu điều khiển để gii đa hợp các đường đa ch và dữ liệu khi kết nối chúng
với IC chốt.
- Tín hiệu ra chân ALE là một xung trong khoảng thời gian port 0 dóng vai trò là địa
chỉ thấp nên cht đa chỉ hoàn toàn tự động.
- Bộ dao đng được tích hợp bên trong 89C51, khi sử dungj89C51 người thiết kế chỉ
cần kết nối thêm thạch anh và các tụ như hình vẽ trong sơ đ. Tần số thạch anh
thường sử dụng cho 89C51 là 12Mhz.
- Chân 40 (vcc)được nối lên ngu
ồn.các xung tín hiệu ALE có tốc đ bằng 1/6 ln tần số
dao động trên chíp vàthể được dùng làm tín hiu clock cho các phần khác của hệ
thống. chân ALE được dùng làm ngõo xung lp trình cho Eprom trong 89C51.
Ngõ tín hiệu EA\(External Access):
- Tín hiệu vào EA\ ở chân 31 thường được mất lên mức 1 hoặc mức 0. nếu ở mức 1,
89C51 thi hành chương trình từ ROM nội trong khoảng đa chỉ thấp 8KB. Nếu ở mức 0,
89c51 sẽ thi hành chương trình từ bộ nhớ mở rộng. chân EA\ được lấy làm chân cấp
nguồn 21V khi lp trình cho Eprom trong 89c51.
Ngõ tín hiệu RST (Reset):
- Ngõ vào RST ở chân 9 là ngõo reset ca 89C51. khi ngõ vào tín hiệu này đưa lên
cao ít nht là 2 chu kỳ máy, các thanh ghi bên trong được nạp những giá tr tch hợp
để khởi động h thống. khi cấp điện mạch tự động Reset.
Các ngõ vào b dao động X1, X2:nguồn 5V .
2.Giới thiệu cách lấy linh kiện
• Bước 1: Clicko biểu tượng trên thanh công cụ,
http://photo.zing.vn/photo/gallery/detail.5387719.html
tiếp theo clicko chữ P,ta sẽ thấy mt bảng sau:
http://photo.zing.vn/photo/gallery/detail.5387725.html
Pick Device/Symbol từ Menu lệnhhoặc chọn Library
http://photo.zing.vn/photo/gallery/detail.5387729.html
Hoc ta có thể bấm phím P trên bàn phím.
Bước 2: Chọn linh kin 80C51 như sau:
http://photo.zing.vn/photo/gallery/detail.5387733.html
Nhấp đúp vào dòng ch 80C51, ta sẽ thấy:
http://photo.zing.vn/photo/gallery/detail.5387741.html
Sau đó nhấp vào chữ 80C51, ta được:
http://photo.zing.vn/photo/gallery/detail.5387745.html
Generated by Foxit PDF Creator © Foxit Software
http://www.foxitsoftware.com For evaluation only.
Sau đó, chúng ta nhấp chột tráio vùng đặt linh kiện thì chip 80C51 sẽ hiện ra:
http://photo.zing.vn/photo/gallery/detail.5387745.html
ơng tự cho tụ điện, thạch anh, LCD…
Ta nhn pm P trên bàn phím, sau đó, gõ vào keywords từ capacitor, crystal, LCD…
http://photo.zing.vn/photo/gallery/detail.5387767.html
Ta chọn LCD 14 chân:
http://photo.zing.vn/photo/gallery/detail.5387776.html
• Bước 3: Ta chọn nguồn và mass bằng cách:
Click vào biểu tượng: trên thanh công cụ,
http://photo.zing.vn/photo/gallery/detail.5387782.html
Thì hộp thoại sau xuất hiện:
http://photo.zing.vn/photo/gallery/detail.5387792.html
Ta sẽ chọn nguồn khi clicko Power, mass khi clicko Ground.
Đến đây ta sẽ có:
http://photo.zing.vn/photo/gallery/detail.5387798.html
-Nếu chúng ta muốn xoay linh kiện thì ta nhấno biểu tượng: thì các linh kiện sẽ
xoay theo ý muốn của ta.
3. Mô tả về LCD
Trong những năm gần đây LCD đang ngày càng được sử dụng rộngi thay thế dần
c đèn Led.
Mô tả các chân, loi 14 chân.
-VCC: cấp nguồn dương
-VSS: cấp nguồn âm
-VEE: điu khin độ tương phản của LCD
-Chân chọn thanh ghi RS( Register Select)
Có hai thanh ghi rất quan trọng trong LCD, chân RS đưc dùng để chọn thanh ghi này
như sau: Nếu RS =0 thì thanh ghi mà lệnh được chọn để cho phép người dùng gửi một
lnh chẳng hạn như xóa màn hình, đưa con trỏ về đầu dòng…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ển thị trên LCD.
-Chân đọc/ghi (R/W)
Đầu đọ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 thông tin hiện hữu trên chân dữ liệu
của nó. Khi dữ liệu được cung 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ữ liu. Xung này phải
rộng tối thiu là 450 ns.
-Chân D0~D7:
Đây là 8 chân dữ liu 8 bit, được dùng để gửi thông tin trên LCD ho
ặc đọc nội dung ca
c thanh ghi trong LCD.
Để hiển thị các chữ cái và các con số, chúng ta gửi các mã ASCII của các chữ cái từ A
đến Z, a đến f và các con số từ 0~9 đếnc chân này khi bật RS=1
Cũng như các mã lệnh mà có th được gửi đến LCD để xóa màn hình hoặc đưa con trỏ
về vị trí đu dòng hoặc nhấp nháy con trỏ.Chúng ta cũng sử dụng RS=0 để kim tra
bit c bận để xem LCD có sẵn sàng nhận thông tin. Cờ bận là D7 và có thể được đọc
khi R/W=1 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 kì thông tin mớio. Khi D7 tLCD sẵn sàng nhận thông tin mới. L
ưu
ý chúng ta nên kim tra c bận trước khi ghi bất k dữ liu nào lên LCD
Generated by Foxit PDF Creator © Foxit Software
http://www.foxitsoftware.com For evaluation only.
http://photo.zing.vn/photo/gallery/detail.5387811.html
Chân Kí hiệu I/O tả
1 VSS - Đất
2 VCC - Dương 5V
3 VEE - Cấp nguồn điều khiển phản
4 RS I RS=0 chon thanh ghi lệnh.
RS=1 chọn thanh ghi dữ liệu.
5 R/W I R/W=1 đọc dữ liệu. R/W=0 ghi
6 E I/O Cho phép
7 DB0 I/O Các bit dữ liệu
8 DB1 I/O Các bit dữ liệu
9 DB2 I/O Các bit dữ liệu
10 DB3 I/O Các bit dữ liệu
11 DB4 I/O Các bit dữ liệu
12 DB5 I/O Các bit dữ liệu
13 DB6 I/O Các bit dữ liệu
14 DB7 I/O Các bit dữ liệu
Các mã lệnh LCD
Hex
Lệnh đến thanh ghi của LCD
1 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)
5 Tăng con rỏ (dịch con trsang phải)
6 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 thị, bt con trỏ
Generated by Foxit PDF Creator © Foxit Software
http://www.foxitsoftware.com For evaluation only.
C Bật hiển thị, tắt con trỏ
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ỏ đầu dòng thứ hai
38 Hai dòng ma trận
4. Sơ đồ giao tiếp
Cách nối dây:
Nhấn vào biu tượng , tiến hành nối bằng cách nhp chuột vào chân linh kiện và
đến chỗ cần nối. muốn tạo đường bus thì nhno biểu tượng
http://photo.zing.vn/photo/gallery/detail.5387842.html
Sau khi nối hoàn chỉnh bản vẽ sẽ tương tự như sau:
http://photo.zing.vn/photo/gallery/detail.5387852.html
5.Chương trình mô phng
$mod51
; Chương trình hiển thị LCD
; Tần số thạch anh 12MHz
;Khái báo thanh ghi địa chỉ LCD
LCD_CMD_WR equ 0
LCD_DATA_WR equ 1
LCD_BUSY_RD equ 2
LCD_DATA_RD equ 3
;LCD Commands
LCD_CLS equ 1
LCD_HOME equ 2
LCD_SETMODE equ 4
LCD_SETVISIBLE equ 8
LCD_SHIFT equ 16
LCD_SETFUNCTION equ 32
LCD_SETCGADDR equ 64
LCD_SETDDADDR equ 128
;Vtrí chương trình nhảy đến khi reset
org 0000h
jmp start ;nhảy đến chương trình chính
;Bắt đầu chương trình chính
Generated by Foxit PDF Creator © Foxit Software
http://www.foxitsoftware.com For evaluation only.