Tài liệu Luận án Sơ lược về hệ thống báo cháy và điều khiển: PHẦN I: GIỚI THIỆU CHUNG
CHƯƠNG I: SƠ LƯỢC VỀ HỆ THỐNG BÁO CHÁY VÀ ĐIỀU KHIỂN
A. HỆ THỐNG BÁO CHÁY:
I. CÁCH NHẬN BIẾT VÀ BÁO CHÁY:
Khi một đám cháy xảy ra, ở những vùng cháy thường có những dấu hiệu sau:
Lửa, khói, vật liệu chỗ cháy bị phá hủy.
Nhiệt độ vùng cháy tăng lên cao.
Không khí bị Oxy hóa mạnh.
Có mùi cháy, mùi khét.
Để đề phòng cháy chúng ta có thể dựa vào những dấu hiệu trên để đặt các hệ thống cảm biến làm các thiết bị báo cháy. Kịp thời khống chế đám cháy ở giai đoạn đầu.
Thiết bị báo cháy điện tử giúp chúng ta liên tục theo dõi để hạn chế các vụ cháy tai hại, tăng cường độ an toàn, bình yên cho mọi người.
II. CÁC BỘ PHẬN CHÍNH:
1. Cảm biến:
Cảm biến là bộ phận hết sức quan trọng, nó quyết định độ nhạy và sự chính xác của hệ thống.
Cảm biến hoạt động dựa vào các đặt tính vật lý của vật liệu cấu tạo nên chúng...
137 trang |
Chia sẻ: hunglv | Lượt xem: 1111 | Lượt tải: 1
Bạn đang xem trước 20 trang mẫu tài liệu Luận án Sơ lược về hệ thống báo cháy và điều khiển, để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên
PHAÀN I: GIÔÙI THIEÄU CHUNG
CHÖÔNG I: SÔ LÖÔÏC VEÀ HEÄ THOÁNG BAÙO CHAÙY VAØ ÑIEÀU KHIEÅN
A. HEÄ THOÁNG BAÙO CHAÙY:
I. CAÙCH NHAÄN BIEÁT VAØ BAÙO CHAÙY:
Khi moät ñaùm chaùy xaûy ra, ôû nhöõng vuøng chaùy thöôøng coù nhöõng daáu hieäu sau:
Löûa, khoùi, vaät lieäu choã chaùy bò phaù huûy.
Nhieät ñoä vuøng chaùy taêng leân cao.
Khoâng khí bò Oxy hoùa maïnh.
Coù muøi chaùy, muøi kheùt.
Ñeå ñeà phoøng chaùy chuùng ta coù theå döïa vaøo nhöõng daáu hieäu treân ñeå ñaët caùc heä thoáng caûm bieán laøm caùc thieát bò baùo chaùy. Kòp thôøi khoáng cheá ñaùm chaùy ôû giai ñoaïn ñaàu.
Thieát bò baùo chaùy ñieän töû giuùp chuùng ta lieân tuïc theo doõi ñeå haïn cheá caùc vuï chaùy tai haïi, taêng cöôøng ñoä an toaøn, bình yeân cho moïi ngöôøi.
II. CAÙC BOÄ PHAÄN CHÍNH:
1. Caûm bieán:
Caûm bieán laø boä phaän heát söùc quan troïng, noù quyeát ñònh ñoä nhaïy vaø söï chính xaùc cuûa heä thoáng.
Caûm bieán hoaït ñoäng döïa vaøo caùc ñaët tính vaät lyù cuûa vaät lieäu caáu taïo neân chuùng. Caûm bieán ñöôïc duøng ñeå chuyeån ñoåi caùc tín hieäu vaäy lyù sang tín hieäu ñieän.
Caùc ñaëc tính cuûa caûm bieán: ñoä nhaïy, ñoä oån ñònh, ñoä tuyeán tính.
a. Caûm bieán nhieät:
Laø loaïi caûm bieán duøng ñeå chuyeån tín hieäu vaät lyù (nhieät ñoä) thaønh tín hieäu ñieän, ñaây laø loaïi caûm bieán coù ñoä nhaïy töông ñoái cao vaø tuyeán tính. Nguyeân taéc laøm vieäc cuûa noù laø doøng ñieän hay ñieän aùp thay ñoåi khi nhieät ñoä taïi nôi ñaët noù thay ñoåi. Tuy nhieân noù cuõng deã baùo ñoäng nhaàm khi nguoàn ñieän beân ngoaøi taùc ñoäng khoâng theo yù muoán.
Caùc loaïi caûm bieán nhieät:
IC caûm bieán:
Laø loaïi caûm bieán baùn daãn ñöôïc cheá taïo thaønh caùc IC chuyeân duïng vôùi ñoä nhaïy cao, ñieän aùp ra thay ñoåi tæ leä thuaän vôùi nhieät ñoä, moät soá loaïi IC ñöôïc baùn beân ngoaøi thò tröôøng laø: LM355, LM334,…
Thermistor:
Thermistor laø loaïi ñieän trôû coù ñoä nhaïy nhieät raát cao nhöng khoâng tuyeán tính vaø vôùi heä soá nhieät aâm. Ñieän trôû giaûm phi tuyeán vôùi söï taêng cuûa nhieät ñoä. Vì baûn thaân laø ñieän trôû neân trong quaù trình hoaït ñoäng Thermistor taïo ra nhieät ñoä vì vaäy gaây sai soá lôùn.
Thermo Couples:
Thermo Couple bieán ñoåi ñaïi löôïng nhieät ñoä thaønh doøng ñieän hay ñieän aùp DC nhoû. Noù goàm hai daây kim loaïi khaùc nhau noái vôùi nhau taïi hai moái noái. Khi caùc daây noái ñaëc ôû caùc vò trí khaùc nhau, trong daây xuaát hieän suaát ñieän ñoäng. Suaát ñieän ñoäng tæ leä thuaän vôùi söï cheânh leänh nhieät ñoä giöõa hai moái noái. Thermo couple coù heä soá nhieät döông.
b. Caûm bieán löûa:
Khi löûa chaùy thì phaùt ra aùnh saùng hoàng ngoaïi, do ñoù ta söû duïng caùc linh kieän phaùt hieän tia hoàng ngoaïi ñeå phaùt hieän löûa. Nguyeân lyù hoaït ñoäng laø ñieän trôû cuûa caùc linh kieän thu soùng hoàng ngoaïi taêng, noù chuyeån tín hieäu aùnh saùng thu ñöôïc thaønh tín hieäu ñieän ñeå baùo ñoäng. Loaïi naøy raát nhaïy ñoái vôùi löûa. Tuy nhieân cuõng deã baùo ñoäng nhaàm neáu ta ñeå caûm bieán ngoaøi trôøi hoaëc gaàn aùnh saùng boùng ñeøn troøn.
c. Caûm bieán khoùi:
Thöôøng caûm bieán khoùi laø boä phaân rieâng bieät chaïy baèng PIN ñöôïc thieát keá ñeå laép ñaët treân traàn nhaø, treân töôøng. Ngoaøi yeâu caàu kyõ thuaät (chính xaùc, an toaøn) coøn ñoøi hoûi phaûi ñaûm baûo veà maët thaåm myõ. Coù hai caùch cô baûn ñeå thieát keá boä caûm bieán khoùi.
Caùch thöù nhaát söû duïng nguyeân taéc Ion hoùa. Ngöôøi ta söû duïng moät löôïng nhoû chaát phoùng xaï ñeå Ion hoùa trong boä caûm bieán. Khoâng khí bò Ion hoùa seõ daãn ñieän vaø taïo thaønh moät doøng ñieän chaïy giöõa chaïy giöõa hai cöïc ñaõ ñôïc naïp ñieään. Khi caùc phaàn töû khoùi loït vaøo khu vöïc caûm nhaän ñöôïc Ion hoùa seõ laøm taêng ñieän trôû trong buoàng caûm nhaän vaø laøm giaûm luoàng ñieän giöõa hai cöïc. Khi luoàng ñieän giaûm xuoáng tôùi moät giaù trò naøo ñoù thì boä caûm bieán seõ phaùt hieän vaø phaùt tín hieäu baùo ñoäng.
Caùch thöù hai söû duïng caùc linh kieän thu phaùt quang. Ngöôøi ta duøng linh kieän phaùt quang (Led, Led hoàng ngoaïi…) chieáu moät tia aùnh saùng qua vuøng baûo veä vaøo moät linh kieän thu quang (photo diode, photo transistor, quang trôû…). Khi coù chaùy, khoùi ñi ngang qua vuøng baûo veä seõ che chaén hoaëc laøm giaûm cöôøng ñoä aùnh saùng chieáu vaøo linh kieän thu. Khi cöôøng ñoä giaûm xuoáng tôùi moät giaù trò naøo ñoù thì boä caûm bieán seõ phaùt hieän vaø phaùt tín hieäu baùo ñoäng.
Trong hai caùch naøy thì phöông phaùp thöù nhaát nhaïy hôn vaø hieäu quaû hôn phöông phaùp thöù hai, nhöng khoù thöïc thi, khoù laép ñaët. Coøn caùch thöù hai tuy ít nhaïy hôn nhöng linh kieän deã kieám vaø deã thöïc thi cuõng nhö deã laép ñaët.
Moät nhöôïc ñieåm cuûa caùc loaïi caûm bieán naøy laø: maïch baùo ñoäng coù theå sai neáu vuøng baûo veä bò xaâm nhaäp bôûi caùc lôùp buïi…
d. Moät soá loaïi caûm bieán quang:
Caûm bieán quang coù theå hoaït ñoäng vôùi aùnh saùng thaáy ñöôïc hoaëc aùnh saùng hoàng ngoaïi, töû ngoaïi…
- Quang trôû:
Quang trôû coøn coù teân goïi khaùc laø vaät daãn quang (photo con) laø linh kieän thuï ñoäng ñöôïc taïo ra töø vaät lieäu baùn daãn maø beà maët cuûa noù ñöôïc phôi saùng vaø ñieän trôû cuûa noù giaõm khi taêng cöôøng ñoä aùnh saùng. Trong quang trôû caùc ñieän töû töï do ñöôïc taïo baèng naêng löôïng aùnh saùng, cöôøng ñoä aùnh saùng caøng lôùn thì soá löôïng ñieän töû töï do caøng lôùn. Loaïi caûm bieán naøy phi tuyeán vaø coù ñoä treå, do ñoù ít ñöôïc duøng.
Ñaëc tuyeán cuûa moät loaïi quang trôû thoâng duïng:
R
1M
10M
1000
1
1
10
100
1000
Cöôøng ñoä aùnh saùng
1m/m2
- Caûm bieán quang baùn daãn:
Ñaây laø loaïi caûm bieán duøng caùc linh kieän baùn daãn quang nhö: diode, photo diode, phototransistor, …Khi coù aùnh saùng ñaäp vaøo maët baùn daãn laøm giaûi phoùng caùc ñieän töû töï do vaø caùc ñeän töû naøy seõ chuyeãn ñoäng taïo thaønh doøng ñieän.
- Caûm bieán quang nhieät:
Caûm bieán naøy chuyeån quang naêng thaønh nhieät naêng vaø nhieät naêng naøy seõ ñöôïc nhaän bieán baèng boä caûm bieán nhieät, nhieät ñoä tæ leä vôùi cöôøng ñoä aùnh saùng chieáu vaøo. Loaïi caûm bieán naøy coù ñoä nhaïy thaáp, thôøi gian ñaùp öùng chaäm.
v Nhö vaäy moãi loaïi caûm bieán coù tính öu vieäc rieâng cuûa noù. Tuy nhieân neáu maïnh ôû maët naøy thì noù seõ bò haïn cheá ôû maët khaùc, chaúng haïn boä caûm bieán nhieät chæ phaùt hieän chaùy ôû vuøng gaàn caûm bieán caûm bieán vaø toû ra khoâng hieäu quaû ôû vuøng coù nhieàu nguoàn nhieät khoâng phaûi phaùt sinh ra chaùy. Coøn caùc boä caûm bieán khaùc coù theå phaùt hieän chaùy trong moät phaïm vi roäng nhöng coù ñaùm chaùy coù ít khoùi hoaëc do caùc taùc ñoäng khoâng phaûi do chaùy ôû taïi nôi ñaët caûm bieán thì seõ bò phaùt hieän nhaàm. Vì vaäy tuøy theo töøng vuøng, töøng nôi maø ta thieát keá nhöõng boä caûm bieán thích hôïp.
2.Thieát bò baùo ñoäng:
Thieát bò baùo ñoäng goàm coù hai loaïi:
Baùo ñoäng taïi choã.
Baùo ñoäng qua ñieän thoaïi.
Baùo ñoäng taïi choã ta coù theå söû duïng caùc chuoâng ñieän, maïch taïo coøi huï hay phaùt ra tieáng noùi ñeå caûnh baùo.
Trong caùc heä thoáng baùo chaùy, boä caûm bieán thöôøng ñaët ôû nhöõng nôi deã chaùy vaø noái vôùi caùc thieát bò baùo ñoäng baèng daây daãn ñieän, do ñoù trong moät soá tröôøng hôïp coù theå laøm daây bò ñöùt. Vì vaäy moät heä thoáng baùo chaùy seõ trôû neân hieäu quaû khi söû duïng caùc boä phaùt voâ tuyeán. Trong ñoù boä phaän thu gaén vôùi maïch baùo ñoäng, coøn maïch phaùt gaén vôùi boä caûm bieán. Tuy nhieân vieäc laép ñaët gaëp nhieàu khoù khaên vaø giaù thaønh cao.
Baùo ñoäng qua ñieän thoaïi giuùp ta ñaùp öùng nhanh caùc thoâng tin veà söï coá ñeán caùc cô quan chöùc naêng. Khi coù tín hieäu baùo ñoäng seõ töï ñoäng quay soá ñeán caùc cô quan nhö: nhaø rieâng, coâng an, phoøng chaùy chöõa chaùy…
B. SÔ LÖÔÏC VEÀ HEÄ THOÁNG ÑIEÀU KHIEÅN:
I. GIÔÙI THIEÄU CAÙC DAÏNG MAÏCH TOÀN TAÏI:
1. Maïch ñieåu khieån xa duøng hoàng ngoaïi:
Maïch naøy thieát keá vaø thi coâng khoâng phöù c taïp, chi phí toån hao thaáp nhöng thuoäc loaïi ñieàu khieån giôùi haïn ôû khoaûng caùch. Khoaûng caùch ñieáu khieån caøng xa thì coâng suaát böùc xaï tia hoàng ngoaïi seõ giaûm ñi laøm cho maïch thu tia hoàng ngoaïi khoâng nhaän daïng ñöôïc tín hieäu ñieàu khieån.
2. Maïch ñieàu khieån xa duøng kyõ thuaät soá:
Maïch naøy ñieàu khieån raát thích hôïp cho caùc thí nghieäm coù quy moâ nhoû, toán keùm, thieát keá vaø thi coâng raát phöùc taïp hôn caùc maïch ñieàu khieån khaùc vaø giôùi haïn veà chöùc naêng vì maïch ñieän do duøng quaù nhieàu IC soá neân maïch ñieän khaù phöùc taïp raát nhieàu. Khi muoán môû roäng caùc chöùc naêng ñieåu khieån theâm thì phaûi laøm laïi töø ñaàu neân khaû naêng thöïc thi raát nhoû.
3. Maïch ñieàu khieån baèng Vi xöû lyù:
Maïch naøy raát thích hôïp trong caùc heä thoáng ñieàu khieån coù quy moâ lôùn, phöùc taïp vaø söû duïng nhieàu chöùc naêng. Maïch naøy khoâng phöùc taïp ôû phaàn cöùng nhöng ñoøi hoûi kyõ thuaät vieát chöông trình vi xöû lyù thaät toát. Maïch naøy thi coâng khaù phöùc taïp nhöng tình hieäu quaû cuûa noù raát cao so vôùi caùc maïch ñieàu khieån khaùc. Ñoái vôùi caùc maïch söû duïng nhieàu chöùc naêng thì ta neân duøng daïng maïch naøy vì noù seõ laøm ñôn giaûn raát nhieàu maïch phaàn cöùng buø laïi chöông trình phaàn meàm trôû neân raát phöùc taïp.
II. HÖÔÙNG CHOÏN CUÛA ÑEÀ TAØI:
Trong ñoà aùn naøy, chuùng em trình baøy hai phaàn “ baùo chaùy qua ñieän thoaïi vaø ñieàu khieån thieát bò baèng ñieän thoaïi” neân trong phaàn ñieàu khieån thieát bò chuùng em choïn maïch ñieåu khieån baèng vi xöû lyù. Söû duïng toaøn boä phaàn maïch chính vaø phaùt trieån theâm caùc phaøn boå sung thì chuùng em coù phaàn maïch ñieàu khieån neân phaàn maïch khoâng coù phöùc taïp maø laïi coøn raát ñôn giaûn.
CHÖÔNG II: GIÔÙI THIEÄU VI ÑIEÀU KHIEÅN 8031
A. TOÙM TAÉC PHAÀN CÖÙNG:
I. GIÔÙI THIEÄU MCS-51: (MCS-51: Family Overview)
MCS-51 laø moät hoï IC ñieàu khieån (micro controller), ñöôïc cheá taïo vaø baùn treân thò tröôøng bôûi haõng Intel cuûa Myõ. Hoï IC naøy ñöôïc cung caáp caùc thieát bò bôûi nhieàu haõng saûn xuaát IC khaùc treân theá giôùi chaúng haïn: nhaø saûn xuaát IC SIEMENS cuûa Ñöùc, FUJITSU cuûa Nhaät vaø PHILIPS cuûa Haø Lan. Moãi IC trong hoï ñeàu coù söï hoaøn thieän rieâng vaø coù söï haõnh dieän rieâng cuûa noù, phuø hôïp vôùi nhu caàu cuûa ngöôøi söû duïng vaø yeâu caàu ñaët ra cuûa nhaø saûn xuaát.
OTHER REGISTER
128 byte RAM
128 byte RAM
8032\8052
ROM
0K:
8031\8032
4K: 8031
8K:8052
INTERRUPT CONTROL
INT1\ INT0\
SERIAL PORT TEMER0
TEMER1
TEMER2 8032\8052
CPU
OSCILATOR
BUS CONTROL
I/O PORT
SERIAL PORT
EA\ RST
ALE\ PSEN\
P0 P1 P2 P3
Address\Data
TXD RXD
TEMER2 8032\8052
TEMER1
TEMER1
IC 8031 laø IC tieâu bieåu trong hoï MCS-51 ñöôïc baùn treân thò tröôøng. Taát caû caùc IC trong hoï ñeàu coù söï töông thích vôùi nhau vaø coù söï khaùc bieät laø saûn xuaát sau coù caùi môùi maø caùi saûn xuaát tröôùc khoâng coù, ñeå taêng theâm khaû naêng öùng duïng cuûa IC ñoù. Chuùng coù ñaëc ñieåm nhö sau:
4k byte ROM (ñöôïc laäp trình bôûi nhaø saûn xuaát, chæ coù 8051)
128 byte RAM
4 Port I/O 8 bit
2 boä ñònh thôøi 16 bit
Giao tieáp noái tieáp
64k khoâng gian boä nhôù chöông trình môû roäng
64k khoâng gian boä nhôù döõ lieäu môû roäng
Moät boä xöû lyù luaän ly ù(thao taùc treân caùc bit ñôn)
210 bit ñöôïc ñòa chæ hoùa
Boä nhaân /chia 4 bit
1. Boä nhôù baùn daãn ROM vaØ RAM:
Boä nhôù laø moät phaàn cuûa caáu truùc vi ñieàu khieån, caùc chöông trình vaø döõ lieäu ñöôïc löu tröõ trong boä nhôù, boä nhôù baùn daãn goàm ROM vaø RAM.
RAM: Laø boä nhôù baùn daãn ñoïc ñöôïc hoaët ghi ñöôïc nhöng khoâng kieân ñònh (khoâng kieân ñònh coù nghóa laø : noäi dung cuûa döõ lieäu seõ bò maát ñi khi maát ñieän).
ROM: Laø boä nhôù baùn daãn chæ ñoïc vaø kieân ñònh (kieân ñònh coù nghóa laø : noäi dung döõ lieäu seõ khoâng bò maát ñi khi maát ñieän).
Haàu heát caùc heä thoáng duøng RAM ñeå löu tröõ chöông trình thi haønh khi maø caàn giöõ laïi ñeå löu tröõ thì ghi vaøo ñóa ñeå caát, coøn ROM duøng ñeå löu tröõ thoâng tin heä thoáng ñeå khi caáp ñieän laø noù coù theå hoaït ñoäng heä thoáng.
2. Caùc BUS:
Bus laø taäp hôïp nhieàu ñöôøng daãn, moãi bus coù moät hoaëc nhieàu muïc ñích khaùc nhau tuøy thuoäc vaøo caùch caøi ñaët cuûa ngöôøi söû duïng vaø caùch thieát keá cuûa nhaø saûn xuaát. CPU thöôøng coù 3 bus: bus ñieàu khieån, bus ñòa chæ, vaø bus döõ lieäu. Ñoái vôùi moãi hoaït ñoäng cuûa mình thì CPU laáy döõ lieäu treân bus döõ lieäu theo ñòa chæ ñöôïc cung caáp bôûi bus ñòa chæ vaø hoaït ñoäng ñoù laø hoaït ñoäng gì thì CPU thi haønh theo leänh ñöôïc caáp töø bus ñieàu khieån.
Bus ñòa chæ cung caáp ñòa chæ cho CPU bieát ñòa chæ ñeå ñoïc hoaëc ghi döõ lieäu. Neáu CPU coù n ñöôøng ñòa chæ thì coù theå truy xuaát ñöôïc 2n oâ nhôù ñòa chæ.
Bus ñieàu khieån laø hoãn hôïp caùc tín hieäu ñieàu khieån ñeå ñieàu khieån söï hoaït ñoäng cuûa CPU (trong CPU hoaëc CPU vôùi caùc thieát bò beân ngoaøi) ñeå ñoàng boä hoaït ñoäng treân caùc bus ñòa chæ, döõ lieäu.
Bus döõ lieäu mang thoâng tin giöõa CPU vaø boä nhôù, hoaëc giöõa CPU vôùi caùc thanh ghi hoaëc giöõa CPU vôùi caùc thieát bò beân ngoaøi thoâng qua caùc thieát bò I/O.
II. SÔ LÖÔÏC VEÀ CAÙC CHAÂN CUÛA mC 8031:
8031 laø IC vi ñieàu khieån (Microcontroller) do haõng intel saûn xuaát. mC 8031 coù taát caû 40 chaân coù chöùc naêng nhö caùc ñöôøng xuaát nhaäp. Trong ñoù coù 24 chaân coù taùc duïng keùp, moãi ñöôøng coù theå hoaït ñoäng nhö caùc ñöôøng xuaát nhaäp hoaëc nhö caùc ñöôøng ñieàu khieån hoaëc laø thaønh phaàn cuûa bus döõ lieäu.
P1.0
P1.1
P1.2
P1.3
P1.4
P1.5
P1.6
P1.7
RST
P3.0
P3.1
P3.2
P3.3
P3.4
P3.5
P3.6
P3.7
XTAL1
XTAL2
GDN
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
40 3938 37 36 35 34 33 3231 30 29 28 27 26 25 24 23 22 21
VCC
P0.0
P0.1
P0.2
P0.3
P0.4
P0.5
P0.6
P0.7
EA\
ALE
PSEN\
P2.7
P2.6
P2.5
P2.4
P2.3
P2.2
P2.1
P2.0
8 0 5 1
Sô Ñoà Chaân Cuûa 8031
P0.0
P0.1
P0.2
P0.3
P0.4
P0.5
P0.6
P0.7
P1.0
P1.1
P1.2
P1.3
P1.4
P1.5
P1.6
P1.7
P2.0
P2.1
P2.2
P2.3
P2.4
P2.5
P2.6
P2.7
P3.0
P3.1
P3.2
P3.3
P3.4
P3.5
P3.6
P3.7
PSEN\
ALE
EA\
RST
RXD
TXD
INT0\
INT1\
T0
T1
WR\
RD\
Sô ñoà logic cuûa 8031
Chöùc naêng caùc chaân cuûa 8031:
Port 0:
Port 0 laø port coù hai chöùc naêng ôû caùc chaân töø 32¸39 cuûa 8031. Trong caùc thieát keá côõ nhoû khoâng duøng boä nhôù môû roäng noù coù chöùc naêng nhö caùc ñöôøng vaøo ra.
Port 1:
Port 1 laø port I\O ôû caùc chaân töø 1-8. Caùc chaân ñöôïc kyù hieäu laø P0.0, P0.1, P0.2,…P1.7, coù theå duøng cho giao tieáp vôùicaùc thieát bò beân ngoaøi neáu caàn. Port 1 khoâng coù chöùc naêng khaùc vì vaäy noù chæ duøng cho giao tieáp vôùi caùc thieát bò beân ngoaøi(chaúng haïn ROM, RAM,8255,8279,…).
Port 2:
Port2 laø moät port coù taùc duïng keùp ôû caùc chaân töø 21-28 ñöôïc duøng nhö caùc ñöôøng xuaát nhaäp hoaëc laø caùc byte cao cuûa Bus ñòa chæ ñoái vôùi caùc thieát keá côõ lôùn.
Port3:
Port3 laø moät port coù taùc duïng keùp töø chaân 10 –17. Caùc chaân cuûa port naøy coù nhieàu chöùc naêng, caùc coâng duïng chuyeån ñoåi coù lieân heä vôùi ñaëc tính ñaëc bieät cuûa 8031 nhö baûng sau:
Bit
Teân
Chöùc naêng chuyeån ñoåi
P3.0
P3.1
P3.2
P3.3
P3.4
P3.5
P3.6
P3.7
RXD
TXD
INT0\
INT1\
T0
T1
WR\
RD\
Ngoõ vaøo döõ lieäu noái tieáp
Ngoõ ra döõ lieäu noái tieáp
Ngoõ vaøo ngaét cöùng thöù 0
Ngoõ vaøo ngaét cöùng thöù 1
Ngoõ vaøo cuûa temer\counter thöù 0
Ngoõ vaøo cuûa temer\counter thöù 1
Tín hieäu ghi döõ lieäu leân boä nhôù ngoaøi
Tín hieäu ñoïc boä nhôù döõ lieäu ngoaøi
Baûng: Chöùc naêng cuûa caùc chaân port 3
Ngoõ tín hieäu PSEN\ (Progam store enable):
PSEN\ laø tín hieäu ngoõ ra ôû chaân 29 coù taùc duïng cho pheùp ñoïc boä nhôù chöông trình môû roäng vaø thöôøng ñöôïc noái vôùi chaân EO\ (output enable) cuûa EPROM cho pheùp ñoïc caùc byte maõ leänh.
PSEN ôû möùc thaáp trong thôøi gian laáy leänh. Caùc maõ nhò phaân cuûa chöông trình ñöôïc ñoïc töø EPROM qua bus döõ lieäu vaø ñöôïc choát vaøo thanh ghi beân trong 8031 ñeå giaûi maõ leänh. Khi thi haønh chöông trình trong ROM noäi(mC 8051) PSEN\ seõ ôû möùc 1.
Ngoõ tín hieäu ñieàu khieån ALE (Address latch enable):
Khi 8031 truy xuaát boä nhôù beân ngoaøi, port0 coù chöùc naêng laø ñòa chæ vaø döõ lieäu do ñoù phaûi taùch ñöôøng ñòa chæ vaø döõ lieäu. Tín hieäu ra ALE ôû chaân thöù 30 duøng laøm tín hieäu ñieàu khieån ñeå giaûi ña hôïp caùc ñöôøng ñòa chæ vaø döõ lieäu khi keát noái vôùi IC choát.
Tín hieäu ra ôû ALE laø moät xung trong khoaûng thôøi gian port 0 ñoùng vai troø laø ñòa chæ thaáp neân neân choát ñòa chæ hoaøn toaøn töï ñoäng. Caùc xung tín hieäu ALE coù toác ñoä baèng 1\6 taàn soá dao ñoäng treân vi ñieàu kkieån vaø coù theå ñöôïc duøng laøm tín hieäu clock cho caùc phaàn khaùc cuûa heä thoáng. Chaân ALE ñöôïc duøng laøm ngoõ vaøo xung laäp trình cho FEROM trong 8051.
Ngoõ tín hieäu EA\ (External Access: truy xuaát döõ lieäu beân ngoaøi):
Tín hieäu vaøo EA\ ôû chaân 31 thöôøng ñöôïc maéc leân möùc 1 hoaëc möùc 0. Neáu ôû möùc 1 thì mC8051 thi haønh chöông trình trong ROM noäi trong khoaûng ñòa chæ thaáp 4k. Neáu ôû möùc 0 thì 8031 thi haønh chöông trình töø boä nhôù môû roäng (vì mC8031 khoâng coù boä nhôù chöông trình treân chip). Chaân EA\ ñöôïc laáy laøm chaân caáp nguoàn 21v laäp trình cho FROM trong 8051.
Ngoõ tín hieäu RST (Reset):
Ngoõ tín hieäu RST ôû chaân 9 vaø ngoõ vaøo Reset cuûa 8031. Khi ngoõ vaøo tín hieäu ñöa leân möùc cao ít nhaát laø 2 chu kyø maùy, caùc thanh ghi beân trong ñöôïc naïp nhöõng giaù trò thích hôïp ñeå khôûi ñoäng heä thoáng. Khi caáp ñieän maïch töï ñoäng Reset.
Ngoõ vaøo boä dao ñoäng X1, X2:
Boä taïo dao ñoäng ñöôïc tích hôïp beân trong 8031, khi söû duïng 8031 ngöôøi thieát keá caàn gheùp noái theâm tuï, thaïch anh. Taàn soá thaïch anh ñöôïc söû duïng cho 8031 laø 12MHz.
Nguoàn cho 8031:
Nguoàn cho 8031 ñöôïc cung caáp ôû 2 chaân laø 20 vaø 40 caáp GND vaø Vcc. Nguoàn cung caáp ôû ñaây laø +5v.
Khaû naêng cuûa taûi port 0 laø LS –TTL cuûa port 1,2,3 laø 4LS –TTL. Caáu truùc cuûa port ñöôïc xaây döïng töø FET laøm cho port coù theå xuaát nhaäp deã daøng. Khi FET taét thì port deã daøng duøng chöùc naêng xuaát. Khi FET hoïat ñoäng thì port laøm chöùc naêng nhaäp thì khi ñoù ngoõ nhaäp möùc cao seõ laøm hoûng port.
III. KHAÛO SAÙT CAÙC KHOÁI BEÂN TRONG 8031 - TOÅ CHÖÙC BOÄ NHÔÙ:
Boä nhôù trong 8031 ba goàm ROM vaø RAM. RAM trong 8031 bao goàm nhieàu thaønh phaàn: phaàn löu tröõ ña duïng, phaàn löu tröõ ñòa chæ hoùa töøng bit, caùc bank thanh ghi vaø caùc thanh ghi chöùc naêng ñaëc bieät. 8031 coù caáu truùc boä nhôù theo kieåu Harvard: coù nhöõng vuøng nhôù rieâng bieät cho chöông trình vaø döõ lieäu. Chöông trình vaø döõ lieäu coù theå chöùa beân trong 8051, nhöng 8051 vaãn coù theå keát noái vôùi 64k byte chöông trình vaø 64k byte döõ lieäu.
Hai ñaëc tính caàn chuù yù khi duøng mC8031/8051 laø:
Caùc thanh ghi vaø caùc port xuaát nhaäp ñaõ ñöôïc ñònh vò (ñöôïc ñònh vò coù nghóa laø xaùc ñònh) trong boä nhôù vaø coù theå truy xuaát tröïc tieáp gioáng nhö caùc boä nhôù ñòa chæ khaùc.
Ngaên xeáp beân trong RAM noäi nhoû hôn so vôùi ROM ngoaïi nhö caùc boä vi xöû lyù khaùc.
RAM beân trong 8031 ñöôïc phaân chia nhö sau:
Caùc Bank thanh ghi coù ñòa chæ 00H ¸ 1FH.
RAM ñòa chæ hoùa töøng bit coù ñòa chæ 20H ¸ 2FH.
RAM ña duïng coù ñòa chæ 30H ¸ 7FH.
Caùc thanh ghi coù chöùc naêng ñaëc bieät 80H ¸ FFH.
GENERAL
PURPOSE
RAM
7F
7E
7D
7C
7B
7A
79
78
77
76
75
74
73
72
71
70
6F
6E
6D
6C
6B
6A
69
68
67
66
65
64
63
62
61
60
5F
5E
5D
5C
5B
5A
59
58
57
56
55
54
53
52
51
50
4F
4E
4D
4C
4B
4A
49
48
47
46
45
44
43
42
41
40
3F
3E
3D
3C
3B
3A
39
38
37
36
35
34
33
32
31
30
2F
2E
2D
2C
2B
2A
29
28
27
26
25
24
23
22
21
20
1F
1E
1D
1C
1B
1A
19
18
17
16
15
14
13
12
11
10
0F
0E
0D
0C
0B
0A
09
08
07
06
05
04
03
02
01
00
Bank 3
Bank 2
Bank 1
Bank 0
(Cho R0 ¸ R7)
7F
30
2F
3E
2D
2C
2B
2A
29
28
27
26
25
24
23
22
21
20
1F
18
17
10
0F
08
07
00
Byte address
Bit address
F7
F6
F5
F4
F3
F2
F1
F0
E7
E6
E5
E4
E3
E2
E1
E0
D7
D6
D5
D4
D3
D2
D1
D0
-
-
-
BC
BB
BA
B9
B8
B7
B6
B5
B4
B3
B2
B1
B0
AF
-
-
AC
AB
AA
A9
A8
A7
A6
A5
A4
A3
A2
A1
A0
Not bit addressable
9f
9e
9d
9c
9b
9a
99
98
97
96
95
94
93
92
91
90
Not bit addressable
Not bit addressable
Not bit addressable
Not bit addressable
Not bit addressable
8F
8E
8D
8C
8B
8A
89
88
Not bit addressable
Not bit addressable
Not bit addressable
Not bit addressable
87
86
85
84
83
82
81
80
Byte address
Bit address
FF
F0
E0
D0
B8
B0
A8
A0
99
98
90
8D
8C
8B
8A
89
88
87
83
82
81
80
FF
B
ACC
PSW
IP
P3
IE
P2
SBUF
SCON
P1
TH1
TH0
TL1
TL0
TMOD
TCON
PCON
DPH
DPL
SP
P0
Hình II.2.1: Sô ñoà toå chöùc boä nhôù
a.RAM ña duïng:
Maëc duø treân hình veõ cho thaáy 80 byte ñaduïng chieám caùc ñòa chæ töø 30H¸7FH, 32 ñòa chæ döôùi töø 00H¸1FH cuõng coù theå ñöôïc duøng vôùi muïc ñích töông töï (maëc duø caùc ñòa chæ naøy cuõng ñaõ ñònh vôùi muïc ñích khaùc).
Moïi ñòa chæ trong vuøng RAM ña duïng ñeàu coù theå truy xuaát töï do duøng kieåu ñòa chæ giaùn tieáp hoaëc tröïc tieáp. Ví duï: ñeå ñoïc noäi dung ôû ñòc chæ 5FH cuûa RAM noäi vaøo thanh ghi tích luõy A, coù theå duøng moät trong hai caùch sau:
- Caùch 1: MOV A, 5FH
- Caùch 2: Ngoaøi caùch treân RAM beân trong cuõng coù theå ñöôïc truy xuaát baèng caùch duøng ñòa chæ giaùn tieáp hoaëc tröïc tieáp qua R0 hay R1:
MOV R0, #%FH
MOV A, @R0
Leänh ñaàu tieân duøng ñeå naïp ñòa chæ töùc thôøi #5FH vaøo thanh ghi R0, leänh thöù 2 duøng ñeå chuyeån noäi dung cuûa oâ nhôù coù ñòa chæ maø R0 ñang chæ tôùi vaøo thanh ghi tích luõy A.
b. RAM ñòa chæ hoùa töøng bit:
8031 chöùa 210 bit ñöôïc ñòa chæ hoùa, trong ñoù coù 128bit chöùa caùc byte coù ñòa chæ töø 20H¸2FH vaø caùc bit coøn laïi chöùc trong nhoùm thanh ghi coù chöùa naêng ñaëc bieät.
YÙ töôûng truy xuaát töøng bit baèng phaàn meàm laø moät ñaëc tính maïnh cuûa vi ñieàu khieån noùi chung. Caùc bit coù theå ñöôïc ñaët, xoùa, And, OR…, vôùi moät leänh ñôn. Maø ñieàu naøy ñoái vôùi vi xöû lyù ñoøi hoûi phaûi coù moät chuoãi leänh ñoïc - söûa - ghi ñeå ñaït ñöôïc muïc ñích töông töï nhö vi ñieàu khieån. Ngoaøi ra caùc port cuõng coù theå truy xuaát ñöôïc töøng bit laøm ñôn giaûn ñi phaàn meàm xuaát nhaäp töøng bit. 128 bit truy xuaát töøng bit naøy cuõng coù theå truy xuaát nhö caùc byte hoaëc caùc bit phuï thuoäc vaøo leänh ñöôïc duøng.
Ví duï: ñeå ñaët bit thöù 57 ta duøng leänh sau:
SETB 67H
c.Caùc Bank thanh ghi:
32 byte thaáp cuûa boä nhôù RAM noäi ñöôïc duøng cho caùc bank thanh ghi. Boä leänh 8031 hoã trôï 8 thanh ghi noùi treân coù teân laø R0 ¸ R7 vaø theo maëc ñònh khi reset heä thoáng, caùc thanh ghi naøy coù ñòa chæ töø 00H ¸ 07H.
Ví duï: leänh sau ñaây seõ ñoïc noäi dung cuûa oâ nhôù coù ñòa chæ 05H vaøo thanh ghi A.
MOV A, R5
Ñaây laø leänh 1 byte duøng ñòachæ thanh ghi. Tuy nhieân yeâu caàu treân coù theå thi haønh baèng leänh 2 byte duøng ñòa chæ tröïc tieáp naèm trong byte thöù hai:
MOV A,05H
Caùc leänh duøng caùc thanh ghi R0 ¸ R7 seõ ngaén hôn vaø nhanh hôn so vôùi caùc leänh coù chöùc naêng töông töï duøng kieåu ñòa chæ tröïc tieáp. Caùc döõ lieäu ñöôïc duøng thöôøng xuyeân neân duøng moät trong caùc thanh ghi naøy. Do coù 4 bank thanh ghi neân taïi moät thôøi ñieåm chæ coù moät bank thanh ghi ñöôïc truy xuaát bôûi caùc thanh ghi R0 ¸ R7. Ñeå chuyeån ñoåi vieäc truy xuaát caùc bank thanh ghi ta phaûi thay ñoåi caùc bit choïn bank trong thanh ghi trong thanh ghi traïng thaùi. Giaû söû bank thanh ghi thöù 3 ñang ñöôïc truy xuaát leänh sau ñaây seõ chuyeån noäi dung cuûa thanh ghi A vaøo oâ nhôù RAM coù ñòa chæ 18H:
MOV R0, A
Toùm laïi yù töôûng duøng caùc bank thanh ghi cho pheùp ta chuyeån höôùng chöông trình nhanh vaø hieäu quaû hôn.
IV. CAÙC THANH GHI COÙ CHÖÙC NAÊNG ÑAËC BIEÄT:
Caùc thanh ghi cuûa mC8031/8051 ñöôïc truy xuaát ngaàm ñònh bôûi boä leänh. Ví duï “INC A” seõ taêng noäi dung thanh ghi A leân moät ñôn vò. Taùc ñoäng naøy ñöôïc ngaàm ñònh trong maõ leänh.
Caùc thanh ghi trong mC8031/8051 ñöôïc ñònh daïng nhö moät phaàn cuûa RAM treân chip. Vì vaäy moãi thanh ghi seõ coù moät ñòa chæ (ngoaïi tröø thanh ghi ñeám boä nhôù chöông trình vaø thanh ghi leänh vì caùc thanh ghi naøy hieám khi bò taùc ñoäng tröïc tieáp). Cuõng nhö R0 ¸ R7, 8031 coù 21 thanh ghi coù chöùc naêng ñaëc bieät ôû vuøng treân cuûa RAM noäi coù ñòa chæ töø 80H¸FFH.
Chuù yù: taát caû 128 ñòa chæ töø 80H ¸ FFH khoâng ñöôïc ñònh nghóa chæ coù 21 thanh ghi coù chöùc naêng ñaëc bieät ñöôïc ñònh nghóa saún caùc ñòa chæ.
Ngoaïi tröø thanh ghi A coù theå ñöôïc truy xuaát ngaàm nhö ñaõ noùi, ña soá caùc thanh ghi coù chöùc naêng ñaëc bieät SFR coù ñòa chæ hoùa töøng bit hoaëc byte.
Chuù yù: moät vaøi thanh ghi SFR coù theå ñòa chæ hoùa töøng bit hoaëc byte neân ngöôøi laäp trình phaûi thaän troïng khi truy xuaát bit hoaëc byte.
1. Töø traïng thaùi chöông trình: (PSW: Program Status Word)
Thanh ghi traïng thaùi chöông trình PSW (Program Status Word) ôû ñòa chæ D0H chöùa caùc bit traïng thaùi ñöôïc toùm taét nhö sau:
Bit
Kyù hieäu
Ñòa chæ
YÙ nghóa
PSW.7
CY
D7H
Côø nhôù
PSW.6
AC
D6H
Côø nhôù phuï
PSW.5
F0
D5H
Côø 0
PSW.4
RS1
D4H
Bit 1 choïn bank thanh ghi
PSW.3
RS0
D3H
Bit 0 choïn bank thanh ghi
00 = bank 0: ñòa chæ 00H¸07H
01 = bank 1: ñòa chæ 08H¸0FH
10 = bank 2: ñòa chæ 10H¸17H
11 = bank 3: ñòa chæ 18H¸1FH
PSW.2
0V
D2H
Côø traøn
PSW.1
0V
D1H
Döï tröõ
PSW.0
PORT
D0H
Côø parity chaún leû
Baûng : Caùc bit cuûa thanh ghi PSW
Côø nhôù (CY):
Côø nhôù Carry coù taùc duïng keùp. Thoâng thöôøng noù ñöôïc duøng cho caùc leänh toaùn hoïc: C = 1 neáu pheùp toaùn coäng coù traøn hoaëc pheùp tröø coù möôïn vaø ngöôïc laïi C = 0 neáu pheùp toaùn coäng khoâng traøn vaø pheùp tröø khoâng coù möôïn.
Ví duï: leänh sau seõ traû veà thanh ghi tích luõy keát quaû 00H vaø set côø nhôù trong PSW neáu thanh ghi tích luõy A chöùa FFH.
ADD C,25H
Côø nhôù phuï AC: (AC: Auxillary Carry Flag)
Khi coäng caùc soá BCD, côø nhôù phuï AC = 1 neáu keát quaû 4 bit thaáp trong khoaûng 0A¸0F vaø ngöôïc laïi côø nhôù phuï AC = 0.
Côø 0 (F0):
Côø 0 laø moät bit côø ña duïng duøng cho caùc öùng duïng cho ngöôøi duøng.
Caùc bit choïn bank thanh ghi truy xuaát (RS0 vaø RS1):
Caùc bit choïn bank thanh ghi nhaèm ñeå xaùc ñònh bank thanhghi ñöôïc truy xuaát. Chuùng ñöôïc xoaù sau khi Reset heä thoáng vaø ñöôïc thay ñoåi baèng phaàn meàm neáu caàn.
Ví duï: 3 leänh sau ñaây cho pheùp bank thanh ghi 3 ñöôïc choïn vaø di chuyeån noäi dung thanh ghi R7 (coù ñòa chæ byte 1FH) vaøo thanh ghi A.
SETB RS1
SETB RS0
MOV A, R7
Khi chöông trình ñöôïc dòch sang maõ maùy cho 8031 thi haønh, caùc ñòa chæ bit ñöôïc thay theá baèng caùc kyù töï RS1 vaø RS0. Vaäy leänh SETB RS1 laø SETB 0DH.
Côø traøn 0V: (Overlow Flag)
Côø traøn coù taùc duïng nhö sau: 0V = 1 sau moät leänh coäng hoaëc tröø neáu coù pheùp toaùn bò traøn. Khi caùc soá coù daáu ñöôïc coäng hay tröø vôùi nhau, phaàn meàm coù theå kieåm tra bit naøy ñeå kieåm tra xem keát quaû coù trong taàm xaùc ñònh hay khoâng. Khi coù soá khoâng daáu ñöôïc coäng, bit 0V coù theå ñöôïc boû qua. Caùc keát quaû lôùn hôn +127 hoaëc nhoû hôn –128 thì bit 0V=1.
Ví duï: pheùp coäng sau bò traøn vaø bit 0V seõ ñöôïc set: 0FH + 7FH = 8EH. Keát quaû laø moät soá coù daáu 8E ñöôïc xem nhö –116, khoâng phaûi laø keát quaû ñuùng 142 vì vaäy bit 0V = 1.
2. Thanh ghi B:
Thanh ghi B ôû ñòa chæ F0H ñöôïc duøng cuøng vôùi thanh ghi tích luõy A cho caùc pheùp toaùn nhaân vaø chia. Leänh MUL AB seõ nhaân caùc giaù trò khoâng daáu 8 bit trong A vaø B roài traû veà keát quaû 16 bit A (byte thaáp) vaø B (byte cao). Leänh DIV AB seõ chia A cho B vaø traû keát quaû phaàn nguyeân trong A vaø phaàn dö trong B. Thanh ghi coù theå ñöôïc xem laø moät thanh ghi ñeäm ña duïng. Noù ñöôïc ñòa chæ hoùa töøng bit vôùi caùc ñòa chæ töø F0H ¸ F7H.
3. Con troû ngaên xeáp:
Con troû ngaên xeáp SP laø moät thanh ghi 8 bit ôû ñòa chæ 81H. Noù chöùa ñòa chæ cuûa byte döõ lieäu hieän haønh treân ñænh ngaên xeáp. Caùc leänh treân ngaên xeáp bao goàm caùc leänh caát döõ lieäu vaøo ngaên xeáp vaø laáy döõ lieäu ra khoûi ngaên xeáp. Leänh caát döõ lieäu vaøo ngaên xeáp seõ laøm taêng SP tröôùc khi ghi döõ lieäu vaø leänh laáy döõ lieäu ra khoûi ngaên xeáp seõ laøm giaûm SP. Ngaên xeáp cuûa 8031 ñöôïc giöõ trong RAM ngoaïi vaø giôùi haïn caùc ñòa chæ coù theå truy xuaát baèng ñòa chæ giaùn tieáp, chuùng laø 128 byte ñaàu cuûa 8031.
Ví duï: Ñeå khôûi ñoäng SP vôùi ngaên xeáp baét ñaàu tai ñòa chæ 60H, thì duøng leänh sau ñaây:
MOV SP, #5F
Vôùi leänh treân thì ngaên xeáp cuûa 8031 chæ coù 32 byte vì ñòa chæ cao nhaát cuûa RAM treân vi ñieàu khieån laø 7F. Sôû dó giaù trò 5F ñöôïc naïp vaøo SP vì SP seõ taêng leân 60H tröôùc khi caát byte döõ lieäu ñaàu tieân.
Khi Reset 8031, SP seõ mang giaù trò maëc ñònh laø 07H vaø döõ lieäu ñaàu tieân seõ ñöôïc naïp vaøo oâ nhôù ngaên xeáp coù ñòa chæ 08H. Neáu phaàn meàm öùng duïng khoâng khôûi ñoäng SP moät giaù trò môùi thì bank thanh ghi l coù theå caû 2 vaø 3 seõ khoâng duøng ñöôïc vì duøng RAM naøy ñaõ ñöôïc duøng laøm ngaên xeáp. Ngaên xeáp ñöôïc truy xuaát tröïc tieáp baèng leänh PUSH vaø leänh POP ñeå löu tröõ taïm thôøi vaø laáy döõ lieäu, hoaëc truy xuaát ngaàm baèng leänh goïi chöông trình con (ACALL vaø LCALL) vaø leänh trôû veà (RET, RETL) ñeå löu giaù trò cuûa boä ñeám chöông trình khi baét ñaàu thöïc hieän chöông trình con vaø laáy laïi khi keát thuùc chöông trình con.
4. Con troû döõ lieäu: (DPTR: Data Poiter)
Con troû döõ lieäu (DPTR) ñöôïc duøng ñeå truy xuaát boä nhôù ngoaøi laø moät thanh ghi 16 bit ôû ñòa chæ 82H (DPL: byte thaáp) vaø 83H (DPH: byte cao) 3 leänh sau ñaây seõ ghi ñòa chæ 55H vaøo RAM ngoaïi ôû ñòa chæ 1000H:
MOV A,#55H
MOV DPRT, ##1000H
MOVX@ DPTR,A
Leänh ñaàu tieân duøng ñeå naïp döõ lieäu 55H vaøo thanh ghi tích luõy. Leänh thöù 2 ñöôïc duøng ñeå naïp döõ lieäu 1000H vaøo con troû döõ lieäu DPTR. Leänh thöù 3 seõ di chuyeån noäi dung trong thanh ghi A (55H) vaøo oâ nhôù RAM ngoaøi coù ñòa chæ chöùa trong DPTR (laø 1000H).
5. Caùc thanh ghi port xuaát nhaäp:
Caùc Port cuûa 8031 goàm port 0 ôû ñòa chæ 80H, port 1 ôû ñòa chæ 90H, port 2 ôû ñòa chæ A0H vaø port 3 ôû ñòa chæ B0H. Taát caû caùc port naøy coù theå truy xuaát töøng bit neân raát thuaän tieän trong chöùc naêng giao tieáp.
Ví duï: Neáu moät motor ñöôïc noái vôùi cuoän daây coù transitor laùi ñeán bit 7 cuûa port 1, 8031 coù baät vaø taét baèng moät leänh ñôn:
SETB P1.7
CLR P1.7
Vaø coù theå thöïc hieän töông töï baèng hai leänh sau:
SETB P1.7
CLR 97H
6. Caùc thanh ghi Timer:
8031 coù chöùa hai boä ñònh thôøi/ ñeám 16 bit ñöôïc duøng cho vieäc ñònh thôøi hoaëc ñeám söï kieän. Timer 0 ôû ñòa chæ 8AH (TLO: byte thaáp) vaø 8CH (THO: byte cao). Timer 1 ôû ñòachæ 8BH (TL1: byte thaáp)vaø 8DH (TH1: byte cao) vieäc khôûi ñoäng Timer ñöôïc set bôûi Timer mode (TMOD) ôû ñòa chæ 89 vaø thanh ghi ñieàu khieån Timer (TCON) ôû ñòa chæ 88H. Chæ coù TCON ñöôïc ñòa chæ hoùa töøng bit.
7. Caùc thanh ghi port noái tieáp:
8031 chöùa 1 port noái tieáp duøng cho vieäc trao ñoåi thoâng tin vôùi caùc thieát bò noái tieáp nhö maùy tính moderm hoaëc giao tieáp vôùi caùc IC khaùc (caùc boä chuyeån ñoåi A\D, caùc thanh ghi dòch…). Moät thanh ghi goïi laø boä ñeám döõ lieäu noái tieáp (SBUF) ôû ñòa chæ 99H seõ giöõ caû hai döõ lieäu phaùt vaø döõ lieäu nhaän. Khi truyeàn döõ lieäu thì ghi leân SUBF, khi nhaän döõ lieäu thì ñoïc SUBF. Caùc mode vaän haønh khaùc nhau ñöôïc laäp trình qua thanh ghi ñieàu khieån port noái tieáp (SCON: ñöôïc ñòa chæ hoùa töøng bit ôû ñòa chæ 98H).
8. Caùc thanh ghi ngaét:
8031 coù caáu truùc 5 nguoàn ngaét vaø 2 möùc öu tieân. Caùc ngaét bò caám sau khi Reset heä thoáng vaø seõ ñöôïc cho pheùp baèng vieäc thanh ghi cho pheùp ngaét (LE) ôû ñòa chæ A8H. Caû hai thanh ghi ñöôïc ñòa chæ hoùa töøng bit.
9. Thanh ghi ñieàu khieån coâng suaát:
Thanh ghi ñieàu khieån coâng suaát (PCON) ôû ñòa chæ 97H chöùa nhieàu bit ñieàu khieån chuùng ñöôïc toùm taét ôû baûng sau:
Bit
Kí hieäu
YÙ nghóa
7
6
5
4
3
2
1
0
SMOD
-
-
-
GF1
GF0
PD
IDL
Bit gaáp ñoâi toác ñoä band, neáu ñöôïc set thì toác ñoä baud seõ taêng gaáp ñoâi trong caùc mode 1,2 vaø 3 cuûa port noái tieáp
Khoâng yù nghóa
Khoâng yù nghóa
Khoâng yù nghóa
Bit côø ña duïng 1
Bit côø ña duïng 2
Giaûm coâng suaát, ñöôïc set hoaït mode giaûm coâng suaát, chæ thoaùt khi reset.
Mode chôø, set ñeå kích hoaït mode chôø, chæ thoaùt khi coù ngaét hoaëc reset heä thoáng.
V. BOÄ NHÔÙ NGOAØI:
8031 coù khaû naêng môû roäng boä nhôù leân ñeán 64 kB boä nhôù chöông trình vaø 64 KB boä nhôù döõ lieäu beân ngoaøi. Do ñoù coù theå duøng ROM vaø RAM neáu caàn. Khi duøng boä nhôù ngoaøi port 0 cuõng laø moät port I/O thuaàn tuyù. Noù ñöôïc keát hôïp vôùi Bus ñòa chæ A0 ñeán A7 vaø Bus döõ lieäu D0 ñeán D7 vôùi tín hieäu ALE ñeå choát byte thaáp cuûa Bus ñòa chæ khi baét ñaàu moãi chu kyø nhôù. Port 2 ñöôïc cho pheùp byte cao cuûa ñòa chæ.
1. Truy xuaát boä nhôù chöông trình ngoaøi:
Boä nhôù chöông trình beân ngoaøi laø moät boä nhôù ROM ñöôïc cho pheùp bôûi tín hieäu PSEN\. Hình veõ sau ñaây seõ moâ taû caùch keát noái 1 boä nhôù EPROM vôùi mC8031/8051.
OSC
ALE
PSEN\
PORT2
PORT1
PCL
Maõ leänh
PCL
Byte 2
PC
PCH (byte cuûa PC)
P1
P1
P1
P2
P2
P1
P2
P1
P1
P2
P2
P2
P1
P2
P1
S1
S2
S3
S4
S5
S6
S1
Moät chu kyø maùy
Giaûn ñoà thôøi gian ñoïc boä nhôù chöông trình ngoaøi
Port 0
EA\
ALE
Port 2
PSEN\
D7-D0
A7-A0
EPROM
A15-A8
OE\
D Q
74373
E
Moät chu kyø cuûa mC8031/8051 coù 12 xung nhòp. Neáu moät dao ñoäng treân chip ñöôïc laùi baèng thaïch anh 12 Mhz thì moät chu kyø maùy keùo daøi 1ms. Trong moät chu kyø maùy seõ coù 2 xung ALE vaø 2 byte ñöôïc ñoïc töø boä nhôù chöông trình (neáu leänh hieän haønh laø leänh 2 byte thì byte ñöôïc loaïi boû). Giaûn ñoà thôøi gian cuûa moät laàn laáy leänh ñöôïc veõ ôû hình treân:
2. Truy xuaát boä nhôù döõ lieäu ngoaøi:
Boä nhôù döõ lieäu ngoaøi laø moät boä nhôù RAM ñöôïc cho pheùp ghi /ñoïc baèng caùc tín hieäu ñieàu khieån WR\ vaø RD\. mC8031/8051 coù moät leänh duy nhaát truy xuaát döõ lieäu cuûa boä nhôù döõ lieäu ngoaøi laø MOVX duøng con troû 16 bit (PDRT) hoaëc R0 vaø R1 xem nhö thanh ghi ñòa chæ.
3. Giaûi maõ ñòa chæ:
Neáu nhieàu EPROM hoaëc nhieàu RAM ñöôïc giao tieáp vôùi 8031 thì caàn coù maïch giaûi maõ ñòa chæ. Maïch giaûi maõ cuõng ñöôïc thöïc hieän nhö caùc vi xöû lyù khaùc, söû duïng IC 74138 ñeå giaûi maõ.
4. Xeáp choàng caùc vuøng boä nhôù vaø döõ lieäu beân ngoaøi:
Vì boä nhôù chöông trình laø ROM neân naûy sinh moät vaán ñeà baát tieän khi phaùt trieån phaàn meàm cho 8031 laø toå chöùc boä nhôù nhö theá naøo ñeå coù theå söûa ñoåi chöông trình vaø coù theå ghi trôû laïi noù ñöôïc chöùa trong boä nhôù ROM. Caùch giaûi quyeát laø xeáp choàng caùc vuøng nhôù chöông trình vaø döõ lieäu. Moät boä nhôù RAM coù theå chöùa caû chöông trình vaø döõ lieäu baèng caùch noái ñöôøng OE\ cuûa RAM vôùi moät coång AND coù hai ngoõ vaøo PSEN\ vaø RD\.
Sô ñoà maïch nhö hình sau cho pheùp boä nhôù RAM coù hai chöùc naêng vöøa laø boä nhôù chöông trình vöøa laø boä nhôù döõ lieäu:
WR\
RAM
OE\
WR\
RD\
PSEN\
Vaäy moät chöông trình coù theå ñöôïc taûi vaøo RAM baèng caùch xem noù nhö moät boä nhôù döõ lieäu vaø thi haønh baèng caùch xem noù nhö moät boä nhôù chöông trình.
VI. NGOÕ VAØO TÍN HIEÄU RESET:
mC8031/8051 coù ngoõ vaøo Reset RST taùc ñoäng ôû möùc cao trong khoaûng thôøi gian hai chu kyø xung maùy, sau ñoù xuoáng möùc thaáp ñeå 8031 baét ñaàu laøm vieäc RST coù theå kích baèng tay baèng moät phím thöôøng hôû, sô ñoà maïch Reset nhö sau:
+5v
10mf
10kW
100kW
Traïng thaùi cuûa taát caû thanh ghi trong mC8031/8051 sau khi Reset heä thoáng ñöôïc toùm taét nhö sau:
Thanh ghi
Noäi dung
Ñeám chöông trình PC
Thanh ghi tích luõy A
Thanh ghi B
Thanh ghi traïng thaùi PSW
SP
DPRT
Port 0 ñeán port 3
IP
IE
Caùc thanh ghi ñònh thôøi
SCON SBUF
PCON(HMOS)
PCON(CMOS)
0000H
00H
00H
00H
07H
0000H
FFH
XXX0 0000B
0XX0 0000B
00H
00H
00H
0XXX XXXXB
0XXX 0000B
Quan troïng nhaát trong caùc thanh ghi treân laø thanh ghi ñeám chöông trình, noù ñöôïc ñaët taïi 0000H. Khi Reset trôû laïi möùc thaáp, vieäc thi haønh chöông trình luoân baét ñaàu ôû ñòa chæ ñaàu tieân trong boä nhôù chöông trình: ñòa chæ 0000H. Noäi dung cuûa RAM treân chip khoâng bò thay ñoåi bôûi leänh Reset.
B. HOAÏT ÑOÄNG CUÛA BOÄ ÑÒNH THÌ TIMER:
I. GIÔÙI THIEÄU:
Moät ñònh nghóa ñôn giaûn cuûa timer laø moät chuoãi caùc flip-flop chia ñoâi taàn soà noái tieáp vôùi nhau, chuùng nhaän tín hieäu vaøo laøm nguoàn xung nhòp. Ngoõ ra cuûa taàng cuoái laøm xung nhòp cho flip - flop baùo traøn cuûa timer (flip - flop côø). Giaù trò nhò phaân trong caùc flip - flop cuûa timer coù teå xem nhö ñeám soá xung nhòp (hoaëc caùc söï kieän) töø khôûi ñoäng timer. Ví duï timer 16 bit seõ ñeám töø 0000H ñeán FFFFH. Côø baùo traøn seõ leân 1 khi soá ñeám traøn töø FFFFH ñeán 0000H.
mC8031/8051 coù hai timer 16 bit, moãi timer coù 4 caùch laøm vieäc. Ngöôøi ta söû duïng caùc timer ñeå:
Ñònh khoaûng thôøi gian.
Ñeám söï kieän.
Taïo toác ñoä baud cho port noái tieáp trong mC8051/8031.
Trong caùc öùng duïng ñònh nghóa khoaûng thôøi gian, ngöôøi ta söû duïng laäp trình timer ôû moät khoaûng ñeàu ñaën vaø ñaët côø traøn timer. Côø ñöôïc söû duïng ñeå ñoàng boä hoùa chöông trình ñeå thöïc hieän moät taùc ñoäng nhö kieåm tra traïng thaùi cuûa caùc ngoõ vaøo hoaëc gôûi söï kieän ra caùc ngoõ ra. Caùc öùng duïng khaùc coù theå söû duïng vieäc taïo xung nhòp ñeàu ñaën cuûa timer ñeå ño thôøi gian troâi qua giöõa hai söï kieän (Ví duï: ño ñoä roäng xung).
Ñeám söï kieän duøng ñeå xaùc ñònh soá laàn xaûy ra cuûa moät soá söï kieän. Moät “söï kieän” laø baát cöù taùc ñoäng ngoaøi naøo coù theå cung caáp moät chuyeån traïng thaùi treân moät chaân cuûa 8051/8031.
Truy xuaát caùc timer cuûa 8051/8031 duøng 6 thanh ghi chöùc naêng ñaëc bieät trong baûng sau:
SFR
MUÏC ÑÍCH
Ñòa chæ
Ñòa chæ hoùa töøng bit
TCON
Ñieàu khieån timer
88H
Coù
TMOD
Cheá ñoä timer
89H
Khoâng
TLO
Byte thaáp cuûa timer 0
8AH
Khoâng
TL1
Byte thaáp cuûa timer 1
8BH
Khoâng
TH0
Byte cao cuûa timer 0
8CH
Khoâng
TH1
Byte cao cuûa timer 1
8DH
Khoâng
II. THANH GHI CHEÁ ÑOÄ TIMER (TMOD):
Thanh ghi TMOD chöùa hai nhoùm 4 bit duøng ñeå ñaët cheá ñoä laøm vieäc cho timer 0 vaø timer1.
Bit
Teân
Timer
Moâ taû
7
GATE
1
Bit (môû coång), khi leân, timer chæ chaïy khi INT1 ôû möùc cao
6
C/
1
Bit choïn cheá ñoä counter/ timer
1 = Boä ñeám söï kieän
0 = Boä ñònh khoaûng thôøi gian
5
M1
1
Bit1 cuûa cheá ñoä ( mode)
4
M0
1
Bit 0 cuûa cheá ñoä
00: Cheá ñoä 0: timer 13 bit
01: Cheá ñoä 1: timer 16 bit
10: Cheá ñoä 2: töï ñoäng naïp laïi 8 bit
11: Cheá ñoä 3: taùch timer
3
GATE
0
Bit (môû) coång
2
C/
0
Bit choïn counter/ timer
1
M1
0
Bit 1 cuûa cheá ñoä
0
M0
0
Bit 0 cuûa cheá ñoä
Toùm taét thanh ghi TMOD.
III. THANH GHI ÑIEÀU KHIEÅN TIMER (TCON)
Thanh ghi TCON chöùa caùc bit traïng thaùi vaø caùc bit ñieàu khieån cho timer0 vaø timer1.
Bit
Kyù hieäu
Ñòa chæ
Moâ taû
TCON.7
TF1
8FH
Côø baùo traøn timer. Ñaët bôûi phaàn cöùng khi traøn, ñöôïc xoùa bôûi phaàn meàm hoaëc phaàn cöùng khi boä xöû lí chæ ñeán chöông trình phuïc vuï ngaét.
TCON.6
TR1
8EH
Bit ñieàu khieån timer1 chaïy. Ñaët/ xoùa baèng timer ñeå cho phaàn meàm chaïy/ ngöng.
TCON.5
TF0
8DH
Côø baùo traøn timer 0.
TCON.4
TR0
8CH
Bit ñieàu khieån timer chaïy.
TCON.3
IE1
8BH
Côø caïnh ngaét caïnh beân ngoaøi. Ñaët bôûi phaàn cöùng khi phaùt hieän moät caïnh xuoáng ôû INT1:xoùa baèng phaàn meàm hoaëc phaàn cöùng khi CPU chæ ñeán chöông trình phuïc vuï ngaét.
TCON.2
IT1
8AH
Côø kieåu ngaét moät beân ngoaøi. Ñaët/xoùa baèng phaàn meàm ñeå ngaét ngoaøi tích cöïc caïnh xuoáng/möùc thaáp.
TCON.1
IE0
89H
Côø caïnh ngaét 0 beân ngoaøi
TCON.0
ITO
88H
Côø kieåu ngaét 0 beân ngoaøi
Toùm taét thanh ghi TCON.
IV. CHEÁ ÑOÄ TIMER:
1. Cheá ñoä 0 – Cheá ñoä TIMER 13 BIT:
Ñeå töông thích vôùi 804 (coù tröôùc 8051).
3 bit cao cuûa TLx (TL0 vaø hoaëc TL1) khoâng duøng.
TLx
(5 bit)
THx
(8 bit)
TFx
Xung nhòp timer
Côø baùo traøn
2. Cheá ñoä 1 – Cheá ñoä TIMER 16 BIT:
Hoaït ñoäng nhö timer 16 bit ñaày ñuû.
Côø baùo traøn laø bit TFx trong TCON coù theå ñoïc hoaëc ghi baèng phaàn meàm.
MSB cuûa giaù trò trong thanh ghi timer laø bit 7 cuûa THx vaø LSB laø bit 0 cuûa TLx. Caùc thanh ghi timer (TLx/THx) coù theå ñoïc hoaëc ghi baát cöù luùc naøo baèng phaàn meàm.
TLx
(8 bit)
THx
(8 bit)
TFx
Xung nhòp timer
Côø baùo traøn
3. Cheá ñoä 2 – Cheá ñoä töï ñoäng naïp laïi 8 bit:
TLx hoaït ñoäng nhö 1 timer 8 bit, trong ñoù THx vaãn giöõ nguyeân giaù trò khi naïp. Khi soá ñeám traøn töø FFH ñeán 00H, khoâng nhöõng côø timer ñöôïc xeùt maø giaù trò trong THx ñoàng thôøi ñöôïc naïp vaøo TLx, vieäc ñeám tieáp tuïc töø giaù trò naøy leân ñeán FFH xuoáng 00H vaø naïp laïi .v.v…Cheá ñoä naøy raát thoâng duïng vì söï traøn timer xaûy ra trong nhöõng khoaûng thôøi gian nhaát ñònh vaø tuaàn hoaøn moät khi khôûi ñoäng TMOD vaø THx.
TLx
(8 bit)
THx
(8 bit)
TFx
Xung nhòp timer
Côø baùo traøn
4. Cheá ñoä 3 – Cheá ñoä taùch timer:
Timer 0 taùch thaønh 2 timer 8 bit (TL0 vaø TH0), TL0 coù côø baùo traøn laø TF0 vaø TH0 coù côø baùo traøn laø TF1.
Timer 1 ngöng cheá ñoä 3, nhöng coù theå khôûi ñoäng baèng caùch chuyeån sang cheá ñoä khaùc. Giôùi haïn duy nhaát laø côø baùo traøn TF1 khoâng coøn bò taùc ñoäng khi timer 1 bò traøn vì noù ñöôïc noái vôùi tôùi TH0.
Khi timer 1 ôû cheá ñoä 3, coù theå coù theå cho timer 1 chaïy vaø ngöng baéng caùch chuyeån noù ra ngoaøi vaø vaøo cheá ñoä 3. Noù vaãn coù theå ñöôïc söû duïng bôûi port noái tieáp nhö boä taïo toác ñoä baud hoaëc noù coù theå söû duïng baèng baát cöù caùch naøo maø khoâng caàn ngaét (vì noù khoâng coøn ñöôïc noái vôùi TF1).
TL1
TH1
TH0
TH0
TF1
TF0
Xung nhòp timer
Xung nhòp timer
1/12 Fose
Côø baùo traøn
5. Nguoàn taïo xung nhòp:
Coù hai nguoàn taïo xung nhòp coù theå coù, ñöôïc choïn baèng caùch ghi vaøo C/T (counter/timer) trong TMOD khi khôûi ñoäng timer. Moät nguoàn taïo xung nhòp duøng cho ñònh khoaûng thôøi gian, caùi khaùc cho ñeám söï kieän.
¸ 12
Boä dao
ñoäng trong
C/T
Thaïch
anh
Chaân T0
hoaëc T1
Xung nhòp
timer
0: (leân) ñònh khoaûng thôøi gian
Ñònh khoaûng thôøi gian (interval timing):
Neáu C/T=0 hoaït ñoäng timer lieân tuïc ñöôïc choïn vaøo timer ñöôïc duøng cho vieäc ñònh khoaûng thôøi gian. Luùc ñoù, timer laáy xung nhòp töø boä dao ñoäng treân chip. Boä chia 12 ñöôïc theâm vaøo ñeå giaûm taàn soá xung nhòp ñeán giaù trò thích hôïp cho caùc öùng duïng. Nhö vaäy, thaïch anh 12 MHz seõ cho toác ñoä xung nhòp timer 1 MHz. Baùo traøn timer xaûy ra sau moät soá (coá ñònh) xung nhòp, phuï thuoäc vaøo giaù trò ban ñaàu ñöôïc naïp vaøo caùc thanh ghi timer TLx/THx.
Ñeám söï kieän (Event Couting):
Neáu C/T=1, timer laáy nguoàn xung nhòp töø beân ngoaøi.Trong haàu heát caùc öùng duïng, nguoàn beân ngoaøi naøy cung caáp cho timer moät xung khi xaûy ra moät söï kieän – timer duøng ñeám söï kieän. Soá söï kieän ñöôïc xaùc ñònh baèng phaàn meàm baèng caùch ñoïc caùc thanh ghi TLx/THx vì giaù trò 16 bit trong thanh ghi naøy taêng theâm moät cho moãi söï kieän.
Nguoàn xung nhòp ngoaøi coù töø thay ñoåi chöùc naêng cuûa caùc port 3, bit 4 cuûa port 3 (P3.4) duøng laøm ngoõ vaøo taïo xung nhòp beân ngoaøi cho timer 0 vaø ñöôïc goïi laø “T0”. Vaø P3.5 hay “T1” laø ngoõ vaøo taïo xung nhòp cho timer 1.
Trong caùc öùng duïng boä ñeám, caùc thanh ghi Timer ñöôïc taêng theâm 1 töông öùng vôùi chuyeån töø 1 xuoáng 0 ôû ngoõ vaøo beân ngoaøi: Tx, ngoõ vaøo beân ngoaøi ñöôïc laáy maãu trong S5P2 cuûa moïi chu kyø maùy. Nhö vaäy, khi ngoõ vaøo cao trong moät chu kyø vaø thaáp trong moät chu kyø keá thì soá ñeám ñöôïc taêng theâm moät. Giaù trò môùi ñöôïc xuaát hieän trong caùc thanh ghi trong S3P1 cuûa chu kyø theo sau chu kyø trong ñoù phaùt hieän söï chuyeån tieáp. Do ñoù, maát 2 chu kyø maùy (2ms) ñeå ghi nhaän söï chuyeån 1 sang 0, taàn soá ngoaøi toái ña laø 500KHz (giaû söû hoaït ñoäng ôû 12 MHz).
6. Baét ñaàu, döøng vaø ñieàu khieån caùc Timer:
Phöông phaùp ñôn giaûn nhaát ñeå baét ñaàu (cho chaïy) vaø döøng caùc timer laø duøng caùc bit ñieàu khieån chaïy: TRx trong TCON. TRx bò xoùa sau khi Reset heä thoáng. Nhö vaäy, caùc timer theo maëc nhieân laø bò caám (bò döøng). TRx ñöôïc ñaët leân 1 baèng phaàn meàm ñeå cho caùc timer chaïy.
TRx
Xung nhòp timer
0 = leân: timer döøng
1 = xuoáng: timer chaïy
Caùc thanh ghi timer
Vì TRx ôû trong thanh ghi TCON coù ñòa chæ bit, neân deã daøng cho vieäc ñieàu khieån caùc timer trong chöông trình. Ví duï, cho timer 0 chaïy baèng leänh:
SETB TR0
Vaø döøng baèng leänh:
CLR TRO
Trình bieân dòch seõ thöïc hieän vieäc chuyeån ñoåi kyù hieäu caàn thieát töø “TR0” sang ñòa chæ bit ñuùng. SETB TR0 chính xaùc gioáng nhö SETB 8CH.
Moät phöông phaùp khaùc ñeå ñieàu khieån caùc timer laø duøng bit GATE trong TMOD vaø ngoõ vaøo beân ngoaøi INTx. Ñaët GATE = 1 cho pheùp timer seõ ñöôïc ñieàu khieån baèng INTx. Vieäc naøy raát hieäu duïng cho vieäc ño ñoä roäng xung nhö sau: Giaû söû INT0 ôû möùc thaáp nhöng caùc xung ôû möùc cao trong khoaûng thôøi gian ño. Khôûi ñoäng timer 0 ôû cheá ñoä 2 (cheá ñoä timer 16 bit), vôùi TL0/TH0=0000H, Gate=1 vaø TR0 = 1. Khi INT0 ôû möùc cao, timer ñöôïc môû coång vaø ñöôïc caáp xung nhòp 1 MHz (neáu mC8031/8051 hoaït ñoäng ôû taàn soá 12 MHz). Khi INT0 xuoáng thaáp, timer bò ‘ñoùng coång’ vaø thôøi khoaûng cuûa xung tính baèng ms laø soá ñeám trong TL0/TH0. (Coù theå laäp trình INT0 ñeå taïo ra moät ngaét khi noù xuoáng thaáp).
Hình sau minh hoïa Timer 1 hoaït ñoäng ôû cheá ñoä 1 nhö moät timer 16 bit. Caùc thanh ghi timer TL1/TH1 vaø côø baùo traøn TF1 trong sô ñoà chæ caùc khaû naêng coù theå coù cuûa nguoàn taïo xung nhòp vaø deã cho chaïy, döøng vaø ñieàu khieån timer.
¸ 12
Boä dao ñoäng trong
0: leân
1: xuoáng
TL1
TH1
TF1
T1
TR1
GAT
INT1
0: leân
1: xuoáng
C/T
7. Khôûi ñoäng vaø truy xuaát caùc thanh ghi:
Thoâng thöôøng caùc thanh ghi ñöôïc khôûi ñoäng moät laàn ôû ñaàu chöông trình ñeå ñaït cheá ñoä laøm vieäc ñuùng. Sau ñoù, trong thaân chöông trình, caùc timer ñöôïc cho chaïy, döøng, caùc bit côù ñöôïc kieåm tra vaø xoùa, caùc thanh ghi timer ñöôïc ñoïc vaø caäp nhaät v,v… theo ñoøi hoûi cuûa caùc öùng duïng.
TMOD laø thanh ghi thöù nhaát ñöôïc khôûi ñoäng vì noù ñaët cheá ñoâï hoaït ñoäng. Ví duï caùc leänh sau khôûi ñoäng time1 nhö timer16 bit(cheá ñoä 1) coù xung nhòp töø boä dao ñoäng treân chip cho veäc ñònh khoaûng thôøi gian:
MOV TMOD = 00010000B
Neáu caàn soá ñeám ban ñaàu, caùc thanh ghi timer TL1/TH1 cuõng phaûi ñöôïc khôûi ñoäng. Nhôù laïi caùc timer ñeám leân vaø ñaët côø baùo traøn khi coù söï chuyeån tieáp FFFFH sang 0000H. moät khoaûng 100ms coù theå ñöôïc ñònh thôøi baèng caùch khôûi ñoäng trò cho TL1/TH1 laø FF9c:
MOV TL1, # 9CH
MOV TH1, # OFFH
Roài timer ñöôïc cho chaïy baèng caùch ñieàu khieån bit nhö sau:
SETB TR1
Côø baùo traøn ñöôïc töï ñoäng ñaït leân sau 100m s. Phaàn meàm coù theå ñôïi trong 100m s baèng caùch duøng leänh reõ nhaùnh coù ñieàu kieän nhaûy ñeán chính noù trong khi côø baùo traøn chöa ñöôïc ñaët leân 1:
WAIT: JMB TF1, WAIT
Khi timer traøn, caàn döøng timer vaø xoùa côø baùo traøn trong phaàn meàm:
CLR TR1
CLR TF1
* Ñoïc timer ñang chaïy:
Trong moät soá öùng duïng caàn ñoïc giaù trò trong caùc thanh ghi timer ñang chaïy. Vì phaûi ñoïc 2 thanh ghi timer, “sai pha” neáu byte thaáp traøn vaøo byte cao giöõa hai laàn ñoïc. Giaù trò coù theå ñoïc ñöôïc khoâng ñuùng. Giaûi phaùp laø ñoïc byte cao tröôùc, keá ñoù ñoïc byte thaáp roài ñoïc byte cao moät laàn nöõa. Neáu byte cao ñaõ thay ñoåi thì laëp laïi caùc hoaït ñoäng ñoïc. Caùc leänh döôùi ñaây ñoïc caùc leänh thanh ghi timer TL1/TH1 vaøo caùc thanh ghi R6/R7:
AGAIN: MOV A,TH1
MOV R6, TL1
CJNE R7, A
8. Caùc khoaûng ngaén vaø caùc khoaûng daøi:
Daûy caùc khoaûng thôøi gian coù theå ñònh thôøi laø bao nhieâu? vaán ñeà naøy ñöôïc khaûo saùt vôùi 8051/8031 hoaït doäng vôùi taàn soá 12 Mhz. Nhö vaäy xung nhòp cuûa caùc timer coù taàn soá laø 1MHz.
Khoaûng thôøi gian ngaénnhaát coù theå bò giôùi haïn khoâng chæ bôûi taàn soá xung nhòp cuûa timer maø coøn bôûi phaàn meàm. Do aûnh höôûng cuûa thôøi khoaûng thôøi gian thöïc hieän moät leänh, leänh ngaén nhaát cuûa mC8031/8051 laø moät chu kyø maùy hay 1 ms. Sau ñaây laø baûng toùm taét caùc kyõ thuaät ñeå taïo nhöõng khoaûng thôøi gian coù chieàu daøi khaùc nhau (vôùi giaû söû xung nhòp cho mC8031/8051 coù taàn soá 12MHz).
Khoaûng thôøi gian toái ña (ms )
Kyõ thuaät
10
256
65535
Khoâng giôùi haïn
Baèng phaàn meàm
Timer 8 bit vôùi töï ñoäng naïp laïi
Timer 16 bit
Timer 16 bit coäng vôùi caùc voøng laëp phaàn meàm
Caùc kyõ thuaät ñeå laäp trình caùc khoaûng thôøi gian (Fosc = 12 MHz)
C. HOAÏT ÑOÄNG CUÛA BOÄ NGAÉT (INTERRUPT):
I. GIÔÙI THIEÄU:
Moät interrupt (ngaét) laø söï xaûy ra moät ñieàu kieän – moät söï kieän, maø noù gaây treo taïm thôøi chöông trình trong ñieàu kieän coù ñöôïc phuïc vuï bôûi moät chöông trình khaùc.
Caùc Interrupt ñoùng vai troø quan troïng trong vieäc thieát keá vaø caøi ñaët caùc öùng duïng vi ñieàu khieån. Chuùng cho pheùp heä thoáng baát ñoàng boä vôùi moät söï kieän vaø giaûi quyeát moät söï kieän trong khi ñoù moät chöông trình khaùc ñang thöïc thi.
Moät heä thoáng ñöôïc ñieàu khieån baèng interrupt cho ta aûo giaùc laø laøm nhieàu vieäc ñoàng thôøi. Dó nhieân laø CPU ñoàng thôøi khoâng theå thöïc thi hôn moät leänh. Nhöng noù coù theå taïm treo vieäc thöïc thi moät chöông trình ñeå thöïc thi moät chöông trình khaùc, roài quay veà chöông trình thöù nhaát. Theo caùch naøy, interrupt gioáng nhö moät chöông trình con, nhöng coù moät khaùc bieät trong heä thoáng ñöôïc ñieàu khieån laø söï ngaét quaûng khoâng xaûy ra nhö keát quaû cuûa moät leänh, maø ñaùp öùng moät söï kieän xaûy ra baát ñoàng boä vôùi chöông trình chính. Ngöôøi ta khoâng bieát luùc naøo vaø ôû ñaâu chöông trình chính bò ngaét quaûng.
Chöông trình giaûi quyeát ngaét goïi laø chöông trình phuïc vuï ngaét (ISR: Iterrupt Service Routine) hoaëc boä xöû lyù ngaét. ISR thöïc thi ñaùp öùng ngaét vaø thoâng thöôøng thöïc hieän taùc vuï nhaäp hay xuaát vôùi moät thieát bò. Khi ngaét xaûy ra, chöông trình chính taïm thôøi bò treo vaø reõ nhaùnh ñeán ISR: ISR thi haønh vaø keát thuùc baèng leänh trôû veà ngaét. Chöông trình tieáp tuïc thöïc thi taïi choã maø noù taïm döøng. Thöôøng ngöôøi ta xem chöông trình chính thöïc thi ôû möùc neàn (cô sôû) vaø caùc ISR thöïc thi ngaét (Interrupt Level). Ngöôøi ta duøng thuaät ngöõ Foreground (phía tröôùc) (Base – Level) chæ möùc neàn vaø Background (phía sau)(Interrupt – level) chæ möùc ngaét. Hình aûnh caùc ngaét ñöôïc moâ taû trong hình sau:
CHÖÔNG TRÌNH CHÍNH
Thöïc thi chöông trình khoâng coù ngaét
C/tr chính
C/tr chính
C/tr chính
C/tr chính
ISR
ISR
ISR
*
*
*
*
*
*
*
*
*
Thöïc thi chöông trình coù ngaét * : goïi ngaét
** : quay veà töø ngaét
II. TOÅ CHÖÙC NGAÉT CUÛA mC8031/8051:
Thaät söï taát caû caùc nguoàn ngaét ôû mC8031/8051: 2 ngaét ngoaøi, 2 töø timer vaø moät ngaét Port noái tieáp. Taát caû caùc ngaét theo maëc nhieân ñeàu bò caám sau khi Reset heä thoáng vaø ñöôïc cho pheùp baèng phaàn meàm.
Khi coù 2 hoaëc nhieàu ngaét ñoàng thôøi, 1 ngaét xaûy ra trong khi 1 ngaét khaùc ñang ñöôïc phuïc vuï, coù caû 2 söï tuaàn töï hoûi voøng vaø sô ñoà öu tieân 2 möùc duøng ñeå xaùc ñònh thöïc hieän ngaét. Vieäc hoûi voøng tuaàn töï thì coá ñònh nhöng öu tieân ngaét thì coù theå laäp trình ñöôïc.
1. Cho pheùp vaø caám caùc ngaét: (Enabling and Daibling Interrupt)
Moãi nguoàn Interrup ñöôïc cho pheùp hoaëc caám töøng ngaét qua moät thanh ghi chöùc naêng ñaët bieät coù ñòa chæ bit IE (Interrupt Enable) ôû ñòa chæ A8H. Cuõng nhö xaùc ñònh bit cho pheùp rieâng bieät cho moãi nguoàn ngaét, coù moät bit cho pheùp/caám toaøn boä ñöôïc xoùa ñeå caám hoaøn toaøn caùc ngaét ñöôïc xeùt (ñaët leân 1) ñeå cho pheùp taát caû caùc ngaét.
Bit
Kyù hieäu
Ñòa chæ bit
Moâ taû (1 = cho pheùp, 0=caám)
IE.7
EA
AFH
Cho pheùp / caám toaøn boä
IE.6
_
AEH
Khoâng ñöôïc ñònh nghóa
IE.5
ET2
ADH
Cho pheùp ngaét töø timer 2(8052)
IE.4
ES
ACH
Cho pheùp ngaét Port noái tieáp
IE.3
ET1
ABH
Cho pheùp ngaét töø timer 1
IE.2
EX1
AAH
Cho pheùp ngaét ngoaøi
IE.1
ET0
A8H
Cho pheùp ngaét töø timer 0
IE.0
EX0
A8H
Cho pheùp ngaét ngoaøi 0
Baûng: Toùm taét thanh ghi IE
Hai bit phaûi ñöôïc ñaët leân moät ñeå cho pheùp baát kyø ngaét naøo: bit cho pheùp rieâng vaø bit cho pheùp toaøn boä.Ví duï caùc ngaét töø timer ñöôïc cho pheùp nhö sau:
SETB ET1 ; Cho pheùp ngaét töø timer 1.
SETB EA ; Ñaët bit cho pheùp toaøn boä.
Hoaëc : MOV IE, #10001000B.
Maëc duø hai caùch naøy coù cuøng moät hieäu quaû sau khi reset heä thoáng nhöng hieäu quaû seõ khaùc neáu IE ñöôïc ghi giöõa chöông trình. Caùch thöù nhaát khoâng aûnh höôûng tôùi 5 bit trong thanh ghi IE, traùi laïi caùch thöù hai seõ xoùa caùc bit khaùc. Neân khôûi trò IE theo caùch thöù hai ôû ñaàu chöông trình (nghóa laø sau khi môû maùy hoaëc reset heä thoáng), nhöng cho pheùp vaø caám caùc ngaét ngay trong chöông trình neân duøng caùch thöù nhaát ñeå traùnh aûnh höôûng ñeán caùc bit khaùc trong thanh ghi IE.
2. Öu tieân ngaét (IP: Interrupt Priority)
Moãi nguoàn ngaét ñöôïc laäp trình rieâng vaøo moät trong hai möùc öu tieân qua thanh ghi chöùc naêng ñaëc bieät ñöôïc ñòa chæ bit IP ôû ñòa chæ B8H.
Bit
Kyù hieäu
Ñòa chæ bit
Moâ taû (1= möùc cao hôn, 0 = möùc thaáp hôn)
IP.7
BFH
Khoâng ñöôïc ñònh nghóa
IP.6
_
BEH
Khoâng ñöôïc ñònh nghóa
IP.5
PT2
BDH
Öu tieân cho ngaét töø timer 2 (8052)
IP.4
PS
BCH
Öu tieân cho ngaét töø port noái tieáp
IP.3
PT1
BAH
Öu tieân cho ngaét töø timer1
IP.2
PX1
BAH
Öu tieân cho ngaét ngoaøi
IP.1
PT0
B9H
Öu tieân cho ngaét töø timer 0
IP.0
PX0
B8H
Öu tieân cho ngaét ngoaøi 0
Baûng: Toùm taét thanh ghi IP.
IP bò xoùa sau khi reset heä thoáng ñeå (maëc nhieân) ñaët taát caû caùc ngaét ôû möùc öu tieân thaáp hôn. YÙ töôûng “öu tieân” cho pheùp moät ISR seõ bò ngaét bôûi moät ngaét coù ñoä öu tieân cao hôn ngaét ñang phuïc vuï. Ñieàu naøy thì roõ raøng treân mC8051/8031, vì chæ coù hai möùc öu tieân. Neáu moät ISR coù möùc öu tieân thaáp ñang thöïc thi khi moät ngaét coù öu tieân cao xaûy ra thì ISR bò ngaét. ISR cao hôn khoâng bò ngaét.
Chöông trình möùc thöïc thi ôû möùc neàn (Base-Lavel) vaø khoâng lieân heä vôùi baát cöù ngaét naøo, coù theå luoân luoân bò ngaét quaûng baát cöù öu tieân cuûa ngaét. Neáu hai Interrupt (ngaét) coù öu tieân khaùc nhau xaûy ra ñoàng thôøi thì Interrupt (ngaét) coù ñoä öu tieân cao hôn ñöôïc phuïc vuï tröôùc.
3. Hoûi voøng tuaàn töï (Polling Sequence):
caäp nhaäp ngaét
IE1
EX0
ET0
EX1
ET1
ES
PX0
PT0
PX1
PT1
PS
IE0
IE1
IE0
INT0
INT1
IT0
IT1
RI
T1
0
1
1
1
0
0
1
0
1
0
0
1
1
0
caùc cho pheùp ngaét
cho pheùp toaøn boä
tuaàn töï hoûi voøng ngaét
ngaét öu tieân cao
ngaét öu tieân thaáp
Toång theå ngaét mC
Neáu hai ngaét coù cuøng ñoä öu tieân xaûy ra ñoàng thôøi, söï hoûi voøng tuaàn töï seõ xaùc ñònh caùi naøo ñöôïc phuïc vuï tröôùc tieân. Hoûi voøng tuaàn töï laø beân ngoaøi 0, timer0, beân ngoaøi, timer1, port noái tieáp vaø timer.
Hình döôi ñaây minh hoïa 5 nguoàn ngaét, cô cheá rieâng bieät vaø toaøn boä, hoûi voøng tuaàn töï vaø caùc möùc öu tieân. Traïng thaùi cuûa taát caû caùc nguoàn ngaét khaû duïng qua caùc bit côø töông öùng trong caùc ISR (Special funetyon Registers). Dó nhieân neáu coù baát kyø ngaét naøo bò caám ngaét khoâng xaûy ra, nhöng phaàn meàm vaãn coù theå kieåm tra côø ngaét. Caùc thí duï veà timer vaø port noái tieáp trong caùc muïc tröôùc ñaõ söû duïng caùc côø ngaét moät caùch môû roäng maø khoâng duøng ngaét.
Ngaét Port noái tieáp coù töø Logic OR cuûa ngaét thu (RI) vaø phaùt (TI). Caùc bit côø taïo caùc ngaét ñöôïc toùm taéc trong baûng sau:
Ngaét
Côø
Thanh ghi SER vaø vò trí bit
Beân ngoaøi 0
IE0
TCON.1
Beân ngoaøi 1
IE1
TCON.3
Timer 0
TF0
TCON.5
Timer 1
TF1
TCON.7
Port noái tieáp
TI
SCON.1
Port noái tieáp
RI
SCON.0
III. XÖÛ LYÙ NGAÉT (Processing Interrupt):
Khi ngaét xaûy ra vaø CPU chaáp thuaän, chöông trình chính ngaét quaûng nhöõng hoaït ñoäng sau ñaây xaûy ra:
+ Leänh hieän haønh hoaøn taát vieäc thöïc thi.
+ Caáp PC vaøo ngaên xeáp.
+ Traïng thaùi ngaét hieän haønh ñöôïc caát vaøo beân trong.
+ Caùc ngaét bò chaën ôû möùc ngaét.
+ Naïp vaøo PC ñòa chæ vectorcuûa ISR.
+ ISR thöïc thi.
ISR thöïc thi vaø ñaùp öùng ngaét. ISR hoaøn taát baèng leänh RET1 (quay veà töø ngaét). Ñieàu naøy laøm laáy laïi giaù trò cuõ PC töø ngaên xeáp vaø laáp laïi traïng thaùi ngaét cuõ. Thöïc thi chöông trình chính ôû choã maø noù bò döøng.
Caùc vector ngaét (Interrupt Vectors):
Khi chaáp nhaän ngaét, giaù trò ñöôïc naïp vaøo PC ñöôïc goïi laø vector ngaét. Noù laø ñòa chæ baét ñaàu cuûa ISR cho nguoàn taïo ngaét. Caùc vector ngaét ñöôïc cho baûng sau:
Ngaét
Côø
Ñòa chæ vector
Reset heä thoáng
RST
0000H
Beân ngoaøi 0
IE0
0003H
Timer 0
TF 0
000BH
Beân ngoaøi 1
IE 1
0013H
Timer 1
TF 1
001BH
Port noái tieáp
T1 hoaëc R1
0023H
Baûng : Caùc vector ngaét
Vector Reset heä thoáng (RST ôû ñòa chæ 0000H) ñöôïc ñeå trong baûng naøy vì theo nghóa naøy noù gioáng Interrupt: noù ngaét chöông trình chính vaø naïp giaù trò môùi cho PC.
Khi “chæ ñeán moät ngaét”, côø gaây ra ngaét töï ñoäng bò xoùa bôûi phaàn cöùng. Caùc ngoaïi leä laø RI vaø TI vôùi caùc ngaét port noái tieáp vaø TF2, EXF2 vôùi caùc Interruput Time. Vì coù hai nguoàn coù theå cho moãi ngaét naøy, khoâng thöïc teá ñeå CPU xoùa côø ngaét. Caùc bit naøy phaûi ñöôïc kieåm tra trong ISR ñeå xaùc ñònh nguoàn ngaét vaø côø taïo ngaét seõ ñöôïc xoùa baèng phaàn meàm. Thoâng thöôøng moät reõ nhaùnh xaûy ra vôùi moät phaûi öùng thích hôïp, phuï thuoäc vaøo nguoàn ngaét.
Vì caùc vector ngaét ôû phaàn ñaàu cuûa boä nhôù chöông trình, neân leänh thöù nhaát cuûa chöông trình chính thöôøng laø leänh nhaûy qua chöông trình chính naøy. Ví duï nhö leänh LJMP 0030H.
IV. THIEÁT KEÁ CHÖÔNG TRÌNH DUØNG CAÙC NGAÉT:
Caùc ví duï trong caùc muïc tröoùc ñaõ khoâng söû duïng caùc ngaét nhöng ñaõ coù voøng laëp ñôïi ñeå kieåm tra caùc côø baùo traøn (TFO hoaëc TF1) hoaëc caùc côø thu vaø côø phaùt Port noái tieáp (TI vaø RI). Vaán ñeà trong phöông phaùp naøy laø thôøi gian thöïc thi coù gía trò cuûa CPU hoaøn toaøn khoâng bò tieâu toán trong vieäc ñôïi caùc côø. Ñieàu naøy hoaøn toaøn khoâng thích hôïp vôùi caùc öùng duïng cuûa vi ñieàu khieån, trong ñoù boä vi ñieàu khieån phaûi töông taùc vôùi nhieàu thieát bò xuaát nhaäp ñoàng thôøi.
Trong phaàn naøy ta seõ khaûo saùt caùch phaùt trieån chöông trình duøng vi ñieàu khieån.
Khung ñeà nghò cho moät chöông trình phuïc vuï ngaét nhö sau:
ORS 0000H ; ñieåm vaøo Reset.
Ljmp main; caùc ñieåm vaøo ISR.
Org 0030H; ñieåm vaøo chöông trình chính.
Main: chöông trình chính baét ñaàu.
Leänh thöù nhaát nhaûy tôùi ñòa chæ 0030H, vöøa treân caùc vò trí maø caùc ISR baét ñaàu. Nhö ñöôïc veõ hình sau, chöông trình chính baét ñaàu ôû ñòa chæ 0030H.
Chöông trình chính
Caùc ñieåm vaøo Reset
vaø ngaét
LJMP main
FFFFH
0030H
0029H
0000H
Hình : Toå chöùc boä nhôù khi duøng caùc ngaét
1.Chöông trình phuïc vuï ngaét coù kích thöôùc nhoû :
Caùc chöông trình phuïc vuï ngaét phaûi baét ñaàu ôû gaàn phaàn ñaàu cuûa boä nhôù chöông trình ôû caùc ñòa chæ trong baûng caùc vectôr ngaét. Maët duø coù 8 byte ôû caùc ñieåm vaøo ngaét, thöôøng ñuû boä nhôù ñeå thöïc hieän caùc hoaït ñoäng mong muoán vaø quay veà chöông trình chính töø IRS.
Neáu chæ coù moät nguoàn ngaét ñöôïc söû duïng, ví duï timer 0, thì coù theå söû duïng khung sau:
ORS 000H; Reset
LJMP MAIN
ORG 000BH; ñieåm vaøo time 0
TOIRS: ; ISR cho time 0 baét ñaàu.
RETI; quay veà chöông trình chính.
MAIN: Chöông trình chính.
Neáu söû duïng nhieàu ngaét phaûi ñaûm baûo laø chuùng phaûi baét ñaàu töø vò trí ñuùng vaø khoâng chaïy qua ISR keá. Vì chæ coù moät ngaét ñöôïc söû duïng trong ví duï treân, chöông trình chính coù theå baét ngay sau leänh RETI.
2. Caùc chöông trình phuïc vuï ngaét coù kích thöôùc lôùn:
Neáu ISR daøi hôn 8 byte, coù theå caàn chuyeån noù tôùi moät nôi naøo ñoù trong boä nhôù chöông trình hoaëc coù theå ñeå noù ñi loá qua ñieåm vaøo cuûa ngaét keá. Tieâu bieåu laø ISR baét ñaàu vôùi leänh nhaûy ñeán vuøng nhôù khaùc ôû ñoù coù theå môû roäng chieàu daøi caùc ISR. Ví duï luùc naøy chæ xeùt timer 0, coù theå söû duïng khung sau:
ORS 000H; Reset
LJMP MAIN
ORG 000BH; caùc vector ngaét tieáp theo.
MAIN:
TOISR: ; ISR cho time 0.
RETI: ; quay veà chöông trình chính.
Ñeå ñôn giaûn chöông trình chæ laøm veäc moät luùc ban ñaàu. Chöông trình khôûi ñoäng Timer, Port noái tieáp vaø caùc thanh ghi ngaét cho thích hôïp vaø roài khoâng laøm gì caû. Coâng veäc ñöôïc hoaøn toaøn laøm trong ISR. Sau caùc khôûi ñoäng, chöông trình chöùa caùc leänh sau:
HERE: SJMP HERE
Hay daïng vieát gaén goïn:
SJMP
Khi ngaét xaûy ra, chöông trình chính bò ngaét quaûng taïm thôøi trong khi ISR thöïc thi. Leänh RETIôû cuoái ISR traû ñieàu khieån veà chöông trình chính vaø noù tieáp tuïc khoâng laøm gì caû. Trong nhieàu öùng duïng ñieàu khieån, nhieàu coâng vieäc thaät ra ñöôïc thöïc hieän hoaøn toaøn trong ISR.
Vì söû duïng ngaét, neân leänh SJMP (HERE: SJMP HERE) coù theå ñöôïc thay theá baèng caùc leänh thöïc hieän coâng vieäc khaùc trong öùng duïng.
V. CAÙC NGAÉT CUÛA mC8051/8031:
1. Caùc ngaét Timer:
Caùc ngaét timer coù ñòa chæ vertor ngaét laø 000BH (Timer 0) vaø 001BH (Timer1). Ngaét Timer xaûy ra khi caùc thanh ghi Timer (TLX/THX) traøn vaø set caùc côø baùo traøn (TFX) leân 1.
Chuù yù raèng caùc côø Timer (TFX) khoâng bò xoùa baèng phaàn meàm. Khi cho pheùp ngaét, töï ñoäng bò xoùa baèng phaàm cöùng khi CPU chuyeån ñeán ngaét.
2. Caùc ngaét coång noái tieáp:
Ngaét coång noái tieáp xaûy ra khi côø ngaét phaùt (TI) hoaëc côø ngaét thu (RI) ñöôïc ñaët leân 1. Ngaét phaùt xaûy ra khi truyeàn moät kyù töï vöøa ñöôïc ghi vaøo SBUF. Ngaét thu xaûy ra khi moät kyù töï ñaõ ñöôïc nhaän xong vaø ñang ñôïi trong SBUF ñöôïc ñoïc.
Ngaét coång noái tieáp hôi khaùc vôùi caùc ngaét Timer. Côø gaây ngaét coång noái tieáp khoâng bò xoùa baèng phaàn cöùng khi CPU chuyeån tôùi ngaét. Nguyeân do laø coù hai nguoán coång ngaét noái tieáp: TI vaø RI. Nguoàn ngaét phaûi ñöôïc xaùc ñònh trong ISR vaø côø taïo ngaét seõ ñöôïc xoùa baèng phaàn meàm.
3. Caùc ngaét ngoaøi:
Caùc ngaét xaûy ra khi coù moät möùc thaáp hoaëc caïnh xuoáng treân chaân INT0 hoaëc INT1 cuûa mC8051/8031. Ñaây laø chöùc naêng chuyeån ñoåi cuûa caùc bit Port 3: P3.2 (Chaân 12) vaø P3.3 (chaân 13).
Caùc côø taïo ngaét laø caùc bit IE0 vaø IE1 trong TCON. Khi quyeàn ñieàu khieån ñaõ chuyeån ñeán ISR, côø taïo ngaét chæ ñöôïc xoùa neáu ngaét ñöôïc tích cöïc ôû caïnh xuoáng. Neáu ngaét ñöôïc tích cöïc theo möùc, thì nguoàn yeâu caàu ngaét beân ngoaøi seõ ñieàu khieån möùc cuûa côø thay cho phaàn cöùng.
Söï löïa choïn ngaét tích cöïc möùc thaáp hay tích cöïc caïnh xuoáng ñöôïc laäp trình qua caùc bit IT0 vaø IT1 trong TCON. Ví duï, neáu IT1 = 0, ngaét ngoaøi 1 ñöôïc kích khôûi baèng möùc thaáp ôû chaân INT1. Neáu IT1 = 1, ngaét ngoaøi 1 ñöôïc kích khôûi baèng caïnh. Trong cheá ñoä naøy, neáu caùc maãu lieân tieáp treân chaân INT1 chæ möùc cao trong moät chu kyø vaø thaáp trong moät chu kyø keá, côø yeâu caàu ngaét IE1 trong TCON ñöôïc ñaët leân moät. Roài bit côø IE2 yeâu caàu ngaét.
Vì caùc chaân ngaét ngoaøi ñaõ ñöôïc laáy maãu moät laàn ôû moãi chu kyø maùy, ngoõ vaøo neân ñöôïc giöõ trong toái thieåu 12 chu kyø dao ñoäng ñeå ñaûm baûo laáy maãu ñuùng. Neáu ngaét ngoaøi ñöôïc taùc ñoäng theo caïnh xuoáng, nguoàn beân ngoaøi seõ giöû chaân yeâu caøu cao toái thieåu 1 chu kyø vaø giöõ noù ôû möùc thaáp moät chu kyø nöõa ñeå phaùt hieän ñöôïc caïnh xuoáng. IE1 vaø IE0 töï ñoäng ñöôïc xoùa khi CPU chuyeån tôùi ngaét.
Neáu ngaét ngoaøi ñöôïc taùc ñoäng theo möùc, nguoàn beân ngoaøi phaûi giöõ yeâu caàu taùc ñoäng cho ñeán khi ngaét ñöôïc yeâu caàu thöï c söï ñöôïc taïo ra. Roài noù phaûi taùc ñoäng yeâu caàu tröôùc khi ISR ñöôïc hoaøn taát, neáu khoâng moät ngaét moät ngaét seõ ñöôïc laäp laïi. Thoâng thöôøng khi vaøo ISR ngöôøi ta laøm nguoàn yeâu caàu ñöa tín hieäu taïo ngaét veà traïng thaùi khoâng taùc ñoäng.
D. TAÄP LEÄNH CUÛA mC8051/8031:
Taäp leänh cuûa mC8051/8031 goàm coù 225 leänh goàm 139 leänh moät byte, 92 leänh byte vaø 24 leänh 3 byte.
I. CAÙC CHEÁ ÑOÄ ÑAÙNH ÑÒA CHÆ:
Trong taäp leänh coù 8 cheá ñoä ñaùnh ñòa chæ:
1. Ñòa chæ thanh ghi (Register Addressing):
mC 8051/8031coù boán bank thanh ghi, moãi bank thanh ghi coù 8 thanh ghi ñaùnh töø R0 ñeán R7. Taïi moãi thôøi ñieåm chæ coù moät bank thanh ghi ñöôïc tích cöïc. Muoán choïn bank thanh ghi naøo ta chæ caàn gaùn caùc bit nhò phaân thích hôïp vaøo RSI(PSW.4) vaø PRO(PSW.3) trong thanh ghi traïng thaùi chöông trình (PSW).
Ngoaøi ra, moät thanh ghi coù chöùc naêng ñaëc bieät nhö 8 thanh ghi tích luõy, con troû döõ lieäu,…… cuõng ñöôïc xaùc ñònh trong caùc leänh neân khoâng caàn caùc bit ñòa chæ. Trong caùc leänh naøy thanh ghi tích luõy ñöôïc kyù hieäu laø”A”, con troû döõ lieäu laø”DTPR”, thanh ghi ñeám chöông trình “PC”, côø nhôù laø”C”, caëp thanh ghi tích luõy laø”A,B”.
Maõ leänh
n
n
Ñòa chæ thanh ghi.
2. Ñòa chæ tröïc tieáp (Direct Addressing):
Trong cheá ñoä naøy, caùc thanh ghi beân trong mC8051/8031 ñöôïc ñaùnh ñòa chæ tröïc tieáp baèng 8 bit ñòa chæ naèm trong byte thöù hai cuûa maõ leänh.
n
Ñòa chæ tröïc tieáp
Maõ leänh
Ñòa chæ tröïc tieáp
Duø vaäy trình töï hôïp dòch cho pheùp goïi teân caùc thanh ghi coù chöùc naêng ñaëc bieät (coù ñòa chæ tröïc tieáp töø 80H ñeán FFH). Ví duï, Port cho Port 0, TMOD cho thanh ghi cheá ñoä Timer,…
3. Ñòa chæ giaùn tieáp (Indirect Addressing):
RO vaø RI ñöôïc duøng ñeå chæ ñòa chæ oâ nhôù maø taùc ñoäng ñeán. Ngöôøi ta qui öôùc duøng daáu @ tröôùc RO vaø RI
Maõ leänh
i
Ñòa chæ giaùn tieáp
4. Ñòa chæ töùc thôøi:
Ngöôøi ta duøng daáu # tröôùc toaùn haïng töùc thôøi.Caùc toaùn haïng ñoù coù theå laø moät haèng soá, moät kyù soá hay moät bieåu thöùc toaùn hoïc… Trình hôïp dòch seõ töï ñoäng tính toaùn vaø thay theá döõ lieäu tröïc tieáp vaøo maõ leänh.
Maõ leänh
Döõ lieäu töùc thôøi
Ñòa chæ töùc thôøi
5. Ñòa chæ töông ñoái (Relaytive Addessing):
Ñòa chæ töông ñoái ñöôïc duøng trong caùc leänh nhaûy. mC8031/8051 duøng giaù trò 8 bit coù daáu ñeå coäng thanh ñeám chöông trình (PC). Taàm nhaûy cuûa leänh naøy trong khoaûng töø –128 ñeán 127 oâ nhôù. Tröôùc khi coäng, thanh ghi PC seõ taêng ñeán ñòa chæ cuûa leänh nhaûy roài tính toaùn ñòa chæ offset caàn thieát ñeå nhaûy ñeán ñòa chæ yeâu caàu. Nhö vaäy ñòa chæ môùi laø ñòa chæ töông ñoái so vôùi leänh keá chöù khoâng phaûi leänh nhaûy. Thöôøng leänh naøy coù lieân quan ñeán nhaõn ñöôïc ñònh nghóa tröôùc.
Maõ leänh
offset töông ñoái
Ñòa chæ töông ñoái
6. Ñòa chæ tuyeät ñoái (Absolute Addessing):
Ñòa chæ tuyeät ñoái duøng trong caùc leänh ACALL vaø AJMP. Caùc leänh 2 Byte duøng ñeå reõ nhaùnh vaøo moät trang 2 Kbyte cuûa boä nhôù chöông trình baèng caùch caáp 11 bit ñòa chæ thaáp (A0..A10) ñeå xaùc ñònh ñòa chæ ñích trong trang maõ. Coøn 5 bit cao cuûa ñòa chæ ñích (A11..A15) chính laø 5 bit cao hieän haønh trong thanh ghi ñeám chöông trình. Vì vaäy, ñòa chæ cuûa leänh theo sau leänh reõ nhaùnh vaø ñòa chæ ñích cuûa leänh reõ nhaùnh caàn phaûi cuøng trang maõ 2KByte (coù cuøng 5 bit ñòa chæ cao).
Maõ leänh
offset töông ñoái
A10
A15
A11
A10
A0
Xaùc ñònh trang maõ
Xaùc ñònh ñòa chæ töông ñoái trong maõ
Ñòa chæ tuyeät ñoái
7. Ñòa chæ daøi (Long Addressing):
Ñòa chæ daøi duøng cho leänh LCALL vaø LJMP. Caùc leänh naøy chieám 3 byte vaø duøng 2 byte sau (byte 2 vaø byte 3) ñeå xaùc ñònh ñòa chæ ñích cuûa leänh (6bit). Öu ñieåm cuûa leänh naøylaø coù theå söû duïng trong toaøn vuøng nhôù 64KB. Tuy nhieân, leänh naøy chieám nhieàu byte vaø phuï thuoäc vaøo vò trí oâ nhôù.
Maõ leänh
A15-A8
A7-A0
Ñòa chæ daøi
8. Ñòa chæ tham chieám:
Ñòa chæ tham chieáu duøng moät thanh ghi cô baûn (hoaëc thanh ghi ñeám chöông trình PC hoaëc thanh ghi con troû döõ lieäu DPTR) vaø ñòa chæ offset (trong thanh ghi tích luõy A) ñeå taïo ñòa chæ ñöôïc taùc ñoäng cho caùc leänh JMP hoaëc MOVC. Caùc baûng nhaûy vaø baûng tìm kieám deã daøng ñöôïc taïo ra ñeå söû duïng ñòa chæ tham chieáu.
PC hoaëc DPTR
ACC
Ñòa chæ ñöôïc taùc ñoäng
Offset
Ñòa chæ cô baûn
+
=
Ñòa chæ tham chieáu
II. KHAÛO SAÙT TAÄP LEÄNH 8051:
1. Caùc nhoùm leänh:
Leänh coù theå chia thaønh nhieàu nhoùm theo nhieàu caùch. Cusman ñeà nghò theo 4 caùch sau:
Nhoùm leänh xöû lyù döõ lieäu: taùc ñoäng leân döõ lieäu theo nhieàu caùch bao goàm:
Leänh soá hoïc.
Leänh luaän lyù.
Leänh so saùnh .
Leänh dòch.
Leänh ñaëc bieät.
Nhoùm leänh truyeàn döõ lieäu: di chuyeån töø nôi naøy sang nôi khaùc trong maïch thieát keá maø khoâng laøm thay ñoåi döõ lieäu nhö sau:
Leänh truyeàn boä nhôù.
Leänh xuaát nhaäp.
Leänh ngaên xeáp.
Nhoùm leänh kieåm soaùt chöông trình: chuyeån ñieàu khieån töø nôi naøy sang nôi khaùc ñeå ñaït ñeán leänh mong muoán:
Leänh nhaûy khoâng ñieàu kieän.
Leänh nhaûy coù ñieàu kieän.
Leänh goïi chöông trình con.
Leänh döøng vaø khoâng hoaït ñoäng.
Nhoùm leänh kieåm soaùt traïng thaùi: nhaèm thay ñoåi tình traïng cuûa maïch thieát keá maø khoâng aûnh höôûng ñeán döõ lieäu hay thöù töï thöïc hieän leänh.
2. Caùc leänh soá hoïc:
a. Leänh coäng:
ADD A,7FH ( ñònh vò tröïc tieáp)
ADD A,@RO ( ñònh vò giaùn tieáp)
ADD A,R7
b. Leänh nhaân:
MUL A,B
Seõ nhaân caùc giaù trò khoâng daáu 8 bit ôû thanh ghi A vaø thanh ghi B keát quaû laø 16 bit ñem caùc vaøo phaàn 8 bit thanh ghi Avaø phaàn cao 8 bit ghi thanh B.
c. Leänh chia:
DIV A,B
Seõ ñem giaù trò ôû thanh ghi A chia cho giaù trò ôû thanh ghi bit, keát quaû ñöôïc caát ôû thanh ghi A,vaø phaàn dö seõ caát ôû thanh ghi B.
d. Caùc leänh luaän lyù:
AND A,55H (ñònh vò tröïc tieáp)
AND A,@RO (ñònh vò giaùn tieáp)
AND A,R6 (ñònh vò thanh ghi)
AND A,#33H (ñònh vò töùc thôøi)
Ngoaøi ra coøn goàm caùc leänh luaän lyù töông töï nhö: OR, XOR, NOT. Taát caû caùc leänh naøy ñeàu ñöôïc thöïc hieän treân caùc byte döõ lieäu cô sôû vaø caùc bit cuûa töøng byte.
e. Nhoùm leänh truyeàn döõ lieäu:
Truyeàn beân trong boä nhôù:
Daïng leänh: MOV ,
Leänh naøy cho pheùp di chuyeån döõ lieäu giöõa hai vò trí beân trong boä nhôù hay thanh ghi chöùc naêng ñaëc bieät maø khoâng caàn thoâng qua thanh ghi löu tröõ.
Daïng leänh trao ñoåi döõ lieäu cho nhau:
XCH A,
Leänh naøy baét thanh ghi A vaø byte ñòa chæ trao ñoåi döõ lieäu cho nhau.
Truyeàn boä nhôù ngoaøi:
Caùc leänh di chuyeån döõ lieäu giöõa boä nhôù trong vaø boä nhôù ngoaøi nhôø söï ñònh ñòa chæ tröïc tieáp.
Caùc leänh luaän lyù xöû lyù treân bit:
Leänh SETB P1.7 ( laäp möùc logic1 ôû bit 7 coång 1)
Leänh CLR P1.7 ( laäp möùc logic 0 ôû bit 7 coång 1)
Leänh di chuyeån döõ lieäu moät thanh ghi côø ñeán coång.
MOV C, FLAG
MOV P1.0,C
Nhoùm leänh reõ nhaùnh chöông trình:
Leänh nhaûy khoâng ñieàu kieän.
Leänh RETI trôû veà töø chuông trình phuïc vuï ngaét.
CHÖÔNG III: KHAÛO SAÙT IC THU PHAÙT TONE MT8880:
MT8880 laø moät IC thu phaùt DTMF troïn boä keøm theo moät boä loïc thoaïi (Call Progress Filter). Boä thu DTMF döïa treân kyõ thuaät chuaån cuûa IC MT8870, coøn goïi laø boä phaùt DTMF söû duïng phöông phaùp bieán ñoåi D/A bieán dung (Swiched Capacitor) cho ra tín heäu DTMF chính xaùc, ít nhieãu. Caùc boä ñeám beân trong giuùp hình thaønh cheá ñoä Brust Mode nhôø vaäy caùc caëp tone xuaát ra vôùi thôøi haèng chính xaùc. Boä loïc Call Progress cho pheùp boä vi xöû lyù phaân tích caùc tone traïng thaùi ñöôøng daây. Bus chuaån cuûa noù keát hôïp MPU vaø ñaëc bieät thích hôïp hoï 6800 cuûa Motorola. MT8880 coù 5 thanh ghi beân trong ñeå giao tieáp vôùi mP, coù theå chia laøm 3 loaïi:
Nhaän phaùt data: 2 thanh ghi.
Thanh ghi traïng thaùi.
Nhaän töø ñieàu khieån: 2 thanh ghi.
I. MOÂ TAÛ CHÖÙC NAÊNG:
IC phaùt tone MT8880 bao goà boä thu DTMF chaát löôïng cao (keøm boä khueách ñaïi) vaø moät boä taïo DTMF söû duïng BUST COUNTER giuùp cho vieäc toång hôïp ñoùng ngaét tone ñöôïc chính xaùc. Ngoaøi ra ta coù theå choïn cheá ñoä CALL PROGRESS ñeå giuùp phaùt hieän caùc taàn soá naèm trong giaûi thoâng thoaïi. Ñoù laø caùc tín hieäu traïng thaùi ñöôøng daây.
II. CAÁU HÌNH NGOÕ VAØO:
Thieát keá ñaàu vaøo cuûa MT8880 cung caáp moät boä khueách ñaïi OPAMP ngoõ vaøo vi sai cuõng nhö moät ngoõ vaøo VREF ñeå ñieàu chænh thieân aùp cho ñaàu vaøo taïi VDD/2. Chaân GS giuùp noái ngoõ ra boä khueách ñaïi vôùi ngoõ vaøo qua moät ñieän trôû ngoaøi ñeå ñieàu chænh ñoä lôïi.
Boä thu:
Hai boä loïc baêng thoâng baäc 6 giuùp taùch caùc tone trong caùc nhoùm tone LOW vaø HIGH. Ñaàu ra moãi boä loïc ñieän dung giuùp naén daïng tín hieäu tröôùc khi qua boä haïn bieân. Vieäc haïn bieân ñöôïc ñaûm nhieäm bôûi boä so saùnh (Comparator) coù keøm theo boä treã ñeå traùnh choïn laàm tín hieäu möùc thaáp khoâng mong muoán. Ñaàu ra cuûa boä so saùnh cho ta caùc dao ñoäng coù möùc logic taïi taàn soá DTMF thu ñöôïc.
Tieáp theo phaàn loïc laø boä giaûi maõ söû duïng kyõ thuaät ñeám soá ñeå kieåm tra taàn soá cuûa caùc tone thu ñöôïc vaø baûo ñaûm chuùng töông öùng vôùi caùc taàn soá DTMF chuaån. Moät kyõ thuaät laáy trung bình phöùc giuùp loaïi tröø caùc tone giaû taïo thaønh do tieáng noùi trong khi vaãn ñaûm baûo moät khoaûng bieán ñoäng cho tone thu do bò leäch. Khi boä kieåm tra nhaän daïng ñöôïc hai tone ñuùng thì ñaàu ra “early steering” (Est) seõ leân möùc Active. Luùc khoâng nhaän ñöôïc tín hieäu tone thì Est seõ leân möùc Inactive.
1. Maïch STEERING:
VDD
St/GT
Est
MT8880
R1
C1
VDD
Hình 5.2: Maïch steering
Tröôùc khi thu nhaän moät caëp tone ñaõ giaûi maõ, boä thu phaûi kieåm tra xem thôøi haèng cuûa tín hieäu coù ñuùng khoâng. Vieäc kieåm tra naøy ñöôïc thöïc hieän bôûi moät boä RC maéc ngoaøi. Khi Est leân HIGH laøm cho Vc taêng leân khi tuï xaû. Khi maø Est vaãn coøn HIGH trong moät thôøi ñoaïn hôïp leä (tone) thì Vc tieán tôùi möùc ngöôõng Vtst cuûa logic Steering ñeå nhaän moät caëp tone vaø choát 4 bit maõ töông öùng vôùi noù vaøo thanh ghi Receive Data Register. Luùc naøy, ñaàu ra GT ñöôïc kích hoaït vaø ñaåy Vc leân tôùi VDD. Cuoái cuøng sau moät thôøi gian delay ngaén cho pheùp vieäc choát Data thöïc hieän xong thì côø cuûa maïch Steering leân HIGH baùo hieäu raèng caëp tone thu ñöôïc ñaõ ñöôïc löu vaøo thanh ghi. Ta coù theå kieåm tra bit töông öùng trong thanh ghi traïng thaùi. Neáu ta cho Mode Interrup thì chaân IRQ/CP seõ xuoáng LOW khi côø naøy ñöôïc kích hoaït.
Döõ lieäu thu ñöôïc seõ ñi ra Databus (2 chieàu) khi thanh ghi Receive Data ñöôïc ñoïc. Maïch steering laïi hoaït ñoäng nhöng theo chieàu ngöôïc laïi ñeå kieåm tra khoaûng döøng giöõa hai soá ñöôïc quay. Vì vaäy boä thu vöøa boû qua tín hieäu quaù ngaén khoâng hôïp leä vöøa khoâng chaáp nhaän caùc khoaûng ngaét quaù nhoû khoâng theå coi laø khoaûng döøng giöõa caùc soá. Chöùc naêng naøy, cuõng nhö khaû naêng choïn thôøi haèng Steering baèng maïch ngoaøi cho pheùp ngöôøi thieát keá ñieàu chænh hoaït ñoäng cho phuø hôïp vôùi caùc ñoøi hoûi khaùc nhau cuûa töøng öùng duïng.
2. BOÄ LOÏC THOAÏI:
Mode CALL PROGRESS khi ñöôïc choïn thì cho pheùp kieåm tra caùc tone khaùc nhau theå hieän traïng thaùi ñöôøng daây. Ñaàu vaøo cuûa Call Progress vaø mode tone DTMF laø chung nhöng tone Call Progress chæ coù theå kieåm tra neáu ta choïn mode CP. DTMF tone laïi khoâng theå nhaän daïng ñöôïc neáu ta choïn mode CP.
Caùc taàn soá ñöa ñeán ñaàu vaøo (+IN vaø –IN) naèm trong giôùi haïn baêng thoâng chaáp nhaän cuûa boä loïc (280-550 Hz) seõ ñöa qua boä so saùnh coù ñoä lôïi cao vaø ñeán chaân IRQ/CP. Daïng soùng ôû ñaàu ra taïo bôûi maïch trigger coù theå phaân tích bôûi vi xöû lyù ñeå xaùc ñònh tính chaát cuûa caùc tone traïng thaùi ñöôøng daây. Caùc taàn soá trong vuøng loaïi boû seõ khoâng ñöôïc kieåm tra vaø nhö vaäy seõ khoâng coù tín hieäu naøo ôû chaân IRQ/CP khi gaëp caùc taàn soá naøy.
Boä phaùt DTMF trong MT8880 coù khaû naêng taïo taát caû 16 caëp tone DTMF chuaån vôùi nhieãu toái thieåu vaø ñoä chính xaùc cao. Taát caû taàn soá naøy ñeàu laáy töø dao ñoäng thaïch anh 3.579545 Mhz maéc ngoaøi. Daïng soùng sin cuûa töøng tone ñöôïc toång hôïp soá baèng caùch söû duïng boä phaän chia haøng vaø coät toång hôïp ñöôïc, vaø boä bieán ñoåi D/A bieán dung. Caùc tone haøng vaø coät ñöôïc troän laïi vaø loïc ñeå cho ra tín hieäu DTMF vôùi ít haøi vaø ñoä chính xaùc cao. Ñeå phaùt moät tín hieäu DTMF thì döõ lieäu töông öùng vôùi daïng maõ ôû baûng (.1) seõ phaûi ñöôïc vieát vaøo thanh ghi Transmit Data. Chuù yù raèng maõ phaùt naøy töông öùng vôùi maõ nhaän. Caùc tone rieâng leû ñöôïc phaân thaønh hai nhoùm laø: nhoùm thaáp vaø nhoùm cao (flow vaø high).
Nhö baûng sau, caùc soá trong nhoùm thaáp laø 697, 770, 852 vaø 941 Hz Theo tieâu chuaån thì tyû soá bieân ñoä cuûa nhoùm cao vôùi nhoùm thaáp laø 2dB ñeå traùnh suy hao taàn soá cao treân ñöôøng truyeàn.
Baûng maõ hoùa caùc tín hieäu quay soá DTMF:
flow
fhigh
Digit
D0
D1
D2
D3
697
1209
1
0
0
0
1
697
1336
2
0
0
1
0
697
1477
3
0
0
1
1
770
1209
4
0
1
0
0
770
1336
5
0
1
0
1
770
1477
6
0
1
1
0
852
1209
7
0
1
1
1
852
1336
8
1
0
0
0
852
1477
9
1
0
0
1
941
1029
0
1
0
1
0
941
1336
*
1
0
1
1
941
1477
#
1
1
0
0
697
1663
A
1
1
0
1
770
1663
B
1
1
1
0
852
1663
C
1
1
1
1
941
1663
D
0
0
0
0
Thôøi haèng cuûa moãi tone bao goàm 32 thôøi ñoïan gioáng nhau. Thôøi haèng cuûa moät tone ñöôïc ñieàu khieån baèng caùch thay ñoåi ñoä daøi cuûa caùc thôøi ñoaïn treân. Trong hoaït ñoäng ghi vaøo thanh ghi Transmith Data thì 4 bit data treân bus ñöôïc choát vaø bieán ñoåi thaønh 2 trong 8 maõ ñeå söû duïng cho maïch chia haøng coät. Maõ naøy ñöôïc söû duïng ñeå quyeát ñònh thôøi ñoaïn taàn soá cuûa moät tone.
3. BURST MODE:
Moät öùng duïng ñieän thoaïi baát kyø ñeàu ñoøi hoûi tín hieäu DTMF ñöôïc taïo ra vôùi moät thôøi haèng hoaëc ñöôïc quy ñònh bôûi öùng duïng ñoù hoaëc bôûi heä thoáng chuyeån maïch hieän coù. Thôøi haèng DTMF chuaån coù theå ñöôïc taïo ra baèng caùch söû duïng Burst Mode. Boä phaùt coù khaû naêng toång hôïp caùc tone coù khoaûng taét/môû trong thôøi gian ñònh tröôùc. Thôøi gian naøy laø 51 ms ± 1ms vaø laø chuaån cho boä quay soá töï ñoäng vaø toång ñaøi. Sau khi khoaûng taét /môû tone ñaõ ñöôïc phaùt ñi, 1 bit töông öùng seõ ñöôïc laäp trong thanh ghi traïng thaùi ñeå bieåu thò raèng boä phaùt ñaõ saún saøng cho data keá. Thôøi haèng 51 ms ± 1ms ñoùng /môû tone coù ñöôïc khi ta choïn mode DTMF.
Tuy nhieân khi CP mode (Call Progress Mode) ñöôïc choïn thì moät thôøi haèng ñoùng ngaét thöù hai laø 102ms ± 2ms seõ ñöôïc söû duïng. Khoaûng thôøi haèng daøi hôn naøy seõ höõu ích khi thôøi gian xuaát hieän tone laø 51 ms. Chuù yù raèng khi CP mode vaø burst mode cuøng ñöôïc choïn thì MT8880 chæ hoaït ñoäng ôû cheá ñoä phaùt maø thoâi. Trong moät öùng duïng naøo ñoù khi ta caàn moät khoaûng thôøi gian ñoùng ngaét khaùc (khoâng theo chuaån) thì phaûi duøng voøng laëp phaàn meàm hay moät boä ñònh beân ngoaøi vaø taét cheá ñoä Busrt Mode ñi. IC MT8880 khi ñöôïc khôûi ñoäng seõ maëc nhieân choïn cheá ñoä DTMF mode vaø Burst mode ñoàng thôøi.
4. Taïo Tone Ñôn: (Single Tone)
Cheá ñoä taïo tone ñôn ñöôïc duøng khi ta chæ muoán taïo moät tone naøo ñoù trong nhoùm thaáp hoaëc cao. Cheá ñoä naøy duøng ñeå kieåm tra thieát bò DTMF vaø ñeå tính toaùn nhieãu, vaø ñöôïc choïn thanh ghi Control Register B.
5. Maïch Clock DTMF:
Maïch clock ñöoïc söû duïng keát hôïp vôùi taàn soá maøu chuaån tivi coù taàn soá coäng höôûng laø 3.579545 Mhz. Moät nhoùm IC MT 8880 coù theå noái vôùi nhau duøng chung moät dao ñoäng thaïch anh.
6. Boä giao tieáp vôùi vi xöû lyù:
MT8880 söû duïng moät boä giao tieáp vi xöû lyù cho pheùp ñieàu khieån moät caùch chính xaùc vôùi chöùc naêng thu vaø phaùt. Coù toång coäng 5 thanh ghi chia laøm ba loaïi: Thanh ghi döõ lieäu thu /phaùt, thanh ghi ñieàu khieån thu /phaùt vaø thanh ghi traïng thaùi. Coù hai thanh ghi döõ lieäu: thanh ghi Receive data chöùa maõ xuaát ra cuûa caëp tone DTMF hôïp leä gaàn nhaát vaø laø thanh ghi chæ ñoïc. Data ñöa vaøo thanh ghi Transmith Data seõ qui ñònh caëp tone naøo ñöôïc phaùt ñi, Data chæ coù theå ñöôïc vaøo thanh ghi naøy.
Ñieàu khieån thu phaùt tone ñöôïc ñaûm nhaän bôûi 2 thanh ghi Control Register A vaø Control Register B (CRA vaø CRB) coù cuøng moät ñòa chæ. Muoán ghi vaøo thanh ghi CRB thì tröôùc ñoù phaûi coù set moät bit töông öùng ôû CRA. Chu kyø ghi keá tieáp vaøo cuøng ñòa chæ vôùi CRA seõ cho pheùp truy caäp tôùi CRB. Vaø chu kyø ghi keá tieáp nöõa seõ trôû laïi CRA. Khi caáp ñieän maïch ñieän reset noäi seõ xoùa caùc thanh ghi ñieàu khieån. Tuy vaäy, ñeå ngaên ngöøa thì chöông trình phaàn meàm neân coù moät doøng leänh ñeå kích khôûi caùc thanh ghi naøy. Giaû söû raèng thanh ghi phaùt roãng sau khi reset, ta xem qua caùc baûng (3, 4, 5 vaø 6) ñeå thaáy roõ chi tieát veà caùc thanh ghi ñieàu khieån. Chaân IRQ/CP coù theå ñöôïc laäp trình sao cho noù coù theå cung caáp tín hieäu yeâu caàu ngaét sau khi nhaän xung DTMF hôïp leä hay khi boä phaùt ñaõ saün saøng cho data keá tieáp (chæ trong Busrt mode). Chaân IRQ/CP laø ngoõ ra cöïc maùng hôû vaø vì theá caàn coù moät ñieän trôû keùo leân.
Thanh ghi nhaän data chöùa maõ leänh xuaát cuûa giaù trò cuoái cuøng caëp tone DTMF ñöôïc giaûi maõ vaø chæ laø thanh ghi ñoïc data vaøo. Tín hieäu data vaøo trong thanh ghi phaùt seõ ñöôïc ñònh roõ vôùi caëp tone naøo maø ñöôïc phaùt sinh ra. Data chæ coù theå ñöôïc vieát vôùi thanh ghi phaùt.
Hai thanh ghi ñieàu khieån CRA vaø CRB chæ chieám choã trong moät khoaûng ñòa chæ töông öùng gheùp ghi vôùi CRB coù theå ñöôïc thöïc hieän baèng caùch ñaët daønh rieâng bit trong CRA pheùp ghi tieáp theo tôùi ñòa chæ töông töï seõ ñöôïc tröïc tieáp ñöa tôùi CRB vaø tieáp theo sau cho chu kyø ghi seõ ñöôïc tröïc tieáp trôû laïi CRA.
Caùch truy caäp thanh ghi:
RSO
R/W
CHÖÙC NAÊNG
0
0
Ghi vaøo thanh ghi Data phaùt
0
1
Ñoïc töø thanh ghi data thu
1
0
Ghi vaøo thanh ghi ñieàu khieàn
1
1
Ñoïc töø thanh ghi traïng thaùi
Traïng thaùi thanh ghi CRA:
b3
b2
b1
b0
REGISTER
SELECT
INTERRUPT
ENABLE
CP/ DTMF
MODE
TONE OUT
CRA (Control Register A):
BIT
TEÂN
CAÙCH SÖÛ DUÏNG
B0
TONE
OUTPUT
Möùc logic 1 cho pheùp tone ñöôïc phaùt ra. Chöùc naêng naøy coù theå ñöôïc thöïc hieän trong Busrt mode hoaëc None- Busrt mode
B1
CP/ DTMF MODE CONTROL
Choïn mode DTMF (möùc 0) cho pheùp thu vaø phaùt tone ñoàng thôøi. Khi choïn mode CP (möùc1 boä loïc daõi baäc 6) ñöôïc kích hoaït cho pheùp kieåm tra caùc tone traïng thaùi ñöôøng daây (call progress tone). Caùc tone naøy neáu naèm trong daõi thoâng qui ñònh thì ñöôïc theå hieän ôû chaân IRQ/CP ôû daïng soùng hình chöõ nhaät neáu bit IRQ ñöôïc choïn (B=1). Ngoaøi ra khi caû hai CP mode vaø busrt mode ñöôïc choïn, boä phaùt seõ phaùt tín hieäu DTMF vôùi khoaûng taét môû laø 102 ms, gaáp ñoâi khi ta choïn mode DTMF. Chuù yù raèng tone DTMF seõ ñöôïc thu khi mode CP ñöôïc choïn.
B2
INTERRUP
ENABLE
Logic 1 cho pheùp mode Interrup. Khi mode naøy möùc tích cöïc vaø mode DTMF ñöôïc (B1=0), chaân IRQ/CP seõ bò keùo xuoáng möùc 0 khi:
+ Moät tín hieäu DTMF hôïp leä ñöôïc nhaän vaø ñaõ hieän höõu ñöôïc trong khoaûng thôøi gian an toaøn.
+ Boä phaùt saün saøng cho data keá tieáp ( chæ trong Busrt mode).
B3
REGISTERE SELECT
Logic 1 cho pheùp CRB trong chu kyø ghi keá tieáp treân cuøng ñòa chæ naøy. Chu kyø ghi keá sau nöõa seõ trôû laïi ghi vaøo CRA.
Traïng thaùi thanh ghi CRB:
b3
b2
b1
b0
COLUMN /ROW
TONE
SINGLE /DUAL
TONE
TEST MODE
BUSRT MODE
CRB (control register B):
BIT
TEÂN
CAÙCH SÖÛ DUÏNG
B0
BUSRT MODE
Möùc 0 cho pheùp choïn Busrt mode khi mode naøy ñöôïc choïn. Data töông öùng vôùi caëp tone DTMF coù theå ñöôïc vieát vaøo thanh ghi phaùt ñeå taïo ra khoaûng môû tone vôùi thôøi haèng chuaån (51ms hay 102ms). Keá tieáp sau laø khoaûng ngaét tone vôùi thôøi haèng töông töï. Ngay sau khoaûng ngaét tone thì thanh ghi traïng thaùi seõ ñöôïc caäp nhaät bieåu thò raèng thanh ghi phaùt ñaõ saün saøng cho caùc leäng môùi vaø moät ngaét ñöôïc taïo ra caùc mode Interrupt ñaõ ñöôïc choïn tröôùc ñoù. Khi Burst Mode khoâng ñöôïc choïn tröôùc ñoùthì tone phaùt ra seõ ñöôïc taét môû theo baát kyø thôøi haèng naøo do ngöôøi duøng laäp trình.
B1
TEST MODE
Cho pheùp choïn Test Mode (logic 1). Khi ñoù chaân IRQ/CB seõ xuaát hieän tín hieäu Steering ñöôïc laøm treã töø boä thu DTMF. DTMF Mode phaûi ñöôïc choïn (CRA B1=0) tröôùc khi Test Mode ñöôïc kích hoaït.
B2
SINGLE/
DUAL TONE GENERATION
Möùc logic 0 cho phaùp tín hieäu Dual Tone Multi Frequency. Logic 1 choïn cheá ñoä tone ñôn (single tone) cho pheùp taïo ra moät tone nhoùm thaáp hoaêïc nhoùm cao döïa vaøo traïng thaùi cuûa bit B3 trong thanh ghi CRB.
B3
Söû duïng vôùi bit B2 ôû treân. Boä phaùt coù theå ñöôïc choïn ñeå phaùt taàn soá naèm treân haøng hay coät vaø möùc logic 1 seõ choïn taàn soá haøng.
Thanh ghi traïng thaùi:
BIT
TEÂN
CÔØ TRAÏNG THAÙI LAÄP
CÔØ TRAÏNG THAÙI XOAÙ
B0
IQR
Ngaét xuaát hieän. B1 hoaëc B2 ñaõ ñöôïc laäp.
Ngaét chöa kích hoaït. Bò xoùa sau khi thanh ghi traïng thaùi ñaõ ñöôïc ñoïc.
B1
THANH GHI
DÖÕ LIEÄU PHAÙT ROÃNG (CHÆ TRONG BURST MODE)
Thôøi haèng ngaét tone ñaõ keát thuùc vaø boä phaùt ñang chôø döõ lieäu keá tieáp.
Bò xoùa sau khi thanh ghi traïng thaùi ñöôïc ñoïc hay khi choïn None_Burst Mode.
B2
THANH GHI DÖÕ LIEÄU THU ÑAÀY
Döõ lieäu hôïp leä ñang naèm trong thanh ghi döõ lieäu thu.
Bò xoùa sau khi thanh traïng thaùi ñöôïc ñoïc.
B3
DELAY STEERING
Ñöôïc laäp khi phaùt hieän thaáy söï khoâng xuaát hieän khoâng hôïp leä cuûa tín hieäu DTMF.
Bò xoùa sau khi phaùt hieän moät tín hieäu DTMF hôïp leä.
YÙ NGHÓA CAÙC CHAÂN:
PIN
TEÂN
MOÂ TAÛ
1
IN+
Chaân vaøo khoâng ñaûo cuûa OP.AMP
2
IN-
Chaân vaøo ñaûo cuûa OP.AMP.
3
GS
Choïn ñoä lôïi cho boä khueách ñaïiOP.AMP.
4
VREF
Ñaàu ra ñieän aùp tónh VDD/2 ñöôïc duøng ñeå caân baèng tónh ôû ñaàu vaøo.
5
VSS
Ñieän aùp aâm cung caáp.
6
OSC1
Ñaàu vaøo boä dao ñoäng thaïch anh.
7
OSC2
Dao ñoäng thaïch anh 3.579545 MHz ñöôïc noái giöõa OSC1 vaø OSC2 taïo thaønh dao ñoäng doøng ñieän ôû beân trong vi maïch.
8
TONE
Ngoõ ra tone DTMF.
9
R/W
Chaân ñeå CPU ñieàu khieån tröïc tieáp ñoïc vieát data.
10
CS
Chip Select.
11
RSO
Chaân choïn Register.
12
2
Xung ñoàng hoà heä thoáng.
13
IRQ /CP
Yeâu caàu ngaét gôûi tôùi MPU (Chaân cöïc maùng hôû). Khi Mode Call Progress (CP) cheá ñoä ngaét interrupt cuøng ñöôïc choïn, chaân IRQ/CP seõ ñöa ra daïng soùng hình chöõ nhaät ñaëc tröng cho tín hieäu ñaàu vaøo OP.AMP vôùi ñieàu kieän tín hieäu ñaàu vaøo naøy phaûi naèm trong daûi thoâng cuûa boä loïc thoâng daûi.
14 ¸ 17
D0-D3
Data Bus
18
Est
(Early Steering Output). Cho ra möùc logic 1 khi phaùt hieän ñöôïc moät caët tone hôïp leä. Baát kì traïng thaùi naøo khoâng coù tín hieäu hôïp leä ñeàu cho ra logic 0.
19
St/GT
(Sreering Output/ Guard Time Output 2 chieàu). Moät caëp ñieän aùp lôùn hôn VESt khi xuaát hieän taïi ST laøm cho thieát bò ghi nhaän caëp tone vaø caäp nhaát boä choát ngoõ ra. Moät ñieän aùp nhoû hôn VESt giaûi phoùng thieát bò ñeå thu nhaän caëp tone môùi. Ngoõ ra GT laøm nhieäm vuï reset maïch ñònh thì beân ngoaøi. Traïng thaùi cuõa noù laø moät haøm cuûa Est vaø ñieän aùp taïi chaân St.
20
VDD
Nguoàn cung caáp döông .
CHÖÔNG IV: GIÔÙI THEÄU IC QX R15
Caùc loaïi IC ghi aâm QX-R15 khoâng bò aûnh höôûng bôûi söï ngaét ñieän ñaõ ñöôïc söû duïng roäng raõi trong caùc thieát bò nhôù tieáng noùi, trong caùc thieát bò caûnh baùo duøng lôøi noùi vaø caùc thieát bò khaùc.
I. ÑAËC ÑIEÅM:
+ Chip ñôn khoâng phaân loaïi coù theå ghi vôùi chöùc naêng ghi vaø phaùt tuaàn hoaøn.
+ Ghi phaùt laëp laïi, coù theå baûi toàn vónh vieãn vôùi coâng suaát tieâu hao baèng khoâng.
+ Cung caáp nguoàn ñieän 5v, töï ñoäng böôùc vaøo traïng thaùi tieát kieäm ñieän.
+ Khi tieán haønh ghi aâm vaø phaùt aâm luùc keát thuùc chæ thò baèng LED.
+ Tính naêng choáng nhieãu cao.
Ñieän aùp laøm vieäc töø 4.5 ñeán 6.5v, doøng ñieän traïng thaùi tónh ñieån hình 0,5mA. Doøng ñieän laøm vieäc 25mA.
Thôøi gian ghi phaùt coù theå ñieàu chænh ñöôïc.
II. SÔ ÑOÀ CHAÂN CUÛA IC QX-R15:
QSR-15
RECLED\
VCCD
XCLK
TEST
NC
NC
NC
NC
NC
ROSC
VCCA
SP+
VSSA
SP-
VSSD
REC
PLAYE
PLAYL
NC
NC
NC
NC
NC
MIC
NC
REF
AGC
VCCA
1
14
15
28
III. SÔ ÑOÀ KHOÁI BEÂN TRONG:
Nhòp ñoàng hoà
Ñònh giôø
Ñoàng hoà laáy maãu
Ñoàng hoà laáy maãu
EFPROM
Boä giaûi maõ
Boä loïc
AGC
Ñieàu chænh nguoàn ñieän
Linh lieän ñieàu khieån
Boä loïc
phaúng
Boä khueách ñaïi
Boä khueách ñaïi
VCCA
VSSA
VSSD
VCCD
TEST
REC
PLAYE
PLAYL
RECLED
AGC
MIC REF
MIC
XCLK
ROSC
SP+
SP-
IV. YÙ NGHÓA CAÙC CHAÂN:
IC naøy coù 28 chaân:
Chaân 14 vaø 17 laø nguoàn ñieän VCCA vaø VCCD.
Chaân 16 vaø 1 laø caùc ñaàu noái mass.
Chaân 2 laø ñaàu ghi aâm REC taùc ñoäng ôû möùc cao. Chæ caàn ñaàu REC ôû möùc cao thì duø IC ñang ôû traïng thaùi naøo cuõng chuyeån sang traïng thaùi ghi aâm. Khi REC chuyeån sang möùc thaáp thì keát thuùc vieäc ghi aâm.
Chaân 3 laø ñaàu kích phaùt aâm PLAYRER.
Chaân 4 laø daàu kích möùc ñieän phaùt aâm PLAYL.
Chaân 28 laø ñaàu chæ thò ghi aâm RECLED.
Chaân 10 laø ñaàu vaøo Micro.
Chaân 12 laø ñaàu vaøo goác chuaån Micro MIC REF.
Chaân 13 laø chaân töï ñoäng ñieàu chænh ñoä lôïi AGC.
Chaân 26 laø ñaàu vaøo xung nhòp ñoàng hoà beân ngoaøi XCLK.
Chaân 17 vaø 15 laø ñaàu ra loa SP+ vaø SP-.
Chaân 25 laø ñaàu ño thöû TEST.
Chaân 19 laø ñaàu vaøo boä dao ñoäng ñieàu khieån trôû ROSC.
V. NGUYEÂN TAÉC HOAÏT ÑOÄNG:
1. Duøng MODUL nhôù trong ghi moät ñoaïn thoâng tin:
Khi ñaàu Rec ôû möùc ñieän aùp cao thì coâng vieäc ghi ñöôïc thöïc thi, ôû IC naøy söû duïng kyõ thuaät nhôù ôû möùc ñieän nhieàu caáp, moãi trò soá laáp maãu tröïc tieáp ñöôïc nhôù trong FEPROM noù coù theå taùi hieän ñöôïc söï trung thöïc cuûa aâm thanh. Coâng vieäc ghi seõ keát thuùc khi khoâng gian boä nhôù bò ñaày hay EOM seõ vieát tôùi khi modul nhôù keát thuùc.
2. Möùc ñieän kích phaùt aâm.
- Khi PLAYER ôû möùc ñieän aùp cao laøm cho linh kieän töø khoâng gian nhôù baét ñaàu phaùt aâm, khi linh ñaït tôùi vò trí EOM noù seõ töï ñoäng böôùc vaøo traïng thaùi tieát kieäm ñieän. Thôøi gian taêng leân cuûa söôøn sau seõ laøm cho linh kieän phaùt laïi töø khoâng gian nhôù ñaàu tieân.
- Khi ñaàu PlayL bieán thaønh möùc ñieän aùp cao seõ baét ñaàu moät cu kyø phaùt aâm töø khoâng gian nhôù ban ñaàu. Neáu vieäc ghi aâm ñaõ daày khoâng giannhôù, thì noù seõ phaùt laïi caùc thoâng tin toaøn boä caû ñoaïn. Moät söôøn taêng leân sau tieáp theo cuûa PLAYL seõ laøm cho linh kieän baét ñaàu moät chu kyø phaùt aâm tieáp theo töø ñaàu khoâng gian nhô.ù
3. Möùc ñieän kích phaùt aâm (töøng ñoaïn):
Trong quaù trình chu kyø phaùt aâm neáu PLAYL ôû möùc ñieän aùp thaáp, thì linh kieän ngöng phaùt aâm, ñoàng thôøi böôùc vaøo traïng thaùi tieát kieäm ñieän. Söôøn taêng leân PLAYE sau ñoù seõ laøm cho linh kieän baét ñaàu phaùt aâm töø khoâng gian nhôù ñaàu tieân.
4. Ghi aâm (phaùt aâm ñoaïn giöõa):
Thao taùc ñaàu REC coù quyeàn öu tieân cao hôn so vôùi caùc thao taùc khaùc. Baát luaän moät thao taùc baát kyø naøo ñang thöïc hieän, söôøn taêng leân cuûa ñaàu REC ñeàu seõ laøm cho linh kieän baét ñaàu ghi aâm töø khoâng gian nhôù ban ñaàu.
5. Ghi laïi thoâng tin:
Moät thao taùc ghi khoâng nhaát thieát phaûi chieám heát khoâng gian nhôù. Tröôùc khi boä nhôù ñaày, khi chaân REC ôû möùc thaáp seõ laøm cho maùy ghi aâm ngöng ñaët ôû theá EOM, sau ñoù linh kieän seõ böôùc sang traïng thaùi tieát kieäm ñieän.
6. Phaùt laïi töøng ñoaïn thoâng tin:
PLAYE hoaëc PLAYL ñaëc ôû möùc ñieän cao, linh kieän baét ñaàu phaùt aâm. Khi gaëp vò trí EOM vieäc phaùt aâm ngöng vaø chuyeån sang traïng thaùi tieát kieäm ñieän.
7. Thao taùc RECLED:
Ñaàu ra RECLED cung caáp moät tín hieäu coù hieäu quaû ôû möùc ñieän theá thaáp. Tín hieäu ñoù duøng ñeå kích LED ñeå chæ thò “ñang thöïc hieän vieäc ghi”. Caùc traïng thaùi coøn laïi RECLED ôû möùc theá cao.
8.Thao taùc ROSC:
Thôøi gian ghi cuûa linh kieän coù theå thay ñoåi thoâng qua vieäc thay ñoåi trò soá R2 (ROSC). Ñieàu naøy cho thaáy caùc linh kieän kieåu ISD 1500 thöïc teá thôøi gian coù theå keùo daøi töø 4.8 – 9,6s (ISD1506), 8 – 16s (ISD 1510), 16 – 32s (ISD 1520).
Ñaët tính ñoù cho pheùp aâm thanh ghi coù caùc heäu quaû ñaëc bieät, khi phaùt coù theå duøng toác ñoä nhanh hay chaäm so vôùi cheá ñoä bình thöôøng.
Moät ñaët tính khaùc laø coù chöùc naêng ngöng taïm PAUS. Noù coù theå thoâng qua ñieän trôû ROSC noái vaøo Vcc ñeå ngöng phaùt aâm, maïch ñieän naøy noái laïi vôùi ñaàu mass seõ baét ñaàu phaùt aâm.
IV. PHÖÔNG PHAÙP SÖÛ DUÏNG ICQS-R15.
1. Noái tieáp:
Theo sô ñoà noái daây, noái loa, micro, phím aán. Noái thoâng nguoàn ñieän, maïch ñieän töï ñoäng böôùc vaøo traïng thaùi tieát kieäm ñieän.
2. Ghi aâm:
AÁn phím ghi aâm (töùc REC giöõ ôû möùc theá cao), maïch ñieän baét ñaàu ghi aâm, Led saùng. Sau khi nhaû REC, keát thuùc ghi aâm, maïch ñieän töï ñoäng coù maõ keát thuùc EOM; sau ñoù böôùc vaøo traïng thaùi tieát kieäm ñieän. Neáu boä nhôù ñaõ ghi ñaày, vieäc ghi aâm töï ñoäng keát thuùc.
3. Phaùt aâm tuaàn hoaøn:
Sau khi nguoàn ñieän noái thoâng ñaàu L vaø PE hoaëc PL, töùc laø baét ñaàu phaùt aâm tuaàn hoaøn. Sau khi nhaû ngöng phaùt aâm tuaàn hoaøn.
4. Phaùt aâm:
Phaùt aâm coù theå kích thích baèng söôøn xung hay möùc ñieän aùp. Moãi laàn phaùt aâm xong, ñeøn Led seõ saùng moät laàn (khoaûng 84ms).
- AÁn phím PE (PLAYE), töùc laø cho PE moät maïch xung cao, maïch ñieän baét ñaàu phaùt aâm. Sau khi phaùt aâm xong seõ töï ñoäng keát thuùc, ñoàng thôøi böôùc vaøo traïng thaùi tieát kieäm ñieän.
- AÁn phím PL (PLAYL trôû thaønh möùc cao), maïch ñieän baét ñaàu phaùt aâm. Sau khi phaùt aâm xonghoaëc PL ôû möùc thaáp, maïch ñieän trôû veà traïng thaùi tieát kieäm ñieän.
CHÖÔNG V: GIÔÙI THIEÄU PHÖÔNG THÖÙC LAØM VIEÄC CUÛA TOÅNG ÑAØI VAØ CAÙC THUEÂ BAO
Nhaèm hieåu roõ, aùp duïng toát vaøo vieäc thieát keá maïch töï ñoä quay soá ñieän thoaïi, ta ñi vaøo tìm hieåu moät vaøi ñaët tính cuûa ñieän thoaïi vaø hoaïy ñoäng giöõa toång ñaøi vaø caùc thueâ bao.
- Ñaët tính cuûa ñieän thoaïi:
Baêng thoâng laøm vieäc 300Hz ¸ 3400 Hz.
Tæ soá S/N ³ 29,5 dB.
Toång trôû ñieän thoaïi 600W.
Doøng ñieän qua ñieän thoaïi 5¸ 30 mA.
Ñieän aùp khi gaùc maùy 48V DC, khi nhaác maùy 10V DC.
- Heä thoáng aâm hieäu giao tieáp giöõa toång ñaøi vaø thueâ bao:
Tín hieäu môøi quay soá (Dialtone): laø tín hieäu sin taàn soá f=425± 25Hz, bieân ñoä 2VRNS treân neàn DC, phaùt lieân tuïc.
Tín hieäu Dial tone
- Tín hieäu baùo baän (Busy tone): laø tín hieäu Sin taàn soá f=425± 25Hz, bieân ñoä 2VRMS treân neàn DC, phaùt ngaét quaõng 0,5s coù 0,5 khoâng.
0,5s
0,5s
0,4s
0,2s
10V
Tín hieäu hoài aâm chuoâng (RINGBACK TONE): laø Tín hieäu sin taàn soá f=425± 25Hz, bieân ñoä 2VRMS treân neàn DC 10v, phaùt ngaét quaõng 2s coù 4s khoâng
Tín hieäu Ringback tone
- Tín hieäu chuoâng (ring tone) laø tín hieäu sin taàn soá f=25 Hz, bieân ñoä VPP=75V treân neàn DC 48v, phaùt ngaét quaõng 2s coù 4s khoâng.
0,4s
0,2s
48V
Tín hieäu choâng
- Phöông thöùc quay soá tone DTMF vaø PULSE:
- ÔÛ baûng 1 khi coù moät phím ñöôïc aán thì treân ñöôøng daây seõ xuaát hieän 2 taán soá khaùc nhau thuoäc nhoùm fthaáp vaø fcao.
- Phöông phaùp taàn gheùp naøy choáng nhieãu toát hôn, ngoaøi ra duøng daïng tone DTMF seõ taêng ñöôïc toác ñoä quay nhanh gaáp 10 laàn so vôùi vieäc thöïc hieän quay soá PULSE. Maët khaùc phöông phaùp seõ söû duïng ñöôïc moät soá dòch vuï coäng theâm toång ñaøi.
- Phöông phaùp quay soá pulse: tín hieäu quay soá laø chuoåi xung vuoâng, taàn soá chuoãi döï aùn = 10Hz, soá ñieän thoaïi baèng soá xung ra, rieâng soá 0 seõ laø 10 xung, bieân ñoä ôû möùc cao laø 48v, ôû möùc thaáp laø 10v, daïng soùng ñöôïc cho ôû hình döôùi:
10v
c
a
b
48v
0v
Daïng soùng quay soá kieåu PULSE
a: chu kyø laøm vieäc (thôøi gian 48v)
b: thôøi gian ôû 10v, ta coù a/b = 66/33 = 2
c: khoaûng thôøi gian giöõa 2 laàn quay soá trong moät cuoäc goïi
Soá xung treân moät giaây 10 – 20 pulse/s
Quay soá kieåu Pulse chaäm, neân hieän nay ít ñöôïc söû duïng:
Phím soá
Nhoùm fthaáp
Nhoùm fcao
1
697Hz±1,5%
1209Hz±1,5%
2
697Hz±1,5%
1336Hz±1,5%
3
697Hz±1,5%
1447Hz±1,5%
4
770Hz±1,5%
1209Hz±1,5%
5
770Hz±1,5%
1336Hz±1,5%
6
770Hz±1,5%
1447Hz±1,5%
7
852Hz±1,5%
1209Hz±1,5%
8
852Hz±1,5%
1336Hz±1,5%
9
852Hz±1,5%
1447Hz±1,5%
*
941Hz±1,5%
1029Hz±1,5%
0
941Hz±1,5%
1336Hz±1,5%
#
941Hz±1,5%
1447Hz±1,5%
A
697Hz±1,5%
1336Hz±1,5%
B
770Hz±1,5%
1663Hz±1,5%
C
852Hz±1,5%
1663Hz±1,5%
D
941Hz±1,5%
1663Hz±1,5%
Baûng : caùc caëp taàn soá DTMF
- Phöông thöùc laøm vieäc giöõa caùc toång ñaøi vaø caùc thueâ bao:
+ Nhaän daïng thueâ bao maùy goïi nhaác maùy: toång ñaøi nhaän daïng traïng thaùi cuûa thueâ bao thoâng qua söï bieán ñoåi toång trôû maïch voøng cuûa ñöôøng daây. Bình thöôøng khi thueâ bao ôû traïng thaùi gaùc maùy thì toång trôû ñöôøng daây thì voâ cuøng lôùn (hôû maïch). Khi thueâ bao nhaác maùy (offhook) ñieän trôû maïch voøng coøn 150W-1500W (thöôøng laø 600W) ñoù laø toång trôû vaøo cuûa ñieän thoaïi. Toång ñaøi nhaän bieát ñöôïc söï thay ñoåi naøy thoâng qua boä caûm bieán traïng thaùi ñöôøng daây thueâ bao.
+ Khi thueâ bao nhaác maùy thì toång ñaøi seõ caáp tín hieäu Dial Tone treân ñöôøng daây ñeán thueâ bao, chæ khi nhaän ñöôïc tín hieäu naøy thì thueâ bao môùi ñöôïc quay soá, coù theå quay soá döôùi daïng DTMF vaø PULSE.
+ Toång ñaøi nhaän caùc soá do thueâ bao gôûi ñeán vaø kieåm tra, neáu soá ñaàu naèm trong taäp theå soá thueâ bao cuûa toång ñaøi thì toång ñaøi seõ phuïc vuï cuoäc goïi noäi ñaøi. Ngöôïc laïi noù phuïc vuï cuoäc goïi lieân ñaøi thoâng qua trung keá giöõ toaøn boä phaàn ñònh vò quay soá toång ñaøi coù thueâ bao bò goïi, neáu soá ñaàu laø maõ thì chöùc naêng ñaëc bieät cuûa toång ñaøi seõ thöïc hieän caùc chöùc naêng coù theå phuïc vuï thueâ bao.
+ Neáu thueâ bao bò goïi thoâng thoaïi hoaëc caùc ñöôøng daây keát noái bò baän thì toång ñaøi caáp tín hieäu BUSY TONE ngöôïc veà cho thueâ bao goïi.
+ Khi thueâ bao bò goïi nhaác maùy thì toång ñaøi bieán tín hieäu naøy vaø caét doøng chuoâng kòp thôøi ñeå traùnh hö hao cho cho thueâ bao, ñoàng thôøi caét Ring Back Tone ñeán thueâ bao bò goïi vaø keát noái thoâng thoaïi cho 2 thueâ bao.
+ Khi thueâ bao ñang thoâng thoaïi coù moät thueâ bao gaùc maùy, toång ñaøi ngaét thoâng thoaïi 2 thueâ bao vaø caáp Busy Tone cho thueâ bao coøn laïi, giaûi toûa caùc thieát bò phuïc vuï thoâng thoaïi. Khi thueâ bao coøn laïi gaùc maùy toång ñaøi ngaét Busy Tone vaø keát thuùc chöông trình phuïc vuï thueâ bao.
PHAÀN II: THIEÁT KEÁ PHAÀN CÖÙNG
CHÖÔNG I: SÔ ÑOÀ KHOÁI
KHOÁI DOØ CAÛM BIEÁN
BAÙO ÑOÄNG TAÏI CHOÅ
KHOÁI XÖÛ LYÙ TRUNG TAÂM
CPU
KHOÁI GIAO TIEÁP ÑÖÔØNG DAÂY
ÑÖÔØNG DAÂY
LINE
KHOÁI TIEÁNG NOÙI
KHOÁI NGUOÀN
+5v
+12v
-12v
Chöùc naêng caùc khoái:
Heä thoáng caûm bieán: laø thieát bò ñaàu vaøo cuûa heä thoáng, noù quyeát ñònh söï chính xaùc cuûa maïch, goàm caùc caûm bieán nhieät vaø khoùi ñeå phaùt hieän söï coá.
Khoái baùo ñoäng taïi choã: taïo tieáng coøi ñeå baùo ñoäng.
Khoái tieáng noùi: duøng ñeå xöû caùc tín hieäu vaø ñieàu khieån toaøn boä hoaït ñoäng cuûa heä thoáng.
Khoái giao tieáp ñöôøng daây: laø boä phaän giao tieáp giöõa maïch vaø maïng ñieän thoaïi.
Khoái nguoàn: taïo ra caùc nguoàn oån aùp 12v, -12v, 5v ñeå caáp cho maïch hoaït ñoäng.
CHÖÔNG II: THIEÁT KEÁ BOÄ NGUOÀN
Do yeâu caàu cuûa heä thoáng ta caàn thieá keá boä nguoàn DC oån aùp (±12v, +5v), vì maïch hoaït ñoäng yeâu caàu tính oån ñònh cao neân boä nguoàn phaûi heát söùc oån ñònh, ta coù sô ñoà khoái cuûa maïch laø:
BIEÁN
AÙP
CHÆNH
LÖU
BOÄ
LOÏC
OÅN
AÙP
220V AC
I. BIEÁN AÙP:
~ 220V AC
~ 12V
Ta söû duïng loaïi bieán aùp coù baùn ngoaøi thò tröôøng, bieán aùp naøy coù taùc duïng giaûm ñieän aùp xoay chieàu töû löôùi ñieän xuoáng giaù trò caàn thieát maø ta söû duïng.
II. CHÆNH LÖU VAØ BOÄ LOÏC:
Muïc ñích cuûa chuùng ta laø caàn nguoàn moät chieàu vì vaäy ta duøng maïch chænh löu ñeå
Các file đính kèm theo tài liệu này:
- Thiet bi bao chay va dieu khien tu dong.DOC