Thiết kế và thi công mạch cảnh báo tốc độ và tính cước xe taxi

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.

doc77 trang | Chia sẻ: banmai | Lượt xem: 1717 | Lượt tải: 0download
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 RET DELAY 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:

  • docLUANVAN.DOC