You are on page 1of 30

TRÖÔØNG ÑAÏI HOÏC BAÙCH KHOA TP.

HOÀ CHÍ MINH


KHOA COÂNG NGHEÄ THOÂNG TIN
BOÄ MOÂN PHAÀN CÖÙNG
________♣________

LUAÄN VAÊN TOÁT NGHIEÄP

ÑEÀ TAØI :

DUØNG MAÙY VI TÍNH THIEÁT KEÁ MAÙY


CHAÁM THI TRAÉC NGHIEÄM

GVHD : PHAN ÑÌNH MAÕI


SVTH : TOÂ OAI HUØNG
TRAÀN NGOÏC TRAÙC
LÔÙP : KYÕ SÖ II

- 1997 -
LÔØ M TAÏ
I CAÛ

Xinchaâ nthaø
nhcaû mônthaà y
PhanÑìnhMaõ i ñaõtaä
ntình
höôù
ngdaã nvaøgiuùpñôõchuù ng
emñeåhoaø nthaønhbaø i thöïc
taä
ptoá
t nghieä
pnaø y.

Xinchaâ nthaø
nhcaûmônquí
thaà
y coâtrongkhoaCoângNgheä
Thoâ
ngTinñaõtaä ntìnhdaïy doã
chuù
ngem.

2
NOÄI DUNG

λ TÌM HIEÅU NGUYEÂN LYÙ

λ ÑÖA RA THIEÁT KEÁÁ MOÂ HÌNH TOÅNG QUAÙT

λ THIEÁT KEÁ MAÏCH CHI TIEÁT

λ THI COÂNG HOAØN CHÆNH MAÏCH ÑIEÄN & CÔ

λ VIEÁT CHÖÔNG TRÌNH CHAÁM THI

3
CHÖÔNG I :
MUÏC ÑÍCH THIEÁT KEÁ
MAÙY CHAÁM THI TRAÉC NGHIEÄM

I . MUÏC ÑÍCH :

Hieän nay, do soá löôïng sinh vieân, hoïc sinh cuûa caùc tröôøng ñaïi hoïc,
cao ñaúng, trung hoïc, . . . moãi naêm moät taêng . Vieäc chaám baøi thi vaøo nhöõng
kyø tuyeån sinh, thi hoïc kyø, thi laïi, . . . laø moät coâng vieäc naëng nhoïc cho giaùo
vieân . Vì phaûi ñoøi hoûi keát quaû cuûa vieäc chaám thi phaûi ñaùp öùng veà ñoä
chính xaùc vaø veà thôøi gian .
Nhö vaäy, vôùi caùc yeáu toá :
- Soá löôïng baøi thi nhieàu .
- Thôøi gian chaám thi khoâng keùo daøi .
- Keát quaû chaám thi caàn chính xaùc .
töø ñaây, ta thaáy raèng :
. Neáu hình thöùc laø thi vieát, thì chaéc raèng khoù maø ñaït ñöôïc caû hai
yeâu caàu song song laø thôøi gian vaø söï chính xaùc .
. Neáu hình thöùc thi laø traéc nghieäm, thì vôùi caùch chaám thuû coâng
tröôùc ñaây cuõng phaûi vaát vaõ veà thôøi gian .
. Vaõ laïi hieän nay do söï tieán trieån cuûa maùy vi tính thì haàu heát caùc
cô quan, tröôøng hoïc, xí nghieäp, . . . ñeàu söû duïng maùy vi tính trong coâng vieäc
quaûn lyù, tính toaùn, thieát keá, . . . Haàu heát caùc tröôøng hoïc, ngöôøi ta ñeàu
duøng maùy vi tính ñeå quaûn lyù hoà sô, ñieåm, hoïc baï, . . . cuûa sinh vieân . Do
vaäy, vôùi hai hình thöùc chaám thi ôû treân thì coâng vieäc ñoøi hoûi laø phaûi nhaäp
ñieåm cuûa töøng thí sinh vaøo maùy . Coâng ñoaïn naày maát thôøi gian vaø coù
nhieàu sai soùt trong quaù trình nhaäp ñieåm .
Nhö vaäy, neáu ta thieát keá moät maùy chaám thi traéc nghieäm sao cho keát
quaû chaám thi ñoù töï ghi vaøo döõ lieäu ñieåm cuûa töøng thí sinh töông öùng thì
thaät laø thuù vò - ñaây cuõng laø muïc ñích cuûa vieäc thieát keá . Ñoái vôùi maïch
thieát keá naày, giaùo vieân chaám thi coù theå ghi ñieåm treân baøi laøm cuûa thí
sinh ñeå löu tröõ nhôø vaøo döõ lieäu ñieåm treân maùy vi tính hoaëc söï theå hieän
cuûa LED 7 ñoaïn treân maùy chaám thi .
So vôùi vieäc chaám thi tröôùc ñaây thì maùy chaám thi coù nhöõng öu ñieåm
sau :
- Nhanh .
- Keát quaû ñieåm ñöôïc ghi chính xaùc vaøo vi tính .
- Raát ít toán coâng .
Tuy nhieân, ñeå ñaït ñöôïc caùc ñieàu treân, thí sinh phaûi laøm baøi treân moät
maãu giaáy nhaát ñònh vaø phaûi tuaân theo moät soá qui taéc khi laøm baøi . Xeùt
cho cuøng, nhöõng yeâu caàu naày khoâng coù gì phieàn toaùi vaø khoù thöïc hieän
maø chuùng ta seõ thaáy döôùi ñaây .

II . NHÖÕNG YEÂU CAÀU VAØ LÖU YÙ :


Sau ñaây laø nhöõng yeâu caàu ñoái vôùi thí sinh :
1. Phaûi ñaùnh daáu caâu traû lôøi treân maãu ñöôïc qui ñònh saün nhö trang sau :

4
Hoï vaø teân :............................................. ..............
Soá kyù danh :................................ .........................
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9
λ O O O O O O O O O O O O O O O O O O O O
λ

λ O O O O O O O O O O O O O O O O O O O O
λ

λ O O O O O O O O O O O O O O O O O O O O
λ
a b c d a b c d a b c d a b c d

