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

Một số phối ghép cơ bản

42 163 0
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

Tiêu đề Một số phối ghép cơ bản
Trường học Trường Đại học Bách Khoa Hà Nội
Chuyên ngành Kỹ thuật điện tử
Thể loại Báo cáo môn học
Năm xuất bản 2023
Thành phố Hà Nội
Định dạng
Số trang 42
Dung lượng 1,03 MB

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

Nội dung

Một số phối ghép cơ bản Tài liệu Kĩ thuật vi xử lý - Văn Thế Minh Tài liệu Kĩ thuật vi xử lý - Văn Thế Minh Tài liệu Kĩ thuật vi xử lý - Văn Thế Minh

Trang 1

20ms 20ms

FUra

1mN20msF

CHƯƠNG 9MỘT SỐ PHỐI GHÉP CƠ BẢN

1 Phối ghép với bàn phím

Bàn phím là một thiết bị vào rất thông dụng trong các hệ vi xử lý Trongtrường hợp dơn giản nhất đó có thể là một công tắc có gắn phím ( mà ta chỉthường quan tâm đến kí hiệu trên bàn phím) nối vào mọt chân nào đó của bộ vixử lý: ở mức phức tạp hơn đó có thể là hàng chục công tắc có gắn phím được tổchức theo một ma trận: phức tạp hơn nữa, đó là một hệ vi xử lý chuyên dụngquản lý cả trăm công tắc có gắn phím với nhiêm vụh nhận ra phím được gõ vàtạo mã đưa đến hệ vi xử lý

Dù đơn giản hay một tổ hợp phím, khi phối ghép chúng với bộ vi xử lý

ta cũng phải thỏa mãn một số yêu cầu đặc biệt để đảm bảo hệ thống làm việcđúng

Có rất nhiều công tắc được dùng trong phối ghép với bộ vi xử lý nhưngcó thể xếp chúng vào hai nhóm chính:

+ công tắc có tiếp xúc ccơ khí ( kiểu điện trở: điện trở thay đổi khi ấn vàkhi nhả phím)

+ công tắc không có tiếp xúc cơ khí kiểu điện dung: điện dung thay đổikhi ấn và khi nhả phím hoặc kiểu hiệu ứng Hall: điện áp thay đổi khi ấn và khinhả phím)

Trong các loại công tắc đó, loại công tắc điện trở dự trên tiếp xúc cơ khílà rất thông dụng rong thực tế Trên hình 9.1 là các nối công tắc vào mạch điệnvà đáp ứng của nó khik có lực tác động vào phím (ấn phím)

Hình 9.1 Aính hưởng độ rung của công tắcNhìn vào đáp ứng về mặt cơ- điện của công tắc trên hình 9.1 ta nhậnthấy: vì công tắc là một hệ thống có quán tính, do đó khi ta ấn phím và nhảphím, xugn điện thu được ở đầu ra của nó không phải liên tục mà bị ngắtquãng tại các giai đoạn quá độ( lúc bắt đầu ấn phím và lúc bắt đầu nhả phím).Điều này xảy ra là do trong kết cấu của công tắc có các bộ phận đàn hồi, khi bịtác dộng của lực bên ngoài các kết cấu động của công tắc bị dao động làm chobề mặt tiếp xúc của công tắc bị biến đổi Trong thực tế thì mỗi qúa trình quá độtrên kéo dài khoảng 10 -20 ms Nếu trong thời kì quá độ ta đọc thông tin từ cáccông tắc thì rất dễ nhận được thông tin sai lệch trạng thái của công tắc, vì vậyngười ta thường chờ khoảng 10-20 ms sau khi côngt tắc bị ấn hay nhả để đọctrạng thái của công tắc trong giai đoạn xác lập

Khi một công tắc được nối trực tiếp và một chân nào đó của bộ vi xử lýhoặc các mạch phụ trợ, có một cách khác để tránh các hiệu ứng không mongmuốn có thể tác động lên hoạt động của bộ vi xử lý do công tắc bị rung gây làdùng các mạch tích phân nối bên cạnh công tắc như trong trường hợp tạo tínhiệu cho đầu vào RESET của hệ vi xử lý ( xem hình 5.6)

Tiếp theo ta xét truờng hợp một số công tắc nhất định được tổ chức theo

ma trận gồm các hàng và các cột để tạo thành bàn phím cho một hệ vi xử lý

t

tUra

+5V

Trang 2

Với tổng số phím khỏang 20-30 ( bàn phím HEXA) thì đó là truờng hợpthường thấy trong các hệ thống nhỏ: các máy vi tính trên một bảng mạch in

hoặc các bảng mạch điều khiển nhỏ (hay được gọi là “kit”) Trong các máy tínhcá nhân như IBM PC chẳng hạn thì số phím có thể là từ 80-101 phím tùy theothế hệ máy

Để nhận được thông tin chính xác về trạng thái của một phím trong cáchệ thống như vậy ta phải thường làm 3 khối công việc sau:

+Phát hiện có ấn phím

+ Chờ công tắc ở trạng thái ổn định( chống rung)

+Tìm phím được ấn và tạo mã cho phím đó

Và để có được một phối ghép bàn phím với bộ vi xử lý thực hiện cácchức năng đã nêu ở trên trong thực tế người ta có thể làm theo 2 cách:

+ dùng bộ vi xử lý để quản lý trực tiếp bàn phím ghép qua một số mạchcổng Có thể nhận thấy rằng ở dây CPU làm việc theo chế độ thăm dò Bằngcách này CPU phải để một phần thời gian để quản lý bàn phím nhưng ta lại đạtđược sự đơn giản về phần cứng

+ dùng một mạch quản lý bàn phím chuyên dụng để phối ghép với bànphím Ở đây CPU làm việc với bộ quản lý bàn phím qua yêu cầu ngắt Bằngcách này ta có thể giải phóng CPU để nó dành thời gian cho các việc khác quantrọng hơn

Cổng ra 00

CPU

Cổng vào 01

Hình 9.2 Mạch phối ghép bàn phím

• CPU trực tiếp quản lý bàn phím

Trong cách làm này, để đơn giản trong trình bày, ta giả thiết bàn phímhệ 16 gồm 16 công tắc- phím đánh dấu từ 0 - FH ghép với bộ vi xử lý thôngqua các mạch cổng như trên hình 9.2 Các mạhc cổng có thể là các mạch ICnhư 74LS373 hoặc một phầnn của PPI 8255A được lập trình thích hợp

Thuật toán của chương trình điều khiển việc phối ghép CPU - bàn phímtheo sơ đồ phần cứng nói trên được trình bày bằng lưu đồ trên hình 9.3

Đầu tiên ta phải kiểm tra tình trạng (tốt, xấu) của bàn phím khi nó chưađược ấn ( đúng ra là khi ta chưa kịp ấn phím nào hoặc chưa kịp ấn phím tiếp

D0D1D2D3

D7D6D5D4D3D2D1D0

+5V

1

C D E F10K

Trang 3

theo) xem có phím nào bị kẹp ( dính ) không bằng cách đưa ra các hàng và dọccác cột để quét toàn bộ các phím.

Hình 9.3 Lưu đồ thuật toán chương trình phối ghép bàn phím

Nếu có một công tắc nào đó nối hàng và cột, mức điện áp 0 ở hàng sẽtruyền sang cột và ta sẽ đọc được ở cột tương ứng mức điên áp 0 Một bàn phímtốt sẽ không có các tiếp điểm của một công tắc nà được nối trong lúc này và tasẻ đọc được mức 1 ở tất cả các cột Chương trình của lưu đồ trên sẽ bị quẩnnếu bàn phím của ta bị dính Một cải tiến có thể được thêm vào chương trìnhtrên để thoát ra khỏi vòng quẩn đó và thông báo bàn phím bị hỏng

