Xever

New Member

Download miễn phí Đồ án Tìm hiểu về DE 2 – Lập trình giao tiếp bàn phím hiển thị lên màn hình LCD





Mục lục
 
Phần 1: Giới thiệu về Altera DE 2 Board
Phần 2:Tìm hiểu module LCD
2.1.Giới thiệu sơ lược về LCD.
2.2.Lập trình hoạt động cho LCD.
Phần 3: PS 2 – KEYBOARD
3.1.Giới thiệu về PS 2 – KEYBOARD.
3.1.1.Chuẩn PS 2.
3.1.2.Các kiểu bàn phím.
3.1.3.Cấu trúc và giao tiếp bàn phím.
3.2.Mã quét bàn phím.
3.2.1.Truyền dữ liệu từ bàn phím về máy chủ.
3.2.2.Truyền dữ liệu từ máy chủ đến bàn phím.
3.3.Sơ đồ khối – Giải thuật.
3.3.1.Module PS 2 – RX.
3.3.2.module key – code.
3.3.3.module PS 2 – KB.
3.4.Software function.
Phần 4: Thiết kế giao tiếp LCD và bàn phím
 



Để tải bản Đầy Đủ của tài liệu, xin Trả lời bài viết này, Mods sẽ gửi Link download cho bạn sớm nhất qua hòm tin nhắn.
Ai cần download tài liệu gì mà không tìm thấy ở đây, thì đăng yêu cầu down tại đây nhé:
Nhận download tài liệu miễn phí

Tóm tắt nội dung tài liệu:

TRƯỜNG ĐH BÁCH KHOA TP HCM
Khoa Điện ---- Điện tử
Báo cáo đồ án môn học 2
Đề tài:Tìm hiểu về DE 2 – Lập trình giao tiếp bàn phím hiển thị lên màn hình LCD
Giáo viên hướng dẫn: Võ Thị Thu Hồng
Sinh viên thực tập: Lư Sanh Nhân
Mục lục
Phần 1: Giới thiệu về Altera DE 2 Board
Phần 2:Tìm hiểu module LCD
2.1.Giới thiệu sơ lược về LCD.
2.2.Lập trình hoạt động cho LCD.
Phần 3: PS 2 – KEYBOARD
3.1.Giới thiệu về PS 2 – KEYBOARD.
3.1.1.Chuẩn PS 2.
3.1.2.Các kiểu bàn phím.
3.1.3.Cấu trúc và giao tiếp bàn phím.
3.2.Mã quét bàn phím.
3.2.1.Truyền dữ liệu từ bàn phím về máy chủ.
3.2.2.Truyền dữ liệu từ máy chủ đến bàn phím.
3.3.Sơ đồ khối – Giải thuật.
3.3.1.Module PS 2 – RX.
3.3.2.module key – code.
3.3.3.module PS 2 – KB.
3.4.Software function.
Phần 4: Thiết kế giao tiếp LCD và bàn phím
Phần 1: Giới thiệu về Altera DE 2 Board
Altera Cylone II 2C35 FPGA device.
Altera Serial Configuration device – EPCS 16.
USB Blaster ( on board) cho việc lập trình và kiểm soát API; hổ trợ cả JTAG và các chế độ lập trình AS.
512 – Kbyte SRAM.
8 – Mbyte SDRAM.
4 – Mbyte Flash memory.
Khung cắm SD card.
4 pushbutton switches.
18 toggle switches.
18 red user LEDs.
9 green user LEDs.
50-MHz oscillator and 27-MHz oscillator for clock sources.
24-bit CD-quality audio CODEC with line-in, line-out, and microphone-in jacks.
VGA DAC (10-bit high-speed triple DACs) with VGA-out connector.
TV Decoder (NTSC/PAL) and TV-in connector.
10/100 Ethernet Controller with a connector.
USB Host/Slave Controller with USB type A and type B connectors.
RS-232 transceiver and 9-pin connector.
PS/2 mouse/keyboard connector.
IrDA transceiver.
Two 40-pin Expansion Headers with diode protection.
Phần 2: Tìm hiểu module LCD
2.1. Giới thiệu sơ lược về LCD
Module LCD của DE 2 là một màn hình LCD hai hàng, mỗi hàng 16 kí tự.
Sơ đồ kết nối phần cứng LCD
Sơ đồ chân của module LCD
Trong module LCD có một bộ phận gọi là LCD Core, mà cái này sẽ điều khiển việc hiển thị kí tự lên màn hình LCD.
LCD core gửi các kí tự thông qua Character generator ROM pattern của LCD.
LCD core khởi tạo LCD controller khi thiết lập và giao tiếp với nó. LCD core sẽ cung cấp giao diện sơ đồ bộ nhớ cho người sử dụng điều khiển và viết lên màn hình LCD bằng các viết lên địa chỉ bộ nhớ đã biết.
LCD core cung cấp xung block tần số 50 MHz trên Board DE 1 và DE 2.
Sơ đồ xung block của LCD core
2.2. Lập trình hoạt động cho LCD
Bảng chức năng hai thanh ghi quan trong nhất trong LCD:
Cấu trúc và chức năng của bộ điều khiển LCD:
Chân chọn thanh ghi RS( Register Select):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 lệnh 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 hay đọ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ữ liệu.
Chân DB0~DB7:
Đây là 8 chân dữ liệu 8 bit, được dùng để gửi thông tin trên LCD hay đọc nội dung của cá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 đến các chân này khi bật RS=1.
Các câu lệnh cơ bản điều khiển LCD:
Các câu lệnh cơ bản của LCD là khởi tạo màn hình, xóa màn hình, đặt con trỏ, dịch con trỏ, dịch màn hình, v.v… Các lệnh này lưu trong một thư viện:
#include "altera_up_avalon_character_lcd.h"
Trong đó:
Khởi tạo màn hình LCD bằng cách xóa màn hình hiển thị của nó:
Void alt_up_character_lcd_init(alt_up_character_lcd_dev*lcd)
Mở màn hình LCD bằng một câu xác định:
alt_up_character_lcd_dev*alt_up_character_lcd_open_dev(const char *name)
Viết các ký tự trong bộ đệm được trỏ đến bởi ptr cho LCD,bắt đầu từ chỗ con trỏ ở thời điểm hiện tại:
int alt_up_character_lcd_write(alt_up_character_lcd_dev
*lcd, const char *ptr, unsigned int len)
Đặt vị trí con trỏ:
intalt_up_character_lcd_set_cursor_pos(alt_up_character_lcd_dev*lcd, unsigned x_pos, unsigned y_pos)
Dịch con trỏ sang trái hay phải:
intalt_up_character_lcd_shift_cursor(alt_up_character_lcd_dev
*lcd, int x_right_shift_offset)
Dịch toàn bộ màn hình hiển thị sang trái hay phải:
int alt_up_character_lcd_shift_display(alt_up_character_lcd_dev
*lcd, int x_right_shift_offset)
Phần 3: PS2 – KEYBOARD
3.1. Giới thiệu về PS2 - KEYBOARD
3.1.1. Chuẩn PS/2:
Chuẩn PS/2 được IBM giới thiệu để giao tiếp, truyền dữ liệu giữa bàn phím, chuột với máy chủ.
Sơ đồ chân cổng PS/2
1. Clock 2. GND 3. Data 4. N/C 5. +5V (VCC) 6. N/C
Dữ liệu được truyền nối tiếp từng bit theo khung truyền 11 bit gồm:
1start bit mức thấp.
8 bit dữ liệu.
1 stop bit mức cao.
1 parity bit kiểm tra lẻ.
3.1.2. Các kiểu bàn phím:
Các máy tính IBM và tương thích sử dụng các kiểu bàn phím sau:
Bàn phím XT chuẩn 83 phím:
5 đầu nối DIN
truyền nối tiếp 1 chiều
không hỗ trợ từ host đến bàn phím
sử dụng scan code set 1
Bàn phím AT chuẩn 84-101 phím:
6 đầu nối DIN
truyền nối tiếp 2 chiều
sử dụng scan code set 2
Bàn phím PS/2:
84-102 phím
6 đầu nối mini DIN
truyền nối tiếp 2 chiều
hỗ trợ sử dụng scan code set 3
có 17 lệnh host to keyboard
3.1.3. Cấu trúc và giao tiếp bàn phím:
Mỗi phím là 1 chuyển mạch switch, tạo ra một tiếp xúc điện khi ấn phím.
Các loại nút phổ biến:
Pure mechanical
Foam element
Rubber dome
Membrane
Cáp bàn phím được nối đến chip ngoại vi 8255A.
Bộ điều khiển bàn phím thường là chip 8042, 8048, 8049, 8741, 8742, 6868, 6805.
Khi chip điều khiển nhận được yêu cầu từ bàn phím, chip này gửi tín hiệu ngắt IRQ1 và truyền dữ liệu vào CPU.
3.2. Mã quét bàn phím (Scan code) :
Khi nhấn hay nhả 1 phím, bộ xử lý bàn phím gửi đến PC mã quét (scan-code) của phím được nhấn.
Khi phím được nhấn, mã này gọi là make-code.
Khi phím được nhả, mã này gọi là break-code.
Break-code gồm 2 byte: byte đầu là F0, byte kế là mã make-code.
Ví dụ:
nhấn SHIFT: make-code = 12
Nhấn A: make-code = 1C
Nhả A: break-code = F0, 1C
Nhả SHIFT: break-code = F0, 12
Khi một phím được nhấn và giữ, make-code được truyền đều đặn ở một tần số xác định.
Bảng scancode
Bàn phím PS2 giao tiếp bằng giao thức nối tiếp bất đồng bộ 2 chiều
Xung clock được phát bởi bàn phím, tần số khoảng 10-16.7kHz
Các trạng thái hoạt động:
Data=high, clock=high: trạng thái rảnh
Data=high, clock=low: trạng thái cấm giao tiếp
Data=low, clock=high: trạng thái máy chủ được yêu cầu truyền dữ liệu
Nếu máy chủ muốn truyền dữ liệu, nó phải cấm giao tiếp từ bàn phím bằng cách kéo clock xuống thấp, sau đó kéo Data xuống mức thấp và giải phóng cho clock.
Data được truyền theo khung dữ liệu gồm 11-12bit như sau:
1 start bit = 0
8 data bit (LSB truyền trước)
1 parity bit
1 stop bit = 1
1 acknowledge bit (host only)
3.2.1. Truyền dữ liệu từ bàn phím về máy chủ:
Các bước thực hiện:
Kiểm tra bus đang ở trạng thái rảnh
Clock ở mức cao ít nhất 50us trước khi bàn phím gửi data
Bàn phím gửi data từng khung dữ liệu 11bit
Dữ liệu được đọc tại cạnh xuống của clock
Máy chủ có thể cấm giao tiếp b
 

Các chủ đề có liên quan khác

Top