λ 1
O O O O 26
O O O O 51
O O O O 76
O O O O λ
λ 2
O O O O 27
O O O O 52
O O O O 77
O O O O λ
λ 3
O O O O 28
O O O O 53
O O O O 78
O O O O λ
λ 4
O O O O 29
O O O O 54
O O O O 79
O O O O λ
λ 5
O O O O 30
O O O O 55
O O O O 80
O O O O λ
λ 6
O O O O 31
O O O O 56
O O O O 81
O O O O λ
λ 7
O O O O 32
O O O O 57
O O O O 82
O O O O λ
λ 8
O O O O 33
O O O O 58
O O O O 83
O O O O λ
λ 9
O O O O 34
O O O O 59
O O O O 84
O O O O λ
λ 10
O O O O 35
O O O O 60
O O O O 85
O O O O λ
λ 11
O O O O 36
O O O O 61
O O O O 86
O O O O λ
λ 12
O O O O 37
O O O O 62
O O O O 87
O O O O λ
λ 13
O O O O 38
O O O O 63
O O O O 88
O O O O λ
λ 14
O O O O 39
O O O O 64
O O O O 89
O O O O λ
λ 15
O O O O 40
O O O O 65
O O O O 90
O O O O λ
λ 16
O O O O 41
O O O O 66
O O O O 91
O O O O λ
λ 17
O O O O 42
O O O O 67
O O O O 92
O O O O λ
λ 18
O O O O 43
O O O O 68
O O O O 93
O O O O λ
λ 19
O O O O 44
O O O O 69
O O O O 94
O O O O λ
λ 20
O O O O 45
O O O O 70
O O O O 95
O O O O λ
λ 21
O O O O 46
O O O O 71
O O O O 96
O O O O λ
λ 22
O O O O 47
O O O O 72
O O O O 97
O O O O λ
λ 23
O O O O 48
O O O O 73
O O O O 98
O O O O λ
λ 24
O O O O 49
O O O O 74
O O O O 99
O O O O λ
λ 25
O O O O 50
O O O O 75
O O O O 100
O O O O λ

5
2. Ñieàn hoï vaø teân treân maãu, sau ñoù ghi maõ thí sinh treân 3
haøng ñaàu tieân (goàm saùu daõy oâ) cuûa maãu . Vôùi 6 daõy oâ
naày cho pheùp phaân bieät ñöôïc 1.000.000 sinh vieân . Nghóa laø döõ
lieäu cuûa moät tröôøng coù theå laø 1 trieäu sinh vieân ñang thi .
Caùch ghi maõ thí sinh laø chæ vieäc toâ ñen nhöõng oâ coù soá töông
öùng phía treân moãi daõy .
Ví duï : Thí sinh coù teân laø Nguyeãn Vaên A, maõ soá laø 012345 .
Coù theå ghi nhö sau :
Hoï vaø teân : Nguyeãn Vaên A
Soá kyù danh :
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6
7 8 9

Hoaëc coù theå ghi :


Hoï vaø teân : Nguyeãn Vaên A
Soá kyù danh :
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6
7 8 9

Nhö vaäy, trong maõ thí sinh soá 0 coù theå toâ ñen hay
boû troáng, vaø vieäc toâ soá theo thöù töï töø treân xuoáng vaø töø
daõy oâ phía traùi sang phía phaûi, moãi daõy chæ ghi 1 soá maø thoâi -
töông öùng vôùi caùc kyù soá trong maõ thí sinh töø traùi sang phaûi .
Ta coù theå moâ taû caùc vò trí soá trong saùu daõy oâ nhö sau :

haøng traêm ngaøn haøng chuïc ngaøn

haøng ngaøn haøng traêm

haøng chuïc haøng ñôn vò

Sau khi ñaõ ghi maõ thí sinh xong, thí sinh coù theå choïn caâu
traû lôøi laø a, b, c hay d öùng vôùi caâu coù thöù töï ñaõ ghi beân caïnh
.
Ví duï : Vôùi caâu soá 1, neáu caâu traû lôøi ñöôïc choïn laø b thì
ta laøm nhö sau : a b c d
1

3. Thí sinh khi thi phaûi ñem theo buùt chì loaïi 2B, taåy vaø
chuoát chì .
6
4. Khi toâ maõ thí sinh hoaëc choïn caâu traû lôøi neân löu yù caùc
kieåu toâ nhö sau :

Ñuùng Sai Sai Sai Sai

Caùc hình thöùc sai :

- : Toâ ngoaøi voøng troøn cuûa oâ .

- : Khoâng neân toâ choïn kieåu naày .

- : Khi boû toâ choïn luùc tröôùc khoâng neân ñaùnh


treùo maø phaûi taåy .

- : Khi toâ khoâng neân chöøa vuøng traéng phía trong


oâ .

Vieäc toâ ñaäm oâ ñöôïc choïn nhaèm ñaûm baûo cho LED hoàng
ngoaïi hoaït ñoäng toát, traùnh tröôøng hôïp sai khi maïch hoaït ñoäng .
5 . Khi caâu traû lôøi bò boû troáng hoaëc coù töø hai ñaùnh daáu
choïn trôû leân ( ) seõ khoâng ñöôïc tính ñieåm .
Khi moät caâu ñöôïc choïn, neáu ñuùng vôùi ñaùp aùn thì ñieåm
cuûa thí sinh taêng leân 1 . Nhö vaäy vôùi soá löôïng laø 100 caâu,
ñieåm toái ña cuûa thí sinh laø 100 ñieåm . Vieäc qui ñoåi ra thang
ñieåm 10 hay nhöõng hình thöùc cho khaùc cuõng deã daøng thöïc
hieän baèng phaàn meàm .

7
CHÖÔNG II

SÔ LÖÔÏC VEÀ LED HOÀNG NGOAÏI

