1. Trang chủ
  2. » Luận Văn - Báo Cáo

Giao tiếp bàn phím ma trận, LCD và PPI8255

29 831 1
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 29
Dung lượng 1,58 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Giao tiếp bàn phím ma trận, LCD và PPI8255

Trang 1

ĐẠI HỌC GIAO THÔNG VẬN TẢI THÀNH PHỐ HỒ CHÍ MINH

KHOA ĐIỆN-ĐIỆN TỬ VIỄN THÔNG

- -BÁO CÁO

Giao tiếp bàn phím ma trận, LCD và PPI8255

GVHD: Thầy Nguyễn Thanh Hiếu

Danh sách nhóm 9:

Nguyễn Thanh DuyNguyễn Thị Các LinhPhan Thị Huỳnh GiaoPhạm Văn Hiếu

Bùi Văn Thời

Trang 2

Nhận xét của Giáo Viên Hướng Dẫn

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

TP.HCM, ngày… .Tháng 12 năm 2013

Giáo viên hướng dẫn

Trang 3

I. Yêu cầu :

Bàn phím ma trận nhận dữ liệu được nhập vào và xuất ra LCD

Trang 4

A PHẦN 1

I. Giới thiệu vi điều khiển 8501

GIỚI THIỆU HỌ MSC-51

MCS-51 là họ IC vi điều khiển do hãng Intel sản xuất Các IC tiêu biểu cho họ là 8051

và 8031 Các sản phẩm MSC-51 thích hợp cho những ứng dụng điều khiển Việc xử lý trên Byte và các toán số học ở cấu trúc dữ liệu nhỏ được thực hiện bằng nhiều chế độ truy xuất dữ liệu nhanh trên RAM nội Chíp này có đặc điểm : 4 port , 8bit , có tốc độ, công suất thấp có lập trình được nhờ bộ nhớ Flash và dùng thuật ngữ lập trình 80C51 Được sử dụng để điều khiển công nghiệp hay tự động hoá AT89C51 cung cấp những đặc tính chuẩn như sau : 4 KB bộ nhớ chỉ đọc có thể xóa và lập trình nhanh (EPROM), 128 Byte RAM, 32 đường I/O, 2 TIMER/COUNTER 16 Bit, vecto ngắt có cấu trúc 2 mức ngắt, một Port nối tiếp bá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ốvà hỗ trợ 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 hoạt độ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 hoạt động của tất cả những chức năng khác cho đến khi Reset hệ thống

Bộ nhớ chương trình bên trong: 4 KB (ROM)

Trang 5

Cấu trúc của 8051

Trang 6

89C51 có tất cả 40 chân có 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 đường có thể hoạt động như đường xuất nhập hoặc như đường điều khiển hoặc là thành phần của các bus dữ liệu và bus địa chỉ.

Các port:

1/ 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ớn có bộ nhớ mở rộng, nó được kết hợp giữa bus địa chỉ và bus dữ liệu.

2/ 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.

3/ 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 xuất nhập hoặc là byte cao của bus địa chỉ đối với các thiết bị dùng bộ nhớ mở rộng.

4/ Port 3 là port có tác dụng kép trên các chân 10-17 các chân, các chân của port này có nhiều chức năng, các công dụng chuyển đổi có liên hệ với các đặc tính đặc biệt của 89C51 như bảng sau

Các ngõ ra tín hiệu điều khiển:

a/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 nói đến chân OE của Eprom cho phép đọc các byte mở rộng

Trang 7

- Psen ở mức thấp trong thời gian Microcontroller 8951 lấy lệnh Các mã lệnh của chương trình đọc từ Eprom qua bus dữ liệu và được chốt từ thanh ghi bên trong

8951 để giải mã lệnh Khi 8951 thi hành chương trình trong Rom nội Psen sẽ ở mức logic1.

b/ Ngõ tín hiệu điều khiển ALE

ALE (Address Latch Enable): cho phép chốt địa chỉ, chân số 30

