Tải bản đầy đủ (.doc) (27 trang)

ĐỒ án GIAO TIẾP PC với bàn PHÍM máy TÍNH QUA CỔNG PS2 HIỂN THỊ 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 (650.77 KB, 27 trang )

Đồ án Vi điều khiển & ghép nối thiết bị ngoại vi

Mạch Quang Báo

LỜI NÓI ĐẦU

Cùng với sự phát triển của xã hội trong tất cả các lĩnh vực của đời sống, nhu cầu
quảng bá của các tổ chức, doanh nghiệp, cá nhân cũng là một cách thúc đẩy để nhằm đưa
hình ảnh của mình đến gần hơn với công chúng. Có rất nhiều hình thức quảng bá khác
nhau thông qua các phương tiện thông tin đại chúng như báo, đài, TV, Internet... Giờ đây,
khi đi dọc các tuyến đường của thành phố, chúng ta đã không còn xa lạ với hình ảnh của
các bảng điện tử phát sáng đủ loại màu sắc, hình ảnh và hiệu ứng khác nhau của các
doanh nghiệp, các trung tâm thương mại, các cửa hiệu. Đó chính là các bảng Quang báo.
Không chỉ với mục đích đó, các bảng Quang báo còn được dùng để hiển thị các thông tin
cần thiết như thông báo thời gian, biển chỉ dẫn, bảng cập nhật giá cả...và được sử dụng
rộng rãi trong các nhà ga, sân bay, ngân hàng, các sàn giao dich...Có thể nói, ứng dụng
của Quang báo là khá đa dạng. Và chính bởi tính chất hiện đại và khả năng hiển thị thông
tin rõ ràng mà hiện nay Quang báo được sử dụng ngày càng phổ biến.
Đề tài “Mạch Quang báo” là một trong những đề tài cơ bản của mạch Quang báo
nói chung. Tìm hiểu về đề tài này sẽ giúp chúng ta có được một cái nhìn chi tiết và rõ ràng
hơn về nguyên tắc hiển thị của các bảng LCD. Khi nắm bắt được nguyên tắc đó, sẽ là vô
cùng thú vị nếu chúng ta sử dụng nó làm cơ sở cho những ứng dụng Quang báo phục vụ
trong đời sống hàng ngày.

SVTH: Nguyễn Viết Trung Hòa

1

GVHD: Ths Lê Xứng



Đồ án Vi điều khiển & ghép nối thiết bị ngoại vi

CHƯƠNG 1:

Mạch Quang Báo

GIỚI THIỆU ĐỀ TÀI

1.1 Yêu cầu đề tài
Mạch quang báo sử dụng bàn phím PS2 có nhiệm vụ hiển thị văn bản cùng với các hiệu ứng
theo mong muốn của người sử dụng. Văn bản được nhập trực tiếp thông qua một bàn phím
máy tính gắn ngoài. Cụ thể ở đây là bàn phím PS2 khi ta nhấn phím thì nội dung của phím sẽ
được hiển thị trên LCD và hiển thị theo hiệu ứng đã định trước
1.2 Sơ đồ khối:

BÀN PHÍM PC

VI ĐIỀU KHIỂN
89S52

LCD 16x2

KHỐI NGUỒN

SVTH: Nguyễn Viết Trung Hòa

2

GVHD: Ths Lê Xứng



Đồ án Vi điều khiển & ghép nối thiết bị ngoại vi

Mạch Quang Báo

1.3 Phân tích nhiệm vụ và hoạt động của từng khối
1.3.1 Khối nhập
Yêu cầu dùng bàn phím PS/2 để tạo dữ liệu vào. Khi ta nhấn phím thì nội dung
hiển thị sẽ được lưu trong vi điều khiển, dựa trên cơ chế hoạt dộng của bàn phím
khi nhấn phím để xây dựng được thuật toán đọc dữ liệu vào khối vi điều khiển.
1.3.2 Khối xuất
Là LCD 16x2 hiển thị được nội dung mà bàn phím nhập vào.
1.3.3 Khối vi điều khiển
Yêu cầu của khối điều khiển là phải nhận được ký tự nhập từ bàn phím và phải
xử lý thông tin nhận được và biến nó qua kiểu thông tin với những đặc điểm phù hợp
với khối hiển thị.
1.3.4 Khối nguồn
Cung cấp điện áp cho các khối khác hoạt động

SVTH: Nguyễn Viết Trung Hòa

3

GVHD: Ths Lê Xứng


Đồ án Vi điều khiển & ghép nối thiết bị ngoại vi