LED hoàng ngoaïi coøn ñöôïc goïi laø nguoàn phaùt soùng
hoàng ngoaïi (Infrared emitters) . Vaät lieäu duøng ñeå cheá taïo noù laø
GaAs . LED hoàng ngoaïi coù hieäu suaát löôïng töû cao hôn so vôùi LED
phaùt ra aùnh saùng thaáy ñöôïc . Maët döôùi cuûa dioát ñöôïc cheá taïo
sao cho nhö moät göông ñeå phaûn chieáu tia hoàng ngoaïi phaùt ra töø
lôùp chuyeån tieáp pn .

p
n-GaAs Si
n-GaAs

Trong phoå taàn soá cuûa soùng ñieän töø, soùng hoàng ngoaïi
chieám moät khoaûng roäng nhaát . Nhöng cho ñeán nay noù chöa
ñöôïc öùng duïng roäng raõi nhö caùc soùng khaùc coù taàn soá thaáp
hôn . Töø aùnh saùng ta ñeán hoàng ngoaïi gaàn, hoàng ngoaïi trung
bình, hoàng ngoaïi xa vaø hoàng ngoaïi raát xa .

Soùng hoàng ngoaïi raát xa Soùng HN xa TB


Gaàn
1mm 500 200 100 50 20 10 5 2
1µm

Töø 770 nm . . . 1 mm

I . AÙNH SAÙNG MAËT TRÔØI VAØ TIA HOÀNG NGOAÏI :


Tia naèng aám, bao goàm chuû yeáu laø aùnh saùng thaáy
ñöôïc, thaønh phaàn hoàng ngoaïi gaàn nhö raát ít, hoàng ngoaïi bò
baàu khí quyeãn haáp thu phaàn lôùn . Soùng hoàng ngoaïi coù ñoä
daøi (1.2µm; 1.6µm; 2.2µm vaø 4µm) xuyeân suoát baàu khí quyeãn
ñeán maët ñaát, trong khi caùc ñoä daøi soùng khaùc , soùng hoàng
ngoaïi bò haáp thu gaàn nhö hoaøn toaøn .

II . NGUOÀN PHAÙT SOÙNG HOÀNG NGOAÏI :


Hoàng ngoaïi gaàn ñöôïc öùng duïng roäng raõi trong coâng
ngheä thoâng tin hieän ñaïi, trong söï töï ñoäng hoaù trong coâng
nghieäp . Caùc nguoàn soùng nhaân taïo thöôøng chöùa nhieàu soùng
hoàng ngoaïi . Soùng hoàng ngoaïi cuõng coù nhöõng ñaëc tính quang
hoïc gioáng nhö aùnh saùng ( Söï hoäi tuï qua thaáu kính, tieâu cöï . . .) .
AÙnh saùng vaø soùng hoàng ngoaïi khaùc nhau raát roõ qua söï xuyeân
suoát vaät chaát . Coù nhöõng vaät maét ta thaáy (phaûn chieáu aùnh
saùng thaáy ñöôïc) nhöng vôùi tia hoàng ngoaïi noù laø nhöõng vaät
phaûn chieáu raát ít (hay khoâng phaûn chieáu) . Coù nhöõng vaät ta
thaáy noù coù maøu xaùm ñuïc nhöng vôùi aùnh saùng hoàng ngoaïi
noù trôû neân trong suoát . Ñieàu naày giaûi thích taïi sao LED hoàng
ngoaïi coù hieäu suaát cao hôn so vôùi LED phaùt ra aùnh saùng thaáy
ñöôïc . Vì raèng vaät lieäu baùn daãn “trong suoát” ñoái vôùi soùng

8
hoàng ngoaïi, tia hoàng ngoaïi khoâng bò yeáu ñi khi noù phaûi vöôït
qua caùc lôùp baùn daãn ñeå ñi ra ngoaøi .
Ñôøi soáng cuûa LED hoàng ngoaïi daøi ñeán 100.000 giôøi
(hôn 11 naêm) . LED hoàng ngoaïi khoâng phaùt saùng neân noù cho lôïi
ñieåm trong caùc thieát bò kieåm soaùt vì khoâng gaây söï chuù yù .
Trong maïch thieát keá, chuùng ta duøng LED hoàng ngoaïi nhaèm
traùnh nhieãu daãu coù aùnh saùng maët trôøi hay aùnh saùng cuûa
ñeøn loït qua maùy chaám thi .

III . ÑAËC TRÖNG KYÕ THUAÄT CUÛA MOÄT SOÁ LED HOÀNG
NGOAÏI :

9
IV . LINH KIEÄN THU SOÙNG HOÀNG NGOAÏI :

Ngöôøi ta coù theå duøng quang ñieän trôû, phototransistor,


photodioât ñeå thu soùng hoàng ngoaïi gaàn . Ñeå thu soùng hoàng
ngoaïi trung bình vaø xa phaùt ra töø cô theå con ngöôøi, vaät noùng
ngöôøi ta duøng loaïi detector vôùi vaät lieäu Lithiumtitanat hay taám
chaát deõo PVDF (polyvinyl - Lidendifluorid) . Cô theå con ngöôøi phaùt
ra tia hoàng ngoaïi vôùi ñoä daøi soùng töø 8 . . . 10 µm .

1 . PHOTODIOÂT :
Tuøy theo chöùc naêng vaø caáu truùc, coù theå phaân
photodiot ra laøm nhieàu loaïi :
1. Dioât quang pn .
2. Dioât quang pin .
3. Dioât quang loaïi Schockley .
Photodioât coù caùc ñaëc tính :
- Raát tuyeán tính .
- Ít nhieãu .
- Daûi taàn soá roäng .
- Nheï vaø coù söùc beàn cô hoïc cao .
- Coù ñôøi soáng daøi .

2. MOÄT SOÁ PHOTODIOÁT THOÂNG DUÏNG :

10
CHÖÔNG III
CÔ CHEÁ HOAÏT ÑOÄNG CUÛA MAÏCH

I. SÔ ÑOÀ KHOÁI :

Giaáy thi
LED hoàng
ngoaïi(1)
Chænh
Döõ lieäu xung Tín hieäu
thaønh döõ lieäu
tín Computer
Maõ ñkhieån hieäu
(4)
soá Tín hieäu
(2) ñieàu khieån
Tín
hieäu Ñieàu
ñkhieån khieån