- Chức năng:

• Là tín hiệu cho phép chốt địa chỉ để thực hiện việc giải đa hợp cho bus địa chỉ byte thấp và bus dữ liệu đa hợp (AD0 – AD7)

• Là tín hiệu xuất, tích cực mức cao

ALE = 0 →trong thời gian bus AD0 - AD7 đóng vai trò là bus D0 - D7

ALE = 1 →trong thời gian bus AD0 - AD7 đóng vai trò là bus A0 - A7

- Khi lập trình cho ROM trong chip thì chân ALE đóng vai trò là ngõ vào của xung lập trình.

EA\ = 0 →Chip 8051 sử dụng chương trình của ROM ngoài

EA\ = 1 →Chip 8051 sử dụng chương trình của ROM trong

- Khi lập trình cho ROM trong chip thì chân EA đóng vai trò là ngõ vào của điện áp lập trình

d/Chân RST

Trang 8

Ngõ vào RST ở chân 9 là ngõ vào reset của 89C51, khi ngõ vào tín hiệu này đưa lên cao ít nhất là 2 chu kỳ máy, các thanh ghi bên trong đươc nạp những giá trị thích hợp

để khởi động hệ thống, khi cấp mạch điện tự động reset.

II. GIỚI THIỆU VỀ PPI 8255

a. Giới thiệu về PPI8255

- PPI: programmable peripheral interface – giao

tiếp ngoại vi lập trình được

- Dùng 8255 để mở rộng I/O từng port có thể

lập trình là input hay output một cách linh

hoạt bằng phần mềm (so sánh với việc thiết kế

I/O port dùng 74LS244 và 74LS373 ở chương 1

→ input hay output được thiết kế “cứng”,cố định)

/RD: Read (Nối với /RD (P3.7) của 8051.)

/WR: Write (Nối với /WR của 8051.)

RESET: khởi động lại 8255 (thường được nối với mạch reset của 8051 hoặc GND

/CS: chọn chíp.)

A0, A1: địa chỉ port (Nối với bus địa chỉ.)

Trang 9

- hoạt động I/O cơ bản của 3 mode:

o Mode 0: I/O đơn giản

o Mode 1: I/O có bắt tay

o Mode 2: bus 2 chiều

Trang 10

b. Sơ đồ ghép nối PPI 8255 với IC 8051

Trang 11

c. Giao tiếp PPI8255 với LCD

Trang 12

III. Giới thiệu về bàn phím giao tiếp 44

Có 2 cách xác định phím nhấn bằng phần cứng và phần mềm:

Ở đây ta xác định mã các phím nhấn bằng phần mềm:

- Khi nhấn phím thì hàng và cột tương ứng sẽ được nối với nhau

- Để xác định được phím nhấn ta quét bàn phím: ta thực hiện quét từng hàng, đầu tiên cho hàng 1 ở mức logic 0, các hàng và cột khác ở mức logic 1, ta đọcgiá trị hàng và cột thông qua Port 1

- Nếu 1 phím nào đó được nhấn: hàng và cột tương ướng nối với nhau và ở mức logic 0, tuân theo quy tắc sau ta xác định mã phím:

+Ta có số hàng là 4: đếm theo thứ tự:

hi = 1(ứng với H4), 2( ứng với H3), 3(ứng với H2), 4(ứng với H1)

ci = 0 (ứng với C1), 4(ứng với C2), 8(ứng với C3), 12(ứng với C4)

Trang 13

Ta có thể thấy các cột hơn kém nhau 4 đơn vị

Ma phimi = (4-hi)+ci

- Ta thực hiện quét 4 lần, lần lượt 4 hàng

- Thuật toán quét bàn phím như sau:

Chương trình quét bàn phím được viết như sau:

SCAN_KEY:

MOV R1,#0FEH

MOV R6,#4SCAN:

Trang 14

RRC AJNC SET_FLAGXCH A,R5

