1. Trang chủ
  2. » Kỹ Thuật - Công Nghệ

Giáo trình Kỹ thuật vi xử lý (Nghề Điện tử công nghiệp)

136 20 0

Đ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

BỘ CÔNG THƯƠNG TRƯỜNG CAO ĐẲNG CÔNG NGHIỆP VÀ THƯƠNG MẠI GIÁO TRÌNH Tên mơ đun: Kỹ thuật vi xử lý NGHỀ: ĐIỆN TỬ CƠNG NGHIỆP TRÌNH ĐỘ TRUNG CẤP/ CAO ĐẲNG NGHỀ Ban hành kèm theo Quyết định số: /QĐ-CĐCNPY, ngày tháng năm 2018 Hiệu trưởng trường Cao đẳng Công nghiệp Thương mại Vĩnh Phúc, năm 2018 MỤC LỤC TRANG MỤC LỤC TRANG CHƯƠNG TRÌNH MƠ ĐUN Bài GIỚI THIỆU CHUNG 1.1 Sơ đồ khối hệ vi xử lý 1.1.1 Định nghĩa hệ vi xử lý: 1.1.2 Hệ vi xử lý tổng quát 10 1.2 Vi xử lý (uP: Micro-Processor) 10 1.2.1 Cấu trúc chung 12 1.2.2 Thao tác tìm nạp lệnh 12 1.2.3 Giải mã – thực lệnh 13 1.3 Bộ nhớ (memory) 14 1.3.1 Phân loại 14 1.3.2 Cấu trúc bên tiêu biểu nhớ 14 1.3.3 Giải mã địa cho nhớ 16 1.3.4 Thiết kế nhớ dùng dùng IC 74LS138 18 1.4 Nhập xuất (I/O: Input/Output) 19 1.4.1 Phân loại 21 1.4.2 Giải mã địa cho I/O 21 1.4.3 Các phương pháp điều khiển I/O 22 1.5 Vi xử lý vi điều khiển 22 1.5.1 So sánh vi xử lý vi điều khiển 23 1.5.2 Lựa chọn vi điều khiển 30 2.1 Tổng quát VDK 8051 34 2.1.1 Mô tả chân (pinout) 36 2.1.2 Sơ đồ chân 38 2.1.3 Chức chân 40 2.2 Cấu trúc port I/O 43 2.2.1 Cấu trúc port xuất 44 2.2.2 Cấu trúc port nhập 48 2.3 Tổ chức nhớ 50 2.3.1 Các bank ghi 54 2.3.2 Vùng RAM định địa bit 56 2.3.3 Vùng RAM đa dụng 74 2.3.4 Các ghi chức đặc biệt (SFRs_ Special Function Registers) 74 2.4 Hoạt động reset 75 2.4.1 Cấu trúc mạch 75 2.4.2 Nguyên lý hoạt động 75 3.1 Tổng quan ngơn ngữ lập trình C 78 3.1.1 Các loại biến ngôn ngữ C 78 3.1.2 Hàm C 80 3.2 Toán tử 81 3.3 Các cấu trúc C 88 3.3.1 Cấu trúc IF THEN 88 3.3.2 Cấu trúc IF THEN ELSE 89 3.3.3 Cấu trúc SWICH CASE 89 3.3.4 Cấu trúc lặp FOR-DO 89 3.3.5 Cấu trúc lặp WHILE-DO 90 3.3.6 Cấu trúc lặp REPEAT-UNTIL 90 3.4 Các ví dụ minh hoạ cụ thể 91 3.4 Các ví dụ minh hoạ cụ thể 93 3.4.1 Lập trình điều khiển LED đơn 94 3.4.2 Lập trình điều khiển LED 97 4.1 Bộ định thời (TIMER) 101 4.1.1 Giới thiệu 101 4.1.2 Các ghi định thời 103 4.1.3 Các chế độ hoạt động 106 4.1.4 Nguồn xung clock cho định thời 107 4.1.5 Khởi động truy xuất ghi định thời 108 4.1.6 Ví dụ 111 4.2.1 Giới thiệu 112 4.2.2 Thanh ghi điều khiển port nối tiếp SCON 114 4.2.3 Các chế độ hoạt động 115 4.2.4 Tốc độ baud port nối tiếp 120 4.2.5 Khởi động truy xuất ghi port nối tiếp 120 4.2.6 Ví dụ 120 4.3 Ngắt (INTERRUPT) 124 4.3.1 Giới thiệu 124 4.3.2 Các ghi ngắt 126 4.3.3 Xử lý ngắt 131 4.3.4 Các ngắt 8051 132 4.3.5 Ví dụ 133 CHƯƠNG TRÌNH MƠ ĐUN Tên mơ đun: KỸ THUẬT VI XỬ LÝ Mã mô đun: MĐTC14010081 Thời gian thực mô đun: 60 giờ: (Lý thuyết: 30 giờ; Thực hành, thí nghiệm, thảo luận, tập: 27 giờ: Kiểm tra: giờ) I Vị trí, tính chất mơ đun - Vị trí: Mơ đun phải học sau học xong mô đun: Kỹ thuật mạch điện tử 1, Kỹ thuật mạch điện tử 2, Kỹ thuật xung, số - Tính chất: Là mơ đun chun ngành bắt buộc II Mục tiêu mô đun - Kiến thức: + 8051 + Mô tả cấu trúc bên trong, chức chân họ vi điều khiển Trình bày tập lệnh họ vi điều khiển 8051 + Trình bày số ứng dụng họ vi điều khiển - Kỹ năng: + Lập lưu đồ thuật toán số ứng dụng + Lập trình ngơn ngữ lập trình C nạp vào chip số tập ứng dụng vi điều khiển - Về lực tự chủ trách nhiệm: + Dự lớp đầy đủ theo quy định, rèn luyện tác phong công nghiệp, biết cách làm việc nhóm III Nội dung mơ đun Nội dung tổng quát phân bổ thời gian Thời gian (giờ) Số TT Tên mô đun Tổng số Lý thuyết Thực hành, thí Kiểm nghiệm, tra thảo luận, tập Bài GIỚI THIỆU CHUNG 18 1.1 Sơ đồ khối hệ vi xử lý 1.2 Vi xử lý (uP: Micro-Processor) 1.3 Bộ nhớ (memory) 1.4 Nhập xuất (I/O: Input/Output) 1.5 Vi xử lý vi điều khiển Bài PHẦN CỨNG HỌ MCS-51 2.1 Tổng quát VDK 8051 2.2 Mô tả chân (pinout) 2.3 Cấu trúc port I/O 2.4 Tổ chức nhớ 2.5 Các ghi chức đặc biệt (SFRs_ Special Function Registers) 2.6 Hoạt động reset Bài LẬP TRÌNH ĐIỀU KHIỂN VỚI VDK 8051, 3.1 Tổng quan ngơn ngữ lập trình C 3.2 Các cấu trúc C 3.3 Các ví dụ minh hoạ cụ thể 21 11 Bài CÁC CHỨA NĂNG CỦA HỌ MCS-51 4.1 Bộ định thời (TIMER) 4.2 PORT NỐI TIẾP (SERIAL PORT) 4.3 NGẮT (INTERRUPT) 12 Cộng 60 30 27 Bài GIỚI THIỆU CHUNG Giới thiệu Khoa học kỹ thuật ngày phát triển mạnh mẽ, công nghệ thuộc lĩnh vực khác nhờ đời nhằm đáp ứng nhu cầu xã hội kỹ thuật Vi xử lý nằm số Hiện kỹ thuật Vi xử lý giảng dạy rộng rãi trường Đại học Cao đẳng nước, nhiên lĩnh vực (Vi xử lý) mẻ, ứng dụng chưa khai thác triệt để hệ thống điều khiển, đo lường điều chỉnh dây chuyền công nghiệp Mục tiêu: - Trình bày số hệ đếm, mã thường dùng hệ vi xử lý - Tính tốn, chuyển đổi phép tốn nhị phân - Trình bày cách biểu diễn thơng tin hệ vi xử lý - Rèn luyện tính tư duy, tác phong công nghiệp 1.1 Sơ đồ khối hệ vi xử lý - Đây hệ đếm mà sử dụng hàng ngày Hệ đếm sử dụng mười chữ số ‘0’ ’9’để biểu diễn số hệ 10 Chữ số ‘0’ biểu diễn số 0, chữ số ‘1’ biểu diễn số 1,… Khi đếm đến 10 hết số nên phải thêm sang hàng bên trái để thành ‘10’ (mười) lại tiếp tục đếm ‘11’, ‘12’, ‘13’, Một số hệ 10 có giá trị tổng giá trị chữ số nhân với trọng số tương ứng chữ số Trọng số chữ số thứ i 10i Ví dụ: 12345,67 = 1x104+ 2x103 + 3x102 + 4x101 + 5x100 + 6x10-1 + 7x10-2 - Khi làm việc với nhiều hệ đếm số hệ 10 có thêm chữ D cuối để số hệ 10 Ví dụ: 12,25D Tổng qt hóa cho hệ đếm số a (a ≥ 2, a ∈ N): - Sử dụng a chữ số để biểu diễn số hệ a Chữ số có giá trị nhỏ ‘0’, chữ số có giá trị lớn tùy thuộc vào hệ đếm có giá trị a-1 - Giá trị (lượng) số hệ a tổng giá trị chữ số nhân với trọng số tương ứng chữ số Trọng số số thứ i Ví dụ: Số 5346,72 biểu diễn sau: -1 -2 5346,72 = 5.10 + 3.10 + 4.10 + + 7.10 + 2.10 - Tuy nhiên, mạch điện tử, việc lưu trữ phân biệt 10 mức điện áp khác khó khăn việc phân biệt hai mức điện áp lại dễ dàng Do đó, người ta sử dụng hệ nhị phân để biểu diễn giá trị hệ thống số Trong số thập phân thì: + Số tận bên trái số có giá trị lớn MSD ( Most Significant Digit) + Số tận bên phải số có giá trị nhỏ LSD ( Least Significant Digit) 1.1.1 Định nghĩa hệ vi xử lý: - Hệ nhị phân gồm có chữ số: 1, ký số nhị phân gọi bit (binary digit) Cơ số hệ nhị phân hay gọi số Một số nhị phân (binary digit) thường gọi bit Một chuỗi gồm bit nhị phân gọi nibble, chuỗi bit gọi byte, chuỗi 16 bit gọi word chuỗi 32 bit gọi double word Bit tận bên trái bit có giá trị lớn MSB ( Most Significant bit), bit tận bên phải bit có giá trị nhỏ LSB ( Least Significant bit) Một số hệ nhị phân biểu diễn theo số mũ Ta thường dùng chữ B cuối chuỗi bit để xác định số nhị phân - Các linh kiện điện tử cấu tạo nên máy tính có hai trạng thái: có điện khơng có điện Hai trạng thái biểu diễn Chính lý mà hệ đếm số hệ đếm dùng máy tính - Trong kỹ thuật máy tính, chữ số nhị phân gọi bit (viết tắt từ tiếng anh binary digit) Một cụm bit tạo thành nible, cụm bit tạo thành byte, cụm 16 bit tạo thành từ (word), cụm 32 bit tạo thành từ kép (double word) Bit bên trái số nhị phân gọi bit có trọng số lớn (Most Significant Bit, MSB), bit tận bên phải gọi bit có trọng số nhỏ (Least Significant Bit, LSB) Vị trí bit nibble, byte, word, double word sau: Nibble Byte 15 Double word Word 31 0 Ví dụ 1: Số 101110.01b biểu diễn giá trị số: 101110.01b = 1x25 + 0x24 + 1x23 +1x22 + 1x21 + + 0x2-1 + 1x2-2 Ví dụ 2: cho số nhị phân 1100,1102 minh hoạ hình vẽ: 23 22 21 20 2-1 2-2 2-3 1 0, 1 MSB dấu phẩy nhị phân LSB 1100,1102 = 1x 23 +1x22 + 0x21 + 0x20 + 1x2-1 + 1x2-2 + 0x2-3 Cách đếm số nhị phân: ta dùng số nhị phân bit trình bày bảng sau: 22 21 20 Thập phân tương ứng 0 0 0 0 1 0 0 1 0 1 0 1 0 0 1 10 1 11 1 0 12 23 v Với số nhị phân bit có 24 =16 trạng thái khác số thập phân tương ứng lớn là:24 – =15 Vậy với số nhị phân n bit thì: + Số thập phân tương ứng lớn 2n -1 + Số trạng thái 2n 1.3 Hệ thập lục phân (Hexadecimal Number 1 14 System): 1 1 15 - Nếu dùng hệ nhị phân cần số lượng lớn bit để biểu diễn T rong thực tế để viết kết biểu diễn số cho gọn lại người ta tìm cách nhóm số hệ hai (1 nibble) thành số hệ mười sáu Khác 1 13 121 Hình 3.8 Sơ đồ nối chân vi mạch nhớ RAM 1K x - Tuỳ theo chip, số lượng chân địa số lượng chân liệu khác phụ thuộc vào độ dài từ nhớ chip dung lượng chip nhớ Độ dài từ nhớ chip nhớ 1bit, bits bits, số chân địa từ 10 trở lên tuỳ thuộc vào dung lượng chip nhớ Trong trường hợp độ dài từ nhớ chip bit, ta cần phải ghép song song chip để tạo thành 1byte, ghép song song 16 chip để tạo từ word - bytes).(hình 3.9) Hình 3.9 Tạo từ nhớ bit từ các chip nhớ có độ dài từ nhớ nhỏ 2.2 Thiết kế vỉ nhớ cho hệ vi xử lý: - Thiết kế vỉ nhớ việc quan trọng cần thiết việc xây dựng hệ Vi xử lý Các vỉ nhớ thiết kế thông thường EPROM, 122 loại vỉ nhớ RAM, từ chip nhớ có sẵn Thơng thường, chip nhớ chọn chip thơng dụng thị trường, có thông số kỹ thuật chủ yếu sau: + Dung lượng nhớ chip nhớ tính theo đơn vị Kbyte + Độ dài từ nhớ chip nhớ tính theo số bits - Một số thông số kỹ thuật khác nhu thời gian truy xuất, công suất tiêu tán chip v v Những thơng số khơng có ảnh hưởng lớn đến trình thiết kế xây dựng vỉ nhớ - Các thông số cho trước việc thiết kế vỉ nhớ bao gồm: + Loại chip nhớ Ví dụ dùng EPROM 2764 (8kx8) hay RAM TMS 2064 (8kx8) v.v + Dung lượng vỉ nhớ dung lượng vỉ nhớ phải có, ví dụ 64KB, 128KB v.v + Địa đầu vùng nhớ, ví dụ vỉ nhớ có địa đầu A0000H chẳng hạn Ví dụ minh họa: Dùng EPROM 2764 (8kx8bit) xây dựng vỉ nhớ có dung lượng 32KB, địa đầu 22000H Giải: Dựa yêu cầu đề ra, phải thực bước sau: Xác định số chip nhớ cần thiết để tạo từ nhớ (độ dài bits), tính theo cơng thức: n= k Trong đó: n số chip cần để tạo từ nhớ k độ dài từ nhớ chip nhớ - Tín hiệu chọn vỏ CS chip nối chung với nhau, chip coi chip liên thông, bit liệu định vị theo thứ tự từ D7: D0 tương ứng với bit từ D7: D0 BUS liệu Xác định số chip nhớ, số chip liên thông để tạo dung lượng nhớ theo yêu cầu Trong trường hợp cụ thể đề ra, cần chip để tạo dung lượng nhớ 32KB Tính theo cơng thức: M = Q D Trong đó: Q dung lượng vỉ nhớ D dung lượng chip nhớ dung lượng chip liên thông 123 M số chip nhớ số chip liên thông cần thiết Xác định số dây địa sở (tức số dây địa thấp nối trực tiếp vào chip nhớ chip liên thông): Số dây địa m phụ thuộc vào dung lượng nhớ chip nhớ chip liên thông theo biểu thức sau: 2m = D đó: D dung lượng chip nhớ m số dây địa sở Từ số chip số chip liên thông, xác định số dây địa cần thiết để tạo dây chọn chip riêng biệt Tính theo cơng thức: 2i = M i số dây địa cần để giải mã xác định tín hiệu chọn chip cho chip nhớ chip liên thông M số lượng chip số lượng chip liên thơng Xây dựng mạch tổ hợp tạo tín hiệu chọn chip CSi Các dây địa lại sử dụng để tạo tín hiệu xác định vùng nhớ vỉ nhớ không gian nhớ (được gán cho vỉ nhớ theo địa đầu vỉ nhớ theo yêu cầu) Hình 3.10 Sơ đồ nối chân chip nhớ ROM chip nhớ RAM Sơ đồ khối vỉ nhớ sau, mạch tổ hợp logic xây dựng theo kiến thức học môn học Kỹ thật điện tử số 124 Hình 3.11 Sơ đồ khối vi nhớ 32KB từ chip ROM 2764 Bài tập: Bài Phần tử nhớ gì? Cho ví dụ minh họa Gợi ý: Đọc lại trang 118 Bài Thế nhớ ROM,RAM? Gợi ý: Đọc lại trang 121 Bài Vẽ cấu trúc Chíp DRAM nêu chức tín hiệu điều khiển Gợi ý: Đọc lại trang 124 4.3 Ngắt (INTERRUPT) 4.3.1 Giới thiệu 125 Hình 4.1 Phím tiếp xúc cách tạo bàn phím Hình 4.2 Sơ đồ ngun lý ghép nối bàn phím - Bàn phím tổ chức theo kiểu ma trận hàng cột, vị trí giao khơng tiếp xúc ghép công tắc thường mở nối hàng với 126 cột, tiếp xúc nhấn Để xác định có phím bị nhấn, ta nối đất tất hàng đọc nội dung cột Nếu cột ta đọc giá trị "0", tương ứng với trường hợp có phím cột bị nhấn Dễ dàng thấy rằng, hàng i i + nối đất phím cột j (hay j + 1) bị nhấn, ta đọc giá trị "0" cột j (hay j + l) (hình 4.1) - Hình 4.3 bàn phím Hexa gồm 22 phím tạo từ ma trận hàng cột Giả sử ta dùng vi mạch vào song song PPI-8255 để xây dựng nên bàn phím Hình 4.2 Ba ngõ port B gồm R0, R1, R2 (tương ứng với dây PB0, PB PB2) dùng chế độ Output, lối vào port A dùng D0 ÷ D7 (tương ứng với dây PA ÷ PA7) chế độ Input Như chu trình đọc phím theo chế độ dị tìm (polling) thực sau: 4.3.2 Các ghi ngắt Để đảm bảo phím nhấn trước nhả ra, giá trị "0" lúc áp lên tất hàng đọc giá trị cột Nếu cột mức "l", chương trình tiếp tục đọc giá trị cột Quét cột, tức đọc giá trị cột để phát có phím bị nhấn Để tăng độ tin cậy đọc phím, tránh tác động nhiễu học phím bị nhấn loại nhiễu khác, sau phát có phím bị nhấn, chương trình chờ khoảng 20msec đọc tiếp giá trị cột Giá trị "0" đọc cột ghi nhớ để sử dụng cho việc xác định phím vị trí bị nhấn Quét hàng để xác định vị trí phím bị nhấn Số vịng lặp khơng cố định, nhiều số hàng có cấu trúc bàn phím Gán mã cho phím Mã cho phím thiết kế phần cứng quy định, tuỳ theo chức yêu cầu người dùng 127 Hình 4.3 Bàn phím 22 phím sử dụng giao tiếp qua PPI8255 Trong ví dụ giả sử phím gán mã sau: - Từ phím 00 đến phím 0F (tồn phím Row Row 2) gán mã xa từ "0H" "FH" - Các phím Row gán chức sau: Ø Phím 10 phím chức "GO" - thực chương trình Ø Phím 11 phím chức "INS" - thực chức thay đổi nội dung ghi CPU Ø Phím 12 phím "REP" - thực chức sửa nội dung ghi CPU Ø Phím 13 phím "DISP" - thực chức hiển thị nội dung ghi CPU Ø Phím 14 phím "STEP" - thực chức chạy chương trình theo lệnh Ø Phím 14 phím "ENTER" - thực chức kết thúc nhập liệu lệnh từ bàn phím - Lưu đồ chương trình đọc xác định phím bị nhấn thể Hình 4.6 Chương trình cỏ thể viết dạng chương trình 128 Hình 4.4 Lưu đồ thời gian thực - Do tính đàn hồi lị xo phím nên tiếp xúc phím sau bị nhấn mơ tả hình 4.4 Hình 4.5 - Bộ điều khiển bàn phím v Các lệnh cho bàn phím: 129 Mã Lệnh EDh Bật/tắt LED EEh F0h F2h F3h F4h F5h F6h FEh FFh Mô tả Bật/tắt đèn led bàn phím Echo Trả byte EEh Đặt/nhận dạng mã quét Đặt tập mã quét nhận diện mã quét tập mã quét Nhận diện bàn phím Nhận diện ACK = AT, ACK+abh+41h=MF II Đặt tốc độ lặp lại/trễ Đặt tốc độ lặp lại thời gian trễ bàn phím Enable Cho phép bàn phím hoạt động Chuẩn/khơng cho phép Đặt giá trị chuẩn cấm bàn phím Chuẩn/cho phép Đặt giá trị chuẩn cho phép bàn phím Resend Bàn phím truyền ký tự cuối lần tới điều khiển bàn phím Reset Chạy reset bên bàn phím 130 Hình 4.6 Lưu đồ chương trình đọc bàn phím Ghép nối bàn phím với hệ vi xử lý: Mục tiêu: Thực kết nối thiết bị vào với CPU hệ vi xử lý Bàn phím thiết bị ngoại vi cho phép đưa thông tin vào máy tính dạng mã ký tự Bàn phím thực chức chuyển thông tin dạng lực nhấn phím vị trí phím nhấn thành mã phím chuyển cho máy tính 131 Bàn phím gồm hai phận ma trận phím mạch điện tử quét phím Ma trận phím tổ hợp phím nhấn xếp theo hàng cột - Bình thường phím ln trạng thái nhả, phím nhả hai tiếp điểm khơng nối với nhau, Ngõ có mức điện áp dương tương ứng với mức logic "là Khi phím nhấn hai tiếp điểm với qua cơng tắc phím Ngõ có mức điện áp 0V tương ứng mức logic "0" - Đề lần nhấn phím có mã phím tương ứng tạo ra, cần xếp hệ thống phím dạng ma trận phím - Ma trận phím gồm dây hàng dây cột giao không tiếp xúc với Các cơng tắc phím đặt chỗ giao hàng cột Hai tiếp điểm công tắc nằm hàng cột chỗ giao Mỗi phím nhấn hai dây hàng cột nối với qua hai tiếp điểm công tắc chỗ giao 4.3.3 Xử lý ngắt - Hệ thống bàn phím máy vi tính gồm hai phần bàn phím thiết bị giao diện phím, kết nối trao đổi thơng tin theo kiểu "chủ' Hình 4.7 Sơ đồ ghép nối bàn phím (keyboard) với hệ thống máy tính - Bàn phím tổ hợp ma trận 8x13 phím mạch vi điều khiển µP8048 Mạch µC8048 hệ vixử lý nhỏ tích hợp đơn chip Mạch 8048 bao gồm CPU, nhớ ROM chứa chương trình điều khiển qt tạo mã phím, RAM chứa liệu chương trình điều khiển, hai cổng vào/ra P1 P2, cổng liệu bit Mạch 8048 đưa mã nhị phân bit cổng P2, qua giải mã 3/8 tạo tín hiệu quét bàn phím Tại thời điểm mã bit đưa ra, mạch µP8048 thực đọc tín hiệu 13 bit từ 132 ma trận, phím vào cổng P1, từ tạo mã phím (mã quét) phím nhấn Khi phím nhả mã phím (mã quét) tạo cách cộng mã phím nhấn với 80H - Mạch µP8048, ni nguồn từ máy tính, thực trao đổi thơng tin với thiết bị giao diện bàn phím KC 8042 theo kiểu nối tiếp đồng KC 8042 có cấu trúc tương tự mạch µP8048 KC 8042 đóng vai trị “chủ”, 8048 đóng vai trị "thợ" q trình truyền tin thơng qua hai dây tín hiệu: dây "DATA" dây "CLOCK" - Dây " DATA" truyền tín hiệu liệu nối tiếp µP8048 KC 8042 Tín hiệu nối tiếp bao gồm: bit START, liệu, bit PARITY, bit STOP Quá trình trao đổi thơng tin µP8048 KC 8042 đồng tín hiệu dây "CLOCK" 4.3.4 Các ngắt 8051 - Mạch µP8048 ln phải kiểm tra trạng thái truyền tin qua hai dây “DATA” "CLOCK" trước phát mã phím Khi KC 8042 đặt "DATA" = "CLOCK" = l 8048 phải nhận lệnh từ KC 8042 Khi KC 8042 đặt "DATA" = "CLOCK" = µP8048 quyền truyền mã phím cho máy tính Q trình truyền liệu đồng dãy xung đồng µP8048 phát dây "CLOCK" - Khi KC 8042 nhận mã phím dạng nối tiếp, loại bỏ bit tạo khung liệu truyền, chuyển mã phím vào ghi tạm phát yêu cầu ngắt IRQ1 cho hệ hống ngắt cứng Hệ thống ngắt cứng kích hoạt chương trình phục vụ bàn phím 09H (chương trình phục vụ ngắt 09H) nằm BIOS Chương trình phục vụ bàn phím 09H có chức dịch mã phím thành mã hai byte chứa vào vùng đệm bàn phím - Chương trình phục vụ bàn phím 09H trước hết kiểm tra (mã) phím trượt (Shift, Alt, Ctrl) phím đặc biệt (Scrolllock, Numlock, Capslock, Insert) trước dịch mã phím sang mã hai byte - Mã hai byte chương trình phục vụ bàn phím 09H tạo có cấu trúc tuỳ thuộc mã phím tổ hợp mã phím nhận Nếu nhận mã phím ký tự byte thấp mã hai byte chứa mã ASCII ký tự tương ứng, byte cao chứa mã phím (mã quét phím) Khi chương trình phục vụ bàn phím 09H nhận mã phím khơng phải ký tự byte thấp mã hai byte có giá trị 0, byte cao chứa mã phím mở rộng - Vùng đệm bàn phím có kích thước 32 byte nằm nhớ 133 địa 0000H:041EH Trạng thái phím trượt phím đặc biệt chứa hai ô nhớ 0000H:0417H 0000H:0418H Có thể truy nhập vùng đệm bàn phím để đọc thơng tin bàn phím nhờ chương trình ngắt 16H BIOS - Chương trình phục vụ bàn phím 09H xử lý trường hợp đặc biệt như: + Khi phím nhấn lâu (ví dụ q 0.5 giây) KC 8042 khơng nhận mã phím nhả, gửi cho đơn vị xử lý trung tâm mã phím nhấn + Khi nhận tổ hợp phím Ctrl+Alt+Del khởi động lại máy tính + Khi nhận mã phím Printscreen kích hoạt ngắt 05H BIOS + Khi nhận mã phím Ctrl+Break kích hoạt ngắt IBH BIOS 4.3.5 Ví dụ Ví dụ: Dùng phần mềm Emu8086 viết chương trình nhập vào ký tự từ bàn phím, sau hiển thị ký tự đả nhập hình mơ ;COUNT NUMBER OF KEYPRESSES.THE RESULT IS IN BX REGISTER ; YOU MUST TYPE INTO THE EMULATOR'S SCREEN, ; IF IT CLOSES, PRESS SCREEN BUTTON TO RE-OPEN IT NAME "KEYCOUNT" ORG 100H ; PRINT WELCOME MESSAGE: MOV DX, OFFSET MSG MOV AH, INT 21H XOR BX, BX ; ZERO BX REGISTER WAIT: MOV AH, ; WAIT FOR ANY KEY INT 16H CMP AL, 27 ; IF KEY IS 'ESC' THEN EXIT JE STOP MOV AH, 0EH ; PRINT IT 134 INT 10H INC BX ; INCREASE BX ON EVERY KEY PRESS JMP WAIT ; PRINT RESULT MESSAGE: STOP: MOV DX, OFFSET MSG2 MOV AH, INT 21H MOV AX, BX CALL PRINT_AX ; WAIT FOR ANY KEY PRESS: MOV AH, INT 16H RET ; EXIT TO OPERATING SYSTEM MSG DB "I'LL COUNT ALL YOUR KEYPRESSES PRESS 'ESC' TO STOP ", 0DH,0AH, "$" MSG2 DB 0DH,0AH, "RECORDED KEYPRESSES: $" PRINT_AX PROC CMP AX, JNE PRINT_AX_R PUSH AX MOV AL, '0' MOV AH, 0EH INT 10H POP AX RET PRINT_AX_R: PUSH A MOV DX, CMP AX, JE PN_DONE MOV BX, 10 DIV BX CALL PRINT_AX_R MOV AX, DX ADD AL, 30H MOV AH, 0EH 135 INT JMP PN_DONE: POP A RET END 10H PN_DONE TÀI LIỆU THAM KHẢO [1] Đề cương môđun/môn học nghề Sửa chữa thiết bị điện tử công nghiệp”, Dự án Giáo dục kỹ thuật Dạy nghề (VTEP), Tổng cục Dạy Nghề, Hà Nội, 2003 [2] Giáo trình vi xử lý, Trần Văn Trọng Trường ĐHSPKT TP HCM [4] Kỹ thuật vi xử lý, Văn Thế Minh Trường ĐHSPKT TP HCM [5] baugruppen der mikroelektronik III , Plaum Verlag Muenchen [6] programmierrung des z80, Rodnay Zaks [7] Microprocessors and IC Families, Walter H Buchbaums, Sc.D [8] Microprocessors and Interfacing, Doulas V Hall ... CHƯƠNG TRÌNH MƠ ĐUN Bài GIỚI THIỆU CHUNG 1.1 Sơ đồ khối hệ vi xử lý 1.1.1 Định nghĩa hệ vi xử lý: 1.1.2 Hệ vi xử lý tổng quát 10 1.2 Vi xử lý (uP: Micro-Processor)... CHUNG Giới thiệu Khoa học kỹ thuật ngày phát triển mạnh mẽ, công nghệ thuộc lĩnh vực khác nhờ đời nhằm đáp ứng nhu cầu xã hội kỹ thuật Vi xử lý nằm số Hiện kỹ thuật Vi xử lý giảng dạy rộng rãi trường... từ phận đến phận khác hệ Vi xừ lý Có loại BUS hệ Vi xử lý nhu máy tính - BUS liệu truyền liệu theo hai chiều nhớ trung tâm Vi xử lý, thiết bị ngoại vi trung tâm Vi xử lý - BUS địa xác định vị

Ngày đăng: 11/10/2021, 11:03

Xem thêm:

TỪ KHÓA LIÊN QUAN

w