Kieåm soaùt
- Loa vaø
- Moâ tô ñieàu khieån
- Ñeøn (3) Ñòa chæ

1. Boä phaän ñeøn LED hoàng ngoaïi (1) :


Boä phaän ñeøn LED hoàng ngoaïi seõ thay ñoåi
möùc ñieän aùp ôû nhöõng oâ coù ñaùnh daáu ñen hoaëc khoâng coù
cuûa töøng haøng treân tôø giaáy thi . Möùc ñieän aùp thay ñoåi naày
ñöôïc truyeàn veà boä phaän Chænh xung thaønh tín hieäu soá (2) .
Tín hieäu truyeàn veà (2) coù 2 loaïi laø döõ lieäu vaø maõ ñieàu khieån .
- Döõ lieäu : Bao goàm maõ soá thí sinh döï thi vaø noäi dung
baøi thi .
- Maõ ñieàu khieån : Bao goàm maõ kieåm tra ñaàu haøng
vaø cuoái haøng, maõ phaân bieät haøng naøo laø maõ soá thí sinh
haøng naøo laø noäi dung baøi laøm, vaø maõ keát thuùc baøi thi .

11
2. Boä phaän chænh xung thaønh tín hieäu soá (2) :
Nhaän tín hieäu töø LED hoàng ngoaïi chænh daïng thaønh tín
hieäu soá. Sau ñoù truyeàn moät soá tính hieäu ñieàu khieån nhö: tín
hieäu kieåm tra ñaàu haøng vaø cuoái haøng, tính hieäu phaân bieät maõ
soá thí sinh veà boä phaän Kieåm soaùt vaø ñieàu khieån (3) . Coøn
tín hieäu keát thuùc baøi thi, tín hieäu döõ lieäu ñöôïc ñöa vaøo Maùy vi
tính (4) ñeå xöû lyù .
3. Boä phaän kieåm soaùt vaø ñieàu khieån (3) :
Boä phaän naày seõ baùo veà loa, moâ tô vaø ñeøn baùo
neáu giaáy thi bò leäch haøng (xeùo), khi ñoù döõ lieäu seõ khoâng ñöïôc
ñöa veà maùy tính . Hoaëc chaáp nhaän neáu tröôøng hôïp ngöôïc laïi .
4 . Maùy vi tính (4) :
Nhaän tín hieäu döõ lieäu vaø moät soá tín hieäu ñieàu khieån
cuûa (2) kieåm tra vaø xöû lyù . Sau ñoù xuaát ra tín hieäu ñieàu khieån
veà (3) taïi ñòa chæ xaùc ñònh ñeå (3) thöïc hieän caùc chöùc naêng
cuûa noù .

II . SÔ ÑOÀ TOÅNG QUAÙT VAØ HOAÏT ÑOÄNG CUÛA MAÏCH :


1. Sô ñoà toång quaùt :

12
2. Hoaït ñoäng cuûa maïch : (Xem sô ñoà toång quaùt )

Baøi thi ñöôïc ñöa vaøo maùy, oâ coù toâ ñen cho
maïch möùc 1, ngöôïc laïi laø möùc 0 . Neáu meùp giaáy ñöa
vaøo maùy chöa naèm ngang seõ laøm cho coång AND 1 coù
möùc ra 0, khi ñoù ñeøn ERROR seõ saùng (coù möùc 1 nhôø
coång NOT 1 ) vaø laøm IC 555 dao ñoäng ( vôùi chu kyø T =
−6
0.693 * 1010
. * (8200 + (2 * 15000)) = 0.265 ≈ 1/4 giaây) phaùt tín hieäu
ra loa . Nhö vaäy, khi khoâng coù giaáy hoaëc ñöa giaáy vaøo
chöa caân baèng hai meùp thì ñeøn ERROR saùng vaø loa phaùt
tieáng keâu .
Trong tröôøng hôïp ngöôïc laïi, hai meùp giaáy ñaõ thaúng
haøng thì coång AND 1 coù möùc ra laø 1 khi ñoù ñeøn READY
saùng . Ñieàu naày seõ laøm cho coång AND 2 coù moät
ñöôøng vaøo vôùi möùc laø 1, nhö vaäy neáu ñöôøng vaøo coøn
laïi coù möùc laø 1 nöõa thì seõ laøm cho moâ tô quay (ñeå cuoän
giaáy leân) nhôø coång OR 1 . Ta xeùt coång vaøo coøn laïi naày
: coång naày ñöôïc noái vôùi maõ ñaàu vaø cuoái haøng qua
coång ÑAÛO 2
, neáu maõ ñaàu haøng vaø cuoái haøng thaúng haøng thì
coång AND 3 coù möùc ra laø 1 . Trong tröôøng hôïp ngöôïc laïi,
nghóa laø khi maõ ñaàu haøng vaø cuoâí haøng khoâng thaúng
haøng hoaëc khi LED hoàng ngoaïi ôû baát kyø vò trí naøo treân
caùc vuøng troáng giöõa caùc haøng vôùi nhau seõ laøm cho
coång AND 3 coù möùc ra laø 0, luùc ñoù NOT 2 coù möùc
ra laø 1 - ñaây cuõng laø möùc cuûa coång vaøo coøn laïi naày .
Nhö vaäy möùc ra cuûa coång AND 2 naày laø 1 seõ laøm
cho moâ tô quay ñaåy giaáy leân . Vaäy, sau khi ñöa giaáy vaøo
ngay ngaén, thì moâ tô seõ töï ñoäng ñaåy giaáy leân , vaø noù
seõ döøng khi gaëp phaûi baát kyø daáu ñaàu haøng vaø cuoái
haøng ñaàu tieân . ( luùc ñoù coång VAØ 2 2 coù möùc ra
laø 0 vaø haún nhieân laø ta phaûi duøng leänh xuaát OUT PC6, 0
trong chöông trình ñeå laøm cho möùc ra cuûa coång HOAËC 1
chæ phuï thuoäc vaøo möùc ra cuûa coång VAØ 2 maø thoâi) .
Toùm laïi : Sau khi ñöa giaáy ngay ngaén thì moâ tô
töï ñoäng ñaåy giaáy leân vaø döøng laïi khi gaëp daáu ñaàu vaø
cuoái haøng ñaàu tieân ñeå CPU ñoïc döõ lieäu .
Trong maïch, ta duøng IC 8255 ñeå giao tieáp vôùi CPU, noù
ñöôïc laäp trình ôû MODE 0 vôùi coång A,B vaø C thaáp laø nhaäp
vaø C cao laø xuaát . CPU seõ taïo moät voøng laëp kieåm tra
xem neáu PC0 coù möùc laø 1 (ngay daáu ñaàu vaø cuoái haøng)
thì seõ laáy döõ lieäu töø coång A vaø B . Nhöng ñeå phaân bieät
ñöôïc döõ lieäu naøo laø maõ thí sinh , döõ lieäu naøo laø noäi
dung baøi thi ta chæ caàn theâm moät daáu hieäu - taïm goïi laø
“daáu maõ thí sinh” ôû ñaàu nhöõng haøng daøng rieâng cho
vieäc ghi maõ thí sinh (coù 3 haøng) . Khi gaëp daáu maõ thí sinh
thì coång AND 4 coù möùc ra laø 1 seõ ñieàu khieån hai IC 74245
laøm cho IC 74245(1) ñöa döõ lieäu töø ñöôøng ra cuûa hai IC
74147 vaøo CPU vaø voâ hieäu hoùa IC 74245(2) .
Khi khoâng coøn daáu hieäu maõ thí sinh nöõa (töø haøng
thöù 4 trôû ñi) thì döõ lieäu chæ qua IC 74245(2) vaø ñi vaøo
CPU maø thoâi .
Sau moãi laàn ñoïc döõ lieäu töø coång A vaø B cuûa IC
8255, CPU seõ xuaát ra PC6 möùc 1 ñeå moâ tô ñaåy giaáy hoaït