ADD A,#4XCH A,R5DJNZ R4,LOOP2SET_FLAG:

SETB F0MOV A,R5EXIT: MOV R1,#00HMOV R6,#00H

RET

VI Giao tiếp với LCD

- Trong những năm gần đây, LCD đã được sử dụng rộng rãi thay thế cho LED 7 đoạn hay các loại LED nhiều đoạn khác Đó là do giá thành ngày càng giảm của các loại

Trang 15

LCD; khả năng hiển thị đa dạng bao gồm cả chữ số, chữ cái và cả các ký tự graphic; việc tích hợp các bộ điều khiển LCD vào cùng một module, giúp cho CPU khỏi phải điều khiển liên tục việc hiển thị dữ liệu; và sự dễ dàng trong việc lập trình hiển thị trên LCD Để chuẩn hóa việc điều khiển các loại LCD khác nhau, các hãng sản xuất LCD thường sử dụng một loại IC điều khiển là HD44780 của hãng Hitachi Điều này giúp cho việc điều khiển LCD được dễ dàng và chuẩn hóa

Mô tả các chân của LCD

Chân số Tên Mức logic Chức năng

tương phản

L: Thanh ghi lệnh;

H: Thanh ghi dữ liệu

L: Đọc; H: Ghi

Trang 16

• ƒ VSS, VDD: các chân nguồn và GND của LCD

• ƒ Vo: chân điều khiển độ tương phản của màn hình hiển thị

• RS (register select): Có 2 thanh ghi rất quan trọng trong LCD là thanh ghi lệnh và thanh ghi dữ liệu Nếu RSở mức thấp, thanh ghi lệnh sẽ được chọn, cho phép người sử dụng gởi các mệnh lệnh đến LCD chẳng hạn như xóa màn hình hiển thị hoặc chuyển con trỏ về đầu dòng, … Nếu RS ở mứccao, thanh ghi dữ liệu sẽ được chọn, cho phép người sử dụng gởi các dữ liệu ký tự để hiển thị lên LCD

• R/W (read/write): Cho phép ghi các lệnh hay dữ liệu ký tự lên LCD hoặc đọc các dữ liệu ký tự hay thông tin trạng thái từ các thanh ghi của nó

• E (enable): Dùng để chốt các lệnh hay dữ liệu giữa module LCD và cácđường dữ liệu của nó Khi ghi dữ liệu ra màn hình hiển thị LCD, dữ liệu sẽ được chốt khi có xung cạnh xuống ở chân này Xung này phải có độ rộng tối thiểu là

450ns Tuy nhiên, khi đọc dữ liệu ra từ LCD, sau khi có xung cạnh lên ở chân này thì dữ liệu đọc được mới là dữ liệu có ý nghĩa

• DB0 – DB7: 8 đường bus dữ liệu (từ D0 đến D7) Dữ liệu có thể được chuyển đến và lấy ra khỏi bộ hiển thị LCD theo dạng một byte 8 bit hay dạng hai nửa byte 4 bit.

Trang 17

Trong trường hợp sau chỉ có 4 đường dữ liệu cao được sử dụng (từ D4 đến D7) Chế độ 4 bit này thuận tiện khi sử dụng vi xử lý vì cần có ít đường I/O hơn

*Bảng ký tự chuẩn của LCD (ROM CODE A00)

Trang 18

- Chương trình con kiểm tra trạng thái bận của LCD

Trang 19

WAIT_LCD:

CLR E ; E = 0 để tạo cạnh lên, bắt đầu lệnh LCD CLR RS ;chọn chế độ gởi lệnh

SETB RW ;chọn chế độ đọc dữ liệu

MOV DATA,#0FFH ;chọn DATA là input

SETB E ;tạo cạnh lên

MOV A,DATA ;đọc giá trị trả về

JB ACC.7,WAIT_LCD ;nếu DB7 = 1, LCD vẫn bận

