Vi mạch giao tiếp sử dụng là vi mạch giao tiếp 8255A, giao tiếp song song, 8255A được xem như là một vùng nhớ, CPU truy xuất tới bằng các lệnh đọc viết như đối với ROM, RAM.. nguyên lý c
Trang 1Chương 7:
Sơ đồ mạch giải mã địa chỉ.
Ở hệ thống này các linh kiện xung quanh được thiết kế theo kiểu bộ nhớ, dung lượng của các IC nhớ là 8 Kb Do đó những bit cao của Bus địa chỉ không sử dụng, chân MERQ dùng để giải mã định vị các vùng nhớ và cổng 8255A
Có nhiều loại IC giải mã ở đây nhóm đã chọn IC 74138 để giải mã Mạch được thiết kế như sau:
Hình 3.9 : Sơ đồ chân và sơ đồ kết nối giải mã dùng IC74138
III.9 Bộ giao tiếp bàn phím.
III.9.1 Nguyên tắc.
Vi mạch giao tiếp sử dụng là vi mạch giao tiếp 8255A, giao tiếp song song, 8255A được xem như là một vùng nhớ, CPU truy xuất tới bằng các lệnh đọc viết như đối với ROM, RAM
Có hai nguyên tắc làm việc của bàn phím:
a>Nguyên tắc 1:nối chung tất cả chân thứ nhất của các
công tắc lại với nhau và nối lên mức logic 1 là Vcc qua một điện trở Các chân còn lại sẽ đưa qua một mạch giải mã nhị phân Khi một công tắc được nhấn ngõ ra của mạch giải mã sẽ xuất hiện một số nhị phân tương ứng Dữ liệu này sẽ được gởi đến Dữ liệu Bus của vi xử lý thông qua một port I/O vi xử lý sẽ
Trang 2kiểm tra số nhị phân này và thi hành công việc tương ứng Nguyên tắc này tuy đơn giản và đạt độ tin cậy cao nhưng nó đòi hỏi một cấu trúc phức tạp là mạch giải mã nhị phân
Hình 3.10: Quét phím bằng phương pháp giải mã
b>Nguyên tắc 2: người ta sử dụng phương pháp quét ma
trận
Ngày nay người ta thường dùng bàn phím không mã hóa sử dụng 1 CHIP vi tính nguyên lý của mạch này hoạt động như sau:
Tất cả các đường dây cột được nối với 1 cổng ra CHIP vi tính, các đường dây hàng được nối với cổng thứ hai, một phần mềm mô phỏng theo hoạt động của mạch phần cứng sẽ tiến hành quét lên các phím và mã hóa vị trí của phím đang được ấn thành một số nhị phân Việc chuyển đổi thành mã số tương ứng với các phím này thực hiện bằng phần mềm chứ không yêu cầu thế một mạch phần cứng nào cả Ưu điểm của loại bàn phím này là mạch điện đơn giản và độ linh hoạt cao Tuy nó có nhược điểm là độ đáp ứng không cao bằng loại có mã hóa Sơ đồ mạch kết nối bàn phím được mô tả ở hình 3.11
Trang 4III.9.2 Cấu tạo và hoạt động của bàn phím.
a>Nguyên tắc.
Bàn phím trong mạch KIT Z80 của nhóm là loại bàn phím hoạt động theo kiểu không mã hoá, thực chất là không sử dụng mạch phần cứng mà sử dụng phương pháp quét kết hợp giữa chương trình, vi mạch giao tiếp và sự điều khiển bởi CPU Với giải pháp này mạch điện bàn phím sẽ đơn giản và độ linh hoạt cao hơn Ma trận đòi hỏi 8 ngõ ra để quét cột và 5 ngõ vào để đọc hàng Với vi mạch giao tiếp sử dụng 8255 các ngõ ra nối với PORT A (PA0 – PA7), các ngõ vào được nối với PORT C (PC0 –
PC4) khi có phím được nhấn, dữ liệu cột được đọc về kết hợp với mã hàng đã tạo, CPU sẽ chọn ra một mã tương đương cho phím đó
b>sơ đồ bàn phím:
Trang 5Hình 3.12:Sơ đồ bàn phím
Esc: phím RESET
: phím thi hành chương trình
: phím hiển thị nội dung ô nhớ
Enter: phím khoảng trống
23 phím chữ cái: phím chữ theo mã HEXA từ A – Y
10 phím số: từ 0 – 9
c.Mạch giao tiếp bàn phím.
Như đã nói ở trên, trạng thái của bàn phím được vi xử lý đọc về thông qua PORT C của 8255A (I) Các hàng này được nối với 5 điện trở kéo lên nguồn có giá trị 10K nhằm mục đích là khi không có phím nào nhấn thì dữ liệu đưa về là 1FH Vi xử lý xuất dữ liệu quét cột thông qua 8 đường của PORT A của
8255 (I)
Với cách chọn như vậy 8255 sẽ hoạt đôïng với chức năng của các PORT là như sau:
+PORT A: khởi tạo ra (xuất)
+PORT C: khởi tạo vào (nhập)
d.Chương trình quét bàn phím.
Bàn phím sẽ không hoạt động được nếu không có chương trình quét bàn phím Chương trình này nằm trong chương trình hệ thống (sẽ được nói kỹ ở phần THIẾT KẾ PHẦN MỀM) chức năng của chương trình này là:
- Phân tích các dữ liệu từ ma trận hàng cột đọc về qua
8255 (I) để xác định xem có phím nào nhấn hay chưa
-Tạo BOUNCING để chống dội khi nhả phím
-Đọc bản tra để truy tìm mã của phím nhấn tương ứng theo dữ liệu từ ma trận hàng cột đọc về
Trang 6e.Hoạt động của mạch bàn phím.
Trạng thái bình thường của PORT C_8255(I) (từ PC0 –
PC4) là 11111 Nếu PORT A _8255(I) xuất ra một giá trị là 00H, lúc này có một phím được nhấn thì một trong 5 đường của PORT
C sẽ có một đường xuống mức [0] Hoạt động quét như sau: Đầu tiên PORT A sẽ xuất ra một giá trị là 00H để quét hàng nhằm kiễm tra xem có phím nào được nhấn hay không, nếu một phím được nhấn thì một trong 5 đường của PORT C sẽ xuống mức [0] lúc này ta chỉ biết được hàng nào có phím ấn mà thôi
Để xác định chính xác vị trí của phím được ấn PORT A sẽ xuất dữ liệu để quét cột , giá trị thực sự là 7FH (011111112) dữ liệu này chỉ có một cột ở mức thấp trong khi đó ở các cột khác đều ở mức cao, bit [0] này sẽ lần lượt xuất hiện trên từng phần tử của PORT A, khi bit đó rơi vào cột được nhấn PORT C sẽ phát hiện được và thông báo về vi xử lý Một biến đếm sẽ theo dõi số lần dịch chuyển của bit [0] nói trên sẽ cho một mã số tương ứng đây chính là mã cột Tổ hợp mã hàng và mã cột sẽ cho biết phím nào được nhấn