Nếu bàn phím không bị hỏng thì ta mới đi vào phần phát hiện xem liệucó một phím nào đó bị ấn không Nếu phát hiện ra có một phím bị ấn ta sẽ phảichờ cỡ 10 ms để cho công tắc có thời gian ổn định hệ thống Tiếp theo là taphải xác định lại xem có đúng là có một phím nào đó bị ấn không, nếu có thì tamới tiến hành xác định cụ thể xem đó là phím nào trong số các phím Ta làmviệc này bằng cách đưa 0 vào lần lượt các hàng và dọc các cột Khi đã biết tọađộ hàng và ccột của một phím bị ấn thì công việc tiếp theo là tạo mã cho phímđó Trong sơ đồ đơn giản như sơ đồ trên hình 9.3 thì việc tạo mã cho phím vừatìm thấy được thực hiện bằng cách đọc 8 bít từ cổng vào ( 4 bit cao chứa thôngtin về tọa độ hàng và 4 bit thấp chứa thông tin về tọa độ cột) rồi chuyển thànhmã hệ 16 tương ứng với phím bằng cách tra một bảng thích hợp

Tìm thấy

Tạo mã phímKết thúc

Trang 4

Sau đây là văn bản chương trình thực hiện thuật toán đã nêu dựa trên sơđồ trên hình 9.2 bằng cách dùng mạch PPI 8255A với địa chỉ cơ bản là 60H.Cần chú ý rằng đây chỉ là chương trình dùng để mô tả thuật toán.

• Chương trình 8.1 CPU- HexKeyboard cpu_kbd.asm

Model Small Stack 100 Data

MOV AX , @Data ;khởi đầu DSMOW DS , AX

MOW AL , CW ;khởi đầu 8255AOUT CRW, AL

CALL RD_KBD ;gọi chương trình đọc phím

Main EndpRD_KBD Proc

; thủ tục đọc và tạo mã cho phím bị ấn

; Ra : AL : mã phím,

; AH=00H khi không có lỗi

; AH=01 khi có lỗi

PUSH BXPUSH CXPUSH DXMOV AL,00 ;đưa 0 ra mọi hàngOUT PA, LA

MOV CX, 3 ;số lần kiểm tra dínhWait_Open: IN AL, PB ;đọc cột để kiểm tra dính

AND AL, 0FH ;che các bit cao

LOOPNE Wait_Open ;đúng, chờ khỏi dínhJCXZ Sai ;”quá tam ba bận” : phím bị kẹt Wait_Pres: IN AL,PB ;đọc cột đẻ kiểm tra ấn phím

AND AL, 0FH ; che các bit caoCMP AL, 0FH ;có phím ấn?

JE Wait_Pres ;không, chờ ấn phím MOV CX, 5880 ;Có, trễ 20ms để chống rung Tre: LOOP Tre

;đọc để kiểm tra lại phím bị ấn

IN AL, PB

Trang 5

AND AL, 0FH ;che các bit caoCMP AL, 0FH ;có phím ấn?

JE Wait_Pres ;không, chờ ấn phím

; tìm phím bị ấn

MOV AL, 0FEH ;mẫu bit để đưa 0 ra từng hàng

Hgsau: OUT PA, AL ;đọc các cột và kiểm tra

AND AL, 0FHCMP AL, 0FH ;đã tìm thấy phím bị ấn

ROL CL,1 ;không thấy, đỗi mẫuMOV AL, CL

JMP Hgsau ;làm tiếp với hàng sau Taoma: MOV BX, 000FH ;BX chỉ vào mã của phím F

IN AL, PB ;đọc tọa độ hàng và cộtTiep: CMP AL, Key[ BX] ;đúng với mã chuẩn

JE Thoi ;đúng, mã của phím trong BX

Thoi: MOV AL, BL ;mã của phím hệ 16 trong AL

POP CXPOP BXPOPF

RD_KBD Endp

END Main

• Dùng mạch chuyuên dụng để quản lý bàn phín

Thí dụ trên cho thấy một cách phối ghép đơn giản giữa CPU và bànphím Trong trường hợp CPU còn dành thời gian để làm nhiều công việc kháccủa hệ thống hoặc số lựong phím nhiều, thường người táử dụng những mạchquản lý có sẵn để làm các công việc đã nêu liên quan đến bàn phím Như vậybộ vi xử lý được giải phóng khỏi công việc quét bàn phím khi cần thiết nó chỉviệc đọc mã của phím bị ấn do mạch quản lý chyên dụng đưa đến

Mạcd AY5-2376 của Genneral Instrument là một vi mạch chuyên dụngnhư vậy Nó làm việc đúng theo cách của một chương trình quét bàn phím mà

ta đã mô tả ở thí dụ trên và khi đã tạo xong mã xho phím bị ấn, nó đưa ra xungSTB (xung cho phép chốt dữ liệu) để báo cho bộ vi xử lý biết Bộ vi xử lý cóthể nhận biết xung STB khi làm việc theo kiểu thăm dò (polling) hoặc có thểđáp ứng theo xung STB theo kiểu ngắt nếu xung này được sử dụng như mộtxung tác động đến đầu vào yêui cầu ngắt che được INTR Mạch AY5-2376 còncó khả năng quản lý không nhầm lẫn đối với bàn phím ngay cả trường hợp có 2phím được ấn gần như đồng thời

Một trường hợp đặc biệt của việc quản lý bàn phím dùng vi mạchchuyên dụng là bàn phím cho các máy IBM PC và các thiết bị đầu cuối Tạiđây người ta sử dụng một hệ vi xử lý chuyên dụng cho công việc quản lý bànphím Htạ nhân của hệ này là vi mạch 8048 - máy vi tính trong 1 võ, bao gồmCPU 8 bit ROM, RAM, cổng I/O và một bọ đếm/định thời gian lập trình được.Chương trình trong ROM của 8048 điều khiển việc kiểm tra các mạch điện tửcủa bàn phím khi nó được nối với nguồn điện và thực hiện việc quét bàn phímtheo 3 công đoạn đã nêu ở trên Khi có một phím được ấn đến CPU Mã này

Trang 6

được truyền đi dưới dạng dữ liệu nối tiếp để giảm bớt số đường dây cần dùngcho việc truyền tín hiệu.

Trong thực tế còn tồn tại những mạch kết hợp các phói ghép - đèn LEDtrong một vi mạch để tạo thuận lợi cho người sử dụng khi xây dựng cac kit vixử lý Đó là trường hợp mạch 8279 của Intel, một vi mạch tổ hợp cỡ lớn lậptrình được Sau khi CPU lập trình (ghi từ điều khiển), mạch 8279 có khả năngquản lý bàn phím theo 3 công đoạn kinh diển đã nêu và đồng thời có khả năngđiều khiển bộ phận hiển thị có nhiều nhất 16 đèn LEN 7 nét ở chế độ động

2 Phối ghép với đèn hiển thị LED ( điốt phát sáng)

Điốt phát sáng - LED là một phần tử phối ghép với bộ vi xử lý ở đầu rarất thông dung Trong trường hợp đơn giản, đó có thể là mộ vài đèn LED đơnlẻ để báo hiệu một vài trạng thái nào đó Phức tạp hơn đó là các đèn LED đượctổ hợp thành đèn chỉ thị 7 nét hoặc nhiều hơn để hiển thị các thông tin dướidạng số hoặc chử

Để điều khiển được các đèn LED này sáng, bộ vi xử lý hoặc các mạchcổng của nó cần được tăng khả năng tải bằng các mạch khuếch đại đệm ( bằngtransitor, bằng mạch SN7400hay SN7406) hoặc các mạch điều khiển đèn LED

7 nét chuyên dụng ( như SN7447) để đảm bảo đưa ra được tín hiệu với côngsuất nhất định cần thiết cho đèn LED

• CPU - SN7447 - LED 7 nét ở chế độ tỉnh

Một trong các phối ghép giữa vi xử lý và đèn LED 7 nét thường thấylà dùng mạch SN7447 để giải mã số BCD ra 7 nét và để điều khiển bộ đènchỉ thị (xem hình 9.4) Đây là kiểu điều khiển đèn LED ở chế độ hiển thịtĩnh với đặc điểm là khá đơn giản về kết cấu nhưng lại rất tốn năng lượng:để thắp sáng các nét của đèn LED thì phải có dòng điện liên tục đi qua

Hình 9.4 Phối ghép vi xử lý với LED 7 nét thông qua mạchSN7447