13
ñoäng . Vaø noù seõ kieåm tra xem vò trí cuûa LED hoàng ngoaïi
coù leäch khoûi daáu ñaàu vaø cuoái haøng chöa thoâng qua PC0
. Neáu PC0 = 0 thì CPU seõ xuaát möùc 0 cho PC 6 . Vì raèng neáu
khoâng xuaát laïi möùc 0 cho PC6 thì coång HOAËC 1 seõ luoân
luoân coù möùc ra laø moät sau khi CPU ñoïc döõ lieäu laàn ñaàu
tieân, ñieàu ñoù seõ laøm cho moâ tô quay maõi maø noù seõ
khoâng döøng laïi daãu coù gaëp daáu ñaàu vaø cuoái haøng .
Toùm laïi : ÔÛ giai ñoaïn naày laø söï döøng laïi cuûa moâ tô khi
gaëp daáu ñaàu vaø cuoái haøng ñeå ñoïc döõ lieäu, sau ñoù ñaåy giaáy
leân haøng keá . Quaù trình cöù dieãn ra nhö theá cho ñeán khi gaëp
daáu keát thuùc baøi thi .
Daáu keát thuùc baøi thi seõ laøm cho coång VAØ 5 coù
möùc ra laø 1 ñi vaøo PC1 , vaäy neáu PC1 = 1 thì keát quaû ñieåm cuûa
baøi thi ñoù seõ ñöôïc ghi vaøo maãu tin hieän thôøi töø boä nhôù . Khi
ñoù CPU seõ baét ñaàu cho voøng laëp môùi .
Trong quaù trình ñoïc döõ lieäu, neáu coù caâu naøo ñoù cuûa thí
sinh ñuùng vôùi ñaùp aùn thì CPU seõ kích cho IC 7490 moät xung aâm
qua coång PC7 ñeå laøm taêng giaù trò ñieåm treân maët ñeøn LED 7
ñoaïn . Giaùo vieân chaám thi coù theå khoâng caàn nhìn treân maøn
hình maùy vi tính ñeå ghi ñieåm leân baøi thi maø chæ caàn nhìn treân
caùc LED naày . Vôùi moãi laàn gaëp daáu maõ thí sinh cuûa baøi môùi
thì giaù trò cuûa caùc IC 7490 ñöôïc thieát laëp baèng 0 .
3 . Phaùt thaûo chöông trình cho CPU :
a) Chöông trình chaám dieåm :
- Ñaàu voøng laëp .
- Xuaát PC6 möùc 0 .
- Neáu PC0 =1 ñoïc töø coång A vaø B cuûa IC 8255 .
- Moãi khi ñoïc xong 1 haøng (2 byte) xuaát ra PC 6 möùc 1 ñeå
kích moâ tô quay vaø xeùt xem PC0 coù baèng 0 chöa . Neáu PC0 = 0
(leäch khoûi maõ ñaàu haøng vaø cuoái haøng) thì xuaát laïi PC6 möùc 0
ñeå giao ñieàu khieàn cho maïch cuûa maùy .
- Neáu boä ñeäm ñuû 6 byte ñaàu tieân (maõ thí sinh) thì xöû
lyù vaø truy tìm maõ trong cô sôû döõ lieäu . Neáu khoâng coù baùo loãi
leân maøn hình, neáu coù nhaûy ñeán maãu tin ñoù .
- Töø byte thöù 7 trôû ñi laø noäi dung baøi laøm, moãi haøng
(2 byte) coù 4 caâu, neáu caâu traû lôøi ñuùng vôùi ñaùp aùn thì kích
xung cho PC7 vaø taêng 1 vaøo bieán ñieåm trong boä ñeäm .
- Neáu PC1 = 1 thì ghi trò cuûa bieán ñieåm vaøo maãu tin
hieän thôøi vaø xuaát PC6 leân möùc 1 ñeå ñaåy moâ tô vaø keát thuùc
moät baøi thi.
- Trôû laïi ñaàu voøng laëp .
b) Chöông trình ñoïc ñaùp aùn :
- Xuaát PC6 möùc 0 .
- Khôûi taïo bieán ñeám = 0 .
- Ñaàu voøng laëp (ñeå boû qua phaàn maõ thí sinh - khoâng
ñoïc).
- Ñeám >=3 chöa ? Neáu thoaû thì nhaûy ñeán READATA,
neáu khoâng thoaû thì laøm caùc leänh keá .
- Xeùt xem PC0 = 1 chöa, neáu PC0 = 1 (coù maõ ñaàu haøng
vaø cuoái haøng) xuaát PC6 möùc 1 ñeå kích moâ tô quay.
- Xeùt PC0 = 0 chöa, neáu PC0 = 0 thì xuaát PC6 möùc 0 .
- Ñeám = ñeám +1 .
- Cuoái voøng laëp
14
- READATA : Ñoïc döõ lieäu töø coång A vaø B cuûa IC 8255
moãi khi coù PC0 = 1 . Töông töï nhö phaàn chaám ñieåm nhöng khoâng
truy tìm caâu naøo ñuùng hay sai maø chæ ñoïc vaøo khi ñuõ soá byte
caàn thieát (hay PC1 = 1 - maõ cho bieát cuoái giaáy) sau ñoù ghi leân
thaønh taäp tin treân ñiaõ .
Phaàn chöông trình naày seõ ñöôïc vieát cuï theå ôû caùc trang sau
.

