Xem mẫu
- 12
LUAÂÄN VAÊN TOÁT NGHIEÄP
Toaøn boä caùc tín hieäu cuûa 8085 coù theå ñuôïc phaân thaønh 6 nhoùm:
(1) Tuyeán ñòa chæ
(2) Tuyeán döõ lieäu
(3) Caùc tín hieäu traïng thaùi vaø ñieàu khieån
(4) Nguoàn cung caáp vaø caùc tín hieäu taàn soá
(5) Caùc ngaét vaø caùc tín hieäu taàn soá
(6) Caùc coång I/O noái tieáp
+5V GND
1 2 40 20
X1 X2 Vcc Vss
Serial SID 5 28
A15
I/O 4
SOD High Outer
Ports Address Bus
TRAP 6 21
A8
RST 7.5 7
RST 6.5 8
RST 5.5 9
10
Interrupts INTR
8085 19
AD7
and
Externally Multiplexed
Initiated Address/Data Bus
Signals
READY 35 12
AD0
39
HOLD
36 30 ALE
RESET IN
29 S0
33 S1 Control
34 IO/M and
32 RD
Status Signals
31 WR
11 INTA
18 HLDA
21 21
RESET CLK
OUT OUT
Hình 3: caùc nhoùm hoaït ñoäng cuûa 8085
I.1.1.2. Caáu truùc beân trong 8085:
8085ù bao goàm ñôn vò logic vaø soá hoïc ALU (Arithmetic and Logic Unit),
ñôn vò ñònh thôøi vaø ñieàu khieån (Timing and Control Unit) , boä giaûi maõ vaø thanh
ghi leänh (Instruction Register and Decoder), daõy thanh ghi ( Register Array),
ñieàu khieån ngaét (Interrupt Control) vaø ñieàu khieån I/O noái tieáp (Serial I/O Control)
(xem hình 4).
- 13
LUAÂÄN VAÊN TOÁT NGHIEÄP
INTA RST 6.5 TRAP
SID
INTR RST 5.5 RST 7.5 SOD
Interrupt Control Serial I/O Control
8 Bit Internal Data Bus
Instruction
Accumulater Temp. Reg. Multiplexer
Register
(8) (8) (8)
(8)
(8)
W Z
Temp. Reg.
Temp. Reg.
(8) (8)
B C
Reg.
Reg.
Flag (8) (8) Register
D E
Flip Flops Array
Re Reg.
Reg.
(8) (8)
g. H L
Instruction
Reg. Reg.
Sel
Decoder
Arithmatic and ect Stack Pointer
Logic Machine
Unit (16)
Cycle
Encoding Program Counter
(ALU)
(16)
(8)
Incrementer / Decrementer
Address Lactch (16)
Power Supply
+5V
GND
X1 CLK Timing and Control
(8) (8)
GEN Control Reset
X2 Status DMA Address Buffer Data Address Buffer
CLK OUT IO/M
RD WR ALE S0 S1 HLDA AD15 - AD8 AD7 - AD0
RESET OUT
Address Bus Address Data Bus
READY HOLD RESET IN
Hình 4: Sô ñoà khoái chöùc naêng cuûa 8085
I.1.2. Caáu truùc phaàn meàm:
Taäp leänh cuûa 8085
Moät leänh (Instruction) laø moät maãu nhò phaân (binary pattern) ñöôïc thieát keá beân
trong vi xöû lyù ñeå thöïc hieän moät chöùc naêng cuï theå (Instruction set), xaùc ñònh caùc chöùc
naêng maø vi xöû lyù coù theå thöïc hieän. Taäp leänh cuûa 8085 coù 74 leänh (hôn 8080 hai
leänh), caùc leänh naøy coù theå ñöôïc phaân thaønh 5 nhoùm chöùc naêng :
Caùc hoaït ñoäng (sao cheùp) truyeàn döõ lieäu
Caùc hoaït ñoäng toaùn hoïc
Caùc hoaït ñoäng logic
Caùc hoaït ñoäng reõ nhaùnh
Vaø, caùc hoaït ñoäng ñieàu khieån
Taäp leänh vi xöû lyù 8085 ñöôïc phaân thaønh 3 nhoùm tuyø theo kích côõ töø :
1. Caùc leänh moät töø hoaëc 1 byte
2. Caùc leänh hai töø hoaëc 2 byte
3. Caùc leänh ba töø hoaëc 3 byte
- 14
LUAÂÄN VAÊN TOÁT NGHIEÄP
Leänh moät byte chöùa maõ hoaït ñoäng (Op code) vaø toaùn töû (Operand) trong cuøng
moät byte.
Trong leänh hai byte, byte thöù nhaát neâu leân maõ hoaït ñoäng vaø theo sau laø toaùn töû.
Ñoái vôùi leänh ba byte, byte ñaàu tieân cho bieát maõ hoaït ñoäng, 2 byte theo sau laø
döõ lieäu (noäi dung hoaëc ñòa chæ) 16 bit.
I.2. IC NGOAÏI VI 8255:
I.2.1. Caáu truùc:
I.2.1.1. Phaàn cöùng:
8255 laø moät thieát bò I/O giao tieáp song song, noù coù theå ñöôïc laäp trình ñeå
truyeàn döõ lieäu döôùi caùc ñieàu kieän khaùc nhau, töø I/O ñôn giaûn ñeán I/O coù ngaét. Noù
khaù linh hoaït, ña naêng vaø tinh teá (khi coù nhieàu coång I/O ñöôïc ñoøi hoûi), nhöng cuõng
phöùc taïp. Noù laø moät thieát bò I/O phoå duïng coù theå ñöôïc söû duïng vôùi haàu heát baát kyø boä
vi xöû lyù naøo.
8255 coù 40 chaân daïng DIP nhö hình 5.
8255
Group
A
PA3 40 PA4
1 Group I/O
Port
A PA7-PA0
PA2 39 PA5 A
2 Control
(8)
PA1 38 PA6
3
PA0 37 PA7
4
RD 36 WR
5
CS 35 RESET
6 Group
A
GND 34 D0
7 Bidirectional I/O
Port C
Data Bus PA7-PA0
A1 33 D1 Upper
8
(4)
A0 32 D2
9
Data
PC7 31 D3
10 Bus
Buffer
PC6 30 D4
11 Group
A
PC5 29 D5
12 D7-D0 I/O
Port C
PA7-PA0
PC4 28 D6
13 Lower
(4)
PC0 27 D7
14
PC1 26 Vcc
15
PC2 25
16 PB7
Group
RD
PC3 24
17 PB6 Read B
WR Group I/O
Write Port
PB0 23
18 PB5 A PA7-PA0
Control
A1 B
Control
Logic
PB1 22
19 PB4 (8)
A0
PB2 21
20 PB3
RESET
CS
Hình 5 : sô ñoà chaân vaø Sô ñoà khoái cuûa 8255
Baûng 2: Baûng lieät keâ chöùc naêng caùc chaân IC 8255
- 15
LUAÂÄN VAÊN TOÁT NGHIEÄP
Teân caùc chaân Chöùc naêng
D7 – D0 Data bus (Bi – Direction)
RESET Rest Input
CS\ Chip Select
RD\ Read Input
WR \ Write Input
A0, A1 Port Address
PA7 – PA0 Port A
PB7 – PB0 Port B
PC7 – BC0 Port C
Sô ñoà khoái treân hình 5. trình baøy hai coång 8 bit (A vaø B) vaø hai coång 4 bit (CU
vaø CL) boä ñieän tuyeán döõ lieäu, vaø logic ñieàu khieån. Hình 5.9 (b) trình baøy moät sô ñoà
ñôn giaûn hoùa nhöng môû roäng cuûa caáu truùc beân trong, chöùa moät thanh ghi ñieåu khieån.
Sô ñoà khoái naøy chöùa taát caû caùc phaàn töû cuûa moät thieát bò laäp trình; coång C thöïc hieän
chöùc naêng töông töï chöùc naêng cuûa thanh ghi traïng thaùi, ngoaøi ra coøn cung caáp caùc tín
hieäu baét tay.
I.2.1.2. Phaàn meàm:
Töø ñieàu khieån
Hình 6 trình baøy moät thanh ghi ñöôïc goïi laø thanh ghi ñieàu khieån (control
register). Noäi dung cuûa thanh ghi naøy, goïi laø töø ñieàu khieån (control word), neâu roõ
moät chöùc naêng I/O cho moãi coång. Thanh ghi coù theå ñöôïc xaâm nhaäp ñeå ghi töø ñieàu
khieån. Khi A0 vaø A1 ôû möùc logic 1, nhö ñaõ ñeà caäp ôû treân. Thanh ghi naøy khoâng theå bò
xaâm nhaäp ñoái vôùi hoaït ñoäng Ñoïc.
Bit D7 cuûa thanh ghi ñieàu khieån neâu roõ hoaëc chöùc naêng I/O hoaëc chöùc naêng
Ñaët/Ñaët laïi bit nhö phaân loaïi trong Hình 5.8 (b). Neáu D7 = 1caùc bit D6 D5 quyeát
ñònh caùc chöùc naêng I/O ôû caùc moát khaùc nhau. Neáu bit D7 = 0, coång C hoaït ñoäng ôû
moát Ñaët/Ñaët laïi bit (BSR). Töø ñieàu khieån BSR khoâng aûnh höôûng ñeán caùc chöùc naêng
cuûa caùc coång A vaø B.
- 16
LUAÂÄN VAÊN TOÁT NGHIEÄP
GROUP B
D7 D6 D5 D4 D3 D2 D1 D0
P ORT C (LOWER)
1=INPUT
0=OUTPUT
P ORT B
1=INPUT
0=OUTPUT
MODE SELECTION
0=MODE 0
1=MODE 1
GROUP A
P ORT C (UPPER)
1=INPUT
0=OUTPUT
P ORT A
1=INPUT
0=OUTPUT
MODE SELECTION
00=MODE 0
01=MODE 1
1X=MODE 2
MODE SET FLAG
1=ACTIVE
Hình 6: Caáu truùc töø ñieàu khieån cuûa IC ngoaïi vi 8255.
Caên cöù vaøo töø ñieàu khieån cuûa 8255, coù theå klhôûi taïo 8255 ôû caùc mode 0 hoaëc
mode 1 hoaëc mode 2, vaø coù theå xaùc ñònh höôùng vaøo ra döõ lieäu cho moãi port.
Ñeå trao ñoåi thoâng tin vôùi caùc ngoaïi vi (ôû ñaây laø caùc moâ - ñun vaøo ra) thoâng qua
8255, ba böôùc sau ñaây laø caàn thieát :
(1) Xaùc ñònh ñöôïc ñòa chæ caùc coång A, B vaø C vaø cuûa thanh ghi ñieàu khieån theo
logic choïn chip (CS) vaø caùc ñöôøng ñòa chæ A0, A1.
(2) Ghi töø ñieàu khieån vaøo thanh ghi ñieàu khieån.
(3) Ghi caùc leänh I/O ñeå thoâng tin vôùi caùc ngoaïi vi thoâng qua coång A,B vaø C.
Heä thoáng Kit ñaõ ñöôïc ñaët cho 8255 laøm vieäc vôùi caùc ngoõ vaøo / ra ôû moát 0 nhö
sau :
1. Caùc ngoõ ra ñöôïc choát
2. Caùc ngoõ vaøo khoâng ñöôïc choát
3. Caùc coång khoâng coù khaû naêng baét tay vaø ngaét.
Ví duï:
Ñeå A, C laø coång nhaäp (8 bít), B laø coång xuaát(8bít), vaø choïn ngoaïi vi coù ñòa chæ
töø 00 – 03 thì phaûi laøm nhö sau:
- 17
LUAÂÄN VAÊN TOÁT NGHIEÄP
Gôûi töø ñieàu khieån 99hex vaøo thanh ghi ñieàu khieån.
Xuaát töø ñieàu khieån ra thanh ghi ñieàu khieån coù ñòa chæ 03hex.
I.3. IC GIAÛI MAÕ HIEÅN THÒ 8279:
I.3.1. Caáu truùc 8279
I.3.1.1. Phaàn cöùng:
8279 laø moät phöông phaùp phaàn cöùng ñeå giao tieáp vôùi baøn phím ma traän vaø
hieån thò ña hôïp. Baát lôïi cuûa phöông phaùp duøng phaàn meàm laø vi xöû lí bò baän trong luùc
kieåm tra vaø laøm töôi hieån thò. 8279 seõ thay theá vi xöû lí ñaûm traùch hai nhieäm vuï naøy.
8279 (Hình ) laø moät thieát bò daïng DIP _ 40, coù hai phaàn chính : baøn phím vaø
hieån thò. Phaàn baøn phím coù theå ñöôïc noái vôùi moät ma traän toái ña 64 phím, söï goõ phím
ñöôïc giaûi naåy vaø maõphím ñöôïc lö u tröõ vaøo boä nhôù FIFO beân trong (First _ In _ First _
Out : Vaøo tröôùc, ra tröôùc) , vaø moät tín hieäu ngaét ñöôïc phaùt ra moãi laàn goõ phím. Phaàn
hieån thò coù theå cung caáp moät hieån thò coù queùt toái ña 16 Led. Phaàn naøy coù boä nhôù
RAM 16 x 8, coù theå ñöôïc söû duïng ñoïc / ghi thoâng tin cho caùc muïc ñích hieån thò. Phaàn
hieån thò coù theå ñöôïc khôûi taïo ôû daïng ghi phaûi (right entry) hoaëc ghi traùi (left entry).
Taàn soá xung ñoàng hoà caáp cho 8279 toái ña laø 3,125MHz
Hình 7: Sô ñoà chaân logic cuûa 8279
Baûng 3: Chöùc naêng caùc chaân IC 8279
Teân chaân Soá chaân Moâ taû vaø chöùc naêng
DB0 – DB7 8 Bi-directional
databus:Ñöôøng döõ lieäu 2
- 18
LUAÂÄN VAÊN TOÁT NGHIEÄP
chieàu.
Taát caû caùc leänh vaø döõ lieäu
giöõaCPU vaø 8279 ñöôïc
truyeàn treân nhöõng ñöôøng
döõ lieäu naøy.
CLK 1 Clock input: ngoõ vaøo xung
clock. Xung clock coù taàn oá
toái ña laø 3,125MHz.
RESET 1 Reset in: duøng ñeå ñaët laïi
traïng thaùi laøm vieäc cuûa
8279 khi ngoõ vaøo naøy ôû
möùc cao.
Sau khi ñöôïc reset, 8279
coù theå laøm vieäc ôû cheá ñoä:
Hieån thò 16 kyù töï loái
vaøo traùi.
Laäp maõ queùt phím
khoùa ngoaøi 2 phím.
CS\ 1 Chip select: taùc ñoäng möùc
thaáp cho pheùp 8279 thöïc
hieän caùc chöùc naêng keát
noái vôùi CPU ñeå truyeàn vaø
nhaän döõ lieäu.
A0 1 Buffer address: ñöôøng ñòa
chæ naøy thöông ñöôïc keát
noái vôùi ñ5a chæ A0 cuûa vi
xöû lyù duøng ñeå phaân bieät
leänh hay döõ lieäu.
A0=[1]: tín hieäu vaøo ra
laø leänh.
A0=[0]:tín hieäu vaøo ra
laø döõ lieäu.
RD\, WR\ 2 Read, Write:ch pheùp ñoïc
hay ghi döõ lieäu leân bus döõ
lieäu, thanh ghi ñieàu khieån
hay boä nhôù RAM hieån thò.
- 19
LUAÂÄN VAÊN TOÁT NGHIEÄP
IRQ 1 Interrupt Request: ñöôøng
tín hieäu yeâu caàu ngaét
(output). Ngoõ ra naøy seõ ôû
möùc cao neá coù döõ lieäu ôû
trong boä nhôù FIFO hay
SensorRAM, ngoõ ra naøy
seõ ôû möùc thaáp moãi khicoù
söï ñoïc boä nhôù
FIFO/SensorRAM vaø
trôûlaïi möùc cao khi d4coù döõ
lieäu chöùa trong RAM.
Vss, Vcc 2 Caáp nguoàn 0Vvaø +5V cho
8279.
SL0 – SL3 4 Scan lines: 4 ñöôøng scan
line naøycoù theå giaûi maõ ra
16 ñöôøng hay maõ hoùa
thaønh 1 ñöôøng, ñöôïc duøng
ñeå queùt phím hay ma traän
caûm bieán vaø hieån thò.
RL0 – RL7 8 Return line: ñöôïc noái vôùi
ñöôøng scan line thoâng qua
caùc phím hay coâng taéc
caûm bieán. ÔÛ cheá ñoä queùt
phím, seõ keát hôïp vôùi caùc
ñöôøng scan lines taïo thaønh
maõ cuûa phím ñöôïc nhaán.
SHIFT 1 Shift, Control / Strobe
input Mode: trong cheá ñoä
CTRL/STB 1
queùt phím, möùc logic cuûa
töøng ngoõ vaøo naøy seõ ñöôïc
löu tröõ vôùi vò trí cuûa phím
ñeå taïo ra 1 giaù trò cuûa
phím ñöôïc nhaán.
OUT A0 – A3 4 Ñeây laø 2 portngoõ ra cuûa
thanh ghi hieån thò 16 x 4
OUT B0 – B3 4
bit. Döõ lieäu töø nhöõng thanh
ghi naøy seõ ñöôïc ñöa ra
ñoàng boä keát hôïp vôùi caùc
- 20
LUAÂÄN VAÊN TOÁT NGHIEÄP
ñöôøng queùt scan lines ñeå
ña hôïp thaønh soá hieån thò.
Hai ngoõ ra 4 bit naøy coù theå
xoùa ñoäc laäp vaø coù theå keát
hôïp vôùi nhau ñeå taïo thaønh
moät ngoõ ra 8 bit.
BD\ 1 Blanking display: duøng ñeå
xoùa hieån thò trong quaù
trình chuyeån ñoåi giöõa caùc
soá hay khi gaëp leänh xoùa
hieån thò.
Sô ñoà khoái logic (Hình 8) trình baøy boán phaàn chính cuûa 8279 : baøn phím, queùt,
hieån thò vaø giao tieáp vi xöû lí. Caùc chöùc naêng cuûa caùc phaàn naøy ñöôïc mieâu taû nhö döôùi
ñaây :
IR
CL RESE RD WR CS A0
DB0-
FIFO/Sensor
Data R AM
I/O Control
Buffer S tatus
Internal Data Bus (8)
Keyboard
Display 16 x 8 8x8
Control and Debounce
Address Display FIFO/Sensor
T iming and
Registers RAM R AM
Registers Control
Timing
and
Display Control
Return
Registers Scan Counter
8
SHIF
BD SL0-
OUT A0-A3 OUT
RL0-RL7
Hình 8: Sô ñoà khoái cuûa 8279
Ñeå giao tieáp vôùi vi xöû lyù, 8279 caàn taùm ñöôøng döõ l ieäu hai chieàu (BD0 _ BD7),
moät ñöôøng yeâu caàu ngaét (IRQ), vaø saùu ñöôøng giao tieáp, keå caû ñöôøng ñòa chæ cuûa boä
ñeäm (A0)
Khi A0 ôû möùc cao, caùc tín hieäu ñöôïc hieåu nhö laø caùc töø ñieàu khieån vaø traïng
thaùi. Khi A0 ôû möùc thaáp, caùc tín hieäu ñöôïc hieåu laø döõ lieäu.
- 21
LUAÂÄN VAÊN TOÁT NGHIEÄP
Ñöôøng IRQ leân möùc cao baát kì luùc naøo vieäc ghi nhaän döõ lieäu vaøo FIFO. Tín
hieäu naøy ñöôïc söû duïng ñeå ngaét vi xöû lí nhaèm chæ thò tính khaû duïng cuûa döõ lieäu.
I.3.1.2. Laäp trình cho 8279
Ñeå coù söû duïng 8279, caàn bieát caùc töø ñieàu khieån cuûa 8279.
8279 coù taát caû taùm töø ñieàu khieån, tuøy theo muïc ñích söû duïng maø seõ choïn töø
ñieàu khieån thích hôïp.
Ñaët moát hieån thò / baøn phím
MSB LSB
Maõ 0 0 0 D D K K K
Trong ñoù, D D laø moát hieån thò vaø K K K laø moát baøn phím
DD
0 0 Hieån thò 8 kí töï 8 bit _ ghi traùi
0 1 Hieån thò 16 kí töï 8 bit _ ghi traùi
1 0 Hieån thò 8 kí töï 8 bit _ ghi phaûi
1 1 Hieån thò 16 kí töï 8 bit _ ghi phaûi
KKK
000 Baøn phím queùt coù laäp maõ _ Khoùa ngoaøi 2 phím
001 Baøn phím queùt coù giaûi maõ _ Khoùa ngoaøi 2 phím
010 Baøn phím queùt coù laäp maõ _ Xoay voøng N phím
011 Baøn phím queùt coù giaûi maõ _ Xoay voøng N phím
100 Ma traän caûm bieán, queùt coù laäp maõ
101 Ma traän caûm bieán, queùt coù giaûi maõ
110 Ngoõ vaøo Strob, queùt hieån thò coù laäp maõ
110 Ngoõ vaøo Strob, queùt hieån thò coù giaûi maõ
Trong suoát thôøi gian RAM hieån thò ñang bò xoaù ( 160 S), noù khoâng theå ñöôïc
ghi vaøo. Bit coù troïng soá cao nhaát (MSB) cuûa töø traïng thaùi ñöôïc ñaët trong suoát thôøi
gian naøy. Khi RAM hieån thò trôû neân khaû duïng trôû laïi, bit naøy töï ñoäng ñöôïc ñaët laïi.
- 22
LUAÂÄN VAÊN TOÁT NGHIEÄP
Khôûi taïo 8279
Maëc duø 8279 coù tôùi taùm töø ñieàu khieån, nhöng khoâng phaûi luùc naøo cuõng söû
duïng heát taát caû taùm töø naøy.
Khi khôûi taïo moät 8279, thöù töï caùc töø ñieàu khieån sau ñaây laø caàn thieát :
+ Ñaët moát hieån thò / baøn phím
+ Laäp trình xung ñoàng hoà
+ Xoaù RAM hieån thò, hoaëc FIFO hoaëc caû hai
Caùc töø ñieàu khieån coøn laïi coù theå ñöôïc gôûi ra thanh ghi ñieàu khieån trong luùc naøy
hoaëc khi caàn.
II. CAÙC THAM SOÁ CAÀN THIEÁT CUÛA KIT:
Treân ñaây, ñaõ giôùi thieäu caùc IC quaïn troïng ñeå coù theå keát noái Kit vôùi maùy tính.
Ngoaøi ra, caùc thoâng soá veà ñòa chæ cuõng khoâng keùm phaàn quan troïng.
Baûng : Baûng ñoà ñòa chæ boä nhôù cuûa kit
Vuøng ñòa chæ
Boä nhôù A15 A14 A13 A12 A0
boä nhôù
0 0 0 0 0 0000H
ROM1
0 0 0 1 1 1FFFH
0 0 1 0 0 2000H
ROM2
0 0 1 1 1 3FFFH
0 1 0 0 0 4000H
RAM1
0 1 0 1 1 5FFFH
0 1 1 0 0 6000H
RAM2
0 1 1 1 1 7FFFH
1 0 0 0 0 8000H
RAM3
1 0 0 1 1 9FFFH
1 0 1 0 0 A000H
8279
1 0 1 1 1 BFFFH
3 bit öùng vôùi 6 traïng
thaùi cuûa 6 vuøng nhôù
nguon tai.lieu . vn