CLR RW ;tắt RW cho các lệnh LCD kế

Trang 20

LCALL WAIT_LCD ;chờ đến khi LCD hết bận

SETB E ;E = 1 để tạo cạnh xuống, bắt đầu lệnh CLR RS ;chọn chế độ gởi lệnh

MOV DATA,#0EH ;LCD on, cursor off

CLR E ;tạo cạnh xuống trên E

LCALL WAIT_LCD ;chờ đến khi LCD hết bận

SETB E ;E = 1 để tạo cạnh xuống, bắt đầu lệnh CLR RS ;chọn chế độ gởi lệnh

MOV DATA,#06H ;vị trí cursor tự động dịch sang phải khi có CLR E ;tạo cạnh xuống trên E

LCALL WAIT_LCD ;chờ đến khi LCD hết bận

Trang 21

RET

Ghi ra màn hình

WRITE_TEXT: SETB E

SETB RS MOV DATA,A CLR E

LCALL WAIT_LCD RET

Trang 22

B Phần 2: thực hành

1. Sơ đồ nguyên lý

2. Lưu đồ giải thuật

Trang 23

KKhai báo

quét phím

Chương trìnhDelay

Chương trình

cho phím

Chương trìnhchính

Trang 24

ACALL QUETPHIM SJMP LOOP

CAUHINH_PPI8255:

SETB P3.4 SETB P3.5 MOV DATA_LCD,#83H SETB P3.6

CLR P3.7 SETB P3.7 RET

DELAY:

MOV TMOD,#01H MOV TH0,#HIGH(-50000) MOV TL0,#LOW (-50000) SETB TR0

CLR TF0 JNB TF0,$

CLR TF0 CLR TR0 RET

XUAT_CHUOI:

MOV R0,#0HL1: MOV A,R0MOVC A,@A+DPTRCJNE A,#0H,CONT_WRITE

Trang 25

TRO O VI TRI HANG TREN NGOAI

CUNG BEN TRAI

CLR P3.7 SETB P3.7 CLR E LCALL DELAY RET

XUAT_DATA:

SETB E SETB RS CLR RW CLR P3.4 CLR P3.5 CJNE R1,#0FH,XUAT MOV R2,#0C0H ACALL XUAT_LENH XUAT:

INC R1 MOV DATA_LCD,R3 SETB P3.6

CLR P3.7 SETB P3.7 CLR E LCALL DELAY

Trang 26

CHU_A:

ACALL CHONGRUNG

MOV R3,#41H ACALL XUAT_DATA SETB H1

LJMP THOAT

HIEN4:

ACALL CHONGRUNG MOV R3,#34H ACALL XUAT_DATA SETB H2

LJMP THOAT

HIEN5:

ACALL CHONGRUNG MOV R3,#35H ACALL XUAT_DATA SETB H2

LJMP THOAT

HIEN6:

ACALL CHONGRUNG MOV R3,#36H ACALL XUAT_DATA SETB H2

LJMP THOATCHU_B:

Trang 27

LJMP THOAT

HIEN8:

ACALL CHONGRUNG MOV R3,#38H ACALL XUAT_DATA SETB H3

LJMP THOAT

HIEN9:

ACALL CHONGRUNG MOV R3,#39H ACALL XUAT_DATA SETB H3

LJMP THOAT

CHU_C:

ACALL CHONGRUNG MOV R3,#43H ACALL XUAT_DATA SETB H3

LJMP THOAT

HIEN_SAO:

ACALL CHONGRUNG

Trang 28

SETB H4 LJMP THOAT

THOAT:

RETSTRING1: DB ' GROUP

9 !!! '

DB 0

EXIT:

END

Ngày đăng: 11/03/2014, 22:24

HÌNH ẢNH LIÊN QUAN

1. Sơ đồ nguyên lý - Giao tiếp bàn phím ma trận, LCD và PPI8255
1. Sơ đồ nguyên lý (Trang 22)

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w