III . SÔ ÑOÀ CHI TIEÁT :

15
PHAÀN CHÖÔNG TRÌNH CHINH
Set Talk Off
Set Default To C:\Test
Set Safe Off
Close All
Clear All
!Lt8255
Do While .T.
Clear
@0,0 To 24,79 Double Color Gr+
Tua='CHUONG TRINH TEST PHAN CUNG CHAM THI TRAC NGHIEM'
@ 3,(80-Len(Tua))/2-2 To 5,(80-Len(Tua))/2+Len(Tua)+2 Double Color
R+/B
@ 4,(80-Len(Tua))/2 Say Tua Color G+
@ 11,28 To 15,50 Double Color RB/W
@ 12,30 Prompt ' 1- NHAP DAP AN '
@ 13,30 Prompt ' 2- CHAM DIEM THI '
@ 14,30 Prompt ' 3- KET THUC '
Menu To C
Do Case
Case C=1
Do Dapan
Case C=2
Do Chamdiem
Case C=3
Do Exit
EndCase
EndDo
Set Talk On
Return
*---------------------------------------------------------
Procedure Dapan
!Dung
i=1
Do While i<=3
!PC0_1
!Dayhang
i=i+1
EndDo
i=1
Z=''
Wait " BAT DAU DOC NOI DUNG BAI THI!" Windows Timeout 1
Do While i<=25
!Doc_da
W=Fopen('CauDA.txt')
U=Fgets(W)
=Fclose(W)
??U
Z=Z+U
!Dayhang
i=i+1
EndDo
W=Fcreate('Dapan.txt')
=Fwrite(W,Z)
=Fclose(W)
16
Wait "DAY PHIM BAT KY DE TIEP TUC !" Window
!Day
Return
*----------------------------------------------------------
Procedure Chamdiem
Use Diem
Index On Masv To Mssv
Do While .T.
!Dung
M_diem=0
i=1
M=''
Do While i<=3
!Docma
X=Fopen('Masv.Txt')
K=Fgets(X)
=Fclose(X)
M=M+K
!Dayhang
i=i+1
EndDo
@22,1 Say M
Ma=Val(M)
Seek(Ma)
If Found()
@16,20 Say " MASV"+Space(8)+"HO"+Space(9)+"TEN"
@18,20 Say " "+Str(Masv,6)+' '+Ho+Ten
Do Traloi
Repl Diem With M_diem
@18,20 Say " "+Str(Masv,6)+' '+Ho+Ten+Str(Diem,3)
Else
Wait "KHONG CO MA SINH VIEN NAY!" Windows
EndIf
Wait "CHAM DIEM TIEP KHONG ?(Y/N)" To Tiep Windows
If Upper(Tiep)='N'
Clear
Exit
EndIf
Clear
@0,0 To 24,79 Double Color Gr+
Tua='DANG CHAM DIEM TIEP TUC'
@ 3,(80-Len(Tua))/2-2 To 5,(80-Len(Tua))/2+Len(Tua)+2
Double Color R+/B
@ 4,(80-Len(Tua))/2 Say Tua Color G+
EndDo
Return
*---------------------------------------------------------
Procedure Traloi
Cau=1
Y=Fopen('Dapan.Txt')
T=Fgets(Y)
=Fclose(Y)
Do While Cau<=25
!Bailam
X=Fopen('Traloi.Txt')
17
D=Fgets(X)
=Fclose(X)
CauDA=SubStr(T,((Cau-1)*4)+1,4)
i=1
Do While i<=Len(D)
TL=SubStr(D,i,1)
DA=SubStr(CauDA,i,1)
If TL=DA
!Chodiem
M_diem=M_diem+1
EndIf
i=i+1
EndDo
If Cau=25
Wait " " Timeout 2
EndIf
!Dayhang
Cau=Cau+1
EndDo
!Day
Return

*---------------------------------------------------------
Procedure Exit
!Dung
Set Talk On
Close All
Quit
Return

-----------------------------------------------------------------------------------------------
PHAÀN CHÖÔNG TRÌNH BANG ASSEMBLY
DOC_DA.ASM:

Include Macro.Asm
Code Segment Para Public 'Code'
Assume CS:Code,DS:Data
PC0_1 Proc
Lap:
Mov DX,PortC
In AL,DX
AndAL,01
Mov DL,AL
Add DL,30h
Cmp DL,31h
Je Thoat
Jmp Lap
Thoat:
Ret
PC0_1 EndP
DELAY Proc
Mov CX,1000
Dela:
Loop Dela
DELAY EndP
18
DOC Proc
Mov DX,PortA
In AL,DX
Mov BL,AL
Mov Xport,'A'
Bitthap:
Mov Bcao,'0'
Mov DL,AL
AndDL,0FH
Sosanh:
Cmp DL,00000001B
Je Luu_a
Cmp DL,00000010B
Je Luu_b
Cmp DL,00000100B
Je Luu_c
Cmp DL,00001000B
Je Luu_d
Jmp Luu_?
Luu_a:
Mov DL,'a'
Mov [SI],DL
Jmp Xetbit
Luu_b:
Mov DL,'b'
Mov [SI],DL
Jmp Xetbit
Luu_c:
Mov DL,'c'
Mov [SI],DL
Jmp Xetbit
Luu_d:
Mov DL,'d'
Mov [SI],DL
Jmp Xetbit
Luu_?:
Mov DL,'?'
Mov [SI],DL
Xetbit:
Inc SI
Cmp Bcao,'1'
Je XetportB
Mov Bcao,'1'
Mov DL,BL
Mov CL,4
Shr DL,CL
Jmp Sosanh
XetportB :
Cmp Xport,'B'
Je Hetdoc
Mov DX,PortB
In AL,DX
Mov BL,AL
Mov Xport,'B'
Jmp Bitthap
19
Hetdoc: Ret
DOC EndP
Main Proc
Mov AX,Data
Mov DS,AX
Mov SI,Offset Buffer
Call PC0_1
Mov AX,Data
Mov DS,AX
Call DELAY
Mov AX,Data
Mov DS,AX
Call DOC
Taofile:
Create Finame,20h
JB Error
Mov Handle,AX
Write Handle,Buffer,Buflen
JB Error
Close BX
JB Error
Exit:
Mov AX,4C00h
Int 21h
Ret
Error:
Puts ErrMess
Jmp Short Exit
Main EndP
Code EndS
Data Segment Public 'Data'
Finame DB 'C:\Test\CauDA.txt',0
ErrMess DB 'LOI TAO/GHI FILE !$'
Handle DW ?
BasAdr Equ 300H
PortA Equ BasAdr
PortB Equ BasAdr+1
PortC Equ BasAdr+2
Xport DB ?
Bcao DB ?
Buflen Equ 4
Buffer DB Buflen Dup(?)
Data EndS
End Main

-----------------------------------------------------------------------------------------------
DOCMA.ASM:

Include Macro.asm
Code Segment Para Public 'Code'
Assume CS:Code,DS:Data
PC0_1 Proc
Lap:
Mov DX,PortC
In AL,DX
20
And AL,01
Mov DL,AL
Add DL,30h
Cmp DL,31h
Je Thoat
Jmp Lap
Thoat:
Ret
PC0_1 EndP
DELAY Proc
Mov CX,1000
Dela:
Loop Dela
Ret
DELAY EndP
DOCMA Proc
Mov DX,PortA
In AL,DX
Not AL
Mov BL,AL
Mov DL,BL
AndDL,7FH
Mov CL,4
Shr DL,CL
Add DL,30h
Mov [SI],DL
Inc SI
Mov DL,BL
AndDL,07H
Add DL,30h
Mov [SI],DL
Inc SI
Ret
DOCMA EndP
Main Proc
Mov AX,Data
Mov DS,AX
Mov SI,Offset Buffer
Lapdem:
Call PC0_1
Mov AX,Data
Mov DS,AX
Call DELAY
Mov AX,Data
Mov DS,AX
Call DOCMA
Create Finame,20h
JB Error
Mov Handle,AX
Write Handle,Buffer,Buflen
JB Error
Close BX
JB Error
Exit : Mov AX,4C00h
Int 21h
21
Ret
Error : Puts Errmess
JMP Short Exit
Main EndP
Code EndS
Data Segment Para Public 'Data'
Finame DB 'C:\Test\Masv.txt',0
Errmess DB 'File I/O Error !$'
Buflen Equ 2
Buffer DB Buflen Dup(?)
Handle DW ?
BasAdr EQU 300H
PortA EQU BasAdr
PortC EQU BasAdr+2
Data EndS
End Main
-----------------------------------------------------------------------------------------------
BAILAM.ASM:

Include Macro.Asm
Code Segment Para Public 'Code'
Assume CS:Code,DS:Data
PC0_1 Proc
Lap:
Mov DX,PortC
In AL,DX
AndAL,01
Mov DL,AL
Add DL,30h
Cmp DL,31h
Je Thoat
Jmp Lap
Thoat:
Ret
PC0_1 EndP
DELAY Proc
Mov CX,1000
Dela:
Loop Dela
Ret
DELAY EndP
DOC Proc
Mov DX,PortA
In AL,DX
Mov BL,AL
Mov Xport,'A'
Bitthap:
Mov Bcao,'0'
Mov DL,AL
AndDL,0FH
Sosanh:
Cmp DL,00000001B
Je Luu_a
Cmp DL,00000010B
Je Luu_b
22
Cmp DL,00000100B
Je Luu_c
Cmp DL,00001000B
Je Luu_d
Jmp Luu_?
Luu_a:
Mov DL,'a'
Mov [SI],DL
Jmp Xetbit
Luu_b:
Mov DL,'b'
Mov [SI],DL
Jmp Xetbit
Luu_c:
Mov DL,'c'
Mov [SI],DL
Jmp Xetbit
Luu_d:
Mov DL,'d'
Mov [SI],DL
Jmp Xetbit
Luu_?:
Mov DL,'?'
Mov [SI],DL
Xetbit:
Inc SI
Cmp Bcao,'1'
Je XetportB
Mov Bcao,'1'
Mov DL,BL
Mov CL,4
Shr DL,CL
Jmp Sosanh
XetportB :
Cmp Xport,'B'
Je Hetdoc
Mov DX,PortB
In AL,DX
Mov BL,AL
Mov Xport,'B'
Jmp Bitthap
Hetdoc: Ret
DOC EndP
Main Proc
Mov AX,Data
Mov DS,AX
Mov SI,Offset Buffer
Doccau:
Call PC0_1
Mov AX,Data
Mov DS,AX
Call DELAY
Mov AX,Data
Mov DS,AX
Call DOC
23
Create Finame,20h
JB Error
Mov Handle,AX
Write Handle,Buffer,Buflen
JB Error
Close BX
JB Error
Exit:
Mov AX,4C00h
Int 21h
Ret
Error:
Puts ErrMess
Jmp Short Exit
Main EndP
Code EndS
Data Segment Public 'Data'
Finame DB 'C:\Test\Traloi.txt',0
ErrMess DB 'LOI TAO/GHI FILE !$'
Handle DW ?
BasAdr Equ 300H
PortA Equ BasAdr
PortB Equ BasAdr+1
PortC Equ BasAdr+2
Xport DB ?
Bcao DB ?
Buflen Equ 4
Buffer DB Buflen Dup(?)
Data EndS
End Main