Ta có thể tính sơ bộ để có thể thấy sự tiêu tốn năng lượng của việchiển thị theo cách này Một đèn LED 7 nét tiêu tốn năng lượng nhiều nhấtkhi nó phải hiện ra số 8 và lúc này nó tiêu thụ doing điện khoảng 140 mA(khoảng 20mA/nét tuỳ theo chủng loại0 Bản than một mạch SN7447 khihoạt đọng cũng tiêu thụ doing điện khoảng 14mA Nếu tâ dùng đèn LEDnày để hiển thị 8 chử số (địa chỉ và dữ liệu) thì riêng mạch chỉ thị ta phảicung cấp khoảng 1.5mA

• CPU 7447 - LED 7 nét ở chế độ động - dồn kênh

a

B b

B c

C ’47 d

D e

LT fRBI BI g

µP

D0-D3

MAN7 a

f b g

e c

d

150Ώ

Trang 7

Hình 9.5 Phối ghép hiển thị ở chế độ động và dồn kênhĐể khắc phục nhược điểm của mạch phối ghép hiển thị tỉnh như đã đượcnêu ở trên, người ta thường sử dung mạch phối ghép hiển thị động làm việctheo nguyên tắc dồn kênh: toàn bộ cá đèn hiển thị dùng chung một bộ điềukhiển SN7447 và các đèn LED không được thắp sáng liên tục mà luân phiênnhau sáng theo một chu kỳ nhất định Công suất tiêu thụ nhờ thế mà giảm đi rấtnhiều mà vẫn đạt được hiệu quả hiển thị.

Sơ đồ mạch phối ghép này được thể hiện trên hình 9.5

Nguyên tắc hoạt độngGiá trị số cần hiển thị của mỗi con số được gửi đến cổng PB của 8255Atừ CPU dưới dạng mã BCD Từ đây BCD được mạch SN7447 giải mã và tạo racác tín hiệu điều khiển thích hợp đưa đến các chân catốt a.b, g của LED Mỗigiá trị cần hiển thị được đưa đến cổng PB cứ mỗi 2ms một lần cho một đèn

Giá trị số nói trên được hiện ra trên chử số thập phân nào lại là do cácbit của byte dữ liệu từ CPU đưa đến cổng PA của mạch 8255A quyết định

Như vậy cứ mỗi 2ms thì ta phải đưa dữ liệu ra PB rồi PA và cho hiện ramột giá trị số trên một đèn Nếu cả thảy có 8 LED 7 nét thì ta mất 16ms để chohiện số ra cả dãy đèn Quá trình trên lặp đi lặp lại (1 lần haut 16s hay 60 lầntrong 1s) làm cho ta có cảm giác là đèn sáng liên tục mặc dù trong thực tếchúng được điều khiển để sáng không liên tục

Một phương pháp phối ghép giống như trên nhưng không dùng mạchgiải mã SN7447 cũng rất hay được sử dung Thay vì mạch SN7447 như trên,tại đây ta dùng một bộ khuếch đại đệm chỉ để nâng cao khả năng tải của cổng

PB Vì thế trong trường hợp này CPU phải đưa đến PB không phải là 4 bit mãBCD của giá trị số hiển thị mà là các mẫu 7 bit để làm sáng các nét tương ứng

MAN7 a

f b g

e c

d

MAN7 a

f b g

Trang 8

với giá trị số đó Như vậy CPU phải để thì giờ để chuyển đổi từ giá trị số hệ16sang mẫu bit dành cho các net của LED và ta có khả năng hiển thị các số từ 0 -

FH

Để giả phóng hoàn toàn bọ vi xử lý khỏi công việc điều khiển đèn LED

ta có thể dùng mạch điều khiển 8279 đã được nói đến trong mục trước

3 Phối ghép với màn hình

Trong giai đoạn hiện nay, màn hiển thị bằng tinh thể lỏng (liquid crystaldisplay, LCD) và màn hình bằng ống tia điện tử hay đèn hình (cathode raytube, CRT) là các thiết bị hiển thị rất thông dụng đối với máy vi tính loại xáchtay hoặc loại để bàn Trong phần này ta chỉ giới thiệu các thông số và các phốighép màn hình loại CRT và CPU Mạch dùng cho cách phối ghép này coinđược gọi là bộ điều khiển màn hình (CT controller, CRTC)

• Màn hình hiện chử (chế độ văn bản)

QUÉT MÀNH VÀ QUÉT DÒNG

Đèn hình thực chất là một đèn điện tử có hai đầu, trong đó một đầu cóbề mặt loe rộng ra để làm chổ quan sát hình ảnh của các tia điện tử và bên cạnhlà lưới kim loại nối với điện áp rất cao để gia tốc cho các tia điện tử phát ra từmột suing đặt ở đầu bên kia của đèn Bề mặt phía trong đầu loe của đèn đượcphủ một lớp hoá chất( lớp huỳnh quang) có khả năng phát sáng khi có điên tửđập vào, màu của đèn sáng phát ra phụ thuộc vào thành phần hoá học của lớphuỳnh quang Nếu màn hình là loại một màu thì trên bề mặt này chỉ có mộtchất huỳnh quang duy nhất, còn nếu là màn hình màu thì lớp huỳnh quangđược hình thành từ rấ nhiều phần tử của 3 loại hoá chất khác nhau, khi óc điệntử đập vào mỗi chất liệu có thể phát ra một trong 3 màu cơ bản: đỏ (red,R),xanh lơ hoặc là xanh nước biển (blue, B), và xanh lá cây (green, G) Điện tửphải đi qua một mặt nạ gồm rất nhiều lỗ để được định hướng chính xác vào cácphần tử phát màu Khoảng cách giữa các lỗ trên mặt nạ (hay kích thước của cácđiểm ảnh( pitch) trên màn hình quyế định đọ phân giải của một màn hình

Muốn thể hiện hình ảnh trên màn hình ta phải điều khiển tia điện tử,được phát xạ ra từ một catốt bị nung nóng ở đuôi đèn, di chuyển từ trái sangphải ( tạo ra dòng) và từ cao xuống thấp (tạo ra mành), đồng thời ta phải điềuchế cường độ của tia điện tử theo độ sáng của hình ảnh muốn hiện trong suốtthời gian tia điện tử di chuyển đến phần loe ra của đèn Những lúc tia điện tửgặp đầu mút bên phải cuing như bên dưới của màn hình nó sẽ bị tắt và được láirất nhanh theo hướng ngược lại để lại bắt đầu quá trình “ quét “ tạo ra dòngmới và mành mới Tuỳ theo cách thực hiện việc quét ta có thể có cách quét 1mành hay 2 mành xen kẽ Tuỳ theo các tiêu chuẩn khác nhau tá cũng có cácthông số về dòng quét cho một mành, tần số quét dòng hoặc tần số quét mànhvới các trị số khác nhau

Cho dù có các thông số khác nhau, một màn hình cho máy vi tính thôngthường phải bao gồm các mạch dao động để tạo ra xung quét dòng, xung quétmành dùng vào việc điều khiển chuyển động của tia điện tử và mạch khuếchđại tín hiệu hình để điều khiển ccường độ sáng của tia điện tử đó Để màn hìnhnày hiển thị được thông tin, ta phải cung cấp các tín hiệu đồng bộ cho các bộtạo dao động nói trên và cung cấp tín hiệu chứa thông tin về đối tượng cần hiểnthị (tín hiệu hình) cho bộ khuếch đại ảnh Cả 3 tín hiệu điều khiển này phảiđược đồng bộ với nhau để tạo ra điểm ảnh của hình được hiện ra tại cùng một

vị rí trên màn trong mỗi mành

CÁCH HIỂN THỊ KÍ TỰ

Trang 9

Kí tự hoặc hình vẽ được hieenr thị lên màn hình bằng cách tập hợp các

điểm (điốt) sáng hay tối Trong chế độ văn bản (text mode) Các điểm nàyđược hình thành bằng việc có cho tia điện tử có đập hay không đập vào mànhuỳnh quang theo một khuôn mẫu có sẵn, trong đó các điểm được tổ chức theo

ma trận

Trên hình 9.6 là ts dụ các ma trận điểm dùng làm mẫu chứ phục vụ choviệc hiển thị chữ E và chử H trên màn hình Chấm đen để biểu hiện cho nhữngchổ có điện từ đập vào màn, chấm trắng để biểu hiện cho những chỗ không cóđiện tử đập vào màn hình (chữ trắng tren nền đen) Đây là ma trân điểm 5x7cho các kí tự Các kích thước ma trân khác hay được dùng trong thực tế là 7x9,7x12 hay 9x14 Các mẫu như vậy thường được tạo sẵn cho mỗi kí tự ASCII vàđược chứa trong một vi mạch nhớ ROM có tên là ROM tạo chữ

Hình 9.6 Hiên chữ E và H lên màn hình

Bộ chia 80*: bộ đếm ký tự (80 ký tự/hàng+ thời gian quét ngược dòng)Bộ chia 14: bộ đếm dòng quét (14 dòng / ký tự)

Bộü chia 25*: bộ đếm hàng chữ (25 hàng/mành + thời gian quét ngượcmành)

Trên hình 9.7 là sơ đồ khối của một mạch để hiển thị được một tangmàn hình văn bản bao gồn 80 ký tự theo chiều ngang và 25 ký tự theo chiềudọc (80x25)

Tạo xung

RAM đệmA0-A6A7-11

D0-D8A0-A7ROM tạo chữR0-R3

÷9

÷14

÷25

÷80

Trang 10

Hình 9.7 Sơ đồ khối mạch hiện chử theo ma rân 9x14 trên màn hìnhMã ASCII của các ký tự thuộc mỗi trang màn hình cần hiển thị đượcchứa sẵn trong một bộ nhớ RAM đệm màn hình ( mỗi ký tự cần 1 byte để ghinhớ mã của nó) Nếu ta cần hiển thị một trang màn hình gồm 80x25= 2000 ký

tự thì ta cần dùng đến một bộ nhớ RAM đệm códung lượng cỡ 2KB Nội dung của bộ nhớ RAMđệm này được bọ điều khiển màn hình đưa rađịnh kỳ để làm tươi màn hình sau 1 khoảng thờigian nhất định ( như vậy màn hình hiện thị thôngtin làm việc ở chế độ động) Trong thực tế bộnhớ RAM đệm này còn phait thâm nhập đượcbằng bộ vi xử lý để ta còn có khả năng thay đổiđược nội dung cần hiển thị Các địa chỉ A0-A6sẽ xác định vị trí của ký tự cần hiển thị trong 1hàng còn các địa chỉ tử A7 - A11 sẽ xác định toạđộ theo cột của cả một hàng cần hiển thị Nóicách khác tổ hợp các bit địa chỉ từ A0 - A11 củaRAM đệm sẽ quyết định toạ độ cụ thể của mộtký tự trên màn hình

Trong thực tế ma trân điểm 9x14 của bộnhớ ROM tạo chữ có dạng như trên hình 9.8 Các dòng điểm thừa ra ở 4 phía làđể tạo ra giãn cách chữ trong hàng và giãn cách giữa các hàng với nhau

Hình 9.8 Ma trận điểm 9x14 cho chữ P và chữ p

Khi ROM tạo chữ nhận đuợc tín hiệu địa chỉ từ RAM đệm thì đó chínhlà mã ASCII của ký tự cần hiển thịvà một ma trận điểm tương ứng của ký tựđược chọn để đưa ra màn hình Việc quét các dòng điểm trong ma trân điểm là

do các tín hiệu quét dòng R3 - R0 quyết định

Giả sử nội dung của bộ đếm ký tự lúc này là 0 Ký tự đầu tiên ở góc tráimàn hình được chọn để hiển thị Mã ASCII của nó được đưa đến bộ nhớ RPMtạo chử Giả thiết lúc đầu bộ đếm dòng quét có R3 R2 R1 R0 =0000 Ở đầu racủa bộ nhớ Rom tạo chử có dòng điểm đầu tiên (9 điểm cho 1 ký tự) được đưa

ra bộ ghi dịch, ở đây dữ liệu từ dạng song song được biến thành dạng nối tiếprồi đưa đến bộ khuếch đại với tốc độ 16.257.000điểm/s để điều chế cường độ

Trang 11

của tia điện tử phát ra từ catốt đèn hình Nên nhớ rằng khi quét dòng quét chomột ký tự vừa xong thì bộ đếm ký tự tự động tăng thêm để ta có thể lấy ra dòngđiểm của ký tự tiếp theo cần hiển thị ở trong cuing một hàng Công việc cứ tiếptục như vậy cho đến khi thao tác xong với ký tự 80, lúc này tia điện tử bị láingược lại để bắt đầu lại quá trình trên đối với dòng quét tiếp theo.

Khi đã quét xong được 14 dòng điểm cho 80 ký tự như trên (tức là chomột hàng ký tự) thì bộ đếm ký tự tự động tưng thêm 1 và hàng ký tự tiếp theolại được quét như đối với hàng ký tự trước đó Quá rình sẽ tiếp diễn cho đếnkhi thao tác xong với hàng ký tự thứ 25 Lúc này tia điện tử bị lái ngược lại đểcó thể bắt đầu lại quá trình làm tươi màn hình từ ký tự đầu tiên trên góc trái củahàng ký tự thứ nhất trên màn hình

Hình 9.9.Sơ đồ khối bộ phối ghép màn hình một màu của IBM

MÀN HÌNH MỘT MÀU CỦA IBM

Trên hình 9.9 là sơ đồ khối của vi điều khiển màn hình một màu(monochrome display adapter, MDA ) của IBM Nhìn vào sơ đồ khối này tacó thể nhận ra một số khối chức năng đã được giới thiệu trên hình 9.7 Tần sốđiểm 16,257 MHz được chia cho 9 ở bên trong khối logic xử lý tín hiệu hình đểtạo r tần số ký tự 1,787,904 MHz, tần số này được đưa đến mạch điều khiểnmàn hình CRTC 6845 để tạo ra các xung đồng bộ và các xung khác cần thiếtcho việc làm tươi màn hình Mạch CRTC có chức năng bao trùm chức năngchức năng của các bộ đếm ký tự, bộ đếm số dòng quét và bộ đếm số hàng kýtự của hình 9.7 cùng một số chức năng khác, nhưng với khả năng hoạt độnglinh hoạt hơn nhiều vì nó là một vi mạch rất phức tạp lập trình được Khối logicxử lý tín hiệu hình sẽ được xử lý các tín hiệu từ bộ ghi dịch cuing với các tín

Trang 12

hiệu điều khiển hình ( đồng bộ dong, đồng bộ mành) để tạo ra tín hiệu hìnhcuối cuing đưa ra điều khiển trực tiếp màn hình.

Trong hình 9.9 bên cạnh 2KB RAM đệm chứa các byte là mã ASCIIcủa các ký tự cần hiển thị ta còn thấy có 2 KB RAM đệm khác dùng để chứacác byte thuộc tính của các ký tự đó

Byte thuộc tính (xem hình 9.10 )quy định cách thức hiển thị ký tự đãcho trên màn hình: độ sáng của ký tự, ký tự hiện liên tục hay nhấp nháy, quanhệ giữa màu nền và màu chữ ( ví dụ hiện bình thường thì chử trắng trên nền đencòn ngược thì chữ đen trên nền trắng) Trong bộ nhớ thực, byte mã ký tự đặt địachỉ chẵn còn byte thuộc tính đạt tại địa chỉ lẻ Mỗi mãng nhớ 2KB RAM nàyđều thâm nhập được từ CPU hoặc từ CRTC

Để không xảy ra xung đột giữa CPU và CRTC trong khi thâm nhập bộnhớ, thông thường CPU chỉ được quyền thâm nhập vào các RAM đệm trongthời gian của các xung quét ngược hoặc cả CRTC và CPU đều chia 1/2 thơidgian liên tiếp của xung ký tự để thâm nhạp vào RAM đệm

Để làm tươi màn hình CRTC liên tục đưa địa chỉ đén các ô của bộ nhớmã ký tự và bộ nhớ thuộc tính Mỗi xung ký tự sẽ cho phép chốt 1 byte mã kýtự và 1 byte thuộc tính để đưa đến bộ ROM tạo chữ và bộ giải mã thuộc tính.Quá trình này sẽ tiếp tục cho các ký tự khác trong trang màn hình và cứ lặp đilặp lại mãi

I=1: ch hi n ra sâng h nữ ệ ơ

BL=1:ch nh p nhâyữ ấ

Hình 9.10 Byte mã ký tự và byte thuộc tính

CÁC XUNG NHỊP VÀ XUNG ĐỒNG BỘ

Các bộ phối ghép màn hình khác nhau có tần số xung đồng bộ dòng.Xung đồng bộ mành và tần số điểm khác nhau đẻ phù hợp với các loại màn

Trang 13

hình mà nó phải điều khiển Nói chung các bộ phối ghép màn hình thôngthường có tần số xung quét dòng màn hìnhdài 15,50KHz, tần số xung quétmành nằm trong dãi 50 - 60 Hz và tần số điểm nằm trong dãi 10 - 100 MHz

Ta lấy lại ví dụ bộ điều khiển màn hình một màu của IBM để phân tíchcác xung chính Hình 9.11 biểu diễn sự phân chia thời gian của 2 loại xungquét

Hình 9.11 Phân chia thời gian các xung quét dòng và quét mành

Giả thiết ta phải hiển thị một trang màn hình gồm 80x25 ký tự với matrận điểm 9x14 Như vậy trên khung hình làm việc của màn hình ta phải có80x9=720 điểm/dòng quét và ta phải có tất cả 25x14=350 vòng quét Nếu ta sửdung tần số điểm là 16,257 MHz (16,257,000 điểm/s) thì với tần số dòng18,432 KHz (hoặc dòng quét/s) ta sẽ có (16,257,000điểm/s)/(18,432 dòngquét/s)=882 điểm/dòng quét Như thế ta có 162 điểm dôi r, nghĩa là tương ứngvề mặt thời gian ta có thêm thời gian để bù vào các đoạn quét trội (ngoài vùnglàm việc của màn hình) và thời gian quét ngược của tia điện tử theo chiềungang

Tương tự ta cũng có tần số xung quét mặt là 50Hz (50 mành/s), với tầnsố dòng 18,432 kHz (hay dòng quét/s) ta sẽ có (18,432 dòng quét/s)/(50mành/s)=369 dòng quét/mành Trước đay ta đã tính được khung hình làm việc

ta chỉ cần 350 dòng quét/mành, tức là có dôi thêm ra 19 dòng quét/mành Vớisố dòng quét dôi ra này, tương ứng về mặt thời gian ta sẽ có thêm thời gian đểbù vào các đoạn quét trội (ngoài vùng làm việc của màn hình) và thời gian quétngược của tia điện tử theo chiều dọc

• Màn hình đò hoạ ( chế độ đồ hoạ)

MÀN HÌNH ĐỒ HOẠ MỘT MÀU

Trong chế độ văn bản, các chấm ở đầu ra của bộ ghi dịch là hình ảnhcủa các dòng điểm của các ký tự được ghi sẵn trong ROM tạo chữ Tương tựnhư vậy, để thể hiện một hình ảnh bất kỳ (trong đó có cả chữ, nhưng khôngtuân theo một khuôn mẫu sẵn có nào) ta có thể đưa vào thanh ghi dịch cácđiểm thành phần của hình đó Để làm được điều này ta không cần đến bộ ROMtạo chữ nữa và bộ nhớ RAM đệm lúc này, thay vì chứa mã ASCII của ký tự, taphải chứa các điểm ảnh (pixel hay pel) mà tổ hợp của chúng chính là hình ảnhcần phải thể hiện Chế độ làm việc kiểu này của màn hình gọi là chế độ đồ hoạ,màn hình hiển thị hình ảnh theo bản đồ điểm ảnh (bit-map)

Giả thiết ta phải thể hiện trên khung hình làm việc 640 điểm ảnh theochiều ngang vvà 400 điểm theo chiều dọc thì cả khung hình làm việc này tương

thời gian quĩt trội

Khung hình lăm việc

( Tích cực )

Măn hình thời gian quĩt trội

thời gian quĩt mănh tích cực

thời gian quĩt dòng tích cực

thời gian quĩt trội vă quĩt ngược

Trang 14

đương với một ma trận với 256000 điểm ảnh Nếu để ghi nhớ mỗi điểm ảnhnhư vậy ta cần 1 bit trong bộ nhớ RAM đệm thì với toàn bộ khung hình làmviệc ta cần đến bộ nhớ với dung lượng cở 32KB Từ đây ta cũng nhận thấy rằngnếu phải ghi nhớ thông số cho một điiểm ảnh màu thì ta phải tốn thêm nhiều ônhớ hơn so với cho trưòng hợp điểm ảnh một màu

MÀN HÌNH ĐỒ HOẠ MÀU

Như trước đây đã nói, màn hình (nhiều) màu khác màn hình một màubởi sự có mặt của các cum 3 phần tử trong lớp huỳnh quang phủ lên bề mặtphía tong của đèn hình, mỗi tphần tử có khả năng phát ra 1 trong các màu R, Bvà G Màu của một điểm ảnh trên màn hình màu là của 3 điểm sáng phát ra từ

3 phần tử màu đó khi chúng bị 3 tia điện tử đi ra từ 3 súng catốt đèn hình bắnvào Như vậy, để điều khiển 1 điểm ảnh của màn hình màu ta phải có 3 tín hiệuđể điều khiển 3 tia R,B và G kèm thêm 1 tín hiệu để điều khển cường độ sáng(I) của điểm ảnh Màn hình màu loại này vì vậy còn được gọi là màn hìnhRBG hoặc màn hình RBGI Chúng thường được thiết kế để có thể làm việcđược với các khuôn hình hiển thị khác nhauvà với các tần số của các xung đồngbộ dòng và mành nằm trong mọt dãi nhất định

Ta thấy ngay rằng để ghi nhớ thông tin cho một điểm sáng trên mànhình màu nằm trong bộ nhớ RAM đệm theo kiểu đã làm cho màn hình mộtmàu A phải tốn tới 4 bit (thay vì 1 bit như trong trường hợp màn hình 1 màu)và nếu ta phải hiển thị trên khung hình làmviệc 640x400 điểm ảnh thì bộ nhớRAM đệm cho màn hình màu phải có dung lượng cỡ 32KBx4=96KB

Hình 9.12 16màu của màn hình màu đồ hoạ CGA

Với 4 bit để chứa thông tin về màu cho một điểm ảnh tacó khả năng thểhiện được điểm ảnh đó với 16 màu (xem hình 9.12)

Để có thể hiện một điểm ảnh với các gam màu liên tục hơn người ta đãđưa vào sử dụng các màn hình tương tự.Các màn hình này được nối qua cácmạch biến đổi số_tương tự (DAC) ở đầu vào và các bộ biến đổi này được nối

Trang 15

đến các vi điều khiển màn hình làm việc với tín hiệu hình ở dạng số đã cósẵn.Ví dụ:nếu ta dùng 2 bit để mã hoá các gam khác nhau cho 1 màu cơ bản vànếu ta dùng một bộ DAC 2 bit cho mỗi màu, ta có thể hiển thị một điểm ảnhvới 4x4x4=64 loại màu khác nhau.

BẢNG MÀU VÀ MẠT ĐIỂM ẢNH

Như đã nói ở trên, nếu ta dùng một bt trong bộ nhớ RAM đệm để nhớthông tin cho một điểm ảnh một màu thì ta phải dùng nhiều bit hơn để chứathông tin cho một điểm ảnh màu, vì các thông tin cho các màu R,B và G cũngphải được lưu trữ Ví dụ, để hiện một điểm ảnh màu với 256 màu khác nhau taphải dùng đến 8 bit lưu trữ thông tin về điểm đó Nếu ta lấy trường hợp phảihiển thị 640x400 điểm, mỗi điểm với 256 màu khác nhau ta sẽ phải cần bộ nhớdung lượng 256.000 byte Điều này gây khó khan trong việc thực hiện bộ nhớRAM đệm về mặt giá cả cũng như về không gian địa chỉ dành cho phần hiểnthị trong các hệ vi xử lý 16 bit

Để hạn chế số bit cần thiết cho việc lưu trữ thông tin của điểm ảnh màumà vẫn đảm bảo được gam màu rộng người ta đã sử dung việc mã hoá thông tintheo bảng màu (palêtt) Điều này có nghĩa là trong một thời điểm chúng ta chỉđược sử dung mố số màu trong một bảng màu chứa taut cả các màu có thể có

Ví dụ, vi điều khiển màn hình CGA của hãng IBM có khả năng hiển thịmột lúc 320x200 điểm với 4 màu chọn trong bảng màu gồm 16 màu Vì tại mộtthời điểm ta chỉ hiện 4 màu nên để lưu trữ thông tin cho một điểm ảnh ta chỉcần 2 bit

Ví dụ khác, nếu tại một thời điểm ta vừa lòng với việc hiển thị 640x400điểm ảnh với 16 màu trong bảng màu gồm 256 màu, chứ không phải là với 256màu cuing một lúc, ta sẽ chỉ cần đến 4 bit để lưu giữ thông tin cho một điểmảnh với 1 rong 16 màu Bộ nhớ RAM đệm sẽ nhỏ đi được một nửa so vớitrường hợp hiện đủ 256 màu, lý do là một byte trong trường hợp này có thểchưa thông tin cho 2 điểm màu (xem hình 9.13a)

Việc chỉ dùng một số màu trong một bảng màu để làm giảm kích thướcbộ nhớ đệm là rất có lợi đối với các bộ điều khiển màn hình màu có đfộ phângiải cao (và như vậy đòi hỏi bộ nhớ lớn)., vì điều này làm giảm được tần sốtruy nhập bộ nhớ DRAM đệm khi làm tươi màn hình

Một biện pháp khác để làm giảm tần số truy nhập bộ nhớ đệm khi làmtươi màn hình là bằng cách tổ chức bộ nhớ đệm theo các mặt nhớ song song đểchứa thông tin của một điểm Cách tổ chức bộ nhớ cho kiểu hiển thị này đượcminh hoạ trên hình 9.13b

Trong cách làm này, 4 bit thông tin của 1 điểm ảnh được để tại các vị trígiống như trong 4 byte liên tiếp của bộ nhớ DRAM đệm Điều này tươngđương việc mỗi thông tin vê3f 1 màu được để trong một mặt điểm (bit plan).Khi bộ điều khiển màn hình lấy 4 byte này vào các thanh ghi của nó thì cóđược cả thảy thông tin của 8 điểm ảnh Trong khi 8 điểm ảnh này được đưa ramàn hình thì bộ nhớ DRAM có thời gian hồi phục để lại có thể đọc tiếp được

Với 4 bit thông tin cho một điểm ảnh trong 4 mặt ta sẽ chọn được 1trong 16 thanh ghi tương ứng với 1 trong 16 màu của bảng màu gồm 64 màu(thanh ghi này có 6 bit cho màu đỏ nhạt, xanh biển và xanh biển nhạt, xanh lácây và xanh lá cây nhạt) Đây cũng là cách hiển thị điểm màu của vi điều khiểnmàn hình EGA ( enhanced graphics adapter, bộ phối ghép đồ hoạ cải tiến)

• Các loại phối ghép màn hình thông dụng

Trên hình 9.14 là bản liệt kê các loại mạch phội ghép màn hình thôngdụng trong thực tế và các thông số kỹ thuật chính của chúng Hinh 9.14 cũng

Trang 16

giới thiệu mẫu hiển tị của các vỉ phối ghép màn hình cho các máy vi tính cá

nhân của hãnh IBM hoặc tương thích

a) Chứa thông tin theo điểm ảnh

Đến màn hình RBGI b) Chứa thông tin theo kiểu điểm ảnh

