Tải bản đầy đủ (.pdf) (52 trang)

Kỹ thuật vi xử lý - Chương 9 docx

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (568.38 KB, 52 trang )

20ms

20ms

F

Ur
a

1mN

20ms

F

CHƯƠNG 9

MỘ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ý. Trong
trườ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ộ vi
xử 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ụng
quả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ưng


có 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 đổi
khi ấn và khi nhả phím hoặc kiểu hiệu ứng Hall: điện áp thay đổi khi ấn và khi
nhả 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ện
và đá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ắc
Nhì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ận
thấ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ắt
quã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 cho
bề 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á độ
t

t




Ur
a

+5V

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ác
cô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ậy
người ta thường chờ khoảng 10-20 ms sau khi côngt tắc bị ấn hay nhả để đọc
trạ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 mong
muố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ín
hiệ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ý.
Với tổng số phím khỏang 20-30 ( bàn phím HEXA) thì đó là truờng hợp
thườ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ính cá nhân như IBM PC chẳng hạn thì số phím có thể là từ 80-101 phím tùy
theo thế 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ác
hệ 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ác

chứ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ạch
cổng. Có thể nhận thấy rằng ở dây CPU làm việc theo chế độ thăm dò. Bằng
cá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àn
phí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ằng
cách này ta có thể giải phóng CPU để nó dành thời gian cho các việc khác quan
trọng hơn.



Cổng ra 00


CPU





D0
D1

D2
D3
D7
D6
D5
D4

D3

+5V
1

0

3

2

C

D
E

F

10K







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ím
hệ 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ông
qua 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 IC
như 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ím
theo 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
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ọc
các cột để quét toàn bộ các phím.





















Bắt đầu

Đưa 0 ra
một hàng

Đọc các cột
Phím tốt
Đọc các cột
Có phím ấn
Đưa 0 ra
một hàng

Đọc các cột
Tìm thấy
Tạo mã phím

K
ết thúc














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ím tố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à ta sẻ đọ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ẩn nế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ình trê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ệu
có 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ải
chờ cỡ 10 ms để cho công tắc có thời gian ổn định hệ thống. Tiếp theo là ta
phả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ì ta
mới tiến hành xác định cụ thể xem đó là phím nào trong số các phím. Ta làm
việ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ừa
tì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ông
tin 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ành
mã hệ 16 tương ứng với phím bằng cách tra một bảng thích hợp.
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
;0 1 2 3 4 5 6 7
Key DB 77H 7BH 7DH 7EH 0B7H 0BBH 0BDH 0BEH
;8 9 A B C D E F
DB 0D7H 0DBH 0D0H 0DEH 0E7H 0EBH 0EDH 0EEH
PA EQU 60H
PB EQU 61H
CWR EQU 63H
CW EQU 68H ;Chế độ 0, PA : ra ; PB & PC : vào

.Code
Main Proc
MOV AX , @Data ;khởi đầu DS
MOW DS , AX
MOW AL , CW ;khởi đầu 8255A
OUT CRW, AL
CALL RD_KBD ;gọi chương trình đọc phím
Xuly: ; các xử lý tiếp theo

Main Endp

RD_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
PUSHF ;cất các thanh ghi
PUSH BX