CHƯƠNG 2:


Mạch Quang Báo

SƠ ĐỒ MẠCH

2.1 KHỐI NHẬP:
Yêu cầu đặt ra là dùng bàn phím PS2. Nên ta dùng bàn phím PS2 được thiết kế
theo tiêu chuẩn mà IBM đưa ra
Sơ đồ chân đầu cắm bàn phím:

Đầu cắm bàn phím PS/2
Chân 1: chân dữ liệu
Chân 2: không dùng
Chân 3: GND
Chân 4: Vcc ( 5V)
Chân 5: chân clock
Chân 6: không dùng
Ghép nối với vi điều khiển 89S52:

SVTH: Nguyễn Viết Trung Hòa

4

GVHD: Ths Lê Xứng


Đồ án Vi điều khiển & ghép nối thiết bị ngoại vi

Mạch Quang Báo

Nguyên lý hoạt động

Để hiểu rõ cách thức truyền dữ liệu của bàn phím ta xét khung truyền số liệu của bàn phím

Cấu trúc truyền số liệu của bàn phím
Start: bit start ( luôn bằng 0)
D0- D7 : các bit dữ liệu
P : bit Parity, bit chẵn lẻ
Stop : bit stop (luôn luôn bằng 1)
Mỗi một phím khi nhấn sẽ được gán cho một mã quét gồm 1byte. Khi nhả phím sẽ
Gán cho một mã quét gồm 2 byte. Có phím được gán 2 byte cho nhấn phím và 3 byte
cho nhả phím…
Trường hợp khi nhấn phím xuống trong khoảng thời gian dài thì sau 0,5s ( tùy vào từng bàn
phím) bàn phím sẽ phát liên tục byte đó.
Mã quét bàn phím ( Scancodes)

Mã quét bàn phím
Tần số phát dữ liệu của bàn phím 10Khz – 30Khz
Áp hoạt động 5V
Dòng ra 10-20mA

SVTH: Nguyễn Viết Trung Hòa

5

GVHD: Ths Lê Xứng


Đồ án Vi điều khiển & ghép nối thiết bị ngoại vi

Mạch Quang Báo


Ở đồ án quang báo này sẽ giao tiếp các phím sau:
+ 26 phím alphabet: A,B,C,…,X,Y,Z
+Các phím số: 0,1,…,9
+Phím: space, dấu phẩy “,” ; dấu chấm “.”
2.2 KHỐI VI ĐIỀU KHIỂN:

2.3 KHỐI XUẤT:
Mạch quang báo sử dụng khối hiển thị là LCD 16x2.
2.3.1 Ghép nối vi điều khiển với LCD 16x2.
Bảng mô tả sơ đồ chân của LCD 16x2:
Chân
1
2
3
4

Ký hiệu
VSS
VDD
VEE
RS

I/O
I

5
6
7
8


R/W
E
DB0
DB1

I
I/O
I/O
I/O

SVTH: Nguyễn Viết Trung Hòa

Mô tả
Mass
Dương nguồn 5V
Cấp nguồn điều khiển tương phản
RS=0 chọn thanh ghi lệnh
RS=1 chọn thanh ghi dữ liệu
R/W=1 đọc dữ liệu, R/W=0 ghi
Cho phép
Bit dữ liệu
Bit dữ liệu
6

GVHD: Ths Lê Xứng


Đồ án Vi điều khiển & ghép nối thiết bị ngoại vi

Mạch Quang Báo


9
DB2
I/O
Bit dữ liệu
10
DB3
I/O
Bit dữ liệu
11
DB4
I/O
Bit dữ liệu
12
DB5
I/O
Bit dữ liệu
13
DB6
I/O
Bit dữ liệu
14
DB7
I/O
Bit dữ liệu
Chân 15 và 16 là A và K. Nó được nối với 2 chân của 1 con Led dùng để sáng LCD.
Sơ đồ ghép nối LCD với vi điều khiển:

2.3.2 Nguyên lí hoạt động của LCD:
- Chân VDD,VSS , và VEE: Các chân VSS và VDD cấp dương nguồn 5V và mass tương ứng.

Chân VEE được dùng để điều khiển độ tương phản.
- Chân chọn thanh ghi RS(Register Select): có 2 thanh ghi trong LCD chân RS được
dùng để chọn thanh ghi. nếu RS=0 thì thanh ghi mã lệnh được chọn để cho phép người
dùng gửi 1 lệnh lên chẳng hạn như xoá 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ị lên LCD.
- Chân đọc/ghi (R/W): đầu vào đọc/ghi cho phép người dùng đọc thông tin từ LCD khi
R/W=1 hoặc ghi thông tin lên LCD.
- Chân cho phép E(Enable): chân cho phép đượ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ì 1 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 có độ rộng tối thiểu 450ns.
- Chân DB0-DB7: đây là đường dữ liệu 8 bít, được dùng để gửi thông tin 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
SVTH: Nguyễn Viết Trung Hòa