Hình 9.13 Cách chứa thông tin trong bộ nhớ RAM đệm hình

Các máy tính cá nhân của IBM hoặc các máy tương thích thường không

có sẳn khả năng đồ hoạ gắn trên bảng mẹ Người dùng phải lựa chọn để cắm

vào bảng mẹ một vi mạch phối ghép (vỉ điều khiển màn hình) với khả năng

hiển thị ở chế độ văn bản/đồ hoạ thích hợp và chọn loại màn hình điều khiển

phù hợp với bộ điều khiển đó Do vậy tên của bộ điều khển màn hình cũng

dùng để gọi luôn cho loại màn hình tưong thích đi kèm với nó

đệm hình

Mặt 1 D0 Mặt 1 D0 Mặt 1 D0 Mặt 1 D0

0

5

15

Trang 17

Hình 9.14 Các loại phối ghép màn hình chính cho máy IBM

VỈ CGA CỦA IBM

Vỉ phối ghép màn hinhgf màu đồ hoạ (color graphics adapter, CGA)một thời là một loại vỉ phối ghép màn hình thông dụng, nó có thể điều khiểnmàn hình làm việc ở chế độ văn bản cũng như chế độ đồ hoạ Hạt nhân của vỉnày vẫn là vi mạch chuyên dụng CRTC 6845 nỗi tiếng của Motorola MạchCRTC này cung cấp các tín hiệu địa chỉ cho RAM đệm để làm tươi màn hình,tín hiệu để quét dòng điểm của ma trận điểm trong ROM tạo chữ các tín hiệuđồng bộ dòng và đồng bộ mành và một số tín hiệu khác, Vỉ CGA có thể điềukhiển màn hình màu với các đầu vào RBG tách biệt hoặc cung cấp tín hiệuhình tổng hợp đưowcj điều chế cao tần cho loại màn hình màu tổng hợp