PUSH CX
PUSH DX
MOV AL,00 ;đưa 0 ra mọi hàng
OUT PA, LA
MOV CX, 3 ;số lần kiểm tra dính
Wait_Open: IN AL, PB ;đọc cột để kiểm tra dính
AND AL, 0FH ;che các bit cao
CMP AL, 0FH ;có phím dính?
LOOPNE Wait_Open ;đúng, chờ khỏi dính
JCXZ 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 cao
CMP 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
AND AL, 0FH ;che các bit cao
CMP 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
MOV CL,AL ;cất mẫu
Hgsau: OUT PA, AL ;đọc các cột và kiểm tra
AND AL, 0FH
CMP AL, 0FH ;đã tìm thấy phím bị ấn
JNE taoma ;đúng, tạo mã
ROL CL,1 ;không thấy, đỗi mẫu
MOV 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ột
Tiep: CMP AL, Key[ BX] ;đúng với mã chuẩn
JE Thoi ;đúng, mã của phím trong BX
DEC BX ;sai, chỉ vào mã khác
JNS Tiep ;tìm tiếp
Thoi: MOV AL, BL ;mã của phím hệ 16 trong AL
MOV AH, 00 ;AH để báo không có lỗi
Ra: POP DX ;lấy lại các thanh ghi
POP CX
POP BX
POPF
RET ;trở về chương trình chính
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àn
phím. Trong trường hợp CPU còn dành thời gian để làm nhiều công việc khác
của hệ thống hoặc số lựong phím nhiều, thường người táử dụng những mạch
quả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ậy
bộ 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ụng
như 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 xung
STB (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ột

xung tác động đến đầu vào yêui cầu ngắt che được INTR. Mạch AY5-2376 còn
có 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ó 2
phí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ạch
chuyê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àn
phím. Htạ nhân của hệ này là vi mạch 8048 - máy vi tính trong 1 võ, bao gồm
CPU 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ím
theo 3 công đoạn đã nêu ở trên. Khi có một phím được ấn đến CPU. Mã này
đượ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ùng
cho 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 LED
trong một vi mạch để tạo thuận lợi cho người sử dụng khi xây dựng cac kit vi
xử lý. Đó là trường hợp mạch 8279 của Intel, một vi mạch tổ hợp cỡ lớn lập
trình được. Sau khi CPU lập trình (ghi từ điều khiển), mạch 8279 có khả năng
quả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 ra
rất thông dung. Trong trường hợp đơn giản, đó có thể là mộ vài đèn LED đơn
lẻ để 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 được
tổ 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ưới
dạ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ạch
cổ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ằng
transitor, 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ông
suấ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ấy
là dùng mạch SN7447 để giải mã số BCD ra 7 nét và để điều khiển bộ đèn
chỉ 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.





a
B b
B c
C ’47 d
D e
LT f
RBI BI g

µP


D0-D3
MAN7
a
f b
g

e c

d
150Ώ







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

Ta có thể tính sơ bộ để có thể thấy sự tiêu tốn năng lượng của việc
hiể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ất
khi 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 khi
hoạt đọng cũng tiêu thụ doing điện khoảng 14mA. Nếu tâ dùng đèn LED
này để hiển thị 8 chử số (địa chỉ và dữ liệu) thì riêng mạch chỉ thị ta phải
cung cấp khoảng 1.5mA.

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

























MAN7
a
f b
g
e c

d
MAN7
a
f b
g
e c


d

MAN7
a
f b
g
e c

d

MAN7
a
f b
g
e c

d

a b c b e f g LT

RBI

7447 BI

PB – PB6

8255A – Port B
Bus D
µP8088


PA7



8255A

PortA


PA2

PA1

PA0

T1

T3

T2

T8

+5V
+5V




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 chung một bộ điều
khiển SN7447 và các đèn LED không được thắp sáng liên tục mà luân phiên
nhau sáng theo một chu kỳ nhất định. Công suất tiêu thụ nhờ thế mà giảm đi
rất nhiề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 động
Giá trị số cần hiển thị của mỗi con số được gửi đến cổng PB của 8255A
từ CPU dưới dạng mã BCD. Từ đây BCD được mạch SN7447 giải mã và tạo
ra cá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ỗi giá 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ác
bit 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 ra
mộ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 để cho
hiệ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ần
trong 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ạch
giả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
với giá trị số đó. Như vậy CPU phải để thì giờ để chuyển đổi từ giá trị số hệ16
sang 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 crystal
display, LCD) và màn hình bằng ống tia điện tử hay đèn hình (cathode ray
tube, 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ách
tay 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ối
ghé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ạnh
là 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 được
phủ 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ớp
huỳ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ột
chấ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ện
tử đậ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ác
phầ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 sang
phả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ều
chế cường độ của tia điện tử theo độ sáng của hình ảnh muốn hiện trong suốt
thờ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ái
rất nhanh theo hướng ngược lại để lại bắt đầu quá trình “ quét “ tạo ra dòng
mớ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 1
mành hay 2 mành xen kẽ. Tuỳ theo các tiêu chuẩn khác nhau tá cũng có các
thô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ành
vớ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ông
thường phải bao gồm các mạch dao động để tạo ra xung quét dòng, xung quét
mà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ình
nà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ển
thị (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Ự

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àn
huỳ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ụ cho
việc hiển thị chữ E và chử H trên màn hình. Chấm đen để biểu hiện cho những
chổ 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 5x7
cho 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ược
mành)

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










Tạo xung
16.257 MHz
Bộ ghi dịch
RAM
đệm

A0
-
A6

D0-D8

A0-A7
ROM t
ạo chữ

÷9
÷80















Hình 9.7. Sơ đồ khối mạch hiện chử theo
ma rân 9x14 trên màn hình

Mã ASCII của các ký tự thuộc mỗi trang
màn hình cần hiển thị được chứa sẵn trong một
bộ nhớ RAM đệm màn hình ( mỗi ký tự cần 1
byte để ghi nhớ 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ời gian nhất định ( như vậy màn hình hiện thị thông
tin làm việc ở chế độ động). Trong thực tế bộ nhớ RAM đệm này còn phait
thâm nhập được bằ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-A6 sẽ xác định vị trí của ký tự cần hiển thị trong 1
hà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ói cách khác tổ hợp các bit địa chỉ từ A0 - A11 của RAM đệm sẽ
quyết định toạ độ cụ thể của một ký 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.


0


0

0

0

0

0

0

0

0

1

1

1

1

1

1

1


0

0

1

0

0

0

0

0

1

0

0

1

0

0

0


0

0

1

0

0

1

0

0

0

0

0

1

0

0
1

1


1

1

1

1

1

0

0

1

0

0

0

0

0

0

0


0

1

0

0

0

0

0

0

0

0

1

0

0

0

0


0

0

0

0

1

0

0

0

0

0

0

0

0

0

0


0

0

0

0

0

0

0

0

0

0

0

0

0

0

0


0

0

0

0

0

0

0

0

0

0

0

0

0

0

0


0

0

0

0 0 0
0
0 0
01
0 0 1
0
0 0 1
1
0 1 0
0
0 1 0
1
0 1 1
0
0 1 1
















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ính
là 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 R
3
- R
0
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ái
màn hình được chọn để hiển thị. Mã ASCII của nó được đưa đến bộ nhớ RPM
tạo chử. Giả thiết lúc đầu bộ đếm dòng quét có R
3
R
2
R
1
R
0
=0000. Ở đầu ra
củ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ếp

rồi đưa đến bộ khuếch đại với tốc độ 16.257.000điểm/s để điều chế cường độ
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 cho
mộ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ếp
tụ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ái
ngượ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à cho
một hàng ký tự) thì bộ đếm ký tự tự động tưng thêm 1 và hàng ký tự tiếp theo
lại được quét như đối với hàng ký tự trước đó. Quá rình sẽ tiếp diễn cho đến
khi 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ủa
hàng ký tự thứ nhất trên màn hình.




0

0

0

0

0

0

0


0

0

0

0

0

0

0

0

0

0

0

0

0

0

0


0

0

0

0

0

0

0

0

0

0

0

0

0

0

0


1

0

1

1

1

0

0

0

0

1

1

0

0

0

1


0

0

0

1

0

0

0

0

1

0

0

0

1

0

0


0

0

1

0

0

0

1

1

0

0

0

1

0

0

0


1

0

1

1

1

0

0

0

0

1

0

0

0

0

0


0

0

0

1

0

0

0

0

0

0

0

0

0

0

0


0

0

0

0

0

0

0

0

0

0

0

0

0

0

Bus A


CPU




Bus D




Đơn kênh địa
chỉ
Đệm vào chốt ra
cho bus D
2KB RAM
mã kí tự
2KB RAM
mã kí tự
địa chỉ làm tươi
tần số kí tự





















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 ta có
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ển
màn hình CRTC 6845 để tạo ra các xung đồng bộ và các xung khác cần thiết
cho việc làm tươi màn hình. Mạch CRTC có chức năng bao trùm chức năng
chứ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 động
linh 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
logic xử 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 hiệu điều khiển hình ( đồng bộ dong, đồng bộ mành) để tạo ra tín hiệu hình

cuố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ã ASCII
củ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ứa
cá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, quan
hệ 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
đen còn ngược thì chữ đen trên nền trắng). Trong bộ nhớ thực, byte mã ký tự
đặt địa chỉ 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 trong
thời gian của các xung quét ngược hoặc cả CRTC và CPU đều chia 1/2 thơid
gian 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 đi
lặp lại mãi.