7

GVHD: Ths Lê Xứng


Đồ án Vi điều khiển & ghép nối thiết bị ngoại vi

Mạch Quang Báo

mã ASCII của các chữ cái từ A đến Z , a đến z và các chữ số từ 0 đến 9 đến các chân này
khi bật RS=1.
- Bảng mã lệnh của LCD:
Mã (HEX)
1
2
4

6
5
7
8
0A
0C
0E
0F
10
14
18
1C
80
0C0
38

Lệnh đến thanh ghi của LCD
Xoá màn hình hiển thị
Trở về đầu dòng
Giảm con trỏ mỗi lần ghi lệnh(dịch con trỏ sang trái )
Tăng con trỏ mỗi lần ghi lệnh(dịch con trỏ sang phải)
Dịch hiển thị sang phải
Dịch hiển thị sang trái
Tắt con trỏ, tắt hiển thị
Tắt hiển thị, bật con trỏ
Bật hiển thi, tắt con trỏ
Bật hiển thị, nhấp nháy con trỏ
Nhấp nháy con trỏ
Dịch vị trí con trỏ sang trái
Dịch vị trí con trỏ sang phải

Dịch toàn bộ hiển thị sang trái
Dịch toàn bộ hiển thị sang phải
Ép con trỏ về đầu dòng thứ nhất
Ép con trỏ về đầu dòng thứ 2
Khởi tạo LCD 2 dòng, ma trận 5x7 (với LCD 16x2 ta khởi tạo 2 lần).

2.3 KHỐI NGUỒN:
Chức năng: Tạo nguồn 5V ổn định cung cấp điện áp cho các khối khác hoạt động.
Sơ đồ:

SVTH: Nguyễn Viết Trung Hòa

8

GVHD: Ths Lê Xứng


Đồ án Vi điều khiển & ghép nối thiết bị ngoại vi

Mạch Quang Báo

2.4 SƠ ĐỒ TỔNG CỦA MẠCH:

SVTH: Nguyễn Viết Trung Hòa

9

GVHD: Ths Lê Xứng



Đồ án Vi điều khiển & ghép nối thiết bị ngoại vi

Mạch Quang Báo

SVTH: Nguyễn Viết Trung Hòa

10

GVHD: Ths Lê Xứng


Đồ án Vi điều khiển & ghép nối thiết bị ngoại vi

Mạch Quang Báo

2.5 THI CÔNG MẠCH:

SVTH: Nguyễn Viết Trung Hòa

11

GVHD: Ths Lê Xứng


Đồ án Vi điều khiển & ghép nối thiết bị ngoại vi

CHƯƠNG 3:

Mạch Quang Báo


LƯU ĐỒ THUẬT TOÁN

Hoạt động của mạch:
Ban đầu LCD sẽ hiện 2 dòng thông báo: XIN CHAO
NHAN F1 DE NHAP
Trên bàn phím ta nhấm phím F1 để thực hiện viết quang báo, chương trình thiết lập
viết quang báo ở dòng 1 của LCD, nếu muốn viết tiếp quang báo ở dòng 2 LCD ta phải
nhấn phím F2.
Sau khi viết xong quang báo, để chạy chữ thì ta nhấn phím ENTER.
3.1 Lưu đồ thuật toán chương trình chính :

SVTH: Nguyễn Viết Trung Hòa

12

GVHD: Ths Lê Xứng


Đồ án Vi điều khiển & ghép nối thiết bị ngoại vi

Mạch Quang Báo

3.2 Các chương trình con :
Định nghĩa các ký hiệu như sau để dễ lập trình :
CHANCLOCK BIT P3.3
CHANDATA BIT P3.4
EN BIT P2.2
RW BIT P2.1
RS BIT P2.0
LCD EQU P0


Lưu đồ chương trình con khởi tạo LCD, xóa LCD

SVTH: Nguyễn Viết Trung Hòa

13

GVHD: Ths Lê Xứng


Đồ án Vi điều khiển & ghép nối thiết bị ngoại vi

Mạch Quang Báo

Lưu đồ chương trình con hiện thông báo ban đầu trên LCD :

SVTH: Nguyễn Viết Trung Hòa