Trong vỉ CGA có bộ nhớ RAM đệm hình với dung lượng 16 KB vàđược bắt đầu từ địa chỉ 0B800H Ở chế độ văn bản, màn hình hiển htị được80x25 ký tự theo ma trận điểm 8x8, mỗi ký tự cần 2 byte liên tiếp để chứa mãvà thuộc tính giống như ở bộ điề khiển cho màn hình một màu ( xem hình9.10a: trên hình 9.10b các bit b2 b1 b0 tưong ứng với các màu RGB cho chữ và

b6 b5 b4 tương ứng với các màu RGB cho nền) Để hiển thị kí tự ta có thể địnhnghĩa được 8 màu nền và 16 màu chử theo tổ hợp với các bit thuộc tính (xem

Trang 18

hình 9.12) bit BL=1 là để hiển thị chữ nhấp nháy I=1 là để hiển thị chữ vớicường độ sáng lớn hơn Như vậy, để lưu giữ thông tin của một trang màn hìnhvăn bản ta dùng haut $KB bộ nhớ và với 16KB RAM đệm hình có trên vỉ CGA

ta có thể lưu giữ được 4 trang văn bản

Khi làm việc ở chế độ đồ hoạ, tín hiệu từ RAM đệm được đưa trực tiếpđến các thanh ghi dịch để đưa đến điều khiển riêng biệt mỗi suing điện tử VỉCGA có thể làm việc ở 3 mức độ phân giải: thấp (160x100 điểm, 4 màu trongbảng 16 màu), trung bình (320x200 điểm, 4 màu trong bảng 16 màu) và cao(640x200 điểm, 2 màu đen và trắng)

