Thiết kế mạch tính cước điện thoại

- Khi MT8870 nhận được tín hiệu đảo cực chân 15 tức là STD sẽ lên mức logic 1 và làm cho chân 12 của vi điều khiển 8031 ngắt T0. Đồng thời chân 28 cho hoạt động mức logic 1 có địa chỉ 8000, chân 17 của 8031 là chân RD cho phép đọc dữ liệu ở mức logic 0. - Tín hiệu từ chân 28 qua IC5A thì ở mức logic 0 và kết hợp chân 17 của 8031 ở mức logic 0 qua IC5C thì tínhiệu sẽ là 1, làm cho chân TOE của MT8870 tác động. - Chân TOE (chân 10) của MT8870 sẽ tácđộng khi ngỏ vào ở mức logic 1 và xuất ra ở ngỏ ra Q1 đến Q4 là Data sẽ đưa về CPU để điều khiển bộ phận giải mã địa chỉ.

pdf50 trang | Chia sẻ: lylyngoc | Lượt xem: 2475 | Lượt tải: 1download
Bạn đang xem trước 20 trang tài liệu Thiết kế mạch tính cước điện thoại, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
cuôùc ñieän thoaïi treân döõ lieäu. Noù laø taäp hôïp caùc maïch logic thöïc hieän caùc hoaït ñoäng ñem veà caùc leänh vaø thöïc thi caùc leänh. 2. Khoái EPROM : Ñaây laø khoái löu tröõ chöông trình hoaït ñoäng chính cuûa khoái CPU, noäi dung khoâng bò maát khi maát ñieän. Chöông trình phaàn meàm ñöôïc naïp ôû ñaây. 3. Khoái RAM nhôù ngoaøi: Löu tröõ taïm thôøi caùc thoâng soá cuûa cuoäc goïi, cuõng nhö khaû naêng thay ñoåi chöông trình do ngöôøi söû duïng laäp. Ram ngoaøi coù theå ñöôïc ñoïc hoaëc ghi khi coù tín hieäu ñieàu khieån ghi hoaëc ñoïc töø CPU 4. Khoái Choát Ñòa Chæ: Löu tröõ caùc ñòa chæ do CPU ñöa vaøo vaø chuyeån caùc ñòa chæ naøy ñeán caùc khoái RAM nhôù ngoaøi vaø EPROM , thöïc hieän nhôø IC choát 74LS 373. 5. Khoái Giaûi Maõ Ñòa Chæ: Khi coù tín hieäu xung clock taùc ñoäng veà ngoõ vaøo cuûa xung clock. Khi coù tín hieäu töø CPU gôûi veà thì ngoõ ra seõ taùc ñoäng cho heä thoáng led 7 ñoaïn hoaït ñoäng. 6. Khoái Thu DTMF: Ñaây laø IC 8870 duøng ñeå giaûi maõ tone, giaûi maõ caùc soá töø baøn phím cuûa ñieän thoaïi vaø ñöa döõ lieäu veà coång xuaát nhaäp döõ lieäu qua bus döõ lieäu. 7. Khoái Khueách Ñaïi Coâng Suaát: Bao goàm caùc transistor daãn baûo hoøa khueách ñaïi coâng suaát cho heä thoáng led 7 ñoaïn, caùc transistor ñöôïc kích töø khoái giaûi maõ ñòa chæ vaø töø port 1 cuûa vi ñieàu khieån. 8. Khoái Xung CK: Taïo ra xung clock coù taàn soá coá ñònh ñeå caùc khoái trong maùy hoaït ñoäng ñoàng boä vôùi nhau. 9. Khoái Ñaûo Cöïc: Nhaän bieát ñöôïc vaø xöû lyù khi coù tín hieäu töø toång ñaøi göûi ñeán cho thueâ bao beân kia nhaác maùy thoâng thoaïi thì tính tieàn. Ñoà Aùn Moân Hoïc II – Leâ Minh Theá – 97ÑT04 Khoa Ñieän – Ñieän Töû 17 10. Khoái Hieån Thò: Hieån thò caùc thoâng soá veà giaù thaønh, thôøi gian vaø soá cuoäc goïi cuõng nhö tình traïng cuûa maùy ôû thôøi ñieåm hieän taïi. 11. Khoái Nguoàn: Taïo ra moät nguoàn ñieän aùp thoûa maõn yeâu caàu veà ñieän aùp cung caáp cho taát caû caùc linh kieän trong maïch. III. GIAÛI THÍCH SÔ LÖÔÏC VEÀ NGUYEÂN LYÙ HOAÏT ÑOÄNG CUÛA MAÏCH: - Khi heä thoáng ñöôïc cung caáp nguoàn, nguoàn ñieän aùp seõ ñeán taát caû caùc vi maïch cuûa maùy. CPU ñöôïc caáp nguoàn seõ baét ñaàu hoaït ñoäng ôû ñòa chæ 0000H. - Khi coù yeâu caàu thöïc hieän cuoäc goïi töùc laø maùy ôû cheá ñoä nhaác toå hôïp (off hook) CPU saün saøng tieáp nhaân soá goïi. - Khi ngöôøi goïi thöïc hieän baám soá goïi, CPU seõ löu tröõ taïm thôøi soá goïi vaøo Ram vaø ñoàng thôøi ñöa ra maïch hieån thò ñeå hieån thò caùc soá vöøa goïi. - Sau khi chaám döùt cuoäc goïi, maùy seõ hieån thò giaù tieàn vaø soá cuoäc goïi. Ñoà Aùn Moân Hoïc II – Leâ Minh Theá – 97ÑT04 Khoa Ñieän – Ñieän Töû 18 CHÖÔNG II : THIEÁT KEÁ PHAÀN CÖÙNG n¡«¡n I. KHOÁI XÖÛ LYÙ TRUNG TAÂM (CPU): n Trong maùy tính cöôùc, khoái CPU chính laø phaàn quan troïng nhaát, noù tieáp nhaän vaø xöû lyù taát caû caùc thoâng tin hoaït ñoäng lieân quan ñeán vieäc tính cöôùc cuûa maùy.ÔÛ ñaây ta choïn Vi ñieàu khieån 8051 vì noù coù caùc ñaëc ñieåm noåi baät nhö maïch dao ñoäng ñöôïc tích hôïp saün beân trong ,vieäc laäp trình baèng ngoân ngöõ (Assembly) deã daøng ,ngöôøi laäp trình coù theå can thieäp vaøo töøng bit cuûa caùc port xuaát nhaäp baèng moät leänh duy nhaát. - Khoái ñieàu khieån trung taâm coù nhieäm vuï ñieàu khieån moïi hoaït ñoäng cuûa maùy tính cöôùc, vieäc ñieàu khieån bao goàm caùc hoaït ñoäng sau: - Nhaän bieát traïng thaùi nhaác maùy, gaùc maùy cuûa thueâ bao. Khi thueâ bao nhaác maùy, khoái ñieàu khieån seõ nhaän bieát traïng thaùi cuûa thueâ bao vaø hieån thò ñoàng hoà saún saøng nhaän tín hieäu xung töø baøn phím. - Nhaän bieát xung quay soá vaø giaûi maõ xung quay soá (neáu thueâ bao söû duïng daïng pulse) hoaëc nhaän caùc bit döõ lieäu ñaõ ñöôïc giaûi maõ töø khoái giaûi maõ tone ñeå bieát soá maø thueâ bao muoán goïi. Sau ñoù CPU kieåm tra xem soá goïi laø quoác teá, lieân tænh hay noäi haït, CPU seõ ñieàu khieån cho ra giaù tieàn cuï theå cho töøng nöôùc, töøng tænh, noäi haït vôùi thôøi gian töông öùng khaùc nhau ñöôïc vieát trong chöông trình. II. KHOÁI TAÏO XUNG CK: K Trong maùy tính cöôùc, taát caû caùc hoaït ñoäng cuûa maïch ñeàu coù lieân quan ñeán xung clock cung caáp cho CPU. Vì caùc boä Timers/Counters seõ döïa vaøo taàn soá xung clock naøy maø thöïc hieän caùc coâng vieäc ñöôïc laäp trình saün vaø ngöôøi laäp trình cuõng döïa vaøo taàn soá xung naøy ñeå vieát chöông trình trì hoaõn cuûa maùy. K Vi ñieàu khieån 8051 coù 2 Timer beân trong ,khi döôïc duøng laøm ñoàng hoà thì caùc Timer seõ ñeám giôø theo taàn soá thaïch anh gaén vaøo XTAL1 vaø XTAL2. Ta choïn thaïch anh coù taàn soá laøm vieäc laø 7,373 MHz. Caùc tuï C1 , C2 duøng ñeå oån ñònh taàn soá dao ñoäng cuûa thaïch anh. 18 19 C2 C1 X1 8031 X2 Ñoà Aùn Moân Hoïc II – Leâ Minh Theá – 97ÑT04 Khoa Ñieän – Ñieän Töû 19 III. KHOÁI RAM – ROM: - 8051 coù khaû naêng môû roäng boä nhôù leân ñeán 64Kb boä nhôù chöông trình(ROM) vaø 64Kb boä nhôù döõ lieäu ngoaøi(RAM). Khi duøng theâm boä nhôù ngoaøi ,Port 0 khoâng coøn laø Port I/O thuaàn tuyù nöõa .Noù ñöôïc keát hôïp giöõa Bus döõ lieäu (D0 ÷ D7) vaø Bus ñòa chæ cuûa byte thaáp (A0 ÷ A7) baèng tín hieäu choát ALE ñeå choát byte thaáp cuûa ñòa chæ khi baét ñaàu moãi chu kyø boä nhôù .Trong nöûa chu kyø ñaàu cuûa boä nhôù ,byte thaáp cuûa ñòa chæ ñöôïc caáp cho Port 0 vaø ñöôïc choát baèng xung ALE. Moät IC choát 74HC373 (hoaëc töông ñöông ) seõ giöõ byte ñòa chæ thaáp trong phaàn coøn laïi cuûa chu kyø boä nhôù .Trong nöûa sau cuûa chu kyø boä nhôù Port 0 ñöôïc duøng nhö Bus döõ lieäu vaø ñöôïc ñoïc hoaëc ghi tuyø theo leänh. 1. ROM : - Boä nhôù ROM (Read Only Memory) laø boä nhôù ñöôïc thieát keá ñeå löu tröõ caùc döõ lieäu coá ñònh. Trong luùc hoaït ñoäng bình thöôøng, döõ lieäu môùi khoâng theå ñöôïc ghi vaøo ROM maø döõ lieäu chæ coù theå ñöôïc ñoïc töø ROM. Khi ROM ñöôïc laäp trình thì khi ngöøng caáp nguoàn caùc döõ lieäu beân trong ROM khoâng bò maát. - EPROM (Esarable Programable ROM) laø loaïi ROM coù theå laäp trình laïi ñöôïc .Trong maïch tính cöôùc , ñeå coù theå thoûa maõn nhu caàu thò tröôøng do giaù tính cöôùc ôû moãi thôøi ñieåm coù theå khaùc nhau .Ta caàn phaûi coù loaïi ROM coù theå ñöôïc xoùa vaø laäp trình laïi nhieàu laàn ñeå caäp nhaät laïi giaù cöôùc ñieän thoaïi. - Xuaát phaùt töø yeâu caàu treân , ta choïn loaïi ROM coù khaû naêng môû roäng boä nhôù chöông trình leân ñeán 8 Kbytes. Ñoù laø EPROM 2764 Giao tieáp giöõa 8051 vaø EPROM 2 Truy xuaát boä nhôù chöông trình ngoaøi : - Truy xuaát giöõa 8051 vaø EPROM ñöôïc cho pheùp bôûi tín hieäu PSEN.Moät chu kyø maùy cuûa 8051 coù 12 xung nhòp , khi söû duïng thaïch anh 7,3728 Mhz thì xung nhòp cuûa 8051 laø D Q 74HC373 G Port 0 EA 8051 ALE Port 2 PSEN D0 – D7 A0 – A7 EPROM A8 – A15 OE Ñoà Aùn Moân Hoïc II – Leâ Minh Theá – 97ÑT04 Khoa Ñieän – Ñieän Töû 20 T = s 3,5 3728,7 12 µ= 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 thöù hai deõ ñöôïc loaïi boû) 2. RAM : - Boä nhôù RAM (Random Access Memory) laø boä nhôù truy xuaát ngaãu nhieân coù nghóa laø baát kyø oâ nhôù naøo cuõng deã daøng truy xuaát trong boä nhôù. - Boä nhôù RAM duøng ñeå löu tröõ taïm thôøi chöông trình vaø döõ lieäu, noäi dung caùc oâ nhôù trong RAM thay ñoåi lieân tuïc khi vi xöû lyù thöïc hieän chöông trình.Tuy nhieân ,döõ lieäu löu tröõ taïm thôøi trong RAM seõ bò xoaù saïch khi maát nguoàn cung caáp .Ñieàu naøy coù theå ñöôïc khaéc phuïc baèng caùch duøng nguoàn döï phoøng . - Do yeâu caàu cuûa maïch tính cöôùc coù theå nhôù tôùi 255 cuoäc ñaøm thoaïi bao goàm soá tieàn, soá cuoäc goïi,… neân SRAM ñöôïc choïn seõ laø 6264 coù dung löôïng nhôù 8 Kbytes NC Giao tieáp giöõa 8051 vaø RAM , Truy xuaát boä nhôù döõ lieäu ngoaøi : - Boä nhôù döõ lieäu ngoaøi RAM 6264 ñöôïc cho pheùp ghi/ ñoïc baèng caùc tín hieäu WR vaø RD ( caùc chaân P3.6 vaø P3.7 thay ñoåi chöùc naêng ). - Keát noái Bus ñòa chæ vaø Bus döõ lieäu giöõa RAM 2764 vaø 8051 cuõng gioáng nhö EPROM 6264 vaø do ñoù cuõng coù theå leân ñeán 8 Kbytes. Ngoaøi ra , chaân RD cuûa 8051 ñöôïc noái tôùi chaân cho pheùp xuaát (OE) cuûa RAM vaø chaân WR ñöôïc noái tôùi chaân ghi (WR) cuûa RAM. ? Keát Noái Boä Nhôù EPROM Vaø RAM Vaøo CPU : - Boä nhôù EPROM vaø RAM ñöôïc keát noái vôùi CPU thoâng qua caùc bus ñòa chæ, bus döõ lieäu vaø bus ñieàu khieån. Khaû naêng môû roäng boä nhôù cuûa 8051 leân ñeán 64Kbytes nhöng trong phaïm vi maùy tính do chöông trình laøm vieäc cuõng töông ñoái lôùn neân ta choïn hai IC nhôù SRAM vaø EPROM coù toång dung löôïng nhôù laø 16 Kbytes. D0 – D7 A0 – A7 RAM A8 – A15 OE WR CS Po t 0 EA 8051 ALE Port 2 RD WR PSEN D Q 74HC373 G Ñoà Aùn Moân Hoïc II – Leâ Minh Theá – 97ÑT04 Khoa Ñieän – Ñieän Töû 21 a. Bus ñòa chæ (Address Bus): Laø bus moät chieàu chuyeån taûi thoâng tin töø CPU 8051 ñeán caùc IC nhôù. Do 8051 coù theå ñieàu khieån boä nhôù môû roäng leân ñeán 64 Kbytes töùc laø coù tôùi 16 ñöôøng ñòa chæ ra A0 ….A15 maø caùc IC nhôù chæ coù 16 Kbytes. Vì vaäy ta söû duïng 13 bit thaáp ñòa chæ cuûa CPU töø A0 … A12 ñeå keát noái song song vôùi 13 ñöôøng ñòa chæ cuûa SRAM vaø EPROM. Caùc bit ñòa chæ coøn laïi seõ duøng cho vieäc ñieàu khieån. b. Bus döõ lieäu (Data Bus): Laø bus döõ lieäu hai chieàu coù chöùc naêng chuyeån döõ lieäu qua laïi giöõa CPU vaø caùc IC nhôù. Do vaäy 8 ñöôøng döõ lieäu cuûa CPU 8031 seõ noái song song vôùi 8 ñöôøng döõ lieäu cuûa SRAM vaø EPROM. c. Bus ñieàu khieån (Control Bus): Bus ñieàu khieån laø bus khaù quan troïng trong maïch vì noù quyeát ñònh xem khi naøo SRAM hay EPROM seõ ñöôïc ñoïc döõ lieäu vaø khi naøo SRAM seõ ghi döõ lieäu. Moãi SRAM vaø EPROM coù dung löôïng nhôù 8 Kbytes neân vieäc qui ñònh noäi dung ñòa chæ oâ nhôù nhö sau: - Ñoái vôùi EPROM do CPU coù ñaëc ñieåm khi maùy ñöôïc caáp nguoàn thì seõ baét ñaàu hoaït ñoäng ôû ñòa chæ 0000H neân ñòa chæ cuûa EPROM baét ñaàu töø 0000H vaø keát thuùc ôû ñòa chæ 1FFFH. - Ñoái vôùi SRAM, ñòa chæ baét ñaàu laø 8000H vaø keát thuùc ôû 9FFFH. Sôû dó ta choïn ñòa chæ naøy vì theo thieát keá phaàn cöùng chaân ñòa chæ cuoái cuøng cuûa CPU (A15) ñöôïc duøng laøm chaân ñieàu khieån vaø ñöôïc noái ñeán chaân CS\ cuûa SRAM. IV. KHOÁI NGUOÀN : - + 1 2 3 4 47 LM7805 1 2 3 VI G N D VO 6V + 1000u+ 1000u 1 1 1N4007 1 2 1N4007 1 2 Os TD 9V O Ñoà Aùn Moân Hoïc II – Leâ Minh Theá – 97ÑT04 Khoa Ñieän – Ñieän Töû 22  Cung caáp nguoàn 5V cho taát caû caùc vi maïch töø nguoàn beân ngoaøi 9V thoâng qua vi maïch oån aùp 7805, caùc tuï duøng keøm theo maïch ñeå naâng cao chaát löôïng nguoàn ñieän cho maïch.  Do SRAM löu tröõ caùc thoâng soá cuûa cuoäc goïi neân phaûi coù moät nguoàn pin döï phoøng cho SRAM ñeå ñeà phoøng caùc döõ lieäu bò maát khi nguoàn khoâng coøn. Nguoàn döï phoøng laø moät pin coù theå saïc laïi ñöôïc coù giaù trò ñieän aùp baèng 3.6 VDC. K Nguyeân Lyù Hoaït Ñoäng : - Khi coù nguoàn 9V qua boä naén ñieän caàu , coâng taéc baät ON qua IC oån aùp 7805 ñöa vaøo nuoâi maïch ,ñoàng thôøi nguoàn qua D1 qua ñieän trôû 47Ω saïc vaøo pin 6V. - Khi maát ñieän ,pin 6V seõ phoùng qua D2 cung caáp nguoàn cho maïch giuùp maïch khoâng bò maát döõ lieäu.(Tuï 1000µF laø tuï taêng cöôøng ) 2 Maïch pick up cho boä nhôù: ∪ Nguyeân lyù: Khi coù nguoàn 5V, moät phaàn qua D1 , R vaø naïp vaøo pin, moät phaàn nuoâi boä nhôù qua D2. Khi maát ñieän, pin laäp töùc phoùng qua D3 nuoâi boä nhôù. ∪ Thieát keá: - Choïn D1, D2, D3 laø loaïi 1N4007 - Vcc laø 5V - Suït aùp qua Diode laø 0.7V - Ñieän aùp nguoàn nuoâi Ram laø: Vng Ram = Vcc – Vd = 5V – 0.7V = 4.3V - Ñieän aùp cho nguoàn nuoâi pin döï tröõ: Vpin = Vcc – Vd3 – VR = 3V ⇒ VR = Vcc – Vd3 - Vpin = 5V – 0.7V – 3V ⇒ VR = 1.3V maø VR = I.R 3V 1N4007 D2 1 2 1N4007 D1 12 1N4007 D3 12 R6 1k 1 1 +5V Ñoà Aùn Moân Hoïc II – Leâ Minh Theá – 97ÑT04 Khoa Ñieän – Ñieän Töû 23 Choïn doøng naïp cho pin I = 15mA ⇒ R = Ω== mA 15 V 1,3 6,86 I RV Choïn R = 220Ω K Maïch RESET: - Ñeå Reset CPU 8051 chaân RST (chaân reset cuûa 8051) phaûi ôû möùc cao ít nhaát trong hai chu kyø maùy. Ta coù : Tmaùy= µs 0,6 12 MHz 3728,7 = Ñeå Reset heä thoáng T phaûi ≥ 2Tmaùy ⇒ T = s 3,2 MHz 3728,7 24 µ= Bieán trôû caàn ñuû nhoû ñeå traùnh tröôøng hôïp doøng naïp cho tuï phaân cöïc beân trong 8051 choïn R1 = 100Ω. Ñieän aùp ôû chaân RST laø: RSTV = τ − t e.VCC ⇒ CC RST V Ve =τ − t RST CC V Vlnt =τ ⇒ RST CC V Vln t =τ τ = RC : Thôøi haèng naïp ñieän cuûa maïch Giaû söû ñieän aùp cuûa Vrst laø 3V ⇒ RC = 3.9 10-6 Do Vrst coù theå lôùn hôn → ñeå ñaûm baûo doøng reset ta choïn: C = 10µF ; R = 8.2 K  Maïch reset heä thoáng: RST CC V VlnR tC = +5V+5V RST 100 SW 8,2K 10uF Ñoà Aùn Moân Hoïc II – Leâ Minh Theá – 97ÑT04 Khoa Ñieän – Ñieän Töû 24 Chaân Reset cuûa 8051 taùc ñoäng ôû möùc cao - Khi cho nguoàn 5V vaøo, thì tuï ñöôïc naïp ñaày. Sau ñoù tuï ñöôïc phoùng qua chaân reset vaø toaøn boä maïch ñöôïc reset töø ñaàu.Maïch Reset phaûi thoûa maõn 2 chöùc naêng: Reset luùc caáp nguoàn vaø Reset baèng tay. Ñoà Aùn Moân Hoc II – Leâ Minh Theá – 97ÑT04 24 Khoa Ñieän – Ñieän Töû VCC VCC PORT1 33 pF 7,3728 MHz 33 pF C1 10 uF R1 8,2 K SW AM2764 10 9 8 7 6 5 4 3 25 24 21 23 2 20 22 27 1 11 12 13 15 16 17 18 19 A0 A1 A2 A3 A4 A5 A6 A7 A8 A9 A10 A11 A12 CE OE PGM VPP O0 O1 O2 O3 O4 O5 O6 O7 D2 1 2 HM6264A 10 9 8 7 6 5 4 3 25 24 21 23 2 20 26 22 27 11 12 13 15 16 17 18 19 A0 A1 A2 A3 A4 A5 A6 A7 A8 A9 A10 A11 A12 CS1 CS2 OE WE D0 D1 D2 D3 D4 D5 D6 D7 R1 220 D3 1 2 D1 1N4007 1 2 3V VCC 1 74LS373 3 4 7 8 13 14 17 18 1 11 2 5 6 9 12 15 16 19 D0 D1 D2 D3 D4 D5 D6 D7 OC G Q0 Q1 Q2 Q3 Q4 Q5 Q6 Q7 3,3k 8051 31 19 18 9 12 13 14 15 1 2 3 4 5 6 7 8 39 38 37 36 35 34 33 32 21 22 23 24 25 26 27 28 17 16 29 30 11 10 EA/VP X1 X2 RESET INT0 INT1 T0 T1 P1.0 P1.1 P1.2 P1.3 P1.4 P1.5 P1.6 P1.7 P0.0 P0.1 P0.2 P0.3 P0.4 P0.5 P0.6 P0.7 P2.0 P2.1 P2.2 P2.3 P2.4 P2.5 P2.6 P2.7 RD WR PSEN ALE/P TXD RXD LED DISPLAY Ñoà Aùn Moân Hoc II – Leâ Minh Theá – 97ÑT04 25 Khoa Ñieän – Ñieän Töû IV. KHOÁI CHOÁT ÑÒA CHÆ: Trong maïch tính cöôùc naøy, ta söû duïng IC choát 74LS373 coù taùc duïng choát ñòa chæ 8 bit thaáp vaø 8 bit data ñeå giao tieáp giöõa Ram, Rom vaø 8051. - 8 ngoõ vaøo cuûa 74LS373 ñöôïc keát noái vôùi 8 ngoõ AD0 … AD7 (Port 0) cuûa CPU 8051. - 8 ngoõ ra cuûa 74LS373 ñöôïc keát noái vôùi caùc ñöôøng ñòa chæ cuûa SRAM vaø EPROM. 2 Vi maïch 74LS373 coù 8 Flip-Flop D vaø 8 coång ñeäm ñieàu khieån. Tín hieäu ñieàu khieån choát ñòa chæ ñöôïc CPU ñöa ra ôû chaân ALE (Address Latch Enable) ñöôïc noái vaøo chaân C (Chip) cuûa 74LS373. 2 ÔÛ nöûa chu kyø ñaàu cuûa chöông trình laøm vieäc, caùc Flip-Flop D cuûa 74LS373 seõ choát caùc ñòa chæ do CPU ñöa tôùi, khi ñoù chaân C ôû möùc 1. ÔÛ nöõa chu kyø coøn laïi, C ôû möùc 0 döõ lieäu xuaát ra ôû Q chính laø döõ lieäu ôû caùc ngoõ vaøo tröôùc ñoù, luùc naøy caùc ñöôøng port 0 seõ raõnh roãi ñeå nhaän vaø xuaát döõ lieäu ñeán SRAM vaø EPROM. V. KHOÁI NHAÄN AÂM HIEÄU – GIAÛI MAÕ BAØN PHÍM (ÑAÛO CÖÏC – DTMF THU): K Trong phaïm vi thieát keá cuûa Ñoà Aùn Moân Hoïc ta chæ quan taâm ñeán caùch tính cöôùc baèng phöông phaùp ñaûo cöïc .Coù nghóa laø thueâ bao coù ñaêng kyù ñaûo cöïc taïi Toång ñaøi. - Khi maùy ñöôïc caøi ôû cheá ñoä ñaûo cöïc, chaân 1 vaø chaân 2 seõ ñeå hôû, chaân RXD vaø TXD khoâng coøn ñöôïc noái vôùi nhau nöõa. - Ñeå tính tieàn cuoäc goïi, thueâ bao baét ñaàu nhaác maùy, khi toång ñaøi ñöôïc yeâu caàu phuïc vuï thì seõ phaùt tín hieäu môøi quay soá vaøo chaân 6 vaø chaân 7, tín hieäu vaøo chaân 6 seõ laøm cho ISO1 hoaït ñoäng vaø kích transistor daãn keùo theo chaân RXD seõ ñöôïc daãn xuoáng mass töùc laø ôû möùc logic 0 vaø TXD thì ñöôïc noái Vcc cho neân noù vaãn ôû möùc logic 1. - Tín hieäu qua ISO1 ñi ra maùy ñieän thoaïi theo chaân 5 cuûa head7, tín hieäu töø chaân 7 cuûa khoái giaûi maõ baøn phím sau ñoù ñi ra maùy ñieän thoïai ñeå baùo hieäu môøi goïi. - Thueâ bao baét ñaàu quay soá, tín hieäu vaøo maïch laøm cho ISO1 daãn, töùc laø chaân RXD ôû möùc logic 0 vaø TXD ôû möùc logic 1. Chöông trình phaàn meàm seõ nhaän bieát vaø xöû lyù raèng vôùi möùc logic cuûa hai chaân naøy thì cho pheùp maïch hoaït ñoäng ôû cheá ñoä ñaûo cöïc. - Sau khi toång ñaøi nhaän bieát raèng thueâ bao naøy ñaõ thöïc hieän ñaêng kyù ñaûo cöïc taïi toång ñaøi thì toång ñaøi seõ baét ñaàu tính cöôùc sau khi maùy thueâ bao beân kia nhaác maùy. Ngoaøi vieäc toång ñaøi laøm nhieäm vuï chuyeån maïch thoâng thoaïi noù coøn ñöa tín hieäu ñaûo cöïc veà maùy thueâ bao. Tín hieäu ñaûo cöïc naøy seõ ñöa vaøo chaân ñaûo –IN cuûa MT8870. Laäp töùc seõ coù tín hieäu ngoõ ra chaïy veà INT0 cuûa vi ñieàu khieån 8051 vaø chöông trình phaàn meàm seõ ñieàu khieån ngoû ra cho pheùp ñoïc RD\ taùc ñoäng vaøo chaân TOE cuûa MT8870 cho pheùp xuaát döõ lieäu vaøo CPU xöû lyù tính tieàn hieån thò qua led. Tín hieäu sau khi vaøo MT8870 ñeå xöû lyù thì quay ra ñeå noái thoâng thoaïi vôùi maùy Ñoà Aùn Moân Hoc II – Leâ Minh Theá – 97ÑT04 Khoa Ñieän – Ñieän Töû 26 thueâ bao. Khi cuoäc goïi keát thuùc maùy seõ hieån thò toaøn boä thôøi gian vaø soá tieàn keå töø khi thueâ bao beân kia baét ñaàu nhaác maùy. * Tính R5 - Khi thueâ bao nhaác maùy, doøng thoâng thoaïi caáp cho thueâ bao töø (20 –100 )mA Cho doøng cuûa toång ñaøi caáp cho thoâng thoaïi nhoû nhaát laø 20mA. Choïn opto laø 4N35, choïn doøng qua led laø 4mA, ñieän aùp suït treân led opto laø V = 2V. ⇒ Doøng qua R5 laø: I5 = 20 – 4 = 16mA Choïn R5 = 220Ω n Khoái Giaûi maõ DTMF: IC MT8870 seõ giaûi maõ xung DTMF ra soá BCD 4 bit vaø ñöa tôùi CPU, ñoàng thôøi cuõng taïo ra moät tín hieäu ngaét ôû chaân 15 (STD) ñöa tôùi chaân INT0\ cuûa CPU taïo ngaét khi nhaän moät tín hieäu Tone vaøo. Chaân 8 vaø chaân 7 cuûa MT8870 ñöôïc noái tôùi moät thaïch anh 3,579 MHz, taàn soá cuûa thaïch anh naøy seõ ñem so saùnh vôùi caùc taàn soá cuûa DTMF ñeå taïo ra caùc soá BCD 4 bit. Khi chaân 10 ôû möùc thaáp, MT8870 seõ taïo xung baùo cho CPU bieát qua chaân INT0\ ñeå taïo ngaét, khi ñoù CPU phaûi chuyeån sang cheá ñoä Tone. Luùc ñoù, vi maïch MT8870 seõ nhaäp caùc soá döôùi daïng tín hieäu caùc maõ soùng DTMF ñoàng thôøi caùc ngoõ ra Q1…Q4 ôû möùc toång trôû cao. Khi RD\ cuûa CPU ôû möùc thaáp vaø A15 cuûa CPU ôû möùc cao khi ñoù chaân 10 (TOE) seõ ôû möùc cao, MT8870 xuaát ra döõ lieäu. Sô ñoà keát noái MT8870: VCC MT 8870 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 IN+ IN- GS VREF IC IC OSC1 OSC2 GND TOE Q1 Q2 Q3 Q4 STD EST ST/GT VCC 3,57MHz R12 150K 104100K 100K 330K 104 74LS02 2 3 1 74LS02 2 3 1 INT0 P.0 A15 RD CPU Ω=== K125,1 16 2 I V R 5 opto 5 Ñoà Aùn Moân Hoc II – Leâ Minh Theá – 97ÑT04 Khoa Ñieän – Ñieän Töû 27 VI. KHOÁI GIAÛI MAÕ ÑÒA CHÆ – HIEÅN THÒ : - Yeâu caàu maïch naøy phaûi coù ngoõ ra ñeå giaûi maõ led 7 ñoaïn döïa vaøo caùc bit döõ lieäu ñöa veà töø maïch giaûi maõ baøn phím phía tröôùc. - Khi coù tín hieäu caùc bit döõ lieäu ghi treân boä nhôù ngoaøi cuûa CPU töø caùc ngoõ ra cuûa maïch giaûi maõ baøn phím, chöông trình phaàn meàm seõ xöû lyù cho ra caùc ñòa chæ caùc led ñeå cho pheùp caùc ñòa chæ led naøo hoaït ñoäng thoâng qua port T1 töùc laø P3.5, döõ lieäu naøy ñöa vaøo hai chaân A vaø B cuûa 74164 nhaèm xuaát ñòa chæ ra led 7 ñoaïn. - Muoán maïch hoaït ñoäng toát thì chaân CLEAR phaûi luoân ôû vò trí tích cöïc laø +Vcc. - Tín hieäu xung clock vaøo ñeå ñeám nhòp xung cho vieäc giaûi maõ ra led 7 ñoaïn. Ñeå coù xung clock thì chaân WR\ cuûa vi ñieàu khieån 8051 töùc laø P3.7 phaûi ôû möùc logic 0 vaø chaân 28 cuûa 8051 ôû ñòa chæ 8000H töùc laø möùc logic 1. Vì choïn RAM khoâng tích cöïc cho neân hai tín hieäu naøy phaûi qua hai coång NOR cuûa vi maïch 7402, tín hieäu cuoái cuøng laø ôû möùc logic 1. - Khi coù xung clock taùc ñoäng vaøo chaân CK cuûa vi maïch 74164, keát hôïp vôùi döõ lieäu ôû P3.5 cuûa vi ñieàu khieån 8031 ñeå xuaát caùc ngoõ ra Q1 ñeán QH. Moãi ngoõ ra noái vôùi Katod chung cuûa moãi led 7 ñoaïn. - Vì caùc led 7 ñoaïn coù coâng suaát lôùn cho neân ta phaûi khueách ñaïi coâng suaát caùc tín hieäu ngoõ ra töø Q1 ñeán QH tröôùc khi ñöa vaøo Katod cuûa led 7 ñoaïn. ÔÛ ñaây ta söû duïng transistor B562 vaø ñieän trôû R = 3.3kΩ ñeå laøm maïch khueách ñaïi. - Ñoàng thôøi cuøng luùc P3.5 cuûa 8051 xuaát döõ lieäu ra 74164 thì caùc port I/O töø P1.0 ñeán P1.7 cuûa vi ñieàu khieån 8031 cuõng xuaát döõ lieäu ra tröïc tieáp anod led 7 ñoaïn. Noù seõ ñieàu khieån ñoàng loaït anod caùc thanh cuûa led 7 ñoaïn hoaït ñoäng. Döïa vaøo chöông trình phaàn meàm ñieàu khieån, caùc port I/O cuûa 8051 keát hôïp vôùi phaàn giaûi maõ ñòa chæ vôùi vi maïch 74164, ñeå taïo ra moät döõ lieäu sau cuøng ñöôïc hieån thò qua 8 led 7 ñoaïn maø ta coù theå hieåu ñöôïc thoâng qua caùc con soá hieån thò nhö soá giaù cöôùc cuoäc goïi, soá ñieän thoaïi ñaõ goïi, giôø cuoäc goïi, soá laàn goïi ….. - Cuõng nhö caùc tín hieäu ra töø Q1 y QH , ngoõ ra cuûa Port 1.0 cuõng phaûi qua maïch khueách ñaïi ,vì neáu khoâng thì caùc tín hieäu ngoõ ra seõ bò Led 7 ñoaïn coù coâng suaát lôùn huùt heát doøng gaây suït aùp lôùn daãn ñeán hoûng maïch .ÔÛ maïch khueách ñaïi naøy ta söû duïng 8 Transistor loaïi C945 ñieän trôû coù trò soá R13 = 10k vaø 8 ñieän trôû R14 = 220Ω. Tính R12 ,R13 ,R14 Tính toaùn giaù trò Rb(R12) vaø BJT A1015 Transistor A1015 coù caùc thoâng soá : Loaïi Si coù : + Vγ (ñieän aùp ngöôõng VBE ) = 0,5V + Vδ (ñieän aùp khueách ñaïi BE) = 0.65V + VBES (ñieän aùp baõo hoøa BE) =0,8V + VCES (ñieän aùp baõo hoøa CE) = 0,2V Ñoà Aùn Moân Hoc II – Leâ Minh Theá – 97ÑT04 Khoa Ñieän – Ñieän Töû 28 + ICS =100mA + β (heä soá khueách ñaïi hfe) =70 → 240 + P (Coâng suaát lôùn nhaát) = 400mW + f (Taàn soá giôùi haïn ) = 80 MHz ÔÛ ñaây ta söû duïng Transistor nhö moät khoùa ñieän töû ñoùng/ ngaét Qsat → V0 = 0 → Coâng taéc ñoùng . Qoff → V0 = 0 VCC → Coâng taéc hôû . + Vi = 0 → Qoff Ic = 0 → V0 = Vcc + Vi = V(möùc 1) → Qsat VBE = VBES ; IB = IBS VCE = VCES ; IC = ICS Cho Vcc = 5 V ,βmin = 80 Ta coù : Ibs ≥ min CS β I Rb = BS BESCC 12 I VVR −= → ( ) CS minBESCC 12 I βVVR −≤ ; ( ) Ω=−≤ K 36,3 1,0 80.8.05R12 Choïn R12 = 3,3 KΩ - Tính toaùn ñieän aùp vaø doøng ñeå Led saùng - Choïn aùp qua Led laø 2V - Doøng qua Led 10mA Vì Led qua 2 Transistor neân qua 2 moái noái CE1 vaø CE2 Ñieän trôû haïn doøng vaø aùp R14 LED LED2CE1CECC 14 I VVVVR −−−= Ñoà Aùn Moân Hoc II – Leâ Minh Theá – 97ÑT04 Khoa Ñieän – Ñieän Töû 29 Ω=−−−= 260 01,0 22,02,05R14 Choïn R = 260 Ω - Choïn Trasistor C 945 coù : Pmax = 200 mW Ic max =100 mA hfe = 200 - Ñeå töøng ñoaïn Led ñöôïc hieån thò thì C945 phaûi daãn baõo hoøa Choïn doøng cho töøng Led : Ics =50 mA Maø : Ibs * hfe ≥ Ics = 50mA ⇒ Ibs = mA 25,0 200 50 = Ω=−=−= K 4,8 25,0 3,04,2 I VV R bs 2ce1p 13 Choïn R13 = 10 KΩ - Ñeå Relay chuyeån traïng thaùi , Q phaûi daãn baõo hoøa Relay = 300 Ω . Do ñoù ta phaûi choïn R6 sao cho hfe * Ibs ≥ mA 16 = 300 V5 ⇒ mA 0,08 =≥ 200 16Ibs Choïn Ibs =0,25 mA ⇒ Ω=−=−== K 8,4 25,0 3,04,2 I VV RR bs 2ce1p 6b Choïn R6 = 10 KΩ Tính toaùn caùc ñieän trôû, transistor: Ñoä saùng cuûa led 7 ñoaïn phuï thuoäc doøng ñieän chaïy qua chuùng. ÔÛ cheá ñoä saùng bình thöôøng, ñieän aùp rôi coá ñònh treân moät led thöôøng laø (1.6 – 2.4)V. Doøng ñieän chaïy qua led laø 20mA. Vì vaäy ta phaûi duøng ñieän trôû ñeå haïn doøng. Maët khaùc ñoái vôùi hoï TTL 74 doøng ra cöïc ñaïi laø 16mA, do ñoù theå laáy ngoõ ra cuûa vi maïch ñeå kích led. Nhö vaäy ta phaûi duøng caùc transistor ñeäm ñeå kích cho caùc led saùng. Vôùi doøng ñieän taûi laø laø 20mA, ta duøng caùc transistor A vaø C945, hai transistor coù doøng taûi cöïc C lôùn vaø chòu ñöôïc ñieän aùp khaù cao, maø ta chæ duøng nguoàn cung caáp laø 5V. Neân caùc yeâu caàu veà kyõ thuaät ñoái vôùi caùc transistor coi nhö thoûa vaø hai loaïi transistor naøy raát phoå bieán treân thò tröôøng. Ñoà Aùn Moân Hoc II – Leâ Minh Theá – 97ÑT04 Khoa Ñieän – Ñieän Töû 30 Caû hai transistor ñeàu laøm vieäc ôû cheá ñoä baõo hoøa neân ta choïn chuùng coù caùc heä soá khueách ñaïi β nhoû. ÔÛ B562 choïn heä soá khueách ñaïi β = 20 vaø C 945 heä soá khueách ñaïi β = 35. Vì caùc transistor laøm vieäc ôû cheá ñoä baõo hoøa neân khi caùc transistor daãn ñieän, aùp rôi treân moái noái CE laø nhoû: VCE = 0.3V Ta coù: IB B562 = IC B562 / β = 20mA / 20 = 1mA IB C945 = IC C945 / β = 20mA /35 = 0.6 mA ÔÛ vi maïch loaïi TTL, möùc logic ra coù ñieän aùp: Möùc 0 = 0.8V Möùc 1 = 3.5V R1 = [ VCC – (VL + VBE)] / IB B562 = [ 5V – (0.8 + 0.7)] / 1mA = 3.5 KΩ Choïn R1 = 3.3 KΩ R2 = (VCC – VBE )/ IB C945 = (5V – 0.7V) / 0.6mA = 7.2 KΩ Choïn R2 = 10 KΩ R3 coù taùc duïng haïn doøng qua led traùnh gaây hoûng led R3 = [VCC – (VCE1 + VCE2 + 2.4)]/ ITransistor = [5-(0.3+0.3+2.4)]/ 20 = 100Ω. VIII. Nguyeân Lyù Hoaït Ñoäng Chung: Giaû söû thueâ bao söû duïng heä tone vaø ñaõ ñöôïc cho pheùp ñaûo cöïc, chaân 1 vaø 2 cuûa head 7 ñeå hôû ra. - Khi thueâ bao nhaác maùy tín hieäu töø toång ñaøi ñieän thoaïi göûi vaøo chaân 6 laøm cho ISO1 hoaëc ISO2 hoaït ñoäng tuøy theo ta choïn ñaàu vaøo laø 5 hay 6 cuûa head 7 laøm cho 4N351 hoaëc 4N352 hoaït ñoäng thì seõ coù doøng ñieän chaïy qua R4 ñi vaøo 4N351 daãn hay qua R3 thì seõ laøm cho 4N352 daãn. - Khi 4N352 hoaït ñoäng, ñoàng nghóa vôùi chaân RXD cuûa 8031 xuoáng möùc logic 0. Chaân TXD vaãn ôû möùc logic 1, chöông trình phaàn meàm seõ hieåu vaø noù seõ taùc ñoäng theo cheá ñoä ñaûo cöïc. Tín hieäu INTERUP1 töø chaân 13 cuûa 8031 qua R6 phaân cöïc cho Q1 laøm cho 2 tieáp ñieåm rôle ñoùng khi cuoän daây rôle hoaït ñoäng. - Tín hieäu töông töï töø toång ñaøi ñöa ñeán qua R8 tieáp tuïc qua C7 qua R9 vaø ñeán chaân ñaûo cöïc –IN cuûa IC MT8870. + Ñoà Aùn Moân Hoc II – Leâ Minh Theá – 97ÑT04 Khoa Ñieän – Ñieän Töû 31 - Khi MT8870 nhaän ñöôïc tín hieäu ñaûo cöïc chaân 15 töùc laø STD seõ leân möùc logic 1 vaø laøm cho chaân 12 cuûa vi ñieàu khieån 8031 ngaét T0. Ñoàng thôøi chaân 28 cho hoaït ñoäng möùc logic 1 coù ñòa chæ 8000, chaân 17 cuûa 8031 laø chaân RD cho pheùp ñoïc döõ lieäu ôû möùc logic 0. - Tín hieäu töø chaân 28 qua IC5A thì ôû möùc logic 0 vaø keát hôïp chaân 17 cuûa 8031 ôû möùc logic 0 qua IC5C thì tín hieäu seõ laø 1, laøm cho chaân TOE cuûa MT8870 taùc ñoäng. - Chaân TOE (chaân 10) cuûa MT8870 seõ taùc ñoäng khi ngoû vaøo ôû möùc logic 1 vaø xuaát ra ôû ngoû ra Q1 ñeán Q4 laø Data seõ ñöa veà CPU ñeå ñieàu khieån boä phaän giaûi maõ ñòa chæ. - Ñeå cho khoái giaûi maõ hoaït ñoäng thì phaûi coù xung clock vaøo chaân QA ñeán QH cuûa IC 741641 vaø QA ñeán QB cuûa IC 741642. Luùc naøy, chaân 16 laø chaân cho pheùp vieát cuûa 8031 ñang ôû möùc logic 0 neân ngoû ra cuûa IC5B ôû möùc logic 1 töùc laø coù xung ñi vaøo IC74164 neân cho pheùp chaân A, B göûi veà chaân timer1 cuûa 8031, CPU xöû lyù cho data ra port 1. - Khi coù xung clock taùc ñoäng thì ñoàng thôøi caùc chaân QA ñeán QH cuûa IC 741641 vaø QA ñeán QB cuûa IC 741642 cuõng taùc ñoäng vaøo taát caû caùc chaân katot cuûa heä thoáng 10 led 7 ñoaïn nhaèm taïo cho 10 led 7 ñoaïn saún saøng hoaït ñoäng khi coù taùc ñoäng cuûa port 1 töø CPU göûi ñeán. - CPU xöû lyù caùc söï kieän ñöa veà thoâng qua chöông trình quaûn lyù ñöa veà EPROM, vaø RAM ñeå ñöa ra ñòa chæ giaûi maõ thoâng qua 10 led 7 ñoaïn. Ñoà Aùn Moân Hoc II – Leâ Minh Theá – 97ÑT04 Khoa Ñieän – Ñieän Töû 32 THIEÁT KEÁ CHÖÔNG TRÌNH VI XÖÛ LYÙ 5¤5 I.n GIÔÙI THIEÄU VEÀ CAÙC VUØNG RAM NOÄI TRONG 8051: - Trong IC vi ñieàu khieån 8051 coù chöùa 128 byte RAM töø ñòa chæ 20H y 7FH. Trong ñoù caùc byte töø 20H – 7FH duøng cho caùc muïc ñích ñaëc bieät , coøn ñòa chæ töø 30H – 7FH duøng cho muïc ñích thoâng thöôøng . - Trong chöông trình ta söû duïng caùc vuøng RAM töø : n 30H ÷ 4FH: Vuøng laøm vieäc daønh cho thueâ bao thöù 1. n 50H ÷ 6FH: Vuøng laøm vieäc daønh cho thueâ bao thöù 2. n Ñòa chæ cuûa EPROM tö ø: 0000H ÷ 0FFFH duøng ñeå löu chöông trình xöû lyù cho 8051. n Ñòa chæ cuûa RAM töø : 1000H ÷ 13FFH duøng ñeå löu döõ lieäu cho caû 2 maùy. ? Caùc thoâng soá duøng cho keânh 1: n 30H ÷ 38H :Löu Dial Tone. n 39H ÷ 3CH :Löu thôøi gian . n 3DH :Löu möùc cöôùc cuûa cuoäc goïi . n 3EH ÷ 47H : Löu tröõ tieàn cöôùc cuûa moät cuoäc goïi. n 48H : Löu taïm thôøi soá Dial Tone nhaän vaøo ñeå xöû lyù . n 4AH : Löu Flag cho maùy 1. n 4BH : Löu traïng thaùi cuõ cuûa maùy 1. ? Caùc thoâng soá duøng cho keânh 2 : n 50 ÷ 58H : Löu Dial Tone n 59 ÷ 5CH : Löu thôøi gian n 5DH : Löu möùc cöôùc cuûa cuoäc goïi n 5E ÷ 67H : Löu giöõ tieàn cöôùc cuûa moät cuoäc goïi n 68H : Löu taïm thôøi soá Dial Tone nhaän vaøo ñeå xöû lyù . n 6AH : Löu Flag cho maùy 2. n 6BH : Löu traïng thaùi cuõ cuûa maùy 2. II. CAÙC KYÙ HIEÄU SÖÛ DUÏNG TRONG CHÖÔNG TRÌNH : - Ngoõ ra Delay Steering (STD) cuûa IC MT8870: + Khi STD = 1 :MT8870 ñaõ nhaän ñöôïc moät caëp aâm hieäu coù taàn soá keùp vaø ñaõ chuyeån sang maõ nhò phaân . + Khi STD = 0 : Caùc ngoõ ra cuûa Q0 ÷ Q3 cuûa MT8870 ôû traïng thaùi toång trôû cao. - Caùc côø hieäu söû duïng trong chöông trình : + Flag = 0 : Thueâ bao ñang gaùc maùy . Ñoà Aùn Moân Hoc II – Leâ Minh Theá – 97ÑT04 Khoa Ñieän – Ñieän Töû 33 + Flag = 1 : Thueâ bao nhaác maùy. + Flag = 2 : Thueâ bao ñang quay soá . + Flag = 3 : Thueâ bao chuaån bò thoâng thoaïi . + Flag = 4 : Thueâ bao ñang thoâng thoaïi . + Flag = 5 : Thueâ bao gaùc maùy hay thueâ bao ñoái phöông gaùc maùy. + Flag = 6 : Thueâ bao ñaõ gaùc maùy . III.K CAÙCH TÍNH THÔØI GIAN : - Ñeå ñaûm baûo vieäc tính thoài gian moät caùch töông ñoái chính xaùx, ta duøng ngaét Timer 0, vôùi chu kyø ngaét laø 0,05s .Cöù sau 20 laàn ngaét chöông trình seõ caäp nhaät laïi thôøi gian moät laàn cho caùc thueâ bao ñang thoâng thoaïi . IV. LÖU ÑOÀ GIAÛI THUAÄT : K Löu ñoà chöông trình tính cöôùc : BEGIN Ñoà Aùn Moân Hoc II – Leâ Minh Theá – 97ÑT04 Khoa Ñieän – Ñieän Töû 34 Ñoà Aùn Moân Hoc II – Leâ Minh Theá – 97ÑT04 Khoa Ñieän – Ñieän Töû 35 - Chöông trình khi phaùt hieän ñöôïc thueâ bao ñaõ ngöøng thoâng thoaïi seõ tính giaù cöôùc cuûa cuoäc goïi baèng caùch kieåm tra soá Dial Tone. Neáu soá ñaàu laø 0 chöông trình seõ ñoïc 2 soá tieáp theo cuûa maõ vuøng ñeå tra vaøo baûng giaù lieân tænh. Ngöôïc laïi neáu laø soá noäi haït thoâng thöôøng (baét ñaàu baèng soá 8) thì seõ tính cöôùc phí cho cuoäc goïi noäi haït . nnn GIAÛI THÍCH YÙ TÖÔÛNG PHAÀN MEÀMnnn m.Ñoïc caùc traïng thaùi: - Chöông trình seõ queùt lieân tuïc vaø ñoïc vaøo caùc traïng thaùi hieän thôøi cuûa hai maùy ñieän thoaïi vaø caát vaøo moät byte taïm trong RAM noäi. Neáu phaùt hieän coù tín hieäu nhaác maùy ( NM = 0, DC=1 hay ngöôïc laïi NM =1 ,DC=0) chöông trình seõ chuyeån sang traïng thaùi chôø nhaän soá ñieän thoaïi nhaán vaøo. Khi phaùt hieän ra STD =1, chöông trình seõ ñoïc tín hieäu quay soá do DTMF chuyeån ñoåi vaøo . Khi STD = 0 chöông trình seõ ngöng ñoïc DTMF. Ñoàng thôøi luùc naøy chöông trình seõ kieåm tra coù tín hieäu gaùc maùy hay ñaûo cöïc moät laàn nöõa chöa ? Neáu phaùt hieän coù söï ñaûo cöïc laàn nöõa treân ñöôøng daây thì chöông trình cho khôûi ñoäng boä Timer baét ñaàu tính giôø cho maùy ñang goïi .Ngöôïc laïi neáu ñoù laø tín hieäu ñoù laø gaùc maùy thì chöông trình seõ chuyeån sang traïng thaùi nhaác maùy trong moät laàn tieáp theo. - Khi ñang thoâng thoaïi , neáu nhö nhaän thaáy coù söï ñaûo cöïc moät laàn nöõa treân ñoâi daây hay laø gaùc maùy ,chöông trình seõ ngöøng tính thôøi gian cho maùy goïi vaø seõ tính tieàn cöôùc cuûa cuoäc goïi ,ghi laïi trong RAM ngoaøi vaø hieån thò ra LED giaù tieàn.Sau ñoù neáu trong khoaûng thôøi gian 45’’ maø khoâng coù cuoäc goïi naøo ñöôïc thieát laäp thì chöông trình seõ ngöøng hieån thò ra LED ñeå tieát kieäm naêng löôïng vaø baûo veä LED. - Luùc naøy neáu muoán xem laïi cuoäc goïi ta coù theå nhaán moät phím chöùc naêng .Chöông trình seõ cho pheùp hieån thò laïi thôøi gian vaø soá Dial Tone. Neáu nhaán tieáp moät laàn nöõa chöông trình seõ cho pheùp xem laïi giaù cöôùc cuûa cuoäc goïi. n Caùch ghi cöôùc : - Ñeå tính cöôùc cuûa cuoäc goïi , ta xeùt soá ñaàu tieân nhaán vaøo. + Neáu laø soá 0: Chöông trình seõ kieåm tra 2 soá tieáp theo .Neáu laø soá thöù 2 laø soá 8, chöông trình seõ tính cöôùc lieân tænh döïa vaøo maõ lieân tænh ví duï quay soá (058.831313). Neáu soá thöù 2 laø soá 9, chöông trình seõ tính cöôùc di ñoäng ví duï (090.650823). + Neáu khaùc 0: Chöông trình seõ kieåm tra soá goïi noäi haït. Neáu baét ñaàu laø 8 seõ tính cuôùc cho cuoäc goïi noäi haït . + Khi goïi noäi haït thì caên cöù vaøo thôøi gian toång coäng ñeå tính cöôùc cöù moãi ñôn vò thôøi gian (2 phuùt laøm troøn) seõ tính laø 800 ñoàng , sau ñoù nhaân leân ra soá tieàn cuûa cuoäc goïi. + Khi goïi lieân tænh thì chöông trình seõ caên cöù vaøo soá maõ vuøng sai ñoù tra vaøo baûng giaù ñeå tính + Khi goïi di ñoäng thì chöông trình seõ caên cöù vaøo soá phuùt goïi ñeå tính cöôùc vì trong heä thoáng thoâng tin di ñoäng thì khoâng phaân bieät khoaûng caùch . CHÖÔNG TRÌNH ÑAÕ ÑÖÔÏC DÒCH BAÈNG MSC_51 MACRO ASSEMBLER. Ñoà Aùn Moân Hoc II – Leâ Minh Theá – 97ÑT04 Khoa Ñieän – Ñieän Töû 36 _MCS-51 MACRO ASSEMBLER CHARGING DOS 8.0 (038-N) MCS-51 MACRO ASSEMBLER, V2.2 OBJECT MODULE PLACED IN C:\CHARGING.OBJ ASSEMBLER INVOKED BY: C:\ASM51.EXE C:\CHARGING LOC OBJ LINE SOURCE 0004 1 COST EQU 4 4000 2 LED EQU 4000H 2000 3 DTMF1 EQU 2000H 3000 4 DTMF2 EQU 3000H 1000 5 RAMAY1 EQU 1000H 1020 6 RAMAY2 EQU 1020H 0000 7 ORG 0000H 0000 020030 8 LJMP START 000B 11 ORG 000BH ;Dia chi ngat cho Timer 0 000B 020326 12 LJMP TIME 0030 15 ORG 0030H 0030 75A882 16 START: MOV IE ,# 82H ;MAIN: 88 0033 758901 17 MOV TMOD, # 01H ; 02H 0036 758C3C 18 MOV TH0,# HIGH(-50000) ;(-30) 0039 758AB0 19 MOV TL0,# LOW(-50000) 003C 7930 20 MOV R1, # 30H 003E 7A3E 21 MOV R2, # 62 0040 770A 22 LOOP_MAIN: MOV @R1, # 0AH 0042 09 23 INC R1 0043 DAFB 24 DJNZ R2, LOOP_MAIN 0045 754A00 25 MOV 4AH, # 00H 0048 756A00 26 MOV 6AH, # 00H 004B 754B03 27 MOV 4BH, # 03H 004E 756B03 28 MOV 6BH, # 03H 0051 753D00 29 MOV 3DH, # 00H 0054 755D00 30 MOV 5DH, # 00H 0057 754CFF 31 MOV 4CH, # 0FFH 005A 754D00 32 MOV 4DH, # 00H 005D 756D00 33 MOV 6DH, # 00H 0060 756CFF 34 MOV 6CH, # 0FFH 0063 757004 35 MOV 70H, # COST 0066 D28C 36 SETB TR0 0068 120076 37 MAIN: LCALL INT_TIME 006B 120118 38 LCALL PROCESSING 006E 1202D8 39 LCALL KEY_PRESS Ñoà Aùn Moân Hoc II – Leâ Minh Theá – 97ÑT04 Khoa Ñieän – Ñieän Töû 37 0071 120391 40 LCALL DATA_IN 0074 80F2 41 SJMP MAIN 0076 902000 42 INT_TIME: MOV DPTR,# DTMF1 0079 E0 43 MOVX A, @DPTR 007A F548 44 MOV 48H, A 007C 903000 45 MOV DPTR, # DTMF2 007F E0 46 MOVX A, @DPTR 0080 F568 47 MOV 68H, A 0082 12009E 48 LCALL SUBINT_TIME1 0085 902000 49 MOV DPTR, # DTMF1 0088 1200D7 50 LCALL SUBINT_TIME2 008B 791F 51 MOV R1, # 31 008D 7930 52 MOV R1, # 30H 008F 7850 53 MOV R0, # 50H 0091 1201D3 54 LCALL SWAPPED 0094 12009E 55 LCALL SUBINT_TIME1 0097 903000 56 MOV DPTR, # DTMF2 009A 1200D7 57 LCALL SUBINT_TIME2 009D 22 58 RET 009E 784A 59 SUBINT_TIME1: MOV R0,# 4AH 00A0 B60011 60 CJNE @R0,# 00H,TH2 00A3 E548 61 MOV A, 48H 00A5 5403 62 ANL A, # 03H 00A7 B54B03 63 CJNE A, 4BH ,SET1 00AA 0200D6 64 JMP EXIT_INT1 00AD 7601 65 SET1: MOV @R0, # 01H 00AF F54B 66 MOV 4BH, A 00B1 0200D6 67 JMP EXIT_INT1 00B4 B60411 68 TH2: CJNE @R0, # 04H, TH3 00B7 E548 69 MOV A,48H 00B9 5403 70 ANL A,# 03H 00BB B54B03 71 CJNE A, 4BH, SET2 00BE 0200D6 72 JMP EXIT_INT1 00C1 7605 73 SET2: MOV @R0, #05H 00C3 F54B 74 MOV 4BH, A 00C5 0200D6 75 JMP EXIT_INT1 00C8 B6060B 76 TH3: CJNE @R0, # 06H,EXIT_INT1 00CB E548 78 MOV A, 48H 00CD 5403 79 ANL A,# 03H 00CF B54B00 80 CJNE A,4BH,SET3 00D2 7600 81 SET3: MOV @R0, # 00H Ñoà Aùn Moân Hoc II – Leâ Minh Theá – 97ÑT04 Khoa Ñieän – Ñieän Töû 38 00D4 F54B 82 MOV 4BH, A 00D6 22 83 EXIT_INT1: RET 00D7 784A 84 SUBINT_TIME2: MOV R0, # 4AH 00D9 B80220 85 CJNE R0,# 02H,EXIT_INT2 00DC E548 86 MOV A,48H 00DE 20E218 87 JB ACC.2, READ_DTMF 00E1 5403 88 ANL A, # 03H 00E3 B54B02 89 CJNE A, 4BH,SET4 00E6 8014 90 SJMP EXIT_INT2 00E8 B40307 91 SET4: CJNE A,# 03H, SET5 00EB F54B 92 MOV 4BH, A 00ED 7600 93 MOV @R0,# 00H 00EF 0200FC 94 JMP EXIT_INT2 00F2 F54B 95 SET5: MOV 4BH,A 00F4 7603 96 MOV @R0, #03H 00F6 0200FC 97 JMP EXIT_INT2 00F9 1200FD 98 READ_DTMF: LCALL DICH 00FC 22 99 EXIT_INT2: RET 00FD 7937 100 DICH: MOV R1, # 37H 00FF 7A08 101 MOV R2,# 08D 0101 E0 102 MOVX A, @DPTR 0102 03 103 RR A 0103 03 104 RR A 0104 03 105 RR A 0105 540F 106 ANL A, # 0FH 0107 B40A02 107 CJNE A, # 0AH, DICH_TONE 010A 7400 108 MOV A, # 00H 010C 87F0 109 DICH_TONE: MOV B, @R1 ; SAI SAI DICH_ TONE 010E 09 110 INC R1 010F A7F0 111 MOV @R1, B 0111 19 112 DEC R1 0112 19 113 DEC R1 0113 DAF7 114 DJNZ R2,DICH_TONE 0115 09 115 INC R1 0116 F7 116 MOV @R1, A 0117 22 117 RET 0118 120168 118 PROCESSING: CALL SUBPROCES1 011B 901020 119 MOV DPTR, # RAMAY2 011E 120199 120 CALL SUBPROCES2 0121 7F05 121 MOV R7,# 5 0123 7A0E 122 WAITI: MOV R2,# 0EH Ñoà Aùn Moân Hoc II – Leâ Minh Theá – 97ÑT04 Khoa Ñieän – Ñieän Töû 39 0125 7950 123 MOV R1,# 50H 0127 C2B4 124 CLR P3.4 0129 1201B7 125 LCALL OUT_LED 012C D2B4 126 SETB P3.4 012E 7A0E 127 MOV R2,# 0EH 0130 7930 128 MOV R1,# 30H 0132 C2B5 129 CLR P3.5 0134 1201B7 130 LCALL OUT_LED 0137 D2B5 131 SETB P3.5 0139 DFE8 132 DJNZ R7, WAITI 013B 7A1F 133 MOV R2, # 31 013D 7930 134 MOV R1, # 30H 013F 7850 135 MOV R0, # 50H 0141 1201D3 136 LCALL SWAPPED 0144 120168 137 CALL SUBPROCES1 0147 901000 138 MOV DPTR, # RAMAY1 014A 120199 139 CALL SUBPROCES2 014D 7F05 140 MOV R7,# 5 014F 7A0E 141 WAIT2: MOV R2,# 0EH 0151 7930 142 MOV R1,# 30H 0153 C2B4 143 CLR P3.4 0155 1201B7 144 LCALL OUT_LED 0158 D2B4 145 SETB P3.4 015A 7A0E 146 MOV R2,# 0EH 015C 7950 147 MOV R1,# 50H 015E C2B5 148 CLR P3.5 0160 1201B7 149 LCALL OUT_LED 0163 D2B5 150 SETB P3.5 0165 DFE8 151 DJNZ R7, WAIT2 0167 22 152 RET 0168 784A 153 SUBPROCES1: MOV R0,# 4AH 016A B60113 154 CJNE @R0,# 01H,C2 016D 7930 155 MOV R1, # 30H 016F 7A09 156 MOV R2, # 09H 0171 1201B1 157 LCALL DEL 0174 7939 158 MOV R1,# 39H 0176 7A05 159 MOV R2, # 05 0178 7600 160 XOA_TG: MOV @R0, # 00H 017A DAFC 161 DJNZ R2, XOA_TG 017C 7602 162 MOV @R0,# 02H 017E 8018 163 SJMP PR1 Ñoà Aùn Moân Hoc II – Leâ Minh Theá – 97ÑT04 Khoa Ñieän – Ñieän Töû 40 0180 B6030B 164 C2: CJNE @R0, # 03H,C3 0183 793E 165 MOV R1,# 3EH 0185 7A09 166 MOV R2, # 09H 0187 1201B1 167 LCALL DEL 018A 7604 168 MOV @R0,# 04H 018C 800A 169 SJMP PR1 018E B60507 170 C3: CJNE @R0,# 05H,PR1 0191 783E 171 MOV R0,# 3EH 0193 793C 172 MOV R1,# 3CH 0195 12021E 173 LCALL POST_AGE 0198 22 174 PR1: RET 0199 784A 175 SUBPROCES2: MOV R0,# 4AH 019B B80512 176 CJNE R0,# 05H,EXIT_P02 019E 1201C8 177 LCALL WRITE 01A1 7930 178 MOV R1,# 30H 01A3 783E 179 MOV R0,# 3EH 01A5 7A1F 180 MOV R2,# 31 01A7 1201D3 181 LCALL SWAPPED 01AA 754A06 182 MOV 4AH,# 06H 01AD 754CFF 183 MOV 4CH,# 0FFH 01B0 22 184 EXIT_P02: RET 01B1 770A 185 DEL: MOV @R1,# 0AH 01B3 09 186 INC R1 01B4 DAFB 187 DJNZ R2, DEL 01B6 22 188 RET 01B7 7400 189 OUT_LED: MOV A,# 00H 01B9 47 190 OUT_PUT: ORL A, @R1 01BA F590 191 MOV P1,A 01BC 7CFF 192 MOV R4,# 0FFH 01BE DCFE 193 DJNZ R4, $ 01C0 54F0 194 ANL A,# 0F0H 01C2 2410 195 ADD A,# 10H 01C4 09 196 INC R1 01C5 DAF2 197 DJNZ R2, OUT_PUT 01C7 22 198 RET 01C8 7930 199 WRITE: MOV R1,# 30H 01CA 7A18 200 MOV R2,# 18H 01CC E7 201 WRT: MOV A, @R1 01CD F0 202 MOVX @DPTR, A 01CE 09 203 INC R1 01CF A3 204 INC DPTR Ñoà Aùn Moân Hoc II – Leâ Minh Theá – 97ÑT04 Khoa Ñieän – Ñieän Töû 41 01D0 DAFA 205 DJNZ R2,WRT 01D2 22 206 RET 01D3 E6 207 SWAPPED: MOV A, @R0 01D4 87F0 208 MOV B, @R1 01D6 A6F0 209 MOV@R0, B 01D8 F7 210 MOV @R1, A 01D9 08 211 INC R0 01DA 09 212 INC R1 01DB DAF6 213 DJNZ R2, SWAPPED 01DD 22 214 RET 01DE 7600 215 BINARY_BCD: MOV @R0,# 00H 01E0 08 216 INC R0 01E1 7600 217 MOV @R0,# 00H 01E3 75F00A 218 MOV B,# 10 01E6 1201FF 219 LCALL DIV_16_8 01E9 08 220 INC R0 01EA A6F0 221 MOV @R0, B 01EC 75F00A 222 MOV B,# 10 01EF 1201FF 223 LCALL DIV_16_8 01F2 08 224 INC R0 01F3 A6F0 225 MOV @R0, B 01F5 75F00A 226 MOV B,# 10 01F8 84 227 DIV AB 01F9 08 228 INC R0 01FA A6F0 229 MOV @R0, B 01FC 08 230 INC R0 01FD F6 231 MOV @R0, A 01FE 22 232 RET 01FF 7A10 233 DIV_16_8: MOV R2,# 16 0201 FB 234 MOV R3, A 0202 E4 235 CLR A 0203 CB 236 DIVIDE: XCH A, R3 0204 C3 237 CLR C 0205 33 238 RLC A 0206 CB 239 XCH A, R3 0207 C9 240 XCH A, R1 0208 33 241 RLC A 0209 C9 242 XCH A, R1 020A 33 243 RLC A 020B B5F002 244 CJNE A,B,NOT_EQUAL 020E 8002 245 SJMP A_EQ_B Ñoà Aùn Moân Hoc II – Leâ Minh Theá – 97ÑT04 Khoa Ñieän – Ñieän Töû 42 0210 4006 246 NOT_EQUAL: JC BELOW 0212 95F0 247 A_EQ_B: SUBB A,B 0214 CB 248 XCH A, R3 0215 4401 249 ORL A,# 01 0217 CB 250 XCH A, R3 0218 DAE9 251 BELOW: DJNZ R2, DIVIDE 021A C5F0 252 XCH A,B 021C EB 253 MOV A, R3 021D 22 254 RET 021E E7 255 POST_AGE: MOV A, @R1 021F 75F00A 256 MOV B,# 10D 0222 A4 257 MUL AB 0223 19 258 DEC R1 0224 27 259 ADD A, @R1 0225 FA 260 MOV R2, A 0226 C3 261 CLR C 0227 19 262 DEC R1 0228 19 263 DEC R1 0229 19 264 DEC R1 022A B70024 265 CJNE @R1,# 00H,LOCAL 022D 19 266 DEC R1 022E E7 267 MOV A, @R1 022F 75F00A 268 MOV B,# 10D 0232 A4 269 MUL AB 0233 19 270 DEC R1 0234 27 271 ADD A, @R1 0235 9412 272 SUBB A,# 18 0237 F9 273 MOV R1, A 0238 900262 274 MOV DPTR,# FIRST_T 023B 93 275 MOVC A, @A+DPTR 023C 8570F0 276 MOV B, 70H 023F A4 277 MUL AB 0240 8AF0 278 MOV B, R2 0242 A4 279 MUL AB 0243 29 280 ADD A, R1 0244 C5F0 281 XCH A,B 0246 3400 282 ADDC A,# 00H 0248 C5F0 283 XCH A,B 024A A9F0 284 MOV R1, B 024C 1201DE 285 LCALL BINARY_BCD 024F 8010 286 SJMP EXIT_POST Ñoà Aùn Moân Hoc II – Leâ Minh Theá – 97ÑT04 Khoa Ñieän – Ñieän Töû 43 0251 19 287 LOCAL: DEC R1 0252 19 288 DEC R1 0253 B7080B 289 CJNE @R1,# 08H,EXIT_POST 0256 EA 290 MOV A, R2 0257 04 291 INC A 0258 8570F0 292 MOV B, 70H 025B A4 293 MUL AB 025C A9F0 294 MOV R1, B 025E 1201DE 295 LCALL BINARY_BCD 0261 22 296 EXIT_POST: RET 0262 0B 297 FIRST_T: DB 11 0263 0D 298 DB 13 0264 0D 299 DB 13 0265 0D 300 DB 13 0266 0B 301 DB 11 0267 0D 302 DB 13 0268 0D 303 DB 13 0269 0D 304 DB 13 026A 0B 305 DB 11 026B 0D 306 DB 13 026C 0B 307 DB 11 026D 0D 308 DB 13 026E 0B 309 DB 11 026F 0D 310 DB 13 0270 0B 311 DB 11 0271 0B 312 DB 11 0272 0B 313 DB 11 0273 0B 314 DB 11 0274 0B 315 DB 11 0275 0B 316 DB 11 0276 0B 317 DB 11 0277 0B 318 DB 11 0278 0B 319 DB 11 0279 0B 320 DB 11 027A 0B 321 DB 11 027B 0B 322 DB 11 027C 0B 323 DB 11 027D 0B 324 DB 11 027E 0B 325 DB 11 027F 0B 326 DB 11 0280 04 327 DB 4 Ñoà Aùn Moân Hoc II – Leâ Minh Theá – 97ÑT04 Khoa Ñieän – Ñieän Töû 44 0281 08 328 DB 8 0282 0B 329 DB 11 0283 08 330 DB 8 0284 08 331 DB 8 0285 08 332 DB 8 0286 06 333 DB 6 0287 06 334 DB 6 0288 06 335 DB 6 0289 06 336 DB 6 028A 06 337 DB 6 028B 03 338 DB 3 028C 04 339 DB 4 028D 04 340 DB 4 028E 0B 341 DB 11 028F 03 342 DB 3 0290 03 343 DB 3 0291 04 344 DB 4 0292 04 345 DB 4 0293 04 346 DB 4 0294 04 347 DB 4 0295 03 348 DB 3 0296 03 349 DB 3 0297 04 350 DB 4 0298 03 351 DB 3 0299 04 352 DB 4 029A 04 353 DB 4 029B 04 354 DB 4 029C 04 355 DB 4 029D 08 356 SECOND_T: DB 8 029E 0A 357 DB 10 029F 0A 358 DB 10 02A0 0A 359 DB 10 02A1 08 360 DB 8 02A2 0A 361 DB 10 02A3 0A 362 DB 10 02A4 0A 363 DB 10 02A5 08 364 DB 8 02A6 0A 365 DB 10 02A7 08 366 DB 8 02A8 0A 367 DB 10 02A9 08 368 DB 8 Ñoà Aùn Moân Hoc II – Leâ Minh Theá – 97ÑT04 Khoa Ñieän – Ñieän Töû 45 02AA 0A 369 DB 10 02AB 08 370 DB 8 02AC 08 371 DB 8 02AD 08 372 DB 8 02AE 08 373 DB 8 02AF 08 374 DB 8 02B0 08 375 DB 8 02B1 08 376 DB 8 02B2 08 377 DB 8 02B3 08 378 DB 8 02B4 08 379 DB 8 02B5 08 380 DB 8 02B6 08 381 DB 8 02B7 08 382 DB 8 02B8 08 383 DB 8 02B9 08 384 DB 8 02BA 08 385 DB 8 02BB 03 386 DB 3 02BC 06 387 DB 6 02BD 08 388 DB 8 02BE 06 389 DB 6 02BF 06 390 DB 6 02C0 06 391 DB 6 02C1 04 392 DB 4 02C2 04 393 DB 4 02C3 04 394 DB 4 02C4 04 395 DB 4 02C5 04 396 DB 4 02C6 02 397 DB 2 02C7 03 398 DB 3 02C8 03 399 DB 3 02C9 08 400 DB 8 02CA 02 401 DB 2 02CB 02 402 DB 2 02CC 03 403 DB 3 02CD 03 404 DB 3 02CE 03 405 DB 3 02CF 03 406 DB 3 02D0 02 407 DB 2 02D1 02 408 DB 2 02D2 03 409 DB 3 Ñoà Aùn Moân Hoc II – Leâ Minh Theá – 97ÑT04 Khoa Ñieän – Ñieän Töû 46 02D3 02 410 DB 2 02D4 03 411 DB 3 02D5 03 412 DB 3 02D6 03 413 DB 3 02D7 03 414 DB 3 02D8 784A 415 KEY_PRESS: MOV R0,# 4AH 02DA B6001D 416 CJNE @R0,# 00H,KEY_MAY2 02DD D2B0 417 SETB P3.0 02DF 20B018 418 JB P3.0, KEY_MAY2 02E2 7830 419 MOV R0,# 30H 02E4 B60A0A 420 CJNE @R0,# 0AH,SW_M1 02E7 7930 421 MOV R1,# 30H 02E9 901000 422 MOV DPTR,# RAMAY1 02EC 12031D 423 LCALL READ 02EF 8009 424 SJMP KEY_MAY2 02F1 7830 425 SW_M1: MOV R0,# 30H 02F3 793E 426 MOV R1,# 3EH 02F5 7A09 427 MOV R2,# 09 02F7 1201D3 428 LCALL SWAPPED 02FA 786A 429 KEY_MAY2: MOV R0,# 6AH 02FC B6001D 430 CJNE @R0,# 00H,EXIT_KEY 02FF D2B1 431 SETB P3.1 0301 20B118 432 JB P3.1, EXIT_KEY 0304 7850 433 MOV R0,# 50H 0306 B60A0A 434 CJNE @R0,# 0AH,SW_M2 0309 7950 435 MOV R1,# 50H 030B 901020 436 MOV DPTR,# RAMAY2 030E 12031D 437 LCALL READ 0311 8009 438 SJMP EXIT_KEY 0313 7850 439 SW_M2: MOV R0,# 50H 0315 795E 440 MOV R1,# 5EH 0317 7A09 441 MOV R2,# 09 0319 1201D3 442 LCALL SWAPPED 031C 22 443 EXIT_KEY: RET 031D 7A18 444 READ: MOV R2,# 18H 031F E0 445 LOOP_READ: MOVX A, @DPTR 0320 F7 446 MOV @R1, A 0321 A3 447 INC DPTR 0322 09 448 INC R1 0323 DAFA 449 DJNZ R2, LOOP_READ 0325 22 450 RET Ñoà Aùn Moân Hoc II – Leâ Minh Theá – 97ÑT04 Khoa Ñieän – Ñieän Töû 47 0326 C28C 451 TIME: CLR TR0 0328 C28D 452 CLR TF0 032A 758C3C 453 MOV TH0,# HIGH(-50000) 032D 758AB0 454 MOV TL0,# LOW(-50000) 0330 D28C 455 SETB TR0 0332 AE4A 456 MOV R6, 4AH 0334 BE042A 457 CJNE R6,# 04H,T_MAY2 0337 054D 458 INC 4DH 0339 AE4D 459 MOV R6,4DH 033B BE1423 460 CJNE R6,# 20D,T_MAY2 033E 754D00 461 MOV 4DH,# 00H 0341 0539 462 INC 39H 0343 AE39 463 MOV R6, 39H 0345 BE0A19 464 CJNE R6,# 0AH,T_MAY2 0348 753900 465 MOV 39H,# 00H 034B 053A 466 INC 3AH 034D AE3A 467 MOV R6, 3AH 034F BE060F 468 CJNE R6,# 06H,T_MAY2 0352 753A00 469 MOV 3AH,# 00H 0355 053B 470 INC 3BH 0357 AE3C 471 MOV R6, 3CH 0359 BE0A05 472 CJNE R6,# 0AH,T_MAY2 035C 753B00 473 MOV 3BH,# 00H 035F 053C 474 INC 3CH 0361 AE6A 475 T_MAY2: MOV R6, 6AH 0363 BE042A 476 CJNE R6,# 04H,EXIT_TE 0366 056D 477 INC 6DH 0368 AE6D 478 MOV R6, 6DH 036A BE14F4 479 CJNE R6,# 20D,T_MAY2 036D 756D00 480 MOV 6DH,# 00H 0370 0559 481 INC 59H 0372 AE59 482 MOV R6, 59H 0374 BE0A19 483 CJNE R6,# 0AH,EXIT_TE 0377 755900 484 MOV 59H,# 00H 037A 055A 485 INC 5AH 037C AE5A 486 MOV R6, 5AH 037E BE060F 487 CJNE R6,# 06H,EXIT_TE 0381 755A00 488 MOV 5AH,# 00H 0384 055B 489 INC 5BH 0386 AE5C 490 MOV R6, 5CH 0388 BE0A05 491 CJNE R6,# 0AH,EXIT_TE Ñoà Aùn Moân Hoc II – Leâ Minh Theá – 97ÑT04 Khoa Ñieän – Ñieän Töû 48 038B 755B00 492 MOV 5BH,# 00H 038E 055C 493 INC 5CH 0390 32 494 EXIT_TE: RETI 0391 E54A 495 DATA_IN: MOV A, 4AH 0393 B40062 496 CJNE A,# 00H,EXIT_DATA 0396 E55A 497 MOV A, 5AH 0398 B4005D 498 CJNE A,# 00H,EXIT_DATA 039B D2B3 499 SETB P3.3 039D 20B358 500 JB P3.3,EXIT_DATA; 03A0 7930 501 MOV R1,# 30H 03A2 7A09 502 MOV R2,# 09H 03A4 1201B1 503 LCALL DEL 03A7 753000 504 MOV 30H,# 00H 03AA 753100 505 MOV 31H,# 00H 03AD 857032 506 MOV 32H, 70H 03B0 7F0A 507 ROTATE: MOV R7,# 10 03B2 7A09 508 LOOP_DATA: MOV R2,# 09 03B4 7930 509 MOV R1,# 30H 03B6 C2B4 510 CLR P3.4 03B8 1201B7 511 LCALL OUT_LED 03BB D2B4 512 SETB P3.4 03BD 7A09 513 MOV R2,# 09 03BF 7930 514 MOV R1,# 30H 03C1 C2B5 515 CLR P3.5 03C3 1201B7 516 LCALL OUT_LED 03C6 D2B5 517 SETB P3.5 03C8 DFE8 518 DJNZ R7, LOOP_DATA 03CA D2B0 519 SETB P3.0 03CC 20B00A 520 JB P3.0, H_CHUC 03CF 0532 521 INC 32H 03D1 E532 522 MOV A, 32H 03D3 B50A03 523 CJNE A, 0AH, H_CHUC 03D6 753200 524 MOV 32H,# 00H 03D9 D2B1 525 H_CHUC: SETB P3.1 03DB 20B10A 526 JB P3.1, ENTER 03DE 0531 527 INC 31H 03E0 E531 528 MOV A, 31H 03E2 B50A03 529 CJNE A, 0AH,ENTER 03E5 753100 530 MOV 31H,# 00H 03E8 D2B2 531 ENTER: SETB P3.2 03EA 20B2C3 532 JB P3.2, ROTATE Ñoà Aùn Moân Hoc II – Leâ Minh Theá – 97ÑT04 Khoa Ñieän – Ñieän Töû 49 03ED 853270 533 MOV 70H,32H 03F0 7930 534 MOV R1,# 30H 03F2 901000 535 MOV DPTR,# RAMAY1 03F5 12031D 536 LCALL READ 03F8 22 537 EXIT_DATA: RET 538 END REGISTER BANK(S) USED: 0 ASSEMBLY COMPLETE, NO ERRORS FOUND

Các file đính kèm theo tài liệu này:

  • pdfthietke_machtichcuoc_dienthoai_6911.pdf