14

GVHD: Ths Lê Xứng


Đồ án Vi điều khiển & ghép nối thiết bị ngoại vi

Mạch Quang Báo

Chương trình con ghi chữ lên LCD và ghi lệnh lên LCD

SVTH: Nguyễn Viết Trung Hòa


15

GVHD: Ths Lê Xứng


Đồ án Vi điều khiển & ghép nối thiết bị ngoại vi

Mạch Quang Báo

Chương trình lấy mã scancode từ keyboard và kiểm tra lấy mã phím và chuyển mã
phím để hiển thị LCD

SVTH: Nguyễn Viết Trung Hòa

16

GVHD: Ths Lê Xứng


Đồ án Vi điều khiển & ghép nối thiết bị ngoại vi

Mạch Quang Báo

Chương trình ghi quang báo lên LCD, ghi ký tự ở dòng thứ nhất của LCD, ghi ký tự ở
dòng thứ 2

SVTH: Nguyễn Viết Trung Hòa

17


GVHD: Ths Lê Xứng


Đồ án Vi điều khiển & ghép nối thiết bị ngoại vi

Mạch Quang Báo

Chương trình chạy chữ quang báo

SVTH: Nguyễn Viết Trung Hòa

18

GVHD: Ths Lê Xứng


Đồ án Vi điều khiển & ghép nối thiết bị ngoại vi

Mạch Quang Báo

Các chương trình con : DELAY tạo trễ khoảng 50us dùng để ghi các lệnh lên LCD
DELAY1 tạo trễ khoảng 1s dùng để chạy chữ quang báo
DELAY2 tạo trễ khoảng 2ms dùng để xóa LCD
SVTH: Nguyễn Viết Trung Hòa

19

GVHD: Ths Lê Xứng



Đồ án Vi điều khiển & ghép nối thiết bị ngoại vi

Mạch Quang Báo

SVTH: Nguyễn Viết Trung Hòa

20

GVHD: Ths Lê Xứng


Đồ án Vi điều khiển & ghép nối thiết bị ngoại vi

CHƯƠNG 4 :

Mạch Quang Báo

CHƯƠNG TRÌNH ASEMBLY

CHANCLOCK BIT P3.3
CHANDATA BIT P3.4
EN BIT P2.2
RW BIT P2.1
RS BIT P2.0
LCD EQU P0
ORG 0000H
MAIN:
CALL KHOITAO_LCD
CALL XOA_LCD

CALL HIENTHONGBAO
CALL LAYMAPHIM
CJNE A,#05H,$+6
CALL GHIQUANGBAO
HIENTHONGBAO:
MOV R1,#80H
CALL GHI_LENH
MOV DPTR,#DONG1
ROW1:
CLR A
MOVC A,@A+DPTR
CJNE A,#0FFH,PRINT_1
JMP INDONG_2
PRINT_1:
MOV @R0,A
CALL GHI_CHU
INC DPTR
JMP ROW1
INDONG_2:
MOV R1,#0C0H
CALL GHI_LENH
MOV DPTR,#DONG2
ROW2:
CLR A
MOVC A,@A+DPTR
CJNE A,#0FFH,PRINT_2
JMP EXIT
PRINT_2:
MOV @R0,A
CALL GHI_CHU

INC DPTR
SVTH: Nguyễn Viết Trung Hòa

21

GVHD: Ths Lê Xứng


Đồ án Vi điều khiển & ghép nối thiết bị ngoại vi

Mạch Quang Báo

JMP ROW2
EXIT:
RET
GHIQUANGBAO:
CALL XOA_LCD
MOV R1,#0FH
CALL GHI_LENH
MOV R1,#80H
CALL GHI_LENH
MOV R0,#40H
MOV R3,#0
MOV R4,#0
LAP_1:
CALL LAYMAPHIM
CJNE A,#06H,$+6
CALL GHIKYTU_DONG2
CJNE A,#5AH,NHAN_1
CALL CHAYCHU

NHAN_1:
CALL GHIKYTU_DONG1
JMP LAP_1
GHIKYTU_DONG1:
CALL CHUYENMAPHIM
CALL GHI_CHU
INC R0
INC R3
RET
GHIKYTU_DONG2:
MOV R1,#0C0H
CALL GHI_LENH
MOV R4,#0
LAP_2:
CALL LAYMAPHIM
CJNE A,#5AH,NHAN_2
CALL CHAYCHU
NHAN_2:
CALL CHUYENMAPHIM
CALL GHI_CHU
INC R0
INC R4
JMP LAP_2