VỈ IGA CỦA IBM

Vỉ phối ghép đồ hoạ cải tiến (enhanced graphics adapter,EGA) có bêntrong bộ điều khiển màn hình giống như mạch CRTC 6845 nên nó cho phéplập trình để định nghĩa ra tất cả các chế độ làm việc như vỉ CGA, ngoài ra nócòn định nghĩa được một số chế độ đặc biệt khác Vỉ EGA sử dụng cách bố tríbộ nhớ đệm theo kiểu mặt điểm ảnh và các thanh ghi bảng màu (xem hình9.13b)

Trên hình 9.13 biểu diễn chế độ hiển thị 640x350 điểm với 16 màutrong bảng màu gồm 64 màu Bộ nhớ DRAM đệm được sắp xếp thành 4 mặtnày chứa 1 bit mô tẩ thông tin về màu của 1 điểm Một nhóm 4 bit đọc được từ

4 mặt nàyđược dùng để chọn ra 1 trong 16 thanh ghi 8 bit của bảng màu Chỉcó 6 bit thấp của thanh ghi mới được dùng để đưa ra điều khiển màn hình Tổhợp của 6 bit này tạo rra các màu của bảng 64 màu, đó là các màu trên thực tếhiển thị được hteo các giá trị cụ thể có trong thanh ghi bảng màu