-----------------------------------------------------------------------------------------------
DAYHANG.ASM:
Code Segment Para Public 'Code'
Assume CS:Code,DS:Data
DAY Proc
Mov DX,PortC
In AL,DX
Or AL,01000000B
Mov CX,5
Day1:
Out DX,AL
Loop Day1
DAY EndP
PC0_0 Proc
Lap:
Mov DX,PortC
In AL,DX
And AL,01
Mov DL,AL
Add DL,30h
Cmp DL,30h
Je Thoat
Jmp Lap
Thoat:
24
Ret
PC0_0 EndP
DUNG Proc
Mov DX,PortC
In AL,DX
And AL,10111111B
Mov CX,5
Dung1:
Out DX,AL
Loop Dung1
Ret
DUNG EndP
Main Proc
Mov AX,Data
Mov DS,AX
Call Day
Mov AX,Data
Mov DS,AX
Call PC0_0
Mov AX,Data
Mov DS,AX
Call DUNG
Mov AX,4C00H
Int 21H
Ret
Main EndP
Code EndS
Data Segment Para Public 'Data'
BasAdr Equ 300H
PortC Equ BasAdr+2
Data EndS
End Main
-----------------------------------------------------------------------------------------------
CHODIEM.ASM:

Code Segment
Assume CS:Code,DS:Data
Main Proc
Mov DX,PortC
In AL,DX
And AL,10000000B
Cmp AL,80H
JE Muc1
In AL,DX
Or AL,10000000B
Out DX,AL
And AL,01111111B
Out DX,AL
Jmp Exit
Muc1:
In AL,DX
And AL,01111111B
Out DX,AL
Or AL,10000000B
Out DX,AL
25
Exit:
Mov AX,4C00h
Int 21h
Ret
Main EndP
Code EndS
Data Segment
BasAdr Equ 300H
PortC Equ BasAdr+2
Data EndS
End Main
-----------------------------------------------------------------------------------------------
LT8255.ASM:

Code Segment
Assume CS:Code,DS:Data
Main Proc
Mov AL,10010011B
Mov DX,ContrReg
Out DX,AL
Mov AX,4C00h
Int 21h
Ret
Main EndP
Code EndS
Data Segment
BasAdr Equ 300H
ContrReg Equ BasAdr+3
Data EndS
End Main

26
KEÁT LUAÄN
Chuùng em xin baùo caùo vôùi Hoäi Ñoàng laø ñeán nay chuùng em
ñaõ hoaøn thaønh :
- Maïch ñeøn LED hoàng ngoaïi .
- Maïch ñieàu khieån
- Caùc phaàn cô
- Chöông trình test phaàn cöùng
- Chöông trình chaám thi traéc nghieäm
Nhö vaäy, theo yeâu caàu cuûa ñeà taøi, chuùng em ñaõ
hoaøn thaønh xong . Ngoaøi ra, trong quaù trình laøm ñeà taøi, chuùng
em gaëp phaûi nhöõng khoù khaên nhö :
1. Veà phaàn cô, phaûi ñaûm baûo töông ñoái chính xaùc khi ñöa
giaáy vaøo maùy ñeå chaïy qua daøn ñeøn LED hoàng ngoaïi. Vì soá
löôïng caâu baøi laøm hay ñaùp aùn nhieàu (100 caâu vaø maû thí sinh)
maø laïi thieát keá treân cuøng moät trang neân caùc LED phaûi saùt
nhau . Neáu giaáy bò leäch, döõ lieäu seõ ñoïc sai. Vaõ laïi vieäc thi coâng
baèng thuû coâng cuõng khoù ñaùp öùng ñöôïc nhöõng yeâu caàu caàn
thieát.
2. Loaïi LED chuùng em söû duïng khoâng ñöôïc oån ñònh veà maët
ñieän aùp khi chuùng hoaït ñoäng laâu so vôùi khi chuùng vöøa môùi
hoaït ñoäng . Söï tìm kieám loaïi LED khaùc thay theá cuõng laø moät
vieäc khoù khaên treân thò tröôøng. Söï khoù khaên theå hieän ôû choã
vaät caûn tia hoàng ngoaïi (caâu ñöôïc toâ ñen) khoâng phaûi laø vaät
haáp thu (caûn) aùnh saùng hoaøn toaøn, maø chæ laø moät phaàn naøo
ñoù. Vì noù ñöôïc toâ baèng buùt chì vaø coøn phuï thuoäc vaøo söï “hoái
haû” hay “caån thaän” cuûa thí sinh trong phoøng thi.

27
ÑEÀ XUAÁT YÙ KIEÁN

• Ñoái vôùi ñeà taøi naày, neáu caûi thieän phaàn cô coù
khaû naêng chaám thi haøng loaït baøi thi maø khoâng
caàn ñöa giaáy töøng tôø rieâng leû - maát thôøi gian .
• Cuõng coù theå thieát keá maïch theâm phaàn ñieàu
khieån töø xa cho moät soá thao taùc tieän duøng nhö :
ñieàu khieån moâ tô, ñieàu khieån loa, . . .

28
TAØI LIEÄU THAM KHAÛO

Teân saùch Taùc giaû Nhaø xuaát


baûn

1. Linh kieän quang ñieän töû Döông Minh Trí Khoa


Hoïc Kyõ Thuaät
2. Sô ñoà chaân linh kieän baùn daãn Döông Minh Trí
Sôû Giaùo Duïc & Ñaøo Taïo
3. Ño löôøng vaø ñieàu khieån Ngoâ Dieân Taäp Khoa
Hoïc Kyõ Thuaät
baèng maùy tính
4. PC/XT-AT Technical Reference

29
30

You might also like