Byte mê
ASCII
Byte thuộc tính
7 6 5 4 3
2 1 0
7 6 5 4 3 2 1
0
a) Dữ liệu trong bộ nhớ RAM đệm


Thuộc tính Câc bit của byte thuộc
tính
7 6 5
4
3

2 1
0
BL(chữ)

Nền

I Chữ

BL 0 0
0
I 1 1
1
BL 1 1
1
I 0 0
0
BL 0 0
0
I 0 0
0


Bình thường
Đảo

Măn đen
không chữ
Măn trắng
không chữ
BL 1 1
1
I 1 1
1

b) dạng thức của byte thuộc tính
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
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ông
thường có tần số xung quét dòng màn hìnhdài 15,50KHz, tần số xung quét
mà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ích
các xung chính. Hình 9.11 biểu diễn sự phân chia thời gian của 2 loại xung
qué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 ma
trậ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òng
18,432 KHz (hoặc dòng quét/s) ta sẽ có (16,257,000điểm/s)/(18,432 dòng
quét/s)=882 điểm/dòng quét. Như thế ta có 162 điểm dôi r, nghĩa là tương ứng
về 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ùng
là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ều
ngang.
Tương tự ta cũng có tần số xung quét mặt là 50Hz (50 mành/s), với tần
số dòng 18,432 kHz (hay dòng quét/s) ta sẽ có (18,432 dòng quét/s)/(50
mà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ới
số 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 để
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
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ét
ngượ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 ảnh
củ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ông
tuâ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ộ ROM
tạo chữ nữa và bộ nhớ RAM đệm lúc này, thay vì chứa mã ASCII của ký tự, ta
phải chứa các điểm ảnh (pixel hay pel) mà tổ hợp của chúng chính là hình ảnh
cầ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 theo
chiều ngang vvà 400 điểm theo chiều dọc thì cả khung hình làm việc này tương
đương với một ma trận với 256000 điểm ảnh. Nếu để ghi nhớ mỗi điểm ảnh
như vậy ta cần 1 bit trong bộ nhớ RAM đệm thì với toàn bộ khung hình làm
việc ta cần đến bộ nhớ với dung lượng cở 32KB. Từ đây ta cũng nhận thấy

rằng nế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àu
bở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ặt
phí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, B
và 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ắn
và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ình RBG
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 đồng bộ 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àn
hình màu nằm trong bộ nhớ RAM đệm theo kiểu đã làm cho màn hình một
mà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.

I

R

G

B


Mău
0

0 0 0 Đen
0

0 0 1 Xanh biển
0

0 1 0 Xanh lâ cđy
0

0 1 1 Xanh da trời
0

1 0 0 Đỏ
0

1 0 1 Tía
0

1 1 0 Nđu
0

1 1 1 Trắng
1

0 0 0 Ghi. Xâm
1


0 0 1 Xanh biển
nhạt
1

0 1 0 Xanh lâ cđy
nhạt
1

0 1 1 Xanh da trời
nhạt
1

1 0 0 Đỏ nhạt
1

1 0 1 Tía nhạt
1

1 1 0 Văng
1

1 1 1 Trắng chói


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ác
mạch biến đổi số_tương tự (DAC) ở đầu vào và các bộ biến đổi này được nối

đế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 ảnh
vớ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ứa
thô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ũng
phải được lưu trữ. Ví dụ, để hiện một điểm ảnh màu với 256 màu khác nhau ta
phả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ải
hiể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ển
thị 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àu
mà vẫn đảm bảo được gam màu rộng người ta đã sử dung việc mã hoá thông
tin theo 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ột
thờ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 256
mà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ới
trườ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ước
bộ 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ân
giả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àm
tươ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 được
minh 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 ra
mà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 1
trong 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ển
mà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ông
dụ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
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ó.
R G B I R G B I
P1 P0
Bộ nhớ
đệm hình
I
B
G
R






Bộ nhớ
đệm hình
Mặt 1 D0

Mặt 1 D0

Mặt 1 D0

Mặt 1 D0


0
5
15
Điểm 1 Điểm 0


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ển
mà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ạch
CRTC này cung cấp các tín hiệu địa chỉ cho RAM đệm để làm tươi màn hình,
Bộ phối
ghĩp
Chế

Độ phđn
giải
Mău/bộ
mău
Loại
tín
hiệu
Có trong
mây

CGA Văn bản 80x25 4/16 số PC,XT,AT

p.g. thấp 160x100 4/16 số PC,XT,AT

p.g. vừa 320x200 4/16 số PC,XT,AT


p.g. cao 640x200 2
(đen.trắng)

số PC,XT,AT


Hercules

một mău 720x348 2 số PC,XT,AT

mău 720x348 16/64 số PC,XT,AT


EGA 640x350 16/64 số PC,XT,AT


MCGA p.g vừa 320x200 256 Tương
tự
PS2-25,80
p.g cao 640x480 2 Tương
tự
PS2-25,80

VGA 11H 640x480 2 Tương
tự
PS2-25,80
12H 640x480 16/256K Tương
tự
PS2-25,80
13H 640x200 256/256K Tương

tự
PS2-25,80

Super
VGA
640x480 256/256K Tương
tự
PS2-25,80

8514/A 1024x768

256/256K Tương
tự
PS2-25,80
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ều
khiể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ệu
hì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ị được
80x25 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ình
9.10a: trên hình 9.10b các bit b
2
b
1
b
0
tưong


ứng với các màu RGB cho chữ và
b
6
b
5
b
4
tương ứng với các màu RGB cho nền). Để hiển thị kí tự ta có thể định
nghĩ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
hình 9.12). bit BL=1 là để hiển thị chữ nhấp nháy I=1 là để hiển thị chữ với
cường độ sáng lớn hơn. Như vậy, để lưu giữ thông tin của một trang màn hình
vă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 trong
bả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ên
trong bộ điều khiển màn hình giống như mạch CRTC 6845 nên nó cho phép
lậ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ình
9.13b).
Trên hình 9.13 biểu diễn chế độ hiển thị 640x350 điểm với 16 màu
trong bảng màu gồm 64 màu. Bộ nhớ DRAM đệm được sắp xếp thành 4 mặt
nà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ấy
ngay 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ép lậ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ác chế độ 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ều
khiể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ạt
chứ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ự cho
các màu RGB. Có 3 bộ DAC cho 6 bit được nối vào 6 bit tương ứng cho mỗi
màu của 1 trong 256 thanh ghi màu 18 bit (hình 9.15a). Các thanh ghi màu
này được chọn nhờ nội dung 4 bit thấp của thanh ghi bảng màu , 4 bit cao của
byte mã hoá màu cho 1 điểm chọn ra các thanh ghi bảng màu, còn 4 bit thấp
của nó được dùng để chỉ ra địa chỉ phần cao của các thanh ghi màu (địa chỉ của
mộ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ủa thanh ghi bảng màu chọn ra 1 thanh ghi màu trong nhóm màu., 4 bit htấp
của thanh ghi chọn màu sẽ chọn 1 trong 16 nhóm màu. Như vậy, ta có thể
chuyển rấ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ổng có đị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ác thô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ác
má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ình
giữa các máy.

Ví dụ
6
255
31
15

DAC 6 bit


6
6

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

6
Adr
255
31
15

DAC 6 bit

6

15

4


4

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

6
Để minh hoạ cho việc lập trình cho màn hình dùng hợp ngữ bằng cách
ghi 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àn
hình 80 cột và 25 hàng ký tự ‘$’ (tức 80x25 = 2000 ký tự ‘$’) với màu tía trên
nề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 đệm
MOV DS, AX
MOV CX, 2000 ;số ký tự phải hiện
MOV DI, 0 ;hiển thị ký tự tại góc trái cao
HIEN: MOV [DI] , 3524H ;$ tía trên nèn trời xanh!!!
ADD DI, 2 ;hiện ký tự tiếp
LOOP HIEN ;cho đến haut
MOV AH, 4CH ;về DOS
INT 21H
Disp Endp















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












Nhóm1

Nhóm2

Nhóm 15
R
B
G
240

0

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





D3
-
D0

1111

1
D4-D7

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






D0
-
D3

R
G
240
0

0

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ượng
tươ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ảm
biế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 đổi
tương tự - số (analog to digital converter, ADC), các bộ chuyển đổi số - tương
tự (digital to analog converter, DAC). Trong một số trường hợp cụ thể ta còn
cần đến mọt số thiết bị điện tử chuyên dụng khác bộ khếch đại đo, bộ chuyển
mạ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ệ tu
thập dữ liệu (data acquisition system, ADS), các bộ điều khiển, các thiết bị đo
lườ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ụng
rộ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àn
phím và màn hình là hai thiết bị vào/ra truyền thống. Tuỳ theo quy mô và tính
B

×