BBỘ MCGA CỦA IBM

Bộ phối ghép MCGA (multicolor graphics array) của IBM được cấyngay trên bảng mẹ của máy PS/2-30 cho phép lập trình để hiển thị trong tất cảcác chế độ của vỉ EGA và một số chế độ khác Ví dụ , ta có thể lập trình để cóchế độ hiển thị 320x200 điểm với 256 màu hoặc 640x480 điểm đen trắng

VỈ VGA CỦA IBM

Trong vỉ phối ghép VGA (vidio gate array ) cũng có bộ CRTC cho phéplập trình để chọn ra các giá trị thích hợp cho tần số điểm, số dòng quét mành,tần số quét mành, số dòng quét trội Vỉ VGA có thể thực hiện được tất cả cácchế độ hiển thị của các vỉ CGA và EGA cuing nhiều chế độ riêng biệt khác

Ví dụ vỉ VGA với 8 bit để mã hoá màu cho một điểm ảnh có thể điềukhiển hiện thị 256 mảutong 1 bảng màu gồm 262.144 (256K) màu Để làmđược điều như vậy, bộ nhớ của vỉ VGA được tổ chức thành 4 mặt, mỗi mạtchứa 8 bit mã hoá màu cho 1 điểm Đầu ra của vỉ VGA là tín hiệu tương tự chocác màu RGB Có 3 bộ DAC cho 6 bit được nối vào 6 bit tương ứng cho mỗimàu của 1 trong 256 thanh ghi màu 18 bit (hình 9.15a) Các thanh ghi màunày được chọn nhờ nội dung 4 bit thấp của thanh ghi bảng màu , 4 bit cao củabyte mã hoá màu cho 1 điểm chọn ra các thanh ghi bảng màu, còn 4 bit thấpcủa nó được dùng để chỉ ra địa chỉ phần cao của các thanh ghi màu (địa chỉ củamột vùng các thanh ghi màu) Như vậy, với 64 mức màu cho 1 màu thì ta cóbảng màu gồm 64x64x64=256K màu

Trên hình 9.15b là một ví dụ về chế độ hiển thị 640x400 điểm 16 màu.Mỗi điểm ảnh được mã hoá bằng 4 bit để tại 4 mặt điểm, 4 bit này chọn ra được

1 trong 16 thanh ghi bảng màu Thanh ghi chế độ chỉ cho phép 4 bit thấp củathanh ghi bảng màu chọn ra 1 thanh ghi màu trong nhóm màu., 4 bit htấp của

Trang 19

255

3115

DAC 6 bit

66

Thanh ghi bảng màu Thanh ghi màu 18 bit

Thanh ghi điều

khiển chế độ Thanh ghi chọn màu

4

4

Thanh ghi bảng màu Thanh ghi màu 18 bit

thanh ghi chọn màu sẽ chọn 1 trong 16 nhóm màu Như vậy, ta có thể chuyểnrất nhanh giữa các nhóm 14 màu này

• Lập trình cho các vỉ phối ghép màn hình

Các vỉ phối ghép màn hình về mặt lập trình là tương đương với các cổngcó địa chỉ xác định Vì vậy để điều khiển màn hình làm việc ta chỉ cần ghi cácthông số cần thiết vào thanh ghi điều khiển, thanh ghi bảng màu là xong.Trong thực tế có nhiều cách lập trình để điều khiển màn hình làm việc, trongđó có 2 cách thông dụng nhất:

+ Dùng các lệnh hợp ngữ để ghi các thông số cần thiết vào các thanh ghiđiều khiển của vỉ phối ghép để điều khiển chế độ hiển thị và để ghi trực tiếp kýtự cần hiển thị vào RAM đệm để thay đổi nội dung Đây thường là cách để đạtđược tốc độ hiển thị nhanh nhất

+ Dùng các dikchj vụ ngắt INT 10H của BIOS nếu làm việc với cácmáy kiểu IBM Cách này thường chậm hơn cách trên nhưng có lợi là ta có thểsử dụng các dịch vụ có sẵn của BIOS và vì vậy có thể trao đổi chương trìnhgiữa các máy

Ví dụ

Để minh hoạ cho việc lập trình cho màn hình dùng hợp ngữ bằng cáchghi trực tiếp vào vùng RAM đệm hiện thị, ta lấy một ví dụ hiển thị một mànhình 80 cột và 25 hàng ký tự ‘$’ (tức 80x25 = 2000 ký tự ‘$’) với màu tía trênnền xanh da trời

Thân của chương trình nói trên viết dưới dạng thủ tục có thể như sau:Disp Proc

MOV AX, 0B800H ;cho DS chỉ vào vùng RAM đệmMOV DS, AX

MOV CX, 2000 ;số ký tự phải hiệnMOV DI, 0 ;hiển thị ký tự tại góc trái caoHIEN: MOV [DI] , 3524H ;$ tía trên nèn trời xanh!!!

ADD DI, 2 ;hiện ký tự tiếp

INT 21HDisp Endp

a) Hiện 320x200 điểm với 256 màu

Nhóm1Nhóm2Nhóm 15

RBG240

Trang 20

255

3115

DAC 6 bit

66

15 4

4

6 b) Hiện 640x480 điểm 16 màu

Hình 9.15 hiển thị điểm màu trong vỉ VGA

4 Phối ghép với thế giới tương tự

Việc phối ghép hệ vi xử lý và các thiết bị làm việc với các đại lượngtương tự là một nhu cầu rất hay gặp trong thực tế cũng như trong công nghiệp.Các phần tử mà hệ vi xử lý cần phải phối ghép thường là các đầu đo (bộ cảmbiến hoặc bộ biến đổi) ở đầu vào và các cơ cấu chấp hành các loại ở đầu ra Đểghép nối với các thiết bị như vậy, thông thường phải cần đến các bộ chuyển đổitương tự - số (analog to digital converter, ADC), các bộ chuyển đổi số - tươngtự (digital to analog converter, DAC) Trong một số trường hợp cụ thể ta còncần đến mọt số thiết bị điện tử chuyên dụng khác bộ khếch đại đo, bộ chuyểnmạch tương tự (bộ dồn kênh hoặc bộ phân kênh tương tự), mạch so sánh số,mạch trích mẫu và giữ mẫu Khuếch đại công suất

Hình 9.16 Sơ đồ khối của hệ thống điều khiển dùng vi xử lý

Các thiết bị trên thường được ghép nối với nhau để tạo thành các hệ tuthập dữ liệu (data acquisition system, ADS), các bộ điều khiển, các thiết bị đolường cao cấp , các thiết bị xử lý dữ liệu thời gian thực , tất cả được sử dụngrộng rãi trong công nghiệp cũng như trong đời sống

Ta sẽ không đi sâu vào từng mạch phối ghép trong các thiết bị cụ thể màchỉ nêu ở đây sơ đồ khối của một hệ thống điều khiển dựa trên cơ sở vi xử lýnhư là một ví dụ đại diện (hình 9.16.)

Hệ thu thập dữ liệu có nhiệm vụ phối ghép với các bộ cảm biến về mặtđiện (phối hợp trở kháng, khuếch đị mức tín hiệu ) và biến các tín hiệu thuđược từ dạng tương tự ssang dạng số để CPU có thể đọc vào và xử lý Bànphím và màn hình là hai thiết bị vào/ra truyền thống Tuỳ theo quy mô và tínhchất công việc, chúng có thể là các thiết bị rất đơn giản như bàn phím hệ 16 và

D4-D7

4 mặt của bộnhớ RAM đệm hình D0-D3 D0- D3

RBG240

00

Trang 21

các đèn hiển thị LED,LCD hoặc phức tạp hơn như bàn phím và màn hình giốngnhư trong các máy vi tính thực thụ.

Bộ vi xử lý ở đây thường là loại chuyên dụng, được chế tạo đặc biệt chocác công việc trong điều khiển (ví dụ như các vi mạch 8051, 8096 của Intel).Chương trình viết cho CPU thông thường là để thực hiện các thao tác điềukhiển của các khối chức năng theo kiểu tỷ lệ/tích phân/vi phân (PID) bằngphương pháp số Một điểm đặc biệt nữa là trong hệ thống diều khiển thường cómột đồng hồ thời gian thực (RTC) để hệ thống có thể thực hiện các yêu cầuđiều khiển theo thời gian thực

Các cơ cấu chấp hành thường là loại số hay tượng tự Cơ cấu chấp hànhsố thường là các khoá điện tử hoặc khoá cơ điện dùng để đóng/ngắt các mạchcấp điện cho đối tượng cần điều khiển, vì vậy các cơ cấu này chỉ cần được cấptín hiệu logic thích hợp là được.Các cơ cấu chấp hành tương tự cần được nốivới hệ vi xử lý qua cá bộ chuyển đổi DAC và kèm theo các bộ khuếch đạicông suất để thực hiện các thao tác điêu khiển do bộ vi xử lý đưa đến

5 Phối ghép CPU với mạch đếm/định thời gian 8254 (8253)Mạch định thời gian lập trình được 8254 (8253) là một mạhh phụ rấtquan trọng trong các hệü vi xử lý của Intel Nó có thể đáp ứng được các yêu cầuứng dụng khác nhau trong hệ vi xử lý: đếm thời gian, đếm sự kiện, chia tần số,tạo ra dãy xung

Sơ đồ khối của vi mạch 8254 và cách phối ghép với CPU được thể hiệntrên hình 9.17

Các tín hiệu của vi mạch 8254 có tên và ý nghĩa giống như của 8088nên khá quen thuộc và ta sẽ không cần phải giải thích nhiều nữa Chân chọn võcủa vi mạch 8254 phải được nối với đầu ra của một bộ giải mã để định địa chỉ

cơ bản cho mạch Cùng với địa chỉ cơ bản, các chân địa chỉ A1 và A0 sẽ cungcấp địa chỉ cụ thể của các thanh ghi ở bên trong mạch 8254 khi ghi (lập trình)hoặc đọc thông tin của mạch (xem bảng 9.1) Đó là 3 thanh ghi cho 3 bộ đếmvà 1 thanh ghi cho từ điều khiển

Theo sơ đồ khối ta thấy trong vi mạch 8254 có 3 bộ đếm lùi 16 bit, nộidung ban đầu của mỗi bộ đếm đều có thể lập trình từ CPU để thay đổi được.Ngoài ra ta còn có thể điều khiển được hoạt động của các bộ đếm bằng tín hiệutừ bên ngoài qua các chân của (GATE) để cho phép bắt đầu đếm (GATE = 1)hay để buộc kết thúc quá trình đếm (GATE = 0)

Hình 9.17 Sơ đồ khối của vi mạch 8254

Thanh ghi từ điều khiển

Bộ đếm 0

RD Lôgic

WR diềuA0 khiển A1 ghi/đọc

Bộ đếm 2

Bộ đếm 1

Clk2Clk1

Clk0Gate0

Gate1

Gate2

Out1

Out2Out0

cs

Ngày đăng: 03/04/2014, 21:27

HÌNH ẢNH LIÊN QUAN

Hình 9.2. Mạch phối ghép bàn phím - Một số phối ghép cơ bản
Hình 9.2. Mạch phối ghép bàn phím (Trang 2)
Hình 9.3. Lưu đồ thuật toán chương trình phối ghép bàn phím. - Một số phối ghép cơ bản
Hình 9.3. Lưu đồ thuật toán chương trình phối ghép bàn phím (Trang 3)
Hình   9.4.   Phối   ghép   vi   xử   lý   với   LED   7   nét   thông   qua   mạch SN7447. - Một số phối ghép cơ bản
nh 9.4. Phối ghép vi xử lý với LED 7 nét thông qua mạch SN7447 (Trang 6)
Hình 9.5. Phối ghép hiển thị ở chế độ động và dồn kênh Để khắc phục nhược điểm của mạch phối ghép hiển thị tỉnh như đã được nêu ở trên, người ta thường sử dung mạch phối ghép hiển thị động làm việc theo nguyên tắc dồn kênh: toàn bộ cá đèn hiển thị dùng ch - Một số phối ghép cơ bản
Hình 9.5. Phối ghép hiển thị ở chế độ động và dồn kênh Để khắc phục nhược điểm của mạch phối ghép hiển thị tỉnh như đã được nêu ở trên, người ta thường sử dung mạch phối ghép hiển thị động làm việc theo nguyên tắc dồn kênh: toàn bộ cá đèn hiển thị dùng ch (Trang 7)
Hình 9.6. Hiên chữ  E và H lên màn hình - Một số phối ghép cơ bản
Hình 9.6. Hiên chữ E và H lên màn hình (Trang 9)
Hình 9.9.Sơ đồ khối bộ phối ghép màn hình một màu của IBM - Một số phối ghép cơ bản
Hình 9.9. Sơ đồ khối bộ phối ghép màn hình một màu của IBM (Trang 11)
Hình 9.12. 16màu của màn hình màu đồ hoạ CGA - Một số phối ghép cơ bản
Hình 9.12. 16màu của màn hình màu đồ hoạ CGA (Trang 14)
Hình 9.13. Cách chứa thông tin trong bộ nhớ RAM đệm hình. - Một số phối ghép cơ bản
Hình 9.13. Cách chứa thông tin trong bộ nhớ RAM đệm hình (Trang 16)
Hình 9.14. Các loại phối ghép màn hình chính cho máy IBM - Một số phối ghép cơ bản
Hình 9.14. Các loại phối ghép màn hình chính cho máy IBM (Trang 17)
Hình 9.16. Sơ đồ khối của hệ thống điều khiển dùng vi xử lý - Một số phối ghép cơ bản
Hình 9.16. Sơ đồ khối của hệ thống điều khiển dùng vi xử lý (Trang 20)
Sơ đồ khối của vi mạch 8254 và cách phối ghép với CPU được thể hiện trón hỗnh 9.17. - Một số phối ghép cơ bản
Sơ đồ kh ối của vi mạch 8254 và cách phối ghép với CPU được thể hiện trón hỗnh 9.17 (Trang 21)
Hình 9.14 : Các loại phối ghép màn hình chính cho máy IBM - Một số phối ghép cơ bản
Hình 9.14 Các loại phối ghép màn hình chính cho máy IBM (Trang 25)
A2-A15 Hình 9.17. Sơ đồ khối vi mạch 8254 - Một số phối ghép cơ bản
2 A15 Hình 9.17. Sơ đồ khối vi mạch 8254 (Trang 29)
Hình 9.19. Thí dụ biểu đồ thời gian của 8254 ở chế độ 0 Tại nhóm xung thứ nhất CW = 12H tức là ta muốn định nghĩa chế độ chỉ đọc/ ghi LSB và chế độ đếm theo hệ 16 cho bộ đếm 0 - Một số phối ghép cơ bản
Hình 9.19. Thí dụ biểu đồ thời gian của 8254 ở chế độ 0 Tại nhóm xung thứ nhất CW = 12H tức là ta muốn định nghĩa chế độ chỉ đọc/ ghi LSB và chế độ đếm theo hệ 16 cho bộ đếm 0 (Trang 31)
Hình 9.20. Thí dụ biểu đồ thời gian của 8254 ở chế độ 1 - Một số phối ghép cơ bản
Hình 9.20. Thí dụ biểu đồ thời gian của 8254 ở chế độ 1 (Trang 33)

TỪ KHÓA LIÊN QUAN

w