intTypePromotion=1
zunia.vn Tuyển sinh 2024 dành cho Gen-Z zunia.vn zunia.vn
ADSENSE

Cấu trúc máy tính

Chia sẻ: Nguyen Van Vinh | Ngày: | Loại File: PPT | Số trang:17

117
lượt xem
13
download
 
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

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

Chủ đề:
Lưu

Nội dung Text: Cấu trúc máy tính

  1. CẤU TRÚC MÁY TÍNH  Các thiết bị xuất nhập  Bàn phím  Màn hình  Chuột  Các giao tiếp ngoại vi  Giao tiếp song song  Giao tiếp nối tiếp  USB  IO Devices 1
  2. BÀN PHÍM _ KEYBOARD 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 IO Devices 2
  3. Các kiểu bàn phím 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 Bàn phím tăng cường 101 hoặc 102 phím Bàn phím Window 104 phím IO Devices 3
  4. 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 IO Devices 4
  5. Kết nối bàn phím DIN 5 pin 1. Clock 2. Data 3. N/C 4. GND 5. +5V (VCC)  PS/2 1. Clock 2. GND 3. Data 4. N/C 5. +5V (VCC) 6. N/C  IO Devices 5
  6. Mã quét bàn phím (Scan code) Khi nhấn 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 (đối với   bàn phím mở rộng), byte kế là mã make­code Scan code có 3 tiêu chuẩn: set 1, set 2, set 3.   Bàn phím hiện nay mặc nhiên sử dụng set 2 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  Mã được truyền nối tiếp từng byte, với khung   truyền 11bit IO Devices 6
  7. Bảng scan­code Scan code bàn phím loại 83 phím Scan­code bàn phím loại 102 phím IO Devices 7
  8. Giao tiếp bàn phím 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)  IO Devices 8
  9. Giao tiếp bàn phím (tt) 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ằng cách   kéo clock xuống thấp Khi clock được giải phóng, bàn phím lại   truyền tiếp dữ liệu chưa hoàn chỉnh Dữ liệu từ keyboard đến PC IO Devices 9
  10. 2. Truyền dữ liệu từ máy chủ đến bàn  phím:  Các bước thực hiện: máy chủ cấm truyền từ bàn phím đến   bằng cách kéo clock xuống thấp máy chủ kéo data xuống thấp và giải   phóng clock báo hiệu bàn phím phát xung  clock bắt đầu truyền dữ liệu Dữ liệu được đọc tại cạnh lên của clock  Sau khi bàn phím nhận stop bit nó sẽ   truyền tín hiệu ACK đến máy chủ kết thúc  quá trình truyền dữ liệu Dữ liệu từ PC đến keyboard IO Devices 10
  11. Chức năng Typematic Khi một phím được nhấn liên tục, nó trở   thành typematic Bàn phím gửi mã nhấn phím đến PC   lặp đi lặp lại Tốc độ typematic có thể điều chỉnh   bằng cách gửi lệnh đến bộ điều khiển  bàn phím Lệnh điều khiển bàn phím trong DOS  MODE CON: RATE=r  DELAY=d  RATE: tốc độ typematic, r = ký tự trên   giây (cps) DELAY: khoảng thời gian trước khi   typematic xảy ra. Số DELAY:  1 ­> 0.25s  2 ­> 0.50s  3 ­> 0.75s  4 ­> 1.00s  Ví dụ: lệnh sau được đặt trong   Autoexec.bat MODE CON: RATE=32 DELAY=1  IO Devices 11
  12. Truy xuất bàn phím qua DOS Có thể truy xuất bàn phím qua một số   hàm của DOS với ngắt INT 21h: 01h,  06h, 07h, 08h, 0ah, 0bh, 3fh. Chương trình ví dụ: đọc 80 ký tự vào   buffer char *ch_input(void) {  char *buffer, *string; union REGS inregs, outregs; buffer = (char*) malloc(82);/* tạo buffer */ *buffer = 80; /* byte đầu chỉ số lượng ký tự */ Inregs.h.ah = 0x0ah; inregs.x.dx = FP_OFF(buffer); int86(0x21,&inregs,&outregs); string = buffer+2; return(string) } IO Devices 12
  13. Lập trình bàn phím trực tiếp  qua Port Các thanh ghi:  Port 60h: output buffer (R)  Port 60h: input buffer (W)   Port 64h: control register (W)  Port 64h: status register (R)  Status register:  Bit 7 (PARE): 1­ last byte with parity error; 0­   last byte without parity error Bit 6 (TIM): 1­error; 0­no time­out error  Bit 5 (AUXP): 1­holds data for auxiliary   device Bit 4 (KEYL): 1­keyboard free; 0­keyboard   locked Bit 3 (C/D): 1­command byte written via port   64h; 0­command byte written via port 60h Bit 2 (SYSF): 1­self test successful; 0­power   on reset Bit 1 (INPB): 1­CPU data in input buffer;0­  input buffer empty Bit 0 (OUTB): 1­keyboard controller data in   output buffer; 0­output buffer empty IO Devices 13
  14. Lập trình bàn phím trực tiếp  qua Port (tt) Control register (8 bit): gồm 17 lệnh theo   bảng lệnh sau Code Command a7h disable auxiliary device a8h enable auxiliary device a9h check interface to auxiliary device aah self­test abh check keyboard interface adh disable keyboard aeh enable keyboard c0h read input port c1h read out input port (low) c2h read out input port (high) d0h read output port d1h write output port d2h write keyboard output buffer d3h write output buffer of auxiliary device d4h write auxiliary device e0h read test input port IO Devices 14 f0h­ffh send pulses to output port
  15. Lập trình bàn phím trực tiếp  qua Port (tt) Ví dụ: disable keyboard  start: IN al, 64h ;read status byte TEST al, 02h ;check whether input buffer is full JNZ start ;some byte still in input buffer OUT 64h, adh ;disable keyboard Ví dụ: ghi byte 01h vào output port  OUT 64h, d1h ;pass code for the controller command  ;write output port wait: IN al, 64h ;read status register TEST al, 02h ;check whether input buffer is full JNZ wait ;input buffer full thus wait OUT 60h,01h ;pass data byte 01h for the controller  ;command IO Devices 15
  16. Thiết kế giao tiếp bàn phím Thiết kế minh hoạ: giao tiếp bàn phím với AT89C51 • Chân Data nối P3.4 • Chân Clock nối P3.2 • Dữ liệu thu được từ bàn phím sẽ hiển thị trên LCD điều  khiển ở P1 5V AT89C 51 VCC 40 3 9 2 1 K e y b o a rd P 0 .0 /A D 0 P 2 .0 /A 8 VCC 3 8 2 2 P 0 .1 /A D 1 P 2 .1 /A 9 3 7 2 3 P 0 .2 /A D 2 P2 .2 /A 1 0 1 7 2 4 6 5 P 3 .7 P2 .3 /A 1 1 1 6 2 5 4 3 P 3 .6 P2 .4 /A 1 2 1 5 2 6 2 1 P 3 .5 P2 .5 /A 1 3 3 3 2 7 P 0 .6 /A D 6 P2 .6 /A 1 4 L C D -H D 4 4 7 8 0 3 2 2 8 P 0 .7 /A D 7 P2 .7 /A 1 5 1 1 3 EN D B 0 P 1 .0 P 3 .3 2 1 1 RS D B 1 P 1 .1 P 3 .1 /T XD 3 1 2 R /W D B 2 P 1 .2 P 3 .2 /IN T O 4 1 0 D B 3 P 1 .3 P 3 .0 5 1 4 D B 4 P 1 .4 P 3 .4 /T O 6 3 6 D B 5 P 1 .5 P 0 .3 7 3 5 VEE D B 6 P 1 .6 P 0 .4 8 3 4 D B 7 P 1 .7 P 0 .5 VDD VSS 19 29 XTA L1 PSEN 18 XTA L2 R3 30pF 9 30 RST A L E /P R O G 12M H z 10k GND 31 E A /V P P 20 30pF 5V 5V 1. N/C 10uF 2. Data 3. +5V (VCC) 4. GND 5. N/C 100 R eset R1 6. Clock R IO Devices 16
  17. Câu hỏi ôn tập Nêu đặc điểm các thế hệ bàn phím 1. Trình bày giao thức truyền giữa bàn phím  2. và PC Mã scan­code là gì? Nếu bấm phím sau  3. thì bàn phím sẽ truyền mã gì đến PC: Nhấn và nhả Delete 1. Nhấn Ctrl + z, sau đó nhả phím 2. Nhấn và nhả phím ­> 3. Có bao nhiêu lệnh hỗ trợ từ host đến  4. keyboard. Kể tên. Trình bày hoạt động của chế độ typmatic 5. Hãy cài đặt để chế độ typematic có thời  6. gian trễ là 0.5s và tốc độ là 20 ký tự/giây Viết chương trình điều khiển keyboard  7. thực hiện selftest Viết chương trình ghi giá trị 0fh ra output  8. port của keyboard Viết chương trình ASM cho AT89C51 để  9. nhận mã scan­code từ bàn phím Tìm hiểu các bộ mã scan­code của bàn  10. phím IO Devices 17
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

Đồng bộ tài khoản
2=>2