SVTH: Nguyễn Viết Trung Hòa

22

GVHD: Ths Lê Xứng



Đồ án Vi điều khiển & ghép nối thiết bị ngoại vi

Mạch Quang Báo

CHAYCHU:
MOV R1,#0CH
CALL GHI_LENH
MOV A,R3
MOV B,R4
LAP_3:
MOV R1,#80H
CALL GHI_LENH
MOV R0,#40H
MOV R3,A
MOV R4,B
LAP_4:
CALL GHI_CHU
INC R0
DJNZ R3,LAP_4
CJNE R4,#0,$+5
SJMP NHAN_3
MOV R1,#0C0H
CALL GHI_LENH
LAP_5:
CALL GHI_CHU
INC R0
DJNZ R4,LAP_5
CALL DELAY1
NHAN_3:

MOV R1,#18H
CALL GHI_LENH
JMP LAP_3

LAYMAPHIM:
LAP_6:
JB CHANCLOCK,$
CALL SCANCODE
CJNE A,#0F0H,LAP_6
JB CHANCLOCK,$
CALL SCANCODE
RET
CHUYENMAPHIM:
CJNE A,#1CH,$+5
MOV @R0,#'A'
CJNE A,#32H,$+5
SVTH: Nguyễn Viết Trung Hòa

23

GVHD: Ths Lê Xứng


Đồ án Vi điều khiển & ghép nối thiết bị ngoại vi

Mạch Quang Báo

MOV @R0,#'B'
CJNE A,#21H,$+5
MOV @R0,#'C'

CJNE A,#23H,$+5
MOV @R0,#'D'
CJNE A,#24H,$+5
MOV @R0,#'E'
CJNE A,#2BH,$+5
MOV @R0,#'F'
CJNE A,#34H,$+5
MOV @R0,#'G'
CJNE A,#33H,$+5
MOV @R0,#'H'
CJNE A,#43H,$+5
MOV @R0,#'I'
CJNE A,#3BH,$+5
MOV @R0,#'J'
CJNE A,#42H,$+5
MOV @R0,#'K'
CJNE A,#4BH,$+5
MOV @R0,#'L'
CJNE A,#3AH,$+5
MOV @R0,#'M'
CJNE A,#31H,$+5
MOV @R0,#'N'
CJNE A,#44H,$+5
MOV @R0,#'O'
CJNE A,#4DH,$+5
MOV @R0,#'P'
CJNE A,#15H,$+5
MOV @R0,#'Q'
CJNE A,#2DH,$+5
MOV @R0,#'R'

CJNE A,#1BH,$+5
MOV @R0,#'S'
CJNE A,#2CH,$+5
MOV @R0,#'T'
CJNE A,#3CH,$+5
MOV @R0,#'U'
CJNE A,#2AH,$+5
MOV @R0,#'V'
CJNE A,#1DH,$+5
MOV @R0,#'W'
CJNE A,#22H,$+5
MOV @R0,#'X'
CJNE A,#35H,$+5
SVTH: Nguyễn Viết Trung Hòa

24

GVHD: Ths Lê Xứng


Đồ án Vi điều khiển & ghép nối thiết bị ngoại vi

Mạch Quang Báo

MOV @R0,#'Y'
CJNE A,#1AH,$+5
MOV @R0,#'Z'
CJNE A,#29H,$+5
MOV @R0,#' '
CJNE A,#16H,$+5

MOV @R0,#'1'
CJNE A,#1EH,$+5
MOV @R0,#'2'
CJNE A,#26H,$+5
MOV @R0,#'3'
CJNE A,#25H,$+5
MOV @R0,#'4'
CJNE A,#2EH,$+5
MOV @R0,#'5'
CJNE A,#36H,$+5
MOV @R0,#'6'
CJNE A,#3DH,$+5
MOV @R0,#'7'
CJNE A,#3EH,$+5
MOV @R0,#'8'
CJNE A,#46H,$+5
MOV @R0,#'9'
CJNE A,#45H,$+5
MOV @R0,#'0'
CJNE A,#41H,$+5
MOV @R0,#','
CJNE A,#49H,$+5
MOV @R0,#'.'
RET
SCANCODE:
CLR A
MOV R5,#8
LAP_7:
JNB CHANCLOCK,$
JB CHANCLOCK,$

MOV C,CHANDATA
RR A
MOV ACC.7,C
JNB CHANCLOCK,$
DJNZ R5,LAP_7
JNB CHANCLOCK,$
SVTH: Nguyễn Viết Trung Hòa

25

GVHD: Ths Lê Xứng


×