DẪN NHẬP
I – ĐẶT VẤN ĐỀ
Cùng với sự phát triển của xã hội, nhu cầu vật chất và tinh thần của con người ngày càng tăng. Nắm bắt được điều trên, trong vài năm gần đây để thỏa mãn nhu cầu đi lại ngày càng cao để giải quyết một số vấn đề xã hội như giảm bớt lượng xe hai bánh trên đường phố, tăng vẻ mỹ quan cho đô thị. Nhà nước đã đưa vào hoạt động loại hình Taxi. Đây là loại hình đưa đón khách tương đối mới mẽ đối với nước ta nhưng lại không xa lạ gì đối với các nước. Nó tỏ ra tiện dụng cho việc đi lại và phần nào giảm bớt được ô nhiễm môi trường, an toàn cho hành khách. Muốn như vậy, xe Taxi lưu hành phải trang bị những thiết bị an toàn cho hành khách lẫn người điều khiễn phương tiện. Ngoài những thiết bị như dây an toàn, thiết bị giảm xóc và chống va đập thì việc trang bị những thiết bị cảnh báo nhằm cung cấp thông tin về tình trạng hoạt động của xe cho người điều khiển là điều cần thiết.
Bên cạnh vấn đề quan trọng là bảo đảm an toàn trong quá trình di chuyển thì việc tính cước trên xe Taxi phải đảm bảo tính chính xác và hợp lý nhằm tạo tâm thoải mái và dễ chịu cho hành khách.
Xuất phát từ nhu cầu thực tế khách quan đó, cùng những kiến thức đã được trang bị trong trường, người thực hiện đã mạnh dạn thực hiện đề tài “THIẾT KẾ VÀ THI CÔNG MẠCH CẢNH BÁO TỐC ĐỘ VÀ TÍNH CƯỚC XE TAXI”.
II- GIỚI HẠN ĐỀ TÀI:
Với đề tài mang tính thực tiễn là “THIẾT KẾ VÀ THI CÔNG MẠCH CẢNH BÁO TỐC ĐỘ VÀ TÍNH CƯỚC XE TAXI” thì vấn đề thực hiện thiết kế và thi công một mạch hoàn chỉnh thật sự có thể ứng dụng rộng rãi là một điều mà người thực hiện mong muốn đạt được.
Tuy nhiên do thời gian và kiến thức có hạn cùng những hạn chế khách quan khác ngoài ý muốn mà trong phạm vi đồ án người thực hiện không thể đề cập, đi sâu khảo sát bộ tính cước xe Taxi đang được sử dụng rộng rãi trên các xe Taxi ở nước ta. Dù vậy người thực hiện cũng đã cố gắng tìm hiểu các nguyên lý tính cước cũng như cảnh báo tốc độ xe ôtô để đề ra hướng giải quyết. Theo đó nội dung nghiên cứu chỉ tiến hành thực hiện các vấn đề sau:
· Giới thiệu nguyên lý đo tốc độ, nguyên lý tính cước xe Taxi, nguyên lý cảnh báo tốc độ xe ôtô.
· Thiết kế mạch phần cứng.
· Thiết kế phần mềm.
Về thi công, với yêu cầu của đề tài đặt ra là thiết kế và thi công một mạch điện gần sát với thực tế để phục vụ cho việc học tập và nghiên cứu. Trên cơ sở dựa trên khả năng kiến thức đã thu thập ở nhà trường, người thực hiện đã cố gắng tiến hành thi công một số mạch cơ bản đủ để mô phỏng việc cảnh báo tốc độ và tính cước xe Taxi.
III-MỤC ĐÍCH NGHIÊN CỨU
Việc vận dụng môn điện tử ứng dụng để giải quyết một vấn đề kỹ thuật là điều không còn gì mới mẽ nhưng tính mới mẽ của đề tài được thể hiện ở chỗ người thực hiện đã mạnh dạn đi nghiên cứu một lĩnh vực mới đang phát triển mạnh mẽ nhằm đáp ứng nhu cầu của xã hội đó là lĩnh vực trang bị điện tử cho xe ôtô.
Đề tài được thực hiện trong phạm vi hẹp chưa thể ứng dụng được trong thực tiễn nhưng điều mà người thực hiện muốn hướng đến là thông qua việc thực hiện đồ án tốt nghiệp có điều kiện vận dụng lý thuyết đã học để giải quyết một vấn đề mang tính thực tiễn. Đồng thời trong một chừng mực nào đó tập đồ án có thể được xem như một tài liệu tham khảo, học tập cho sinh viên trong và ngoài ngành.
77 trang |
Chia sẻ: banmai | Lượt xem: 1711 | Lượt tải: 0
Bạn đang xem trước 20 trang tài liệu Thiết kế và thi công mạch cảnh báo tốc độ và tính cước xe taxi, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
3MW (cuõng coù theå lôùn hôn tuøy loaïi IC)
Toái thieåu khoaûng 1KW
Vôùi nhöõng giôùi haïn treân thì taàn soá taïo neân khoâng quaù 1MHz
Chöùc naêng moät soá chaân cuûa IC 555
Ngoõ vaøo Reset (chaân 4) coù theå duøng ñeå giöõ ngoõ ra cuûa IC555 ôû möùc thaáp hay ngöng xung ra khi ñaõ baét ñaàu. Muoán vaäy chæ caàn ñöa ngoõ Reset xuoáng mass. Neáu hai ngoõ naûy vaø Reset noái chung nhau maïch seõ naûy ôû caïnh leân thay vì ôû caïnh xuoáng. Bình thöôøng ta phaûi noái ngoõ Reset leân nguoàn Vcc ñeå traùnh nhieãu.
+5v
4
3
555
2 5
1
Ra
R2
Cb
C
R1
Hình B. 9: Sô ñoà maïch taïo xung
IC555 coøn coù ngoõ vaøo ñieän theá ñieàu khieån (controlvoltage), bình thöông ta ñeå hôû ngoõ naøy nhöng ñeå taêng söï oån ñònh cuûa maïch ta duøng moät tuï (.01 ¸ .1mF) noái reõ giöõa ngoõ naøy vôùi mass.
Maïch 555 taïo ra xung vuoâng nhôø söï naïp, xaõ lieân tuïc cuûa tuï C
Theo ñoù ta coù:
Thôøi gian tuï naïp T1 = 0.693(R1 + R2)C
Thôøi gian tuï xaõ T2 = 0.693R2C
Chu kyø cuûa daïng soùng vuoâng ra:
T = T1 + T2 = 0.693(R1 + 2R2)C
Taàn soá cuûa daïng soùng vuoâng ra:
f = 1/T = 1.44/ (R1 + 2R2)C
Tính toaùn vaø löïa choïn linh kieän:
Do yeâu caàu thieát keá caàn taïo ra moät khoaûng taàn soá ñuû roäng ñeå ñeã ñieàu chænh vaø theo doõi khi hoaït ñoäng, neân taàn soá thieát keá cho maïch taïo xung laøm tín hieäu toác ñoä ñöôïc thöïc hieän trong khoaûng 10Hz < f <= 100Hz.
ÔÛ taàn soá 100Hz ta coù:
Taàn soá soùng vuoâng ra : f = 1/T = 1,44/(R1 + 2R2)C = 100Hz
Choïn C = 1mF
R1 = 5KW (Thöïc teá R1 = 5KW + 0)
Suy ra : 2R2 = (1,44/ 100.C) – R1 = 9.4KW.
Hay R2 = 4.7KW
Ñeå coù daõy taàn soá thay ñoåi ñöôïc töø > 10Hz – 100Hz thì R1 ñöôïc choïn laø moät bieán trôû 100KW noái tieáp vôùi moätñieän trôû 5KW.
Khi ñoù ta coù:
R1 = R1 + R1 = 100 +5 = 105KW
Vôùi C = 1mF vaø R2 4.7KW.
f = 1/T = 1,44/(R1 + 2R2)C = 1,44/ (114,4.103.10-6) = 12.5Hz.
Pc1
.01
1mF
4.7k
100K
+5v
Ra
8 4
7 3
6 555
2 5
1
5K
Hình B. 10 : Sô ñoà maïch taïo tín hieäu toác ñoä
Nhö vaäy vôùi nhöõng giaù trò ñaõ tính ñöôïc seõ cho ta chuoãi xung vuoâng coù taàn soá chænh ñònh ñöôïc töø 12.5Hz – 100Hz. Xung ra seõ ñöôïc ñöa ñeán Pc1 cuûa boä vi xöû lyù.
VIII-THIEÁT KEÁ MAÏCH CAÛNH BAÙO:
Maïch caûnh baùo toác ñoä ñöôïc thieát keá chung cho caùc xe oâtoâ ñeàu khoâng naèm ngoaøi muïc ñích baûo ñaûm an toaøn tính maïng cho ngöôøi söû duïng xe.
Sô ñoà maïch:
Maïch caûnh baùo söû duïng tín hieäu toác ñoä ñaõ xöû lyù ñeå ñöa veà boä so saùnh, so saùnh vôùi toác ñoä caøi ñaët roài ñöa tín hieäu ñoù ñeán loa caûnh baùo.
* Hoaït ñoäng:
Tín hieäu toác ñoä ñöôïc ñöa ñeán boä so saùnh goàm ba vi maïch 7485 ñaõ ñöôïc caøi ñaët saün caáp so saùnh. Khi tín hieäu ñaït ñeán toác ñoä 80km/h thì moät tín hieäu ñieän aùp ñöôïc xuaát ra ngoõ ra cuûa vi maïch 7485, nhôø caùc coång logic maø moät taàn soá ñöôïc löïa choïn laø 500Hz seõ xuaát ra loa laøm cho loa phaùt ra moät taàn soá aâm thanh laø 500Hz. Töông töï cho caùc tröôøng hôïp toác ñoä ñaït 100km/h vaø 120km/h thì taàn soá caûnh baùo töông öùng xuaát ra loa seõ laø 2KHz vaø 5KHz. Trong quaù trình hoaït ñoäng maïch seõ bò Reset ôû taàn soá 10Hz phaùt ra bôûi IC 5551.
2-Tính toaùn vaø löïa choïn linh kieän:
- Caùc taàn soá caûnh baùo ñöôïc taïo bôûi caùc maïch ñònh giôø 555. Caùc maïch ñònh giôø 555 naøy seõ laàn löôït taïo ra caùc tín hieäu dao ñoäng ôû taàn soá: 10Hz, 500Hz, 2Hz, 5Hz.
Töø taàn soá xaùc ñònh tröôùc, döïa vaøo coâng thöùc sau
F = 1/T = 1.44/(R1 + 2R2)C
Ta laàn löôït xaùc ñònh ñöôïc caùc giaù trò R vaø C cho ôû hình veõ B. 11
Vôùi:
5551: Taïo ra taàn soá 10Hz ñeå reset 3 maïch dao doäng caûnh baùo.
5552: Taïo ra taàn soá caûnh baùo 5KHz khi toác ñoä ³ 120Km/h
5553: Taïo ra taàn soá caûnh baùo 2KHz khi toác ñoä ³ 100Km/h
5554: T5o ra taàn soá caûnh baùo 500Hz khi toác ñoä ³ 80Km/h
Caùc coång logic And, Nor, Not ñeå taïo neân maïch choïn tín hieäu xuaát ra loa caûnh baùo.
Boä so saùnh duøng vi maïch 7485.
Vieäc thieát keá maïch caûnh baùo treân tuy ñôn giaûn, linh kieän deã kieám treân thò tröôøng. Nhöng ñeå goïn nheï trong quaù trình thi coâng vaø ñeå taän duïng heát khaû naêng cuûa KIT.Z80 ta chæ söû duïng moät loa caûnh baùo gaén tröïc tieáp leân ngoõ ra cuûa KIT coøn tín hieäu ra ñieàu khieån loa seõ ñöôïc thieát keá bôûi phaàn meàm. Theo ñoù taàn soá ñöôïc ngöôøi thöïc hieän löïa choïn caøi ñaët laø ba caáp dao ñoäng: 200Hz. 400Hz, 600Hz. Ñaây laø daõy taàn soá maø tai ngöôøi coù theå phaân bieät roõ raøng.
Toùm laïi: Ngöôøi thöïc hieän vöøa trình baøy coâng vieäc thieát keá toaøn boä heä thoáng, vôùi boä vi xöû lyù trung taâm laø CPU Z80. Boä vi xöû lyù naøy seõ giaûi quyeát nhöõng chöông trình ñöôïc naïp trong EPROM. Töø ñoù chi phoái toaøn boä hoaït ñoäng cuûa heä thoáng, thöïc hieän quaù trình xöû lyù tín hieäu toác ñoä vaøo töø maïch taïo xung roài xuaát ra boä hieån thò soá tieàn vaø soá quaõng ñöôøng ñaõ thöïc hieän ñoàng thôøi xöû lyù luoân caû quaù trænh caûnh baùo toác ñoä. Chöông trình ñöôïc naïp trong EPROM giuùp cho maïch thi coâng ñôn giaûn vaø ñaït ñôïc söï meàm deûo. Khi coù yeâu caàu caøi ñaët laïi soá tieàn vaø caáp caûnh baùo khaùc ta chæ vieäc thay ñoåi treân phaàn meàm tröôùc khi naïp vaøo EPROM. Vôùi yeâu caàu cuûa ñeà taøi thì vieäc thieát keá heä thoáng KITZ80 ñaõ toû ra öu ñieåm hôn heä thoáng maïch soá nhôø coù khaû naêng tính toaùn caùc giaù trò khoâng tuyeán tính ñoàng thôøi löu laïi ñöôïc keát quaû veà soá tieàn vaø quaõng ñöôøng maø heä thoáng ñaõ xöû lyù ñöôïc. Ñieàu naøy giuùp cho cô quan chuû quaûn deã quaûn lyù hoaït ñoäng cuûa ngöôøi söû duïng phöông tieän.
C- THIEÁT KEÁ PHAÀN MEÀM
Moät heä thoáng vi xöû lyù sau khi ñöôïc thieát keá phaàn cöùng muoán laøm vieäc ñöôïc thì phaûi coù phaàn meàm ñieàu khieån. Chöông trình phaàn meàm caøng chaët cheõ, linh hoaït thì heä thoáng hoaït ñoäng caøng chính xaùc.
Laäp trình laø thöïc hieän moät chöông trình vôùi moät ngoân ngöõ naøo ñoù ñeå ñieàu khieån caùch xöû lyù döõ lieäu theo töøng yeâu caàu cuï theå cuûa vaán ñeà. Do ñoù, beân caïnh söï hieåu bieát veà cô cheá hoaït ñoäng cuûa maùy tính, ngöôøi laäp trình caàn phaûi naém vöõng caùch toå chöùc döõ lieäu vaø caùch xöû lyù coøn goïi laø giaûi thuaät.
Hieän nay coù 2 phöông phaùp laäp trình thoâng duïng laø phöông phaùp laäp trình tuaàn töï vaø phöông phaùp laäp trình caáu truùc.
Phöông phaùp laäp trình tuaàn töï :
Phöông phaùp naøy CPU seõ ñoïc tuaàn töï caùc chæ thò chöông trình töø ñòa chæ thaáp ñeán ñòa chæ cao vaø thöïc hieän chuùng cho ñeán ñòa chæ cuoái cuøng. Öu ñieåm cuûa phöông phaùp naøy laø ngöôøi ñoïc raát deã theo doõi chöông trình vaø naém ñöôïc yù ñoà cuûa ngöôøi thöïc hieän. Tuy nhieân laïi coù nhöôïc ñieåm laø kích thöôùc chöông trình lôùn.
Phöông phaùp laäp trình coù caáu truùc:
Theo phöông phaùp naøy nhöõng ñoaïn thöôøng xuyeân laäp laïi trong chöông trình ngöôøi ta ñem chuùng ra khoûi chöông trình vaø ñaët chuùng nhö moät chöông trình con. khi thi haønh ñeán ñoaïn chöông trình naøy CPU seõ nhaûy ñeán ñòa chæ xaùc ñònh cuûa chöông trình ñoù ñeå thöïc hieän taùc vuï. Ñeå quaù trình laøm vieäc khoâng bò giaùn ñoaïn ta duøng leänh quay veà (RET) khi ñoù CPU seõ quay veà chöông trình chính. Phöông phaùp naøy toû ra hieäu quaû trong vieäc giaûm kích thöôùc chöông trình vaø thuaän tieän cho ngöôøi vieát vaø noù ñöôïc ngöôøi thöïc hieän söû duïng trong taäp ñoà aùn.
LÖU ÑOÀ KHOÁI CHÖÔNG TRÌNH :
Löu ñoà khoái laø moät böôùc khaùi quaùt hoùa quaù trình thöïc hieän cuûa moät chöông trình. Noù löôïc ñi nhöõng chi tieát ñeå laøm noåi baät noäi dung chính cuûa chöông trình. Qua ñoù noù theå hieän yù ñoà cuûa ngöôøi thieát keá.
Chöông trình ñöôïc ngöôøi thöïc hieän xaây döïng baèng taäp leänh cuûa CPU Z80. Keát hôïp vôùi nhöõng soá lieäu ban ñaàu ñöïôc löïa choïn caøi ñaët laø:
Soá tieàn cho km ñaàu laø 5.000ÑVN
200m tieáp theo laø 1000 ÑVN.
Sau 28 km : 2800ÑVN/km.
Taàn soá caûnh baùo
Khi soá xung >80 xung/s: Taàn soá caûnh baùo ñöôïc thöïc hieän 600Hz.
Khi soá xung >60 xung/s : Taàn soá caûnh baùo ñöôïc thöïc hieän 400Hz.
Khi soá xung <60 xung/s: Taàn soá caûnh baùo ñöôïc thöïc hieän 200Hz.
LÖU ÑOÀ KHOÁI LÖÔÏNG TRÌNH CHÍNH
SATRT
ÑAËT BIEÁN CÔØ
KIEÅM TRA HEÄ THOÁNG
S
Ñ
GOÏI CHÖÔNG TRÌNH
BAÙO ÑOÄNG
CHÖÔNG TRÌNH TÍNH
S VAØ T
COÙ BAÙO ÑOÄNG ?
CHÖÔNG TRÌNH ÑO
LÖU ÑOÀ KHOÁI CHÖÔNG TRÌNH ÑO
t=1s
t=1s
Ñ
S
Ñ
S
Ñ
Ñ
S
S
Ñ
S
RET
I = 1S ?
I = 0 ?
I = 1 ?
START
Ñeám = Ñeám + 1
Ñeám giôø
Ñeám giôø
Goïi chöông trình queùt phím
Goïi chöông trình queùt phím
LÖU ÑOÀ KHOÁI CHÖÔNG TRÌNH QUEÙT PHÍM
RET
Ñ
S
Ñ
S
PCO = O ?
PCO = O ?
START
Goïi chöông trình
Delay 1
Xaùc ñònh phím
Gôûi döõ lieäu oo -> Port B
Goïi chöông trình
Delay 2
Gôûi döõ lieäu 00 -> port B
CHÖÔNG TRÌNH DELAY 1.2
RET
Cho saùng soá haøng traêm
Cho saùng soá haøng chuïc
Cho saùng soá ñôn vò
START
Cho saùng soá haøng ngaøn
Gôûi tín hieäu baùo MODE
CHÖÔNG TRÌNH XAÙC ÑÒNH PHÍM
Ñ
Ñ
S
S
A
RET
CY = 0
RRC B
B -> A
A = 01 ?
AND 01
A <- Port C
A -> Port B
B -> A
B = F7H
START
Ñ
S
S
Ñ
S
Ñ
S
Ñ
A =FBH ? ?
RET
A = 0
A -> (MODE)
A = A + 1
Löu tieàn
Ñaët côø tính tieàn = 1
Ñaët côø tính tieàn = 0
A
A = 02 ?
A<- (MODE)
A =FDH ?
A =F7H ?
CHÖÔNG TRÌNH TÍNH TOAÙN S VAØ T
Ñ
S
RET
Tieàn = tieàn + 1000 * A
A # O ?
START
Quaõng ñöôøng - 1000
Div -> A
200
*-CHÖÔNG TRÌNH BAÙO ÑOÄNG
S
Ñ
S
Ñ
RET
START
A <- DOH
A <- EOH
A -> PortC
A <- BOH
Ñeám >60? ?
Ñeám > 80?
CHÖÔNG TRÌNH
z80
Org 0000h
LD SP. 3FFFH
LD A,81H
OUT (03H), A
LD A,00H
LD (TIME),A
LD(VMOD),A
LD (TT),A
LD (CK),A
LD HL, 0000H
LD (MON), HL
LD (S), HL
LD (ST), HL
LD (SS), HL
LD A, (TAB+8)
OUT (PORTB), A
LD A, OFEH
LAB1: OUT (PORTA),A
CALL DL2S
RRC A
CP OBFH
JP Z, LAB1
LAB 2: CALL DO
CALL ALM
CALL CAL
JP LAB2
DL2S : LD HL, 6000H
DL2S1: DEC HL
LD A,H
CP 00H
JP NZ, DL2S1
LD A,L
CP 00H
JP NZ, DL2S1
RET
DO : IN A, (PORTC)
AND 02H
CP 02H
JP NZ, LADOI
CALL SCKEY
LD A, (TIME)
INC A
LD (TIME),A
CP OC8H
RET Z
JP DO
LADOI1: IN A , (PORTC)
AND 02H
CP 00H
JP NZ, LADOI2
CALL SCKEY
LD A, (TIME)
INC A
LD (TIME),A
CP OC8H
RET Z
JP LADOI
LADOI 2: LD A, (CK)
INC A
LD (CK), A
JP DO
SCKEY : LD A,OOH
OUT (PORTA),A
IN A, (PORTC)
AND 01H
CP 01H
JP NZ, SCK1
CALL DELEY1
RET
SCK1: CALL DELAY2
LD A,OOH
OUT (PORTA), A
IN A, (PORTC)
AND 01H
CP 01H
RET Z
CALL XDP
RETDELAY 1: LD A,(VMOD)
CP OOH
JP Z,DSP1
CP 01H
JP Z, DSP2
CP 02H
JP Z, DSP3
JP NZ, DSP4
DL10: LD B,O8H
DL11: LD A, (HL)
OUT (PORTB), A
LD A,B
OUT (PORTA),A
CALL DL1ms
INC HL
RRC B
JP C, DL11
LD A, (VMOD)
OUT (PORTB), A
LD A,20H
OUT (PORTA), A
CALL DL1ms
RET
DSP 1: LD HL, BUF 1
JP DL10
DSP2 : LD HL BUF2
JP DL10
DSP3 : LD HL, BUF 3
JP DL10
DSP4: LD HL, BUF4
JP DL10
DL1ms: LD A,63H
MS1 : CP OOH
RET Z
NOP
DEC A
JP MS1
DELAY2: CALL DELAY 1
CALL DELAY 1
CALL DELAY 1
CALL DELAY 1
RET
XDP : LD B, OF7H
XDP2: LD A,B
OUT (PORTB), A
IN A, (PORTC)
AND 01H
CP 01H
JP Z,XDP1
RRC B
RET NC
JP C, XDP2
XDP1: LD A,B
CP OF7H
CALL Z,RSTT
CP OFBH
CALL Z, SETTT
CP OFDH
CALL Z,LUU
LD A, (VMOD)
CP 03H
JP Z, XDP3
INC A
LD (VMOD), A
RET
RSTT LD A,OOH
LD (TT), A
RET
SETTT: LD A,01H
LD (TT), A
LUU : LD BC , (MON)
LD HL, (ST)
ADD HL, BC
LD (ST), HL
LD BC, (S)
LD HL, (SS)
ADD HL, BC
LD (SS), HL
RET
XDP3: LD A,00H
LD (VMOD), A
RET
CAL: LD HL, (S)
LD A, (CK)
CALL HLADDA
LD (S), HL
LD BC, 03E8H
SBC HL, BC
CALL D200
LD A, (SM)
CP OOH
RET Z
CALL A1000
LD B,H
LD C,L
LD HL, (MON)
ADD HL,BC
LD (MON), HL
RET
DECO : LD A, (VMOD)
CP OOH
JP Z, DECO1
CP 01H
JP Z,DECO2
CP 02
JP Z,DECO3
LD HL, (SSKT)
LD BC, BUF4
DECOO: CALL DI10
LD (BC),A
CALL DI10
INC BC
LD (BC), A
CALL DI10
INC BC
LD (BC), A
INC BC
LD (BC),A
RET
DECO1: LD HL, (MON)
LD BC, BUF1
JP DECOO
DECO2: LD HL, (ST)
LD BC, BUF2
JP DECOO
DECO 3 LD HL, (SS)
LD BC, BUF3
JP DECOO
DI10: PUSH BC
LD BC, OOOOH
D12 LD A,H
CP OOH
JP Z, DII
INC BC
LD A, 0AH
CALL HLSUBA
JP D12
HLSUBA : LD D, OOH
LD E, 0AH
SBC HL, DE
RET
DI1: LD A,L
D14: LD L, OAH
CP L
JP C, D13
INC BC
SUB L
JP D14
D13 LD HL, TAB
CALL HLADDA
LD A, (HL)
LD H,B
LD L,C
POP BC
RET
ALM : LD A, (CK)
CP 80 H
JP Z, ALM1
CP 60H
JP Z, ALM2
LD A, OBOH
ALM3: OUT (PORTC), A
RET
ALM1: LD A, OEOH
JP ALM3
ALM2: LD A, ODOH
JP ALM3
HLADDA: LD B, OOH
LD C,A
ADD HL, BC
RET
A1000: LD HL, 0000H
LD B, 03H
LD C, OE8H
A1L1: CP OOH
RET Z
ADC HL, BC
DEC A
JP A1L1
D200 : LD D, OOH
LD BC, OOC8H
D22: LD A,H
CP OOH
JP Z, D21
D23: SBC HL, BC
INC D
LD A,D
LD (SM), A
JP D22
D21: LD A,L
CP OC8H
RET C
JP D23
TAB: DEFB 3FH ; BANG TRA MA LED
DEFB 06H
DEFB 5BH
DEFB 4FH
DEFB 66H
DEFB 6DH
DEFB 7DH
DEFB 07H
DEFB 7FH
DEFB 6FH
;………………………………;
PORTA EQU OOH
PORTB EQU O1H
PORTC EQU O2H
TIME EQU 2100H
CK EQU 2101H
TT EQU 2022H
VMOD EQU 2103H
SM EQU 2104H
BUF 1 EQU 2000H
BUF 2 EQU 2010H
BUF 3 EQU 2020H
BUF 4 EQU 2030H
S EQU 2105H
MON EQU 2107H
ST EQU 2109H
SS EQU 210BH
SSKT EQU 210EH
END.
D- THI COÂNG HEÄ THOÁNG
Boä tính cöôùc xe Taxi coù chöùc naêng thoâng baùo cho ngöôøi ñieàu khieån xe vaø haønh khaùch bieát keát quûa soá tieàn cuøng chieàu daøi quaõng ñöôøng di chuyeån neân maïch phaûi ñaûm baûo tính chính xaùc vaø lieân tuïc. Hôn nöõa phaàn hieån thò phaûi roõ raøng deã quan saùt deã kieåm tra.
Sau khi ñaõ tính toaùn thieát keá treân cô sôû lyù thuyeát ôû phaàn chöông II, ñeå kieåm chöùng laïi ñoä tin caäy vaø hoaøn chænh cuûa baûn thieát keá, ngöôøi thöïc hieän tieán haønh thi coâng heä thoáng.
I-THI COÂNG HEÄ THOÁNG :
Trong thöïc teá thi coâng heä thoáng ñeå taïo ñieàu kieän deã daøng cho vieäc veõ maïch vaø laép raùp linh kieän, ngöôøi thöïc hieän ñaõ coá gaéng thu nhoû kích thöôùc toaøn boä maïch trong phaïm vi cho pheùp ñoàng thôøi döïa treân ñieàu kieän thôøi gian vaø khaû naêng kinh phí coù haïn maø chia chuùng ra thaønh 3 boä phaän chính vaø thi coâng nhöõng phaàn chính yeáu theo yeâu caàu ñaõ ñeà ra.
Bo maïch chính laø maïch KIT Z-80
Bo maïch thieát keá bò ngoaïi vi bao goàm ñeøn hieån thò vaø baøn phím.
Bo maïch thieát bò ngoaïi vi bao goàm ñeøn hieån thò vaø baøn phím.
II-KIEÅM TRA VAØ ÑAÙNH GIAÙ HEÄ THOÁNG:
Sau khi ñaõ hoaøn taát caùc coâng ñoaïn laép raùp, tieán haønh kieåm tra hoaït ñoäng cuûa maïch.
Caáp ñieän cho maïch, môû coâng taéc POWER.
Nhaán phím START ñeå cho maïch baét ñaàu vieäc tính tieàn
Nhaán phím STOP ñeå thöû chaám döùt vieäc ñeám soá km chaïy khoâng khaùch.
Thöû choïn caùc MODE.
Ñieàu chænh nuùm “Tín hieäu toác ñoä” ñeå thay ñoåi vaän toác theo doõi söï thay ñoåi nhòp keâu cuûa loa caûnh baùo.
* Ñaùnh giaù keát quaû:
Vieäc ñaùnh giaù bao goàm ñaùnh giaù veà hình thöùc vaø khaû naêng hoaït ñoäng cuûa maïch.
I-KEÁT LUAÄN:
Qua 6 tuaàn laøm vieäc thaät söï nghieâm tuùc ngöôøi thöïc hieän ñaõ hoaøn thaønh taäp ñoà aùn ñuùng thôøi haïn vaø ñuùng yeâu caàu ñeà ra.
Ñeà taøi ñaõ ñeà caäp ñeán moät vaán ñeà mang tính môùi meõ vaø thöïc tieãn khoâng nöõng ñoái vôùi xaõ hoäi maø coøn ñoái vôùi ngöôøi thöïc hieän. Baèng söï noã löïc tham khaûo nhieàu taøi lieäu khaùc nhau trong vaø ngoaøi nöôùc ngöôøi thöïc hieän ñaõ trình baøy moät caùch coù heä thoáng caùc vaán ñeà lieân quan ñeán vieäc caûnh baùo toác ñoä vaø tính cöôùc xe Taxi.
Xeùt veà maët lyù thuyeát taäp ñoà aùn ñaõ trình baøy töông ñoái ñaày ñuû, nhöng do thôøi gian vaø kieán thöùc coù haïn cuõng nhö yeâu caàu nghieân cöùu cuûa ñoà aùn ñeà ra maø ngöôøi thöïc hieän khoâng theå trình baøy ñaày ñuû vieäc thieát keá – thi coâng hoaøn chænh boä caûnh baùo vaø tính cöôùc xe Taxi coù theå öùng duïng trong thöïc teá. Ñaây cuõng chính laø maët haïn cheá chuû yeáu cuûa taäp ñoà aùn. Theo ñoù taäp ñoà aùn ñaõ ñeà caäp ñeán caùc noäi dung sau :
Giôùi thieäu nguyeân lyù ño toác ñoä, nguyeân lyù caûnh baùo toác ñoä vaø nguyeân lyù tính cöôùc xe Taxi.
Thieát keá maïch phaàn cöùng.
Thieát keá phaàn meàm
Thi coâng heä thoáng.
Sau khi hoaøn thaønh taäp ñoà aùn ngöôøi thöïc hieän ñaõ heä thoáng hoùa ñöôïc nhöõng kieán thöùc ñaõ hoïc, hình thaønh vaø phaùt trieån khaû naêng nhaän thöùc vaø giaûi quyeát vaán ñeà, ñoàng thôøi caûm thaáy töï tin hôn ñi tieáp vaøo con ñöôøng hoïc taäp vaø nghieân cöùu khoa hoïc.
ÑEÀ NGHÒ:
Thoâng qua quaù trình thöïc hieän ñeà taøi nghieân cöùu coù moät soá ñeà nghò sau:
Do soá trang coù haïn neân caùc vaán ñeà ñöôïc trình baøy trong taäp ñoà aùn raát coâ ñoïng do ñoù ngöôøi nghieân cöùu muoán hieåu roõ theâm chi tieát caùc vaán ñeà caàn tham khaûo theâm phaàn phuï luïc vaø caùc taøi lieäu coù lieân quan ñöôïc ghi ôû sau taäp ñoà aùn.
Vì thôøi gian coù haïn neân ngöôøi thöïc hieän chæ giaûi quyeát ñöôïc moät soá yeâu caàu cô baûn veà kyõ thuaät ñaõ ñöôïc ñeà ra. Nhö vaäy ñeà heä thoáng thieát keá ñöôïc trôû neân hoaøn chænh vaø mang tính thöïc tieãn cao thì caàn phaûi thöïc hieän theâm moät soá phaàn sau.
Thieát keá toaøn boä nguoàn döï phoøng ñeå caáp cho maïch ñaëc bieät laø giuùp RAM löu giöõ döõ lieäu khi gaëp söï coá maát ñieän nguoàn. Ñieàu naøy giuùp cho cô quan quaûn lyù, quaûn lyù ñöôïc hoaït ñoäng cuûa nhaân vieân.
Thieát keá vaø thi coâng moät maïch taïo tín hieäu toác ñoä hoaøn chænh hôn nhaèm giuùp thuaän tieän cho vieäc hoïc taäp vaø nghieân cöùu.
Hôn nöõa ñeå ñeà taøi coù theå öùng duïng trong thöïc teá caàn phaûi coù söï keát hôïp nghieân cöùu vôùi nhoùm chuyeân ngaønh cô khí ñoâng löïc nhaèm thuaän tieän cho vieäc thieát keá – thi coâng vaø taêng tính khaû thi cuûa ñeà taøi.
Cuoái cuøng em xin chaân thaønh caûm ôn thaày Leâ Thanh Ñaïo ñaõ tröïc tieáp höôùng daãn cuøng toaøn theå caùc thaày coâ giaùo trong khoa vaø caùc baïn ñoàng nghieäp ñaõ giuùp ñôõ em trong quaù trình thöïc hieän ñeà taøi. Ngöôøi thöïc hieän raát mong nhaän ñöôïc söï goùp yù nhieät thaønh töø phía caùc thaày coâ giaùo vaø caùc baïn
Ngöôøi Thöïc Hieän
Nguyeãn Ñöùc Lôïi
PHUÏ LUÏC
KHAÛO SAÙT CPU Z80
Z80 CPU laø ñôn vò xöû lyù trung taâm thöïc hieän moïi quyeát ñònh vaø phaân boá thôøi gian ñieàu khieån toaøn heä thoáng.
Nhöõng ñaëc ñieåm chính yeáu cuûa CPU Z80.
8 bít taùc ñoäng song song
158 loaïi leänh caên baûn
Coù 52 thanh ghi beân trong
Coù tính naêng ngaét (interrupt).
Coù theå noái tröïc tieáp vôùi RAM ñoäng maø haàu nhö khoâng caàn maïch phuï trôï beân ngoaøi.
Toác ñoä cuûa leänh fetch laø 1.6ms
Chæ caàn duøng moät nguoàn ñieän +5v duy nhaát.
Taát caû caùc chaân xuaát tín hieäu ra vaø nhaäp tín hieäu vaøo ñeàu thuoäc loaïi TTL.
Moâ taû toång quaùt :
Ngöôøi ta phaân Z80 CPU laøm 3 khoái chính:
Khoái thanh ghi : Laø nhöõng oâ nhôù naèm beân trong CPU vaø ñöôïc giôùi thieäu trong leänh baèng nhöõng kyù hieäu cuï theå. Döõ lieäu töø boä nhôù ñöôïc chuyeån vaøo löu tröõ taïm thôøi, trong quaù trình tính toaùn vaø xöû lyù.
Khoái ALU (Arithmetic and Logic Unit): Khoái naøy thöïc hieän caùc pheùp toaùn luaän lyù vaø soá hoïc.
Khoái giaûi maõ leänh vaø ñieàu khieån : Coù nhieäm vuï phaân tích maõ leänh vaø hình thaønh caùc thao taùc tieáp theo töông öùng vôùi leänh ñoù.
Phaân tích khoái thanh ghi (Register set):
Khoái thanh ghi cuûa CPU ñöôïc chia laø 3 nhoùm theo baûng sau:
Nhoùm 1 : Bao goàm caùc boä thanh ghi 16bit ñöôïc gheùp noái tieáp töø 2 thanh ghi 8bit, moät boä chính vaø moät boä hoaùn ñoåi. Caû hai boä goàm coù:
Thanh ghi tích luõy (Accumulator Register).
Thanh ghi côø (Flag Register).
Saùu thanh ghi ña duïng : B, C, D, E, H,L: coù theå duøng ñôn leû hoaëc gheùp thaønh 3 caëp BC, DE, HL.
Söï chuyeån ñoåi döõ lieäu giöõa caùc boä gheùp noái cuûa caùc thanh ghi ñöôïc thöïc hieän baèng leänh chuyeån ñoåi (Exchange). Keát quaû ñöôïc ñaùp öùng nhanh vaø deã daøng ñoái vôùi caùc ngaét.
Nhoùm 2 : Goàm 6 thanh ghi.
Thanh ghi ngaét (Interrupt Register).
Thanh ghi laøm töôi boä nhôù (register Memory Refresh).
Con troû ngaên xeáp (Stack pointer).
Thanh ghi ñeám chöông trình (program Counter).
Thanh ghi chæ soá (Index Register) : Duøng cho pheùp ñònh vò chæ soá.
Nhoùm 3 : Goàm2 Flip – flop ñeå ghi nhôù caùc traïng thaùi ngaét.
Moâ taû caùc nhoùm chaân Z80 – CPU:
Z80
CPU
1
40
2
39
3
38
4
37
5
36
6
35
7
34
8
33
9
32
10
31
11
30
12
29
13
28
14
27
15
26
16
25
17
24
18
23
19
22
20
21
D1
INT
NMI
HALT
MREQ
IORQ
D7
D0
D2
A11
Vcc
D6
D5
D3
D4
CK
A15
A14
A13
A12
A10
A9
A8
A7
A6
A5
A4
A3
A2
A1
A0
GND
RFSH
MI
RESET
BUSRQ
WAIT
BUSAK
WR
RD
HÌNH I.1 : Sô ñoà chaân cuûa CPU Z80
Caùc Bus ñòa chæ vaø döõ lieäu
Bus ñòa chæ (Address Bus) A0 ¸A15 : Ngoõ ra ba traïng thaùi xuaát, taùc ñoäng ôû möùc cao, taïo thaønh tuyeán ñòa chæ 16 bit. Baèng caùch phoái hôïp giöõa caùc tính hieäu “1” vaø “0” ôû moãi chaân chuùng ta coù theå chæ ñònh ñöôïc ñòa chæ treân boä nhôù hay boä vaøo ra I/O khaùc.
Bus döõ lieäu (Data Bus) D0 ¸ D7 : Ngoõ ra ba traïng thaùi xuaát nhaäp, taùc ñoäng ôû möùc cao, taïo thaønh tuyeán döõ lieäu 8 bit, treân ñoù döõ lieäu coù theå di chuyeån theo hai chieàu, nhaän vaø giao döõ lieäu giöõa CPU vaø boä nhôù hay vaøo ra I/O.
Caùc ngoõ ñieàu khieån nhaäp:
BUSREQ – Yeâu caàu Bus (Bus Request): Ngoõ vaøo, taùc ñoäng ôû möùc thaáp. Tín hieäu naøy coù öu tieân cao hôn so vôùi NMI (Non Maskable Interrupt), luoân ñöôïc ghi vaøo cuoái chu ky maùy hieän haønh. BUSREQ yeâu caàu CPU ñöa Bus döõ lieäu, Bus ñòa chæ vaø caùc tín hieäu ñieàu khieån MREQ, IORQ, RD vaø WR leân traïng thaùi toång trôû cao.
INT – Yeâu caàu ngaét (Interrupt request) : Yeâu caàu ngaét ñöôïc taïo bôûi thieát bò I/O. Neáu Flip – flop cho pheùp ngaét ñang ôû traïng thaùi cho pheùp thì CPU seõ thi haønh ngaét vaøo cuoái leänh haønh.
NMI – Ngaét khoâng che (Non Maskable Interrupt) : Ngoõ vaøo taùc ñoäng ôû möùc thaáp. NMI coù öu tieân cao hôn INT. NMI luoân ghi nhaän vaøo cuoái leänh hieän haønh, ñoäc laäp vôùi traïng thaùi Flip – flop cho pheùp ngaét vaø töï ñoäng baét buoäc CPU phaûi khôûi taïo laïi.
WAIT – Ñôïi: Ngoõ vaøo taùc ñoäng ôû möùc thaáp. WAIT chæ ra ñôn vò nhôù hay I/O ñaõ ñöôïc chæ ñònh khoâng saün saøng ñeå trao ñoåi döõ lieäu. CPU tieáp tuïc ñöa vaøo traïng thaùi ñôïi tín hieäu naøy coøn taùc ñoäng.
RESET – Ñaët laïi : Ngoõ vaøo taùc ñoäng ôû möùc thaáp. RESET khôûi ñoäng laïi CPU nhö sau : noù ñaët laïi Flip – flop cho pheùp ngaét, xoùa thanh ghi ñeám chöông trình, thanh ghi ngaét vaø thanh ghi phuïc hoài boä nhôù (Memory refresh register) vaø ñaët laïi cheá ñoä 0. Trong suoát thôøi gian ñaët laïi Data Bus vaø Address Bus ôû traïng thaùi toång trôû cao.
c- Caùc ngoõ ñieàu khieån xuaát:
M1 – Moät chu kyø maùy (Machine Cycle One) : Ngoõ ra taùc ñoäng ôû möùc thaáp. M1 cuøng vôùi MREQ chæ ra chu kyø maùy hieän haønh laø moät chu kyø laáy leänh.
MREQ – yeâu caàu boä nhôù (Memory Request): Ngoõ ra 3 traïng thaùi taùc ñoäng ôû möùc thaáp. Khi CPU truy xuaát boä nhôù MREQ xuoáng möùc thaáp ñeå choïn vuøng nhôù ñoù.
IORQ – yeâu caàu vaøo ra (In/Out Request): Ngoõ ra 3 traïng thaùi, taùc ñoäng ôû möùc thaáp. IORQ cuõng ñöôïc taïo ra ñoàng thôøi vôùi M1 khi CPU chaáp nhaän noù ñeå chæ ra raèng 1 vectô ñaùp öùng ngaét coù theå ñaët leân treân bus döõ lieäu.
RD- Ñoïc (Read) : Ngoõ ra 3 traïng thaùi, taùc ñoäng ôû möùc thaáp. RD chæ ra raèng CPU muoán ñoïc döõ lieäu töø ngaên nhôù vaø töø thieát bò I/O ñaõ ñöôïc chæ ñònh.
WR – vieát (write): Ngoõ ra 3 traïng thaùi, taùc ñoäng ôû möùc thaáp. WR chæ ra raèng treân bus döõ lieäu cuûa CPU coù caùc döõ lieäu seõ ñöôïc ghi vaøo ngaên nhôù hoaëc coång vaøo ra ñaõ ñöôïc chæ ñònh.
RSSH - laøm töôi (Refresh) : Ngoõ ra 3 traïng thaùi, taùc ñoäng ôû möùc thaáp RSSH cuøng vôùi MREQ chæ ra raèng 7 bis giaûm cuûa bus ñòa chæ thuoäc thoáng chöùa ñòa chæ laøm töôi boä nhôù ñoäng (phuïc hoài Ram ñoäng).
HALT – traïng thaùi döøng (Halt sate) : Ngoõ ra 3 traïng thaùi, taùc ñoäng ôû möùc thaáp. Tín hieäu 0 ôû chaân HALT chæ ra raèng CPU ñaõ thöïc hieän leänh ngöøng CPU . Luùc ñoù beân trong noäi boä CPU seõ xöû lyù leänh NOP (No Operration Instruction) coù nghóa laø khoâng laøm gì caû. Trong khoaûng thôøi gian ñoù quaù trình phuïc hoài boä nhôù ñöôïc tieán haønh. Khi coù tín hieäu 0 gôûi ñeán 1 trong 3 chaân RESET, INT, NMI cuûa CPU thì tình traïng HALT cuûa CPU seõ ñöôïc loaïi boû.
BUSACK – chaáp thuaän bus (Bus Acknowledge) : Ngoõ ra taùc ñoäng ôû möùc thaáp. Tín hieäu naøy cho bieát thieát bò ñang yeâu caàu bus bieát raèng. CPU ñaõ chaáp nhaän nguoàn bus, nghóa laø bus ñòa chæ, bus döõ lieäu caùc tín hieäu ñieàu khieån MREQ , IONQ, RD vaø WR cuûa CPU ñöôïc ñöa vaøo traïng thaùi toång trôû cao.
Toång quaùt veà quaù trình hoaït ñoäng caùc ngaét :
Khi yeâu caàu ngaét NMI ñöôïc ghi nhaän CPU khoâng thöïc hieän leänh kieåu RESTART ôû ñòa chæ 0066H.
Ñaàu ngaét UNT coù theå cho pheùp hoaëc caém baèng phaàn meàm (leänh EI cho pheùp ngaét, leänh DI caám ngaét). Ñoái vôùi INT, Z80-CPU coù theå ghi ngaét trong 3 cheá ñoä xaùc ñònh bôûi phaàn meàm : Leänh IMO laäp cheá ñoä ngaét 0, IM1 laäp cheá ñoä ngaét 1 vaø IM2 laäp cheá ñoä ngaét 2.
Cheá ñoä ngaét 0 : Thieát bò ngoaïi vi yeâu caàu ngaét coù theå ñöa vaøo bus soá lieäu baát cöù leänh naøo khi Z80-CPU traû lôøi ngaét vaø Z80-CPU seõ thöïc hieän leänh ñoù. Thoâng thöôøng ngöôøi ta söû duïng leänh maø thöïc chaát laø leänh CALL, 1 byte vaøo trang 0 cuûa boä nhôù, hoaëc leänh CALL thoâng thöôøng 3byte ñeå goïi ñeán baát cöù vuøng naøo cuûa boä nhôù.
Cheá ñoä ngaét 1: Coâng vieäc chuû yeáu laø goïi chöông trình con phuïc vuï ngaét taïi ñòa chæ 0038H, khi nhaän ngaét ôû cheá ñoä 1, Z80-CPU töï ñoäng taïo vaø thöïc hieän leänh RST7 maø khoâng caàn thieát bò ngoaïi vi cung caáp vectô ngaét töø ngoaøi vaøo bus soá lieäu.
Cheá ñoä ngaét 2 : Laø cheá ñoä ngaét öu vieät ñaùng keå cuûa Z80-CPU so vôùi caùc hoï vi xöû lyù khaùc. Vôùi caùc vectô ngaét 1 byte do thieát bò ngoaïi vi cung caáp , Z80-CPU coù theå thöïc hieän goïi giaùn tieáp vôùi baát kyø vò trí naøo trong boä nhôù.
Taäp leänh cuûa Z80-CPU:
Vi xöû lyù Z80 coù taäp leänh raát phong phuù so vôùi caùc vi xöû lyù 8bit khaùc. Ñaëc bieät coù caùc leänh truyeàn khoái, taïo thao taùc dòch chuyeån moät khoái döõ lieäu trong boä nhôù hay giöõa boä nhôù vaø thieát bò vaøo/ra.
Caùc leänh cuûa Z80 chia thaønh caùc loaïi:
Leänh truyeàn döõ lieäu 8 bit.
Leänh truyeàn döõ lieäu 16bit.
Leänh trao ñoåi, truyeàn khoái, doø tìm.
Leänh tính toaùn 8bit.
Leänh tính toaùn 16bit.
Leänh xeâ dòch döõ lieäu (shift).
Caùc leänh nhaûy (Jump).
Leänh naïp döõ lieäu vaøo töøng bit.
Caùc leänh goïi chöông trình con, trôû veà vaø khôûi ñoäng.
Leänh ñieàu khieån CPU.
Leänh hoaùn chuyeån thanh ghi.
Leänh xuaát nhaäp döõ lieäu.
II KHAÛO SAÙT BOÄ XUAÁT NHAÄP SONG SONG
(VI MAÏCH PPI 8255)
1-Giôùi thieäu
Moät heä thoáng xöû lyù muoán ñöa döõ lieäu ra ñieàu khieån thieát bò beân ngoaøi hoaëc muoán nhaäp döõ lieäu töø ngoaøi vaøo ñeå xöû lyù thì khoâng theå trao ñoåi tröïc tieáp maø phaûi thoâng qua moät khaâu trung gian laø boä giao tieáp ngoaïi vi hay coøn goïi laø caûng xuaát nhaäp (I/O port). Nhôø coù boä giao tieáp naøy döõ lieäu truyeàn ñi ñeå ñieàu khieån hoaëc nhaän vaøo ñeå xöû lyù ñaõ môû roäng ñöôïc phaïm vi öùng duïng cuûa noù trong nhieàu lónh vöïc, ñaëc bieät laø trong töï ñoäng hoaù.
Moät vaøi haõng saûn xuaát vi xöû lyù ñaõ cheá taïo saün caùc thieát bò LSI laøm cho vieäc thieát keá giao tieáp song song ñöôïc deã daøng. Moät trong nhöõng thieát bò giao tieáp song song ñieån hình laø maïch giao tieáp 8255 cuûa haõng Intel.
2-Caáu taïo cuûa vi maïch 8255
8255 giao tieáp ngoaïi vi song song laäp trình ñöôïc (PPI)
8255 laø moät linh kieän xuaát nhaäp song song laäp trình ñöôïc duøng ñeå giao tieáp vôùi caùc thieát bò ngoaïi vi tôùi Bus heä thoáng. Noù coù theå laäp trình ñöôïc ñeå truyeàn döõ lieäu döôùi nhöõng ñieàu kieän khaùc nhau, töø vaán ñeà vaøo ra I/O ñôn giaûn cho ñeán caùc ngaét vaøo ra I/O, noù raát linh hoaït, ña naêng veà kinh teá ( Khi nhieàu caûng vaøo ra ñöôïc yeâu caàu söû duïng) nhöng ñoâi khi cuõng phöùc taïp. 8255 laø moät linh kieän xuaát nhaäp ña naêng, coù theå söû duïng haàu heát vôùi caùc boä vi xöû lyù.
Söû duïng maïch 8255 ñeå giao tieáp seõ laøm coâng vieäc thieát keá gheùp noái boä vi xöû lyù vôùi caùc thieát bò ngoaïi vi ñôn giaûn ñi nhieàu, ñoä meàm deûo cuûa thieát keá seõ taêng leân vaø linh phuï kieän seõ giaûm ñi.
b-Caùc caáu truùc cuûa PPI 8255:
8255 hoaït ñoäng vôùi ba traïng thaùi (Mode) khaùc nhau. Chuùng coù theå duøng chöông trình ñeå choïn moät trong ba traïng thaùi naøy.
Ba traïng thaùi hoaït ñoäng naøy ñöôïc goïi laø traïng thaùi 0, traïng thaùi 1, traïng thaùi 2. Chöùc naêng cuûa töøng traïng thaùi ñöôïc ñöôïc moâ taû trong hình sau:
A
B
C
I/O
Hình II-1: Sô ñoà moâ taû caùc MODE hoaït ñoäng cuûa 8255
I/O
PA7-PA0
CONTROL
I/O
PB7-PB0
C
B
A
MODE 2
MODE 1
PA7-PA0
CONTROL
OR I/O
CONTROL
OR I/O
PB7-PB0
C
B
A
PB7-PB0
PC3-PC0
PC7-PC4
PA7-PA0
MODE 0
I/O
I/O
I/O
8255
RD
A0-A1
D7-D0
DATA BUS
CONTROL BUS
ADDRESS BUS
BI-DIRECTIONAL
Traïng thaùi 0:
ÔÛ traïng thaùi naøy coù theå duøng toaøn boä 24bit (8bit x 3 caûng) cuûa caùc caûng A, B, C ñeå nhaäp hay xuaát döõ lieäu. Khi söû duïng caùc caûng naøy, caùc caûng A, B coù theå duøng 8 bit cuûa chuùng ñeå nhaäp hay xuaát döõ lieäu coøn 8bit cuûa caûng C thì ñöôïc chia thaønh 2 phaàn: 4 bis cao vaø 4 bis thaáp.
Traïng thaùi 1:
Traïng thaùi naøy ñöôïc chia thaønh 2 nhoùm : Nhoùm A (chuû yeáu laø caûng A) vaø nhoùm B (chuû yeáu laø caûng B). Ñoái vôùi moãi nhoùm duøng 4 bit cuûa caûng C ñieàu khieån.
Traïng thaùi 2:
Nhoùm A ñöôïc duøng nhö tuyeán 2 chieàu vaø duøng 5 bit cuûa caûng C ñieàu khieån. Coøn laïi 3bit cuûa caûng C vaø 8 bit caûng B coù theå duøng theo traïng thaùi 0 vaø traïng thaùi.
3-Sô ñoà chaân cuûa 8255:
Hình II-2: Sô ñoà chaân cuûa 8255
PA4
PA5
PA6
PA7
WR
RESET
DO
D1
D2
D3
D4
D5
D6
D7
Vcc
PB7
PB6
PB5
PB4
PB3
PA3
PA2
PA1
PAO
RD
CS
GND
A1
A0
PC7
PC6
PC5
PC4
PC0
PC1
PC2
PC3
PBO
PB1
PB2
8255
1 40
2 39
3 38
4 37
5 36
6 35
7 34
8 33
9 32
10 31
11 30
12 29
13 28
14 27
15 26
16 25
17 24
18 23
19 22
20 21
Boä gheùp noái song song ñieàu khieån theo chöông trình 8255 goàm coù:
Thanh ghi ñieàu khieån:
Ñaây laø thanh ghi 8bis noäi dung cuûa thanh ghi ñieàu khieån ñöôïc goïi laø töø ñieàu khieån. Töø ñieàu khieån ñöôïc duøng ñeå xaùc ñònh moät chöùc naêng vaøo/ra cho moãi caûng (khôû taïo caûng) thanh ghi naøy coù theå ñöôïc thaâm nhaäp ñeå ghi moät töø ñieàu khieån khi ñòa chæ Ao vaø A1 ñeàu ôû möùc logic 1. Caàn chuù yù raèng khoâng theå thaâm nhaäp vaøo thanh ghi naøy ñeå ñoïc döõ lieäu.
Thanh ghi traïng thaùi :
Caûng vaøo ra 8bit A, B, C trong ñoù 8 bit cuûa caûng C coù theå ñöôïc söû duïng nhö nhöõng bit rieâng (ôû cheá ñoä caøi ñaët bit hoaëc ñöôïc nhoùm thaønh 2 nhoùm ñoäc laäp baèng chöông trình: 4 bit cao (PC4…PC7) thuoäc nhoùm A vaø 4 bis thaáp (Pc0…PC3) thuoäc nhoùm B.
Boä ñeám bus döõ lieäu laøm nhieäm vuï giao tieáp giöõa bus döõ lieäu ngoaøi vôùi thanh ghi ñieàu khieån, thanh ghi traïng thaùi hoaëc moät trong caùc caûng vaøo/ra, ngoaøi ra 8255 coøn coù caùc ñöôøng ñieàu khieån nhö sau:
RD (read): Tín hieäu naøy cho pheùp hoaït ñoäng ñoïc döõ lieäu khi ñöôøng döõ lieäu naøy xuoáng möùc thaáp, CPU ñoïc döõ lieäu töø moät caûng ñaàu ra cuûa 8255.
WR (write): Tín hieäu naøy cho pheùp hoaït ñoäng ghi döõ lieäu. Khi ñöôøng döõ lieäu naøy xuoáng möùc thaáp, CPU seõ xuaát ra moät caûng vaøo ra ñöôïc choïn hoaëc ra thanh ghi ñieàu khieån cuûa 8255.
Reset: Ñöôøng tín hieäu naøy hoaït ñoäng tích cöïc ôû möùc cao. Khi chaân naøy ôû möùc cao, noäi dung trong thanh ghi ñieàu khieån ñöôïc xoùa vaø ñaët taát caû caùc caûng ôû kieåu vaøo.
CS, A0, A1: Ñaây laø caùc tín hieäu ñöôïc choïn, CS ñöôïc noái vôùi boä giaûi maõ ñòa chæ; A0 vaø A1 ñöôïc noái ñeán caùc ñöôøng chæ A0 vaø A1 cuûa CPU, trong ñoù CS laø tín hieäu chính cho pheùp 8255 hoaït ñoäng vaø vieäc xaùc ñònh ñòa chæ cho 8255 döïa vaøo chaân tính hieäu naøy, coøn caùc tín hieäu A0 vaø A1 duøng ñeå choïn moät trong caùc caûng hoaëc thanh ghi ñieàu khieån.
Toùm laïi vieäc choïn caûng vaø ñònh ñòa chæ cho 8255 ñöôïc toùm taét nhö sau:
Traïng thaùi
A1
A0
RD
WR
CS
Moâ taû söï chuyeån ñoåi
Ñoïc
0
0
1
0
1
0
0
0
0
1
1
1
0
0
0
Caûng A=> Bus döõ lieäu
Caûng B=> Bus döõ lieäu
Caûng C=> Bus döõ lieäu
Ghi
0
0
1
1
0
1
0
1
1
1
1
1
0
0
0
0
0
0
0
0
Bus döõ lieäu=> Caûng A
Bus döõ lieäu=> Caûng B
Bus döõ lieäu=> Caûng C
Bus döõ lieäu=> Thanh ghi
ñieàu khieån neáu D7=1
Khoâng hoaït ñoäng
x
1
x
x
1
x
x
0
1
x
1
1
1
0
0
Bus döõ lieäu ôû traïng thaùi trôû khaùng cao
Ñieàu kieän khoâng chaáp nhaän
Bus döõ lieäu ôû traïng thaùi trôû khaùng cao.
x: khoâng quan taâm
Baûng II.1 Baûng traïng thaùi cuûa 8255
c-Caùc cheá ñoä laøm vieäc cuûa 8255
Vi maïch tieáp song song laäp trình ñöôïc 8255 coù 2 cheá ñoä laøm vieäc khaùc nhau.
Cheá ñoä caøi ñaët hoaëc xoùa bit(BSR: Bit Set/Reset)
Cheá ñoä vaøo/ra (I/O mode)
8255 laøm vieäc ôû cheá ñoä naøo laø phuï thuoäc vaøo giaù trò cuûa bit D7 trong thanh ghi ñieàu khieån:
Trong cheá ñoä I/O, vieäc xaùc ñònh cheá ñoä 0, hoaëc 1 cho nhoùm B hoaëc cheá ñoä 0,1,2 cho nhoùm A coøn phuï thuoäc giaù trò cuûa caùc bit D2, D5, D6 trong thanh ghi ñieàu khieån.
Toùm laïi, vôùi 8255 vieäc choïn cheá ñoä naøy hay cheá ñoä kia laø phuï thuoäc vaøo ngöôøi laäp trình cho noù. Vôùi caùch choïn cheá ñoä laøm vieäc vaø chính xaùc, vi maïch 8255 coù theå ñaùp öùng moïi yeâu caàu gheùp noái raát tinh vi. Maët khaùc, neáu bieát taän duïng ñaëc tính cuûa moãi cheá ñoä thì ngöôøi thieát keá coù theå ñaït ñöôïc nhöõng keát quûa raát höõu hieäu.
Sau ñaây laø nhöõng mieâu taû chi tieát veà ñaëc ñieåm cuûa moãi cheá ñoä laøm vieäc:
Cheá ñoä BSR:
Cheá ñoä BSR chæ lieân quan ñeán 8 bit ôû caûng C. Caùc bit naøy coù theå ñöôïc caøi ñaët hoaëc xoaù ñoäc laäp vôùi nhau baèng caùch ñöôïc ghi moät töø ñieàu khieån thích hôïp vaøo thanh ghi ñieàu khieån. Nhö phaàn trình baøy ôû treân, neáu D7=0 thì coù nhaän bieát töø ñieàu khieån BSR vaø noù khoâng laøm thay ñoåi töø ñieàu khieån ñaõ ñöôïc ghi vaøo tröôùc ñoù vôùi D7=1. Vì vaäy caùc hoaït ñoäng cuûa caùc caûng A vaø B khoâng bò aûnh höôûng ôû töø ñieàu khieån BSR. ÔÛ cheá ñoä BSR, caùc bit rieâng leõ ôû caûng C coù theå ñöôïc söû duïng vôùi öùng duïng nhö laø moät coâng taéc ñoùng môû. Nhôø tính chaát naøy, ôû cheá ñoä 1 hoaëc 2, duøng caùc bit cuûa caûng C ñeå laøm tín hieäu ñieàu khieån ngaét. Boä 8255 cho khaû naêng lôùn ñeå löïa choïn thöïc hieän gheùp noái vaøo/ra coù ngaét. Ñieàu ñoù laøm ñôn giaûn thieát keá veà phaàn cöùng.
Töø ñieàu khieån khi ñöôïc vieát vaøo thanh ghi ñieàu khieån noù seõ ñaët hoaëc xoaù moät bit ôû moät thôøi ñieåm nhu baûng II.2
Choïn bit
000
001
010
011
100
101
110
111
Bit 0
Bit 1
Bit 2
Bit 3
Bit 4
Bit 5
Bit 6
Bit 7
Baûng II.2 : Töø ñieàu khieån laäp / xoaù bit 8255
Cheá ñoä I/O
Hình II.3 moâ taû caáu truùc töø ñieàu khieån vaøo / ra
Neáu bit D7=0, 8255 laøm vieäc ôû cheá ñoä caøi ñaët hoaëc xoaù bit
Neáu bit D7=1, 8255 laøm vieäc ôû cheá ñoä vaøo/ ra. Trong cheá ñoä naøy, boä gheùp noái 8255 ñöôïc chia laøm 3 cheá ñoä cô baûn:
Cheá ñoä 0 (mode 0):
Moät caûng coù chöùc naêng nhö laø caûng vaøo/ra ñôn giaûn
Cheá ñoä 1(mode 1):
Goïi laø cheá ñoä vaøo / ra choát. Khi moät nhoùm ñang ôû cheá ñoä naøy thì caûng 8 bit cuûa noù (hoaëc caûng A hoaëc caûng B) ñöôïc duøng hoaëc laø nhaäp hoaëc laø xuaát vaø 3 chaân cuûa caûng C ñuôïc duøng cho caùc tín hieäu baét tay.
Cheá ñoä 2 (mode 2)
Cheá ñoä naøy chæ aùp duïng cho nhoùm A vaø ñöôïc goïi laø cheá ñoä nhaäp xuaát Bus hai chieàu. ÔÛ cheá ñoä naøy caûng A ñöôïc caøi ñaët ñeå truyeàn döõ lieäu hai chieàu baèng caùch söû duïng 5 chaân trong caùc chaân ôû caûng C laøm tín hieäu baét tay.
Khi goõ vaøo Reset ôû möùc logic 1, 8255 bò Reset taát caû caùc caûng ñöôïc ñaët ôû cheá ñoä nhaäp(caû 24 ñöôøng cuûa 3 port ñeàu ôû traïng thaùi toång trôû cao). Sau khi Reset 8255 chôø nhaän töø ñieàu khieån ñeå ñöôïc khôûi ñoäng(caùc caûng ñöôïc duy trì ôû cheá ñoä nhaäp).
Trong quaù trình thi haønh moät chöông trình cuûa heä thoáng baát kyø mode hoaït ñoäng naøo cuõng ñöôïc choïn baèng moät leänh ñôn giaûn neân 8255 coù theå phuïc vuï nhieàu loaïi ngoaïi vi khaùc nhau baèng caùc chöông trình con ñôn giaûn.
Duø ôû mode naøo caûng A vaø B cuõng ñöôïc ñònh nghóa rieâng leû trong khi caûnng c ñöôïc chia laøm hai phaàn (moät nuõa cao vaø moät nöõa thaáp) theo yeâu caàu cuûa mode caûng A vaø B.
Taát caû caùc thanh ghi xuaát bao goàm caùc flip-flop traïng thaùi ñeàu ñöôïc Reset khi thay ñoåi mode ôû cuøng moät thôøi ñieåm. Moãi nhoùm coù theå ñöôïc xaùc ñònh ôû caùc mode hoaït ñoäng khaùc nhau.
Khaû naêng nhaäp/xoaù (set/reset) töøng bit
Moãi bit cuûa caûng C ñeàu ñöôïc set/reset rieâng leû baèng leänh Out. Ñieàu naøy cho pheùp khaû naêng söû duïng caûng C ñeå ñieàu khieån vaø thoâng tin traïng thaùi ôû caûng A vaø B.
Ñieàu khieån ngaét (Interrupt)
Khi 8255 hoaït ñoäng ôû mode 1 hay mode 2, caùc tín hieäu ñieàu khieån coù khaû naêng yeâu caàu ngaét CPU. Caùc tín hieäu yeâu caàu ngaét phaùt sinh töø caûng C. Ngöôøi laäp trình coù theå cho pheùp hay caám moät ngoaïi vi ngaét CPU maø khoânng aûnh höôûng ñeán baát kyø moät ngoaïi naøo khaùc trong caáu truùc ngaét. Flip-flop INTE cuûa 8255 keát hôïp vôùi khaû naêng set/reset töøng bit cuûa caûng C seõ thöïc hieän nhieäm vuï naøy.
Bit set-INTE set : cho pheùp ngaét.
Bit reset-INTE reset: caám ngaét
Taát caû caùc flip-flop che(mask flip-flop) ñeàu ñöôïc reset trong quaù trình choïn mode vaø reset 8255.
Hoaït ñoäng cuûa caùc cheá ñoä (Modes)
Cheá ñoä 0(mode 0) : Cheá ñoä xuaát nhaäp cô baûn
3 caûng A,B vaø C ñeàu laø caùc caûng xuaát nhaäp, khoâng coù tín hieäu baét tay döõ lieäu ñôn thuaàn ñöïôc ghi vaøo hoaëc ñoïc ra töø 8255 (ñoái vôùi töøng caûng rieâng leû) caûng C hoaït ñoäng nhö laø hai caûng 4 bit. Khi môùi reset taát caû caùc caûng ñeàu laø vaøo. Ñaëc ñieåm ôû moãi cheá ñoä naøy laø:
Döõ lieäu ra ñöôïc choát
Döõ lieäu vaøo khoâng ñöôïc choát
Caùc caûng khoâng coù khaû naêng baét tay hoaëc ngaét
Coù 16 khaû naêng xuaát nhaäp ñoái vôùi mode 0 (caên cöù vaøo caùc bit D0, D3, DZ4 cuûa töø ñieàu khieån).
D7
D6
D5
D4
D3
D2
D1
D0
TÖØ ÑIEÀU KHIEÅN
NHOÙM A
Caûng C:PC4..PC7
1: VAØo
0: Ra
Caûng A
1: VAØo
0: Ra
Choïn cheá ñoä
00:Cheá ñoä 0
01: Cheá ñoä 1
1x : Cheá ñoä 2
NHOÙM B
Caûng C:PC3..PC0
1: VAØo
0: Ra
Caûng B
1: VAØo
0: Ra
Choïn cheá ñoä
0:Cheá ñoä 0
1:Choïn cheá ñoä 1
HÌNH II.3 :töø ñieàu khieån cuûa 8255
D7=0: Choïn cheá ñoä I/O
Cheá ñoä 1 (mode 1): Xuaát nhaäp coù ñieàu khieån:
Hai caûng A vaø B coù chöùc naêng laø caûng vaøo ra 8bis chuùng coù theå ñöôïc caáu hình hoaëc laø caûng vaøo hoaëc laø caûng ra khi xuaát hoaëc nhaäp döõ lieäu ñeàu ñöôïc choát. Hay nöûa caûng c ñöôïc söû duïng ñeà ñieàu khieån thoâng tin traïng thaùi cho caûng A vaø caûng B. Nöûa cao söû duïng cho caûng A (nhoùm A), nöûa thaáp söû duïng cho caûng B (nhoùm B). Nhö vaäy moãi nhoùm goàm 1 caûng 8bis vaø 4 bis cuûa caûng C.
Cheá ñoä vôùi caûng A (hoaëc B): Khôûi taïo laø vaøo :
Trong cheá ñoä naøy, caûng A söû duïng 3 ñöôøng tín hieäu cao PC3, PC4 vaø PC5. Caûng B söû duïng 3 ñöôøng tín hieäu thaáp coøn laïi cuûa caûng C laø PC0 , PC1 vaø PC2. Caùc chöùc naêng cuûa tín hieäu naøy nhö sau:
STB (Strobe Input) : Tín hieäu naøy hoaït ñoäng ôû möùc thaáp, noù ñöôïc taïo bôûi thieát bò ngoaïi vi ñeå thoâng baùo cho 8255 bieát byte soá lieäu nhaäp ñaõ saün saøng vaø 8255 ñaùp laïi tín hieäu STB baèng caùch taïo ra tín hieäu IBF, INTR.
IBF : (Input Buffer Full) tín hieäu naøy laø moät söï baùo nhaän bôûi 8255 ñeå chæ thò raèng ngoõ vaøo choát ñaõ ñöôïc 1byte döõ lieäu. Tín hieäu naøy bò Reset khi CPU ñoïc döõ lieäu.
INTR (Interrput request) : Ñaây laø tín hieäu coù theå ñöôïc söû duïng ñeå ngaét CPU, tín hieäu naøy ñöôïc taïo ra neáu STB = 1, IBF vaø INTE = 1, tín hieäu INTE bò xoùa bôûi caïnh sau cuûa tín hieäu RD.
INTE (Interrput Enable) : Ñaây laø Flip-flop beân trong ñöôïc söû duïng ñeå cho pheùp hoaëc khoâng cho pheùp vieäc taïo ra tín hieäu INTR (töùc cho pheùp hoaëc khoâng cho pheùp yeâu caàu naøy). Hai Flip – flop INTEA vaø INTEB set /reset baèng caùch söû duïng cheá ñoä BSR, cuï theå laø Flip-flop INTEA ñöôïc ñieàu khieån bôûi PC4 vaø INTEB ñöôïc ñieàu khieån bôûi PC2.
Toùm laïi : Quaù trình Cpu ñoïc döõ lieäu töø beân ngoaøi vaøo ôû cheá ñoä naøy nhö sau: Thieát bò vaøo ôû 8 bis soá lieäu ñeán A0… A7 (hoaëc B0 . . B7) roài phaùt sinh xung STR vôùi möùc tích cöïc thaáp ñeå naïp döõ lieäu vaøo maïch choát. Nhö vaäy laøm tín hieäu IBF coù möùc logic meàm. Boä vi xöû lyù ñoïc caûng C vaø kieåm tra tín hieäu IBF ñeå kieåm tra soá lieäu ñaõ saün saøng chöa. Neáu IBF = 1 boä vi xöû lyù ñoïc soá lieäu treân caûng A (hoaëc B) vaø xoùa côø IBF.
Cheá ñoä 1 : Vôùi caûng A hoaëc B khôûi taïo laø ra:
Khi caûng A vaø B ñöôïc khôûi taïo laø ra ôû töø ñieàu khieån thì chöùc naêng cuûa caùc chaân logic nhö sau :
OBF (Output Buffer Full) tín hieäu ñieàu khieån naøy xuoáng thaáp CPU ghi döõ lieäu vaøo maïch choát ngoõ ra cuûa 8255. Tín hieäu naøy baùo cho tín hieäu ngoaïi vi ôû ngoõ ra laø döõ lieäu môùi ñang saün saøng ñoïc. Tín hieäu naøy leân cao 1 laàn nöõa sau khi 8255 nhaän ñöôïc tín hieäu ACK ngoaïi vi. OBF ñöôïc set bôûi caïnh leân cuûa xung WR töø CPU vaø bò reset bôûi ACK =0 do ngoaïi vi (töùc ôû möùc 0 tích cöïc).
ACK (Acknowledge) : Ñaây laø tính hieäu vaøo töø ngoaïi vi, noù xuoáng möùc thaáp khi thieát bò ngoaïi vi nhaän ñöôïc döõ lieäu töø caùc caûng cuûa 8255.
INTR (Interrupt Request) : Ñaây laø tín hieäu ra noù ñöôïc set bôûi caïnh leân cuûa tín hieäu ACK. Tín hieäu naøy leân 1 ôû ngoõ ra duøng yeâu caàu ngaét CPU, khi ngoaïi vò ñaõ nhaän döõ lieäu töø noù ñeå yeâu caàu byte döõ lieäu keá ñöôïc xuaát ra. Tín hieäu INTR ñöôïc set khi caáp tín hieäu OBF, ACK vaø INTE toaøn boä ôû möùc 1 vaø ñöôïc reset bôûi caïnh xuoáng cuûa tín hieäu WR.
INTE (Interrupt Enable) ñaây laø moät Flip-flop beân trong ñöôïc duøng ñeå taïo tín hieäu INTR. Hai Flip-flop INTEA vaø INTEB ñöôïc ñieàu khieån bôûi caùc bis PC6, PC2 vaø ñöôïc nhaän bieát qua cheá ñoä BSR.
Töông töï nhö caûng nhaäp PC4 vaø PC5 ñöôïc duøng nhö caûng vaøo ra.
Toùm taét quaù trình CPU vieát döõ lieäu ra nhö sau;
CPU ghi döõ lieäu ra caûng A (hoaëc B) laøm cho OBF ôõ möùc logic 0. Thieát bò kieåm tra OBF ñeå xaùc ñònh xem döõ lieäu ñaõ saün saøng chöa. Neáu ñaõ tieáp nhaän döõ lieäu, thieát bò ra traû lôøi baèng möùc 0 treân ñaàu vaøo ACK ñoàng thôøi xoùa côø OBS.
Cheá ñoä 2 (mode 2) : Xuaát nhaäp döõ lieäu 2 chieàu baét tay:
Cheá ñoä naøy ñöôïc söû duïng trong caùc öùng duïng nhö laø truyeàn döõ lieäu giöõa hai maùy vi tính hoaëc giao tieáp vôùi boä ñieàu khieån ñóa meàm.
ÔÛ cheá ñoä naøy caûng A coù theå ñöôïc caáu hình nhö laø moät caûng hai chieàu vaø caûng B hoaëc laø ôû cheá ñoä 0 hoaëc laø ôû cheá ñoä 1. Caûng A söû duïng tín hieäu töø caûng C nhö laø caùc tín hieäu ñieàu khieån cho vieäc truyeàn döõ lieäu. Caùc ñöôøng naøy bao goàm OBF, ACK, INTR, STB, IBF.
Vôùi :
INTR : Möùc 1 ôû ngoõ ra naøy baùo cho CPU bieát yeâu caàu ngaét
Hoaït ñoäng xuaát:
OBF xuoáng möùc 0 ñeå baùo cho caùc thieát bò ngoaïi vi bieát CPU ñaõ ghi döõ lieäu ra caûng A
ACK xuoáng möùc 0 ñeå baùo cho thieát bò ngoaïi vi cho pheùp boä ñeäm 3 traïng thaùi cuûa caûng A môû ñeå phaùt döõ lieäu
INTE 1 (lieân quan vôùi OBF)ñöôïc kieåm soaùt bôûi set/reset cuûa PC
Hoaït ñoäng nhaäp:
STB: Möùc 0 ôû ngoõ vaøo naøy caøi döõ lieäu vaøo maïch, caøi ngoõ nhaäp.
IBF : Möùc 1 thoâng baùo cho CPU bieát ñaõ naïp vaøo maïch caøi nhaäp.
INTE 2 (lieân quan ñeán IBF)ñöôïc kieåm soaùt bôûi set/reset cuûa PC4. Ba ñöôøng tín hieäu coøn laïi PC0… PC2 coù theå ñöôïc söû duïng hoaëc laø nhö caùc ñöôøng vaøo ra ñôn giaûn hoaëc laø nhö caùc tín hieäu baét tay caûng B.
Duøng caûng C ñieàu khieån caûng A,B.
Trong mode 0, caûng C chuyeån soá lieäu töø 8255 ñeán ngoaïi vi hay töø ngoaïi vi ñeán 8255. Khi 8255 ñöôïc laäp trình ôû mode 1 hay mode 2, caûng C taïo ra hay nhaän veà caùc tín hieäu ñieàu khieån ngoaïi vi. Ñoïc noäi dung cuûa caûng C cho pheùp ngöôøi laäp trình kieåm tra vaø xaùc ñònh traïng thaùi cuûa thieát bò ngoaïi vi ñeå coù theå thay ñoåi chöông trình ñieàu khieån cho phuø hôïp.
Caùc töø traïng thaùi caûng C töøng mode:
Mode 1 : Nhaäp
D7
D6
D5
D4
D3
D2
D1
D0
I/O
I/O
IBFA
INTEA
INTRA
INTEB
IBFB
INTRB
NHOÙM B
NHOÙM A
Mode 1 : Xuaát
D7
D6
D5
D4
D3
D2
D1
D0
-OBF
INTEA
I/O
I/O
INTRA
INTEB
-OBF
INTRB
NHOÙM B
NHOÙM A
Mode 2 :
D7
D6
D5
D4
D3
D2
D1
D0
OBFA
INTE1
IBFA
INTEØ
INTRA
NHOÙM B
NHOÙM A
HÌNH II.4 : Töø traïng thaùi caûng C
III. KHAÛO SAÙT BOÄ NHÔÙ
Boä nhôù coù theå thaûo chöông vaø xoaù ñöôïc EPROM 2764
EPROM 2764 laø boä nhôù chæ duøng moät nguoàn duy nhaát 5v, dung löôïng boä nhôù 65.536 bit vaø coù theå ñoïc xoùa deã daøng. Cuõng nhö caùc EPROM khaùc noù coù hai kieåu hoaït ñoäng laø : bình thöôøng vaø chôø (Standby). ÔÛ kieåu chôø maïch chæ tieâu taùn moät phaàn tö coâng suaát bình thöôøng,
Thôøi gian truy xuaát laø 250ns vôùi toác ñoä löïa choïn vaøo khoaûng 200ns. Thôøi gian truy xuaát coù theå töông hôïp vôùi nhöõng vi xöû lyù hoaït ñoäng ôû toác ñoä cao. Moät öu ñieåm quan troïng cuûa 2764 laø kieåm soaùt rieâng leû caùc ngoõ ra.
Sô ñoà chaân vaø caáu taïo 2764 ñöôïc cho ôû hình III.1
Ghi chuù : -OE ngoõ ra ñaûo cuûa OE
Khoâng noái
NC
PGM
Naïp chöông trình
-CS
Cho pheùp chip hoaït ñoäng
Cho pheùp ra
Döõ lieäu ra
Ñòa chæ vaøo
-OE
D0-D7
A0-A12
Vcc
PGM
NC
A8
A9
A11
OE
A10
CS
D7
D6
D2
Vpp
A12
A7
A6
A5
A4
A3
A2
A1
A0
D0
D1
GND
2
7
10
12
14
1
3
4
5
6
8
9
11
13
28
26
25
24
23
21
20
18
16
27
22
19
17
15
D5
D4
D3
2 7 6 4
Sô ñoà khoái:
D0-D7
-OE
-OE/PGM
LOGIC ÑIEÀU KHIEÅN
ÑEÄM NGOÕ RA
A12
GIAÛI MAÕ Y
MAÏCH CUÛA Y
HÌNH III.1: Sô ñoà chaân vaø caáu taïo cuûa EPROM 2764
A0
GIAÛI MAÕ X
MA TRAÄN NHÔÙ
65.536BIT
Baûng traïng thaùi hoaït ñoäng cuûa caùc chaân
CHAÂN
KIEÅU
-CE
(20)
-OE
(22)
-PGM
(27)
VPP
(1)
VCC
(28)
D0 – D7
(11 – 13. 15 – 19)
Ñoïc
VIL
VIL
VCC
VCC
DOUT
Chôø
VIH
VCC
VCC
Z cao
Naïp chöông trình
VIL
VIL
VPP
VCC
DIN
Kieåm tra chöông trình
VIL
VIL
VIH
VPP
VCC
DOUT
Caám naïp chöông trình
VIH
VPP
VCC
Z cao
X coù theå laø VIL hoaëc VIH
Baûng III.1: Baûng traïng thaùi cuûa 2764
Boä nhôø tónh SRAM 6264 :
6264 laø RAM tónh toác ñoä cao, dung löôïng boä nhôù 8192 word x 8bit
Ñaëc tính 6264 :
Söû duïng nguoàn 5V
Thôøi gian truy xuaát nhanh, toái ña coù theå ñaït 150 ns
Coâng suaát tieâu taùn ôû traïng thaùi chôø thaáp: 0.1mW
Ngoõ vaøo / ra döõ lieäu chung, ngoõ ra ba traïng thaùi
Ngoõ vaøo, ra töông hôïp vôùi hoï TTL
Thôøi gian voøng vaø truy caäp nhö nhau.
Chaân ra töông thích vôùi hoï EF ROM 64k
Sô ñoà khoái tieâu chuaån 28 chaân
* Baûng traïng thaùi:
-WE
-CS1
CS2
-OE
Traïng thaùi
Chaân D
X
H
X
X
Khoâng choïn
Z cao
X
X
L
X
Z cao
H
L
H
H
Khoâng xuaát
Z cao
H
L
H
L
Ñoïc
D xuaát
L
L
H
H
Ghi
Dnhaäp
L
L
H
L
Dnhaäp
X : khoâng quan taâm
Baûng III.2 Baûng traïng thaùi cuûa 2764.
Sô ñoà chaân RAM 6264
Ghi chuù : -OE ngoõ ra ñaûo cuûa OE
Khoâng noái
NC
-WE
Cho pheùp ghi
-CS1, CS2
Cho pheùp chip hoaït ñoäng
Cho pheùp ra
Döõ lieäu ra
Ñòa chæ vaøo
-OE
D0-D7
A0-A12
Vcc
WE
CS
A8
A9
A11
OE
A10
CS1
D7
D6
D2
NC
A12
A7
A6
A5
A4
A3
A2
A1
A0
D0
D1
GND
2
7
10
12
14
1
3
4
5
6
8
9
11
13
28
26
25
24
23
21
20
18
16
27
22
19
17
15
D5
D4
D3
6 2 6 4
D0-D7
Hình III.2 : Sô ñoà chaân cuûa SRAM 6264
IV KHAÛO SAÙT VI MAÏCH GIAÛI MAÕ ÑÒA CHÆ
IC giaûi maõ thöôøng ñöôïc choïn cho maïch vi xöû lyù laø IC 74LS 138. Ñaây laø boä giaûi maõ ña hôïp giaûi 3 ñöôøng ra 8 ñöôøng. IC 74LS 138 goàm coù 8 ñöôøng ra töø Y0 -> Y7, 3 ñöôøng döõ lieäu vaøo laø A, B, C vaø 3 ñöôøng ñieàu khieån. Traïng thaùi hoaït ñoäng cuûa IC 74LS 138 phuï thuoäc vaøo ñieàu kieän cuûa ba chaân naøy trong ñoù hai chaân G2A vaø G2B taùc ñoäng ôû möùc thaáp (möùc 0) coøn G1 taùc ñoäng ôû möùc cao (möùc 1), IC 74LS 138 ñöôïc thieát keá ñeå hoaït ñoäng vôùi toác ñoä cao, noù thöôøng duøng cho caùc boä giaûi maõ ñòa chæ, boä nhôù vaø trong caùc heä thoáng truyeàn döõ lieäu.
Sô ñoà chaân cuûa IC 74LS 138 :
A
B
C
G2A
G2B G1
Y7 GND
Vcc
YO
Y1
Y2
Y3
Y4
Y5
Y6
1
2
3
4
5
6
7
8
16
15
14
13
12
11
10
9
7 4 L S 138
HÌNH IV. 1 : Sô ñoà chaân cuûa IC 74 LS138
Baûng traïng thaùi cuaû IC74LS138
Ñieàu khieån
Döõ lieäu vaøo
Döõ lieäu ra
G1
G2
C
B
A
Y0
Y1
Y2
Y3
Y4
Y5
Y6
Y7
X
0
1
1
1
1
1
1
1
1
1
X
0
0
0
0
0
0
0
0
X
X
0
0
0
0
1
1
1
1
X
X
0
0
1
1
0
0
1
1
X
X
0
1
0
1
0
1
0
1
1
1
0
1
1
1
1
1
1
1
1
1
1
0
1
1
1
1
1
1
1
1
1
1
0
1
1
1
1
1
1
1
1
1
1
0
1
1
1
1
1
1
1
1
1
1
0
1
1
1
1
1
1
1
1
1
1
0
1
1
1
1
1
1
1
1
1
1
0
1
1
1
1
1
1
1
1
1
1
0
X: Khoâng quan taâm
Baûng IV.1 : baûng traïng thaùi cuûa IC 74LS138
TAØI LIEÄU THAM KHAÛO
----o0o----
ELECTRONIC DESIGN CIRCUITS AND SYSTEMS.
Savant, Roden, Carpenter.
1991 – The Benjamin/Cummings Publishing Company, Jnc.
MICROPROCESSOR AND IC FAMILIES.
Walter H. Buchsbaum, ScD.
1993 – Tech Publication Pte Ltd.
AUTOMOTIVE COMPUTER SYSTEMS AND CIRCUITS
Edwardj. Ralbovsky
Prenlice, Englewood Cliffs, New Gersey.
TOYOTA COMPUTER CONTROLLED SYSTEMS
1992 – Toyota Motor Corporation.
THIEÁT KEÁ & LAÉP RAÙP MAÙY VI TÍNH CPU Z-80.
Taäp1: Thieát keá cô baûn.
Hoàng Minh Nhaät, Huyønh Coâng Sanh.
Nhaø Xuaát Baûn Giaùo Duïc – 1994.
LAÄP TRÌNH CHO CAÙC HEÄ VI XÖÛ LYÙ 8080 – 80850 – Z80
Nhaø Xuaát Baûn Thoáng Keâ.
GIAÙO TRÌNH MAÏCH SOÁ (TAÄP 2)
Nguyeãn Höõu Phöông.
Tröôøng ÑH, Toång Hôïp TP. HCM
PHÖÔNG PHAÙP NGHIEÂN CÖÙU KHOA HOÏC
Chaâu Kim Lang.
Tröôøng ÑH.Sö Phaïm Kyõ Thuaät TP.HCM - 1989
Các file đính kèm theo tài liệu này:
- LUANVAN.DOC