Thiết kế mạch đồng hồ báo thức dùng 8051

Cuộc sống con người phát triển ngày càng hiện đại vì vậy thời gian rất quý báu đối với mỗi con người chúng ta. Đồng hồ chính là thước đo thời gian không thề thiếu, vì vậy chúng em chọn đề tài này phát triển nghiên cứu nó để làm ra những cái đồng hồ đa dạng hơn, hiện đại hơn. Vì ñaây laø laàn ñaàu tieân nhoùm chuùng em laøm ñoà aùn, kiến thức còn hạn hẹp nên không tránh khỏi những sai sót. Chúng em rất mong nhận được những lời chỉ bảo từ thầy cô trong hội đồng.

doc33 trang | Chia sẻ: lvcdongnoi | Lượt xem: 2893 | Lượt tải: 0download
Bạn đang xem trước 20 trang tài liệu Thiết kế mạch đồng hồ báo thức dùng 8051, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
PHAÀN I. CÔ SÔÛ LYÙ THUYEÁT Chöông 1: Giôùi thieäu khaùi quaùt veà 89C51 Ñaëc ñieåm vaø chöùc naêng hoaït ñoäng cuûa caùc IC hoï MSC-51 hoaøn toaøn töông töï nhau, ôû ñaây ta giôùi thieäu 89c51 vôùi caùc ñaëc ñieåm chính sau: 4KB EPROM noäi 128 byte RAM noäi 4 port xuaát / nhaäp (I/O port) 8 bit 2 boä ñònh thôøi 16 bit Giao tieáp noái tieáp 64kb Rom ngoaøi 64kb Ram ngoaøi 210 vò trí nhôù ñeå ñònh vò bit, moãi vò trí moät bit 4us cho hoaït ñoäng nhaân hoaëc chia Caáu truùc beân trong cuûa IC 89C51 : Hình I.1.1: Sô ñoà khoái cuûa chip 8051 - Thaønh phaàn chính cuûa vi ñieàu khieån 8051 là boä xöû lyù trung taâm hay coøn goïi laø CPU. CPU bao goàm: Thamh ghi tích luyõ A Thanh ghi tích luyõ B, duøng cho pheùp nhaân vaø chia Ñôn vò logic hoïc ALU Töø traïng thaùi chöông trình PSW 4 bank thanh ghi Con troû ngaên xeáp - Ngoaøi ra coøn coù boä nhôù chöông trình, boä giaûi maõ leänh, boä ñieàu khieån thôøi gian vaø logic - Ñôn vò xöû lyù trung taâm nhaän tröïc tieáp xung töø boä dao ñoäng - Chöông trình ñang chaïy coù theå cho döøng laïi nhôø moät khoái ñieàu khieån ôû beân trong. Caùc nguoàn ngaét coù theå laø caùc bieán coá ôû beân ngoaøi, söï traøn boä ñeám ñònh thôøi hoaëc cuõng coù theå laø giao dieän noái tieáp. - 2 boä ñònh thôøi 16 bit hoaït ñoäng nhö moät boä ñeám. - Caùc coång port 0, port 1, port 2, port 3 ñöôïc söû duïng vaøo muïc ñích ñieàu khieån, ôû coång port 3 coù theâm caùc ñöôøng daãn ñieàu khieån duøng ñeå trao ñoåi vôùi moät boä nhôù beân ngoaøi, hoaëc ñeå ñaàu noái giao dieän noái tieáp cuõng nhö caùc ñöôøng daãn ngaét beân ngoaøi. - Giao dieän noái tieáp coù chöùa moät boä truyeàn vaø moät boä nhaän khoâng ñoàng boä laøm vieäc ñoäc laäp vôùi nhau. Toác ñoä truyeàn qua coång noái tieáp coù theå ñaët trong daûi roäng vaø ñöôïc aán ñònh baèng moät boä ñònh thôøi. - Trong vi dieàu khieån 8051 coøn coù hai thaønh phaàn quan troïng khaùc laø boä nhôù vaø caùc thanh ghi - Boä nhôù coøn coù Ram vaø Rom duøng ñeå löu döõ lieäu vaø maõ leänh. - Caùc thanh ghi söû duïng ñeå löu döõ thoâng tin trong quaù trình xöû lyù. Khi CPU laøm vieäc, noù laøm thay ñoåi noäi dung cuûa caùc thanh ghi. Sô ñoà chaân 89C51 : Port 0: - Port 0 (P0.0 – P0.7) coù soá chaân töø 32 – 39. - Port 0 coù hai chöùc naêng: Port xuaát nhaäp döõ lieäu (P0.0 - P0.7) → khoâng söû duïng boä nhôù ngoaøi. Bus ñòa chæ byte thaáp vaø bus döõ lieäu ña hôïp (AD0 – AD7) → coù söû duïng boä nhôù ngoaøi. + Löu yù: Khi Port 0 ñoùng vai troø laø port xuaát nhaäp döõ lieäu thì phaûi söû duïng caùc ñieän trôû keùo leân beân ngoaøi. Khi laäp trình cho ROM trong chip thì Port 0 ñoùng vai Hình I.1.2 sô ñoà chaân 89C51 troø laø ngoõ vaøo cuûa döõ lieäu (D0 – D7) Port 1: - Port 1 (P1.0 – P1.7) coù soá chaân töø 1 – 8. - Port 1 coù moät chöùc naêng: Port xuaát nhaäp döõ lieäu (P1.0 – P1.7) → söû duïng hoaëc khoâng söû duïng boä nhôù ngoaøi. - Khi laäp trình cho ROM trong chip thì Port 1 ñoùng vai troø laø ngoõ vaøo cuûa ñòa chæ byte thaáp (A0 – A7) Port 2: - Port 2 (P2.0 – P2.7) coù soá chaân töø 21 – 28. - Port 2 coù hai chöùc naêng: • Port xuaát nhaäp döõ lieäu (P2.0 – P2.7) → khoâng söû duïng boä nhôù ngoaøi. •Bus ñòa chæ byte cao (A8 – A15) → coù söû duïng boä nhôù ngoaøi. - Khi laäp trình cho ROM trong chip thì Port 2 ñoùng vai troø laø ngoõ vaøo cuûa ñòa chæ byte cao (A8 – A11) vaø caùc tín hieäu ñieàu khieån Port 3: - Port 3 (P3.0 – P3.7) coù soá chaân töø 10 – 17. - Port 0 coù hai chöùc naêng: Port xuaát nhaäp döõ lieäu (P3.0 – P3.7) → khoâng söû duïng boä nhôù ngoaøi hoaëc caùc chöùc naêng ñaëc bieät. Caùc tín hieäu ñieàu khieån → coù söû duïng boä nhôù ngoaøi hoaëc caùc chöùc naêng ñaëc bieät. - Khi laäp trình cho ROM trong chip thì Port 3 ñoùng vai troø laø ngoõ vaøo cuûa caùc tín hieäu ñieàu khieån. Baûng I.1.2: Chöùc naêng cuûa caùc chaân Port 3: Bit Teân Ñòa chæ bit Chöùc naêng P3.0 RxD B0H Chaân nhaän döõ lieäu cuûa port noái tieáp P3.1 TxD B1H Chaân phaùt döõ lieäu cuûa port noái tieáp P3.2 INT0\ B2H Ngoõ vaøo nhaùt ngoaøi 0 P3.3 INT1\ B3H Ngoõ vaøo nhaùt ngoaøi 1 P3.4 T0 B4H Ngoõ vaøo cuûa boä ñònh thôøi/ñeám 0 P3.5 T1 B5H Ngoõ vaøo cuûa boä ñònh thôøi/ñeám 1 P3.6 WR\ B6H Ñieàu khieån ghi boä nhôù döõ lieäu (RAM) ngoaøi P3.7 RD\ B7H Ñieàu khieån ñoïc boä nhôù döõ lieäu (RAM) ngoaøi Chaân PSEN: laø chaân 29, coù 4 tín hieäu ñieàu khieån, laø tín hieäu ñeå cho pheùp boä nhôù chöông trình môû roäng vaø thöôøng ñöôïc noái leân chaân OE cuûa moät EPROM ñeå 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 vaø ñöôïc choát vaøo thanh ghi leänh cuûa 8051 ñeå giaûi maõ leänh. Khi thi haønh chöông trình trong Rom noäi PSEN seõ thuï ñoäng (möùc cao). Chaân ALE: (choát) Tín hieäu ra ALE treân chaân 30 töông hôïp vôùi caùc thieát bò laøm vieäc vôùi caùc xöû lyù 8585,8088,8051 duøng ALE moät caùch töông töï cho laøm vieäc giaûi caùc keânh caùc Bus ñòa chæ vaø döõ lieäu khi port 0 ñöôïc duøng trong cheá ñoï chuyeån ñoåi cuûa noù: vöøa laø Bus döõ lieäu vöøa laø byte thaáp cuûa ñòa chæ, ALE laø tín hieäu ñeå choát ñòa chæ vaøo vaøo moät thanh ghi beân ngoaøi trong nöûa ñaàu cuûa chu kyø boä nhôù. Sau ñoù caùc ñöông port 0 duøng ñeå xuaát hoaëc nhaäp döõ lieäu trong nöûa sau cuûa chu kyø boä nhôù. Caùc xung tín hieäu ALE coù toác ñoä baèng 1/6 laàn taàn soá dao ñoäng treân chíp vaø coù theå ñöôïc laøm xung nhòp cho caùc heä thoáng. Neáu xung treân 8051 laø 12MHZ thì ALE coù taàn soá 2MHZ. Chæ ngoaïi tröø khi thi haønh leänh Movx, moät xung ALE bò maát. Chaân naøy cuõng ñöôïc laøm ngoõ vaøo cho xung laäp trình cho Eprom trong 8051. Chaân EA: (truy xuaát ngoaøi):Tín hieäu vaøo EA treân chaân 31 thöôøng ñöôïc maéc leân möùc cao(+5V) hoaëc möùc thaáp(GND). Neáu ôû möùc cao, 8051 thi haønh chöông trình töø Rom noäi trong khoaûng ñòa chæ thaáp(4K). Neáu ôû möùc thaáp chöông trình chi ñöôïc thi haønh töø boä nhôù môû roäng. Khi duøng 8031, EA luoân ñöôïc noái ôû möùc thaáp vì khoâng coù boä nhôù chöông trình treân chíp. Neáu EA ñöôïc noái ôû möùc thaáp boä nhôù beân trong chöông trình 8051 seõ bò caám vaø thi haønh chöông trình Eprom môû roäng. Ngöôøi ta coøn duøng chaân EA laøm chaân caáp ñieän aùp 21V khi laäp trình cho Eprom trong 8051. Chaân RST(reset): Khi tín hieäu naøy ñöôïc ñöa leân möùc cao(ít nhaát phaûi 2 chu kyø maùy), caùc thanh ghi trong 8051 ñöôïc taûi nhöõng giaù trò thích hôïp ñeû khôûi ñoäng heä thoáng. Caùc ngoõ vaøo boä dao ñoäng treân chip:Nhö ñaõ thaáy ôû caùc hình treân,8051 coù boä dao ñoäng treân chip. Noù thöôøng ñöôïc noái vôùi thaïch anh gia hai chaân 18 vaø 19. Caùc tuï giöõa cuõng caàn thieát nhö ñaõ veõ. Taàn soá thaïch anh thoâng thöôøng laø 12MHZ Caùc chaân nguoàn: 8051 vaän haønh vôùi nguoàn ñôn +5V(VCC) ñöôïc noái vaøo chaân 40 vaø chaân 20 ñöôïc noái GND Chöông 2. Giôùi thieäu veà IC thôøi gian thöïc DS12C887 2.1. Sô ñoà chaân: AD0-AD7: Bus ña hôïp ñòa chæ/döõ lieäu. NC: Boû troáng. MOT: Löïa choïn loaïi Bus. CS: Ngoõ vaøo löïa cho RTC AS: choát ñòa chæ. R/ W: Ngoõ vaøo ñoïc ghi. DS: Choát döõ lieäu. RESET: Ngoõ vaøo reset. IRQ: Nhoõ ra yeâu caàu ngaét. SQW: Ngoõ ra soùng vuoâng. VCC: Nguoàn cung caáp +5V. GND: Mass Hình I.2.1: Sô ñoà chaân cuûa DS12C887 2.2. Chöùc naêng caùc chaân: GND, VCC: nguoàn cung caáp cho thieát bò ôû nhöõng chaân treân. Vcc laø ñieän aùp ngoõ vaøo +5v. Khi ñieän aùp 5v ñöôïc cung caáp ñuùng chuaån, thieát bò ñöôïc truy caäp ñaày ñuû vaø döõ lieäu coù theå ñoïc vaø ghi. Khi Vcc thaáp hôn 4.25v, quaù trình ñoïc vaø ghi bò caám tuy nhieân chöùc naêng giöõ thôøi gian vaãn ñöôïc tieáp tuïc khoâng bò aûnh höôûng bôûi ñieän aùp bò suït giaûm beân ngoaøi. Khi Vcc rôùt xuoáng thaáp hôn 3v, Ram vaø boä nhôù giôø ñöôïc chuyeån sang nguoàn naêng löôïng beân trong. MOT: laø chaân coù tính linh hoaït ñeå löïa choïn giöõa hai loaïi Bus. Khi ñöôïc noái leân Vcc, Bus ñònh thôøi Motorola ñöôïc löïa choïn. Khi ñöôïc noái xuoáng GND hoaëc khoâng noái, Bus ñònh thôøi Intel ñöôïc löïa choïn. Chaân coù ñieän trôû keùo xuoáng beân trong coù giaù trò khoaûng 20K. SQW: coù theå xuaát tín hieäu ra töø 1 trong 13 loaïi ñöôïc cung caáp töø 15 traïng thaùi ñöôïc chia beân trong cuûa RTC. Taàn soá cuûa chaân SQW coù theå thay ñoåi baèng caùch laäp trình thanh ghi A. Tín hieäu SQW coù theå môû hoaëc taét khi ta söû duïng bit SQWE trong thanh ghi B. Tín hieäu SQW khoâng xuaát hieän khi khi Vcc thaáp hôn 4.25v AD0-AD7: Bus ña hôïp tieát kieäm chaân bôi vì thoâng tin ñòa chæ vaø thoâng tin döõ lieäu ñöôïc duøng chung ñöôøng tín hieäu. Cuøng taïi nhöng chaân, ñòa chæ ñöôïc suaát trong suoát phaàn thöù 1 cuûa chu kyø Bus vaø ñöôïc duøng cho döõ lieäu trong phaàn thöù 2 cuûa chu kyø. Ña hôïp ñòa chæ/ döõ lieäu khoâng laøm chaäm thôøi gian truy caäp cuûa DS12C887 khi bus chuyeån töø ñòa chæ sang döõ lieäu xaûp ra trong suoát thôøi gian truy caäp Ram noäi. Ñòa chæ phaûi coù giaù trò tröôùc khi xuaát hieän söôøn xuoáng cuûa AS/ALE taïi thôøi ñieåm maø DS12C887 choát ñòa chæ töø AD0 tôùi AD7. Döõ lieäu phaûi ñöôïc hieån thò vaø giöõ oån ñònh trong suoát phaàn sau cuûa DS hoaëc xung WR. Trong chu kyø ñoïc cuûa DS12C887 ngoõ ra 8 bit cuûa döõ lieäu trong suoát phaàn sau cuûa DS hoaëc xung RD. Chu kyø ñoïc ñöôïc thuïc hieän xong vaø Bus trôû veà traïng thaùi toång trôû cao cuõng nhö khi DS baét ñaàu xuoáng thaáp trong tröôøng hôïp ñònh thôøi Motorola hoaëc khi RD leân cao trong tröôøng hôïp ñònh thôøi Intel. AS: xung döông cung caáp xung choát ñòa chæ trong vieäc phöùc hôïp Bus. Söôøn xuoáng cuûa AS/ ALE laøm cho ñòa chæ bò choát laïi beân trong cuûa DS12C887. Söôøn leân tieáp theo khi xuaát hieän treân Bus AS seõ bò xoaù ñòa chæ baát chaáp chaân CS coù ñöôïc choïn hay khoâng. Leänh truy caäp coù theå göûi tôùi baèn caû hai caùch. DS: chaân DS/ RD coù hai kieåu söû duïng tuyø thuoäc vaøo möùc cuûa chaân MOT. Khi chaân MOT ñöôïc noái leân Vcc, Bus ñònh thôøi Motorola ñöôïc löïa choïn. Trong kieåu naøy DS laø xung döông trong suoát phaàn sau cuûa chu kyø Bus vaø ñöôïc goïi laø Data Strobe. Trong suoát chu kyø ñoïc, DS baùo hieäu thôøi gian maø DS12C887 ñược ñieàu khieån bus ñoâi. Trong chu kyø ñoïc, xung queùt cuûa DS laø nguyeân nhaân laøm DS12C87 choát döõ lieäu ñöôïc ghi. Khi chaân MOT ñöôïc noái xuoáng GND, Bus ñònh thôøi Intel ñöôïc löïa choïn. Trong kieåu naøy, chaân DS ñöôïc goïi laø Read(RD) xaùc ñònh chu kyø thôøi gian khi DS12C887 ñieàu khieån bus ñoïc döõ lieäu. Tín hieäu RD coù cuøng ñònh nghóa vôùi tín hieäu OE trong boä nhôù rieâng. R/ W: coù hai caùch hoaët ñoäng. Khi chaân MOT ñöôïc keát noái leân Vcc cho cheá ñoä ñònh thôøi Motorola, R/ W ñang ôû cheá ñoä chæ ra hoaëc laø chu kyø hieän taïi laø chu kyø ñoïc hoaëc ghi. Chu ky ñoøi hoûi chaân R/ W phaûi ôû möùc cao khi chaân DS ôû möùc cao. Chu kyø ñoøi hoûi chaân R/W ôû möùc thaáp trong suoát quaù trình choát tín hieäu cuûa DS. Khi chaân MOT ñöôïc noái GND cho cheá ñoä ñònh thôøi Intel, tín hieäu R/ W laø tín hieäu hoaït ñoäng möùc thaáp ñöôïc goïi laø WR. Trong cheá ñoä naøy chaân R /W ñöôïc ñònh nghóa nhö tín hieäu Write Enable trong Ram chung. CS: tín hieäu löïa choïn phaûi ñöïoc xaùc ñònh ôû möùc thaáp ôû chu kyø bus ñeå DS12C887 ñöôïc söû duïng. CS phaûi ñöôïc giöõ trong traïng thaùi hoaït ñoäng rtong suoát DS vaø AS cuûa cheá ñoä ñònh thôøi Motorola vaø trong suoát RD vaø WR cuûa cheá ñoä ñònh thôøi Intel. Chu kyø bus khi choïn vò trí maø khoâng choïn CS seõ choát ñòa chæ nhöng seõ khoâng coù baát kyø söï truy caäp naøo. Khi Vcc thaáp hôn 4.25Volts, chöùc naêng beân trong cuûa DS12C887 ngaên chaën söï truy caäp baèng caùchkhoâng cho pheùp llöïa choïn nhoõ vaøo CS. Haønh ñoäng naøy nhaèm baûo veä caû döõ lieäu cuûa ñoàng hoà thôøi gian thöïc beân trong cung nhö döõ lieäu Ram trong suoát quaù trình maát nguoàn. IRQ: laø ngoõ ra hoaït ñoäng möùc thaáp, coù theå söû duïng ngoõ vaøo ngaét tôùi boä vi xöû lyù.Ngoõ ra IRQ\ ôû möùc thaáp khi bit laø nguyeân nhaân laøm ngaét vaø phuø hôïp vôùi bit cho pheùp ngaét ñöôïc ñaët(set). Ñeå xoaù chaân IRQ\ chöông trình cuûa boä vi xöû lyù thoâng thöôøng ñöôïc ñaët ôû thanh ghi C. Chaân Reset cuõng bò xoaù trong luùc ngaét. Khi khoâng coù traïng tgaùi ngaét naøo ñöôïc söû duïng, traïng thaùi IRQ\ ôû möùc toång trôû cao. Nhieàu thieát bò ngaétcoù theå noái tôùi IRQ\ Bus laø moät ngoõ ra môû vaø yeâu caàu moät ñieän trôû keùo leân beân ngoaøi. RESET: khoâng hieäu löïc ñoái vôùi lòch, ñoàng hoà hoaëc Ram. ÔÛ cheá ñoä caáp nguoàn, chaân reset coù theå bò keùo xuoáng trong thôøi gian cho pheùp ñeû oån ñònh nguoàn cung caáp. 2.3. Caáu truùc beân trong cuûa DS12C887: Hình I.2.3: Caáu truùc beân trong DS12C887 2.4. Sô ñoà ñòa chæ cuûa RTC DS12C887 Hình I.2.4: Sô ñoà ñòa chæ DS12C887 Sô ñoà ñòa chæ cuûa DS12C887 ñöôïc trình baøy bao goàm 113 byte Ram thoâng duïng, 11 byte Ram maø thaønh phaàn bao goàm ñoàng hoà thôøi gian thöïc, lòch, döõ lieäu baùo giôø vaø 4 byte ñöôïc söû dung cho vieäc ñieàu khieån vaø thoâng baùo tình traïng. Taát caû 128 byte coù theå ñöôïc ghi hoaëc ñoïc tröïc tieáp töø nhöõnh tröôøng hôïp sau: Thanh ghi C vaø D laø hai thanh ghi chæ ñoïc Bit thöù 7 cuûa thanh ghi A laø bit chæ ñoïc. Bit cao cuûa byte thöù hai laø bit chæ ñoïc Thôøi gian vaø ñaõ coù baèng caùch ñoïc caùc byte boä nhôù hieän coù. Thôøi gian, lòch vaø baùo giôø ñöôïc ñaët hoaëc gaùn giaù trò baèng caùch ghi giaù trò byte Ram thích hôïp. Noäi dung cuûa 10 byte chöùa thôøi gian lòch vaø baùo giôø ñeàu coù theå hieån thò ôû hai daïng nhò phaân hoaëc BCD. Tröôùc khi ghi leân caùc thanh ghi thôøi gian , lòch vaø baùo giôø beân trong, bit SET ôû thanh ghi B phaûi ñöôïc ñaët ôû möùc 1 ñeå ngaên ngöøa söï caäp nhaät coù theå xaûy ra trong quaù trình ghi ñeø. Theâm vaøo nöõa laø ñeû ghi leân 10 thanh ghi chæ thôøi gian, lòch vaø baùo giôø ôû moät ñònh daïng ñaõ löïa choïn(BCD hay nhò phaân), bit choïn kieåu döõ lieäu DM cuûa thanh ghi B phaûi ñöôïc ñaët ôû möùc logic thích hôïp. Taát caû 10 byte thôøi gian lòch vaø baùo giôø phaûi söû duïng cuøng kieåu döõ lieäu. Bit ñöôïc ñaët ôû thanh ghi B neân ñöôïc xoaù sau khi bit kieåu döõ lieäu ñaõ ñöôïc ghi ñeå cho pheùp ñoàng hoà thôøi gian thöïc caäp nhaät byte thôøi gian vaø lòch. Vaøo luùc ñaàu ñoàng hoà thôøi gian caäp nhaät ôû moät kieåu ñaõ ñöôïc löïa choïn. Kieåu döõ lieäu khoâng theå thay ñoåi maø khoâng khôûi ñoäng laïi 10 byte döõ lieäu. Baûng sau trình baøy ñònh daïng nhò phaân vaø BCD cuûa thôøi gian lòch vaø baùo giôø. Bit löïa choïn kieåu hieån thò 24-12 khoâng theå thay ñoåi maø khoâng khôûi ñoäng laïi thanh ghi giôø. Khi ñònh daïng kieåu 12 giôø ñöôïc choïn bit cao cuûa byte giôø töông öùng vôùi PM khi noù ñöôïc ñaët ôû möùc logic 1. Byte thôøi gian lòch vaø byte baùo giôø luoân ñöôïc truy caäp bôûi vì chuùng ñöôïc ñeäm gaáp ñoâi, moãi giaây moät laàn 11byte ñöôïc naâng caáp vaø ñöôïc kieåm tra tình traïng baùo giôø. Neáu leänh ñoïc döõ lieäu thôøi gian vaø lòch dieãn ra trong quaù trình caäp nhaät, moät vaán ñeà phaùt sinh laø coù theå thôøi gian giôø, phuùt, giaây coù theå khoâng chính xaùc, xaùc xuaát ñoïc kkhoâng chính xaùc döõ lieäu thôøi gian vaø lòch laø raát thaáp. Sau ñaây ta tìm hieåu caùc thanh ghi ñieàu khieån trong DS12C887. Thanh ghi A: LSB MSB Baûng I.2.4.1: Ñòa chæ thanh ghi A cuûa RTC DS12C887 BIT7 BIT6 BIT5 BIT4 BIT3 BIT2 BIT1 BIT0 UIP DV2 DV1 DV0 RS3 RS2 RS1 RS0 + UIP: laø bít traïng thaùi maø coù theå theo doõi ñöôïc, khi bit UIP ôû möc 1, quaù trình caäp nhaät seõ sôùm xaûy ra. Khi bit UIP ôû möùc 0, quaù trình caäp nhaät seõ khoâng xaûy ra ít nhaát 244Us. Nhöõng thoâng tin veà thôøi gian lòch vaø baùo giôø ôû trong Ram coù ñaày ñuû cho vieäc truy caäp khi bit UIP ôû möùc 0. Bit UIP laø bit chæ ñoïc vaø khoâng bò aûnh höôûng bôûi chaân reset. Khi ghi bit SET ôû thanh ghi B leân möùc 1 ñeå ngaên chaën quaù trình caäp nhaät vaø xoaù bit traïng thaùi UIP. + DV2, DV1, DV0: 3bit treân ñöôïc söû duïng ñeå baät taét boä dao ñoäng vaø caøi ñaët laïi quaù trình ñeám xuoáng. Khi ñöôïc ñaët 010 thì ñoù laø söï keát hôïp duy nhaát ñeå baät boä dao ñoäng leân vaø cho pheùp RTC giöõ thôøi gian. Khi ñöôïc ñaët 11X seõ cho pheùp boä dao ñoäng nhöng giöõ quaù trình ñeám xuoáng ôû möùc reset. Quaù trình caäp nhaät tieáp theo seõ sôùm dieãn ra sau 500ms sau khi kieåu 010 ñöïc ghi vaøo DV1, DV2, DV3. + RS3, RS2, RS1,RS0: 4bit loaïi löïa choïn ñeå löïa choïn 1 trong 13 loaïi cuûa boä chia 15 traïng thaùi hoaëc khoâng cho pheùp xuaát tín hieäu chia ra ngoaøi. Loaïi ñöôïc löïa choïn coù theå phaùt ra soùng vuoâng(chaân SQW) hoaëc ngaét theo chu kyø. Ngöôøi söû duïng coù theå söû duïng moät trong nhöõng caùch sau: Cho pheùp ngaét vôùi bit PIE Cho pheùp xuaát ngoõ ra chaân SQW vôùi bit SQWE. Cho pheùp caû hai hoaït ñoäng cuøng moät luùc vaø cuøng moät loaïi. Khoâng kích hoaït caû hai. Baûng sau lieät keâ chu kyø ngaét vôùi taàn soá soùng vuoâng maø coù theå löïa choïn vôùi bit RS. Caû 4 bit ñoïc ghi vaø khoâng bò aûnh höôûng bôûi chaân reset. - Thanh ghi B: Baûng I.2.4.2: Ñòa chæ thanh ghi B cuûa RTC DS12C887 BIT7 BIT6 BIT5 BIT4 BIT3 BIT2 BIT1 BIT0 SET PIE AIE UIE SQWE DM 24/12 DSE SET: Khi bit SET ôû möùc 0, thoâng thöôøng quaù trình caäp nhaät baèng caùch taêng bieán ñeám 1 laàn moät giaây. Khi bit SET ñöôïc leân vaøo möùc 1 moïi quaù trình caäp nhaät ñeàu bò caám, vaø chöông trình coù theå baét ñaàu khôûi ñoäng byte thôøi gian vaø lòch maø khoâng coù quaù trình caäp nhaät naøo xaûy ra trong quaù trình khôûi ñoäng, chu kyø ñoïc coù theå thöïc thi ôû cuøng moät kieåu. SET laø bit ñoïc ghi vaø khoâng chòu aûnh höôûng bôûi Reset hoaëc caùc chöùc naêng beân trong cuûa DS12C887. PIE: Bit cho pheùp ngaét theo chu kyø, laø bit ñoïc ghi, noù cho pheùp bit côø ngaét theo chu kyø trong thanh ghi C ñeå ñieàu khieån chaân IRQ\ xuoáng möùc thaáp tuyø thuoäc vaøo tæ leä phaân boá cuûa RS3 ñeùn RS0 ôû thanh ghi A. AIE: Bit cho pheùp ngaét baùo giôø, laø bit ñoïc ghi maø khi ñöôïc ñaët leân 1 noù cho pheùp bit côø baùo giôø(AF) ôû thanh ghi C ñeå cho pheùp ngaét IRQ\. Tín hieäu ngaét baùo giôø dieãn ra ôû taát caû caùc giaây khi caû 3 byte baùo giôø chöùa maõ baùo giôø ñöôïc theå hieän ôû nhò phaân nhö sau 11XXXXXX. Caùc chöùc naêng beân trong cuûa DS12C887 khoâng bò aûnh höôûng bôûi chaân AIE. UIE: Bít cho pheùp keát thuùc quaù trình ngaét caäp nhaät, laø bit ñoïc ghi maø cho pheùp bit côø keát thuùc quaù trình caäp nhaät ôû thanh ghi C ñeå cho pheùp ngaét IRQ\. Chaân Reset ôû möùc 0 hoaëc chaân SET ôû möùc 1 seõ xoaù bit UIE. SQWE: laø bit cho pheùp xuaát soùng vuoâng, ñöôïc ñaët leân möùc 1, moät tín hieäu soùng vuoâng coù taàn soá ñöôïc ñaët ôû vò trí ñöôïc löïa choïn cuûa bit RS3 ñeán RS0 seõ ñieàu khieån soùng ra taïi chaân SQW. Khi bit SQWE ñöôïc ñaët ôû möùc thaáp, chaân SQW seõ ñöôïc giöõ ôû möùc thaáp. SQWE laø bit ñoïc ghi vaø ñöôïc xoaù khi Reset. SQWE ñöôïc ñaët leân 1 khi ñöôïc caáp Vcc. DM: Bit kieåu döõ lieäu qui ñònh khi naøo laø thoâng tin lòch vaø thôøi gian ôû ñònh daïng nhò phaân hoaëc BCD. Bit DM ñöôïc ñaët bôûi chöông trình coù theå ñònh daïng thích hôïp vaø coù theû ñoïc khi ñöôïc yeâu caàu. Bit naøy khoâng bò thay ñoåi khi Reset. Möùc 1 cuûa DM seõ hieån thò döõ lieäu nhò phaân, möùc 0 hieûn thò döõ lieäu BCD. 24/ 12: Bit xaùc ñònh kieåu byte giôø. Khi ôû möùc 1 noù hieån thò kieåu 24 giôø, bit 0 hieån thò 12 giôø. Bit naøy khoâng aûnh höôûng bôûi caùc chöùc naêng beân trong hoaëc chaân reset. DSE: Bit cho pheùp nhôù coâng khai. Bit naøy cuõng khoâng bò aûnh höôûng bôûi chöùc naêng beân trong hoaëc chaân reset. Thanh ghi C: Baûng I.2.4.3: Ñòa chæ thanh ghi C cuûa RTC DS12C887 MSB LSB BIT7 BIT6 BIT5 BIT4 BIT3 BIT2 BIT1 BIT0 IRQF PF AF UF 0 0 0 0 IRQF: Bit côø yeâu caàu ngaét ñöôïc ñaët leân 1 khi nhöõng ñieàu döôùi ñaây ñuùng: PF=PIE=1 AF=AIE=1 UF=UIE=1 Ñeàu coù nghóa laø IRQF=(PF.PIE)+(AF.AIE)+(UF.UIE). Baát cöù luùc naøo bit IRQF ñöôïc ñaët leân 1, chaân IRQ\ ñöôïc ñaët xuoáng möùc thaáp. Bit côø PF,AF vaø UF ñöôïc xoaù khi thanh ghi C ñöôïc chöông trình ñoïc hoaëc chaân reset ôû möùc thaáp. - Thanh ghi D: Baûng I.2.4.4: Ñòa chæ thanh ghi D cuûa RTC DS12C887 BIT7 BIT6 BIT5 BIT4 BIT3 BIT2 BIT1 BIT0 VRT 0 0 0 0 0 0 0 VRT: Bit thôøi gian vaø Ram hôïp leä, bieåu thò tình traïng cuûa pin ñöôïc keát noái chaân VBAT. Bit naøy khoâng phaûi laø bit ghi ñöôïc vaø luoân coù giaù trò laø 1 khi ñoïc, neáu hieân thò möùc 0, nguoàn naêng löôïng pin beân trong ñaõ caïn vaø caû hai muïc döõ lieäu thôøi gian thöïc laãn döõ lieäu Ram ñeàu bò nghi ngôø. Bit naøy khoâng bò aûnh höôûng bôûi chaân reset. PHAÀN II. THIEÁT KEÁ VAØ THI COÂNG 1.Sô ñoà nguyeân lyù: Hình II.1: Sô ñoà nguyeân lyù Sô ñoà maïch in vaø boá trí linh kieän: Hình II.2.1: Sô ñoà maïch in khoái vi xöû lyù Hình II.2.2: Sô ñoà boá trí linh kieän khoái vi xöû lyù Hình II.2.3: Sô ñoà maïch in khoái hieån thò Hình II.2.4: Sô ñoà boá trí linh kieän khoái hieån thò Hình II.2.5: Sô ñoà maïch in khoái nuùt nhaán Hình II.2.6: Sô ñoà boá trí linh kieän khoái nuùt nhaán Löu ñoà giaûi thuaät: KHOITAODALLASS CHOÏN THANH GHI TRONG RTC CHOÏN GIAÙ TRÒ THÍCH HÔÏP GHI VAØO THANH GHI TRONG VXL CHUYEÅN VAØO RTC QUA THANH GHI R0 CUÛA VXL DOC_DATA CHOÏN OÂ NHÔÙ CHÖÙA GIAÙ TRÒ GIÔØ PHUÙT GIAÂY TRONG VXL LAÁY GIAÙ TRÒ GIÔØ PHUÙT GIAÂY TÖØ RTC ÑÖA VAØO VXL BEGIN LCALL KHOITAODALLASS LCALL DOC_DATA HIỂN THỊ KIỂM TRA PHÍM NHẤN KIỂM TRA BÁO THỨC LCALL HEX_BCD END HEX_BCD CHUYEÅN 10 VAØO THANH GHI B LAÁY A CHIA B BYTE THAÁP LAØ GIAÙ TRÒ HAØNG ÑÔN VÒ BYTE CAO LAØ GIAÙ TRÒ HAØNG CHUÏC CHUYEÅN TÖØNG OÂ NHÔÙ CHÖÙA GIÔØ,PHUÙT,GIAÂY VAØO THANH GHI A HIEÅN THÒ CHOÏN LED 1 ORL VÔÙI GIAÙ TRÒ THÍCH HÔÏP ÑEÅ BAÄT LED LED KEÁ TIEÁP KIEÅM TRA BAÙO THÖÙC P3.0=0 ÑOÅ CHUOÂNG 30s S MAIN Đ SET ARLAM P3.1,#02 P3.1,#01 P3.1,#03 P3.1,#04 SET GIỜ SET PHÚT SET GIÂY SET TIME P3.3,#02 P3.3,#01 P3.3,#03 P3.3,#04 SET GIỜ SET PHÚT SET GIÂY KIỂM TRA PHÍM NHẤN HIỂN THỊ SET GIỜ P3.4=0 P3.5=0 TĂNG GIÁ TRỊ GIỜ GIẢM GIÁ TRỊ GIỜ S S S S S S S S S Đ Đ Đ Đ Đ Đ Đ Đ Đ Đ SET PHÚT P3.4=0 P3.5=0 TĂNG GIÁ TRỊ PHÚT GIẢM GIÁ TRỊ PHÚT SET GIÂY P3.4=0 P3.5=0 TĂNG GIÁ TRỊ GIÂY GIẢM GIÁ TRỊ GIÂY TAÊNG GIAÙ TRÒ GIỜ P3.4=0 A=0 TAÊNG GIỜ A=23 INC A Đ S Đ S S S S Đ Đ Đ Đ LƯU VÀO RTC HEX_BCD HIỂN THỊ BCD_7DOAN GIẢM GIAÙ TRÒ GIỜ P3.5=0 A=23 GIẢM GIỜ A=0 INC A Đ S Đ TAÊNG GIAÙ TRÒ PHUÙT P3.4=0 A=0 TAÊNG PHUÙT A=59 INC A Đ S Đ HEX_BCD LƯU VÀO RTC LƯU VÀO RTC HIỂN THỊ BCD_7DOAN HEX_BCD HIỂN THỊ BCD_7DOAN GIẢM GIAÙ TRÒ PHUÙT P3.5=0 A=59 GIẢM PHUÙT A=0 INC A Đ S Đ TAÊNG GIAÙ TRÒ GIÂY P3.4=0 A=0 TAÊNG GIAÂY A=59 INC A Đ S Đ HEX_BCD LƯU VÀO RTC HEX_BCD LƯU VÀO RTC HIỂN THỊ BCD_7DOAN HIỂN THỊ BCD_7DOAN GIAÛM GIAÙ TRÒ GIAÂY P3.5=0 A=59 GIAÛM GIAÂY A=0 INC A Đ S HEX_BCD Đ LƯU VÀO RTC HIỂN THỊ BCD_7DOAN Chöông trình: $MOD51 MODE1 BIT P3.1 MODE BIT P3.3 UP BIT P3.4 DWN BIT P3.5 BIEN_MODE EQU R2 BIEN_TG EQU R3 GIAY_TAM EQU 55H BUZZER BIT P2.7 CHUONG BIT P3.0 ;***************************************************** ORG 000H SJMP MAIN ORG 03H JMP NGAT_N1 ; NHAY VE DIA CHI CUA N0 ORG 00BH JMP NGAT_T0 MAIN: MOV BIEN_MODE,#0 LCALL KHOITAODALLASS MOV IE,#83H ; CHO PHEP N0 NGAT SETB IT0 MOV BIEN_TG,#0 TU_DAU: LCALL DOC_DATA CJNE BIEN_TG,#0,XULY_CHUONG ; KIEM TRA BIEN GIAY TAM CO =0 KHONG? NEU = 0 THI CHUA DO CHUONG MOV A,12H CJNE A,#13,KT_C KT_C: JNC GIUAGIO MOV A,10H CJNE A,#0,GIAIMA MOV A,11H CJNE A,#0,GIUAGIO JMP BIP GIUAGIO: MOV A,10H CJNE A,#0,GIAIMA MOV A,11H CJNE A,#30,GIAIMA JMP BAO_GIUAGIO GIAIMA: LCALL HEX_BCD LCALL BCD_7DOAN LCALL HIEN_THI JNB MODE,ADJ JNB MODE1,ADJ1 JMP TU_DAU ;*******DOAN CHUONG TRINH XU LY CHUONG**** XULY_CHUONG: MOV A,10H CJNE A,GIAY_TAM,XULY_CHUONG1 SJMP GIAIMA XULY_CHUONG1: MOV GIAY_TAM,10H DJNZ BIEN_TG,GIAIMA ; GIAM THOI GIAN DO CHUONG DI 1 GIAY, NEU THOI GIAN DO CHUONG CHUA BANG 0 THI GIAI MA ; HIEN THI THOI GIAN, NEU =0 THI THOI GIAN DO CHUONG DU 2 GIAY MOV R0,#0CH ; GAN CHO R0 =0CH ( 0CH LA DIA CHI CUA THANH GHI C CUA DALLAS) MOVX A,@R0 ; DOC NOI DUNG THANH GHI C DE XOA CO NGAT CUA DALLAS SETB CHUONG ; TAT CHUONG JMP GIAIMA ;******************************************** BIP: CLR BUZZER MOV R5,#0 MOV TMOD,#01 MOV TH0,#HIGH(-50000) MOV TL0,#LOW(-50000) CLR TF0 SETB TR0 MOV A,12H MOV B,#2 MUL AB MOV 78H,A JMP GIAIMA BAO_GIUAGIO: CLR BUZZER LCALL HEX_BCD LCALL BCD_7DOAN MOV 7CH,#2 XXX2: MOV 7DH,#0FFH XXX1: LCALL HIEN_THI DJNZ 7DH,XXX1 DJNZ 7CH,XXX2 SETB BUZZER JMP GIAIMA ;*********************************************** ADJ: LCALL HIEN_THI JNB MODE,ADJ SETB BUZZER SETB CHUONG INC BIEN_MODE CJNE BIEN_MODE,#04,LOOP MOV BIEN_MODE,#0 JMP TU_DAU ADJ1: LJMP CAIGIO_BAOTHUC ;*********************************************** LOOP: MOV 67H,#08 LOOP3: MOV 66H,#0BFH LOOP1: LCALL DOC_DATA LCALL HEX_BCD LCALL BCD_7DOAN LCALL HIEN_THI JNB UP,TANG JNB DWN,GIAM1 JNB MODE,ADJ DJNZ 66H,LOOP1 CJNE BIEN_MODE,#1,TATPHUT MOV 34H,#0FFH MOV 35H,#0FFH SJMP TAT TATPHUT: CJNE BIEN_MODE,#02,TATGIO MOV 32H,#0FFH MOV 33H,#0FFH SJMP TAT TATGIO: MOV 30H,#0FFH MOV 31H,#0FFH TAT: MOV 66H,#0FFH LOOP2: LCALL HIEN_THI JNB UP,TANG JNB DWN,GIAM1 JNB MODE,ADJ2 DJNZ 66H,LOOP2 DJNZ 67H,LOOP3 MOV BIEN_MODE,#0 LJMP TU_DAU ADJ2: LJMP ADJ GIAM1: LJMP GIAM ;******************************************************* TANG: MOV 78H,#200 TANG1: LCALL HIEN_THI DJNZ 78H,TANG1 LOOPX3: CJNE BIEN_MODE,#01H,SS1 MOV R0,#04H MOVX A,@R0 INC A CJNE A,#24,Z1 MOV A,#0 Z1: MOVX @R0,A SJMP LOOP ;****************************************************** SS1: CJNE BIEN_MODE,#02H,SS2 MOV R0,#02H MOVX A,@R0 INC A CJNE A,#60,Z2 MOV A,#0 Z2: MOVX @R0,A JMP LOOP SS2: MOV R0,#0H MOVX A,@R0 INC A CJNE A,#060,Z3 MOV A,#00 Z3: MOVX @R0,A LJMP LOOP GIAM: MOV 78H,#200 GIAM11: LCALL HIEN_THI DJNZ 78H,GIAM11 LOOPY3: CJNE BIEN_MODE,#01H,SSS1 MOV R0,#04 MOVX A,@R0 DEC A CJNE A,#0FFH,ZZ1 MOV A,#23 ZZ1: MOVX @R0,A JMP LOOP SSS1: CJNE BIEN_MODE,#02H,SSS2 MOV R0,#02H MOVX A,@R0 DEC A CJNE A,#0FFH,ZZ2 MOV A,#59 ZZ2: MOVX @R0,A JMP LOOP ;********************************************************** SSS2: MOV R0,#0H MOVX A,@R0 DEC A CJNE A,#0FFH,ZZ3 MOV A,#59 ZZ3: MOVX @R0,A JMP LOOP ; ***********DOAN CHUONG TRINH CHINH GIO BAO THUC*********** CAIGIO_BAOTHUC: LCALL HIEN_THI JNB MODE1,CAIGIO_BAOTHUC INC BIEN_MODE CJNE BIEN_MODE,#04,LOOP_BT MOV BIEN_MODE,#0 LJMP TU_DAU LOOP_BT: MOV 67H,#08 LOOP3_BT: MOV 66H,#00BFH LOOP1_BT: LCALL DOC_DATA_BT LCALL HEX_BCD LCALL BCD_7DOAN LCALL HIEN_THI JNB UP,TANG_BT JNB DWN,GIAM_BT1 JNB MODE1,CAIGIO_BAOTHUC DJNZ 66H,LOOP1_BT CJNE BIEN_MODE,#1,TATPHUT_BT MOV 34H,#0FFH MOV 35H,#0FFH SJMP TAT_BT TATPHUT_BT: CJNE BIEN_MODE,#02,TATGIO_BT MOV 33H,#0FFH MOV 32H,#0FFH SJMP TAT_BT TATGIO_BT: MOV 30H,#0FFH MOV 31H,#0FFH TAT_BT: MOV 66H,#0FFH LOOP2_BT: LCALL HIEN_THI JNB UP,TANG_BT JNB DWN,GIAM_BT1 JNB MODE1,CAIGIO_BAOTHUC DJNZ 66H,LOOP2_BT DJNZ 67H,LOOP3_BT MOV BIEN_MODE,#0 LJMP TU_DAU GIAM_BT1: LJMP GIAM_BT ; ***********DOAN CHUONG TRINH CON CAI DAT GIO BAO THUC*************** TANG_BT: MOV 78H,#200 TANG1_BT: LCALL HIEN_THI DJNZ 78H,TANG1_BT LOOPX3_BT: CJNE BIEN_MODE,#01H,SS1_BT MOV R0,#05H MOVX A,@R0 INC A CJNE A,#24,Z1_BT MOV A,#0 Z1_BT: MOVX @R0,A JMP LOOP_BT SS1_BT: CJNE BIEN_MODE,#02H,SS2_BT MOV R0,#03H MOVX A,@R0 INC A CJNE A,#60,Z2_BT MOV A,#0 Z2_BT: MOVX @R0,A JMP LOOP_BT SS2_BT: MOV R0,#1H MOVX A,@R0 INC A CJNE A,#060,Z3_BT MOV A,#00 Z3_BT: MOVX @R0,A LJMP LOOP_BT ;***************************************************** GIAM_BT: MOV 78H,#200 GIAM11_BT: LCALL HIEN_THI DJNZ 78H,GIAM11_BT LOOPY3_BT: CJNE BIEN_MODE,#01H,SSS1_BT MOV R0,#05 MOVX A,@R0 DEC A CJNE A,#0FFH,ZZ1_BT MOV A,#23 ZZ1_BT: MOVX @R0,A JMP LOOP_BT ;***************************************************** SSS1_BT: CJNE BIEN_MODE,#02H,SSS2_BT MOV R0,#03H MOVX A,@R0 DEC A CJNE A,#0FFH,ZZ2_BT MOV A,#59 ZZ2_BT: MOVX @R0,A JMP LOOP_BT SSS2_BT: MOV R0,#1H MOVX A,@R0 DEC A CJNE A,#0FFH,ZZ3_BT MOV A,#59 ZZ3_BT: MOVX @R0,A JMP LOOP_BT ;********************************************** KHOITAODALLASS: MOV R0,#0CH MOVX A,@R0 ; DOC NOI DUNG THANH GHI A DE XOA CO NGAT BAO GIO MOV R0,#0BH MOV A,#026H MOVX @R0,A ;CHO PHEP CHINH CAI DAT GIO MOV R0,#0AH MOV A,#020H MOVX @R0,A ;CHO PHEP BO DAO DONG CHAY RET ;*********************************************** DOC_DATA: MOV R0,#0 MOV R1,#10H X1: MOVX A,@R0 MOV @R1,A INC R0 INC R0 INC R1 CJNE R0,#06H,X1 RET ;************************************************ DOC_DATA_BT: MOV R0,#01H MOVX A,@R0 MOV 10H,A MOV R0,#03H MOVX A,@R0 MOV 11H,A MOV R0,#05H MOVX A,@R0 MOV 12H,A RET ;************************************************* HEX_BCD: MOV R0,#10H MOV R1,#20H HB: MOV A,@R0 MOV B,#10 DIV AB MOV @R1,B INC R1 MOV @R1,A INC R0 INC R1 CJNE R0,#13H,HB RET ;*************************************************** BCD_7DOAN: MOV DPTR,#900H MOV R0,#20H MOV R1,#30H ;CHUA CAC MA DATA BC: MOV A,@R0 ;LAY GIAY MOVC A,@A+DPTR MOV @R1,A INC R0 INC R1 CJNE R0,#26H,BC RET ;**************************************************** HIEN_THI: MOV P1,30H CLR P2.0 LCALL DELAY SETB P2.0 MOV P1,31H CLR P2.1 LCALL DELAY SETB P2.1 MOV P1,32H CLR P2.2 LCALL DELAY SETB P2.2 MOV P1,33H CLR P2.3 LCALL DELAY SETB P2.3 MOV P1,34H CLR P2.4 LCALL DELAY SETB P2.4 MOV P1,35H CLR P2.5 LCALL DELAY SETB P2.5 RET ;***************************************************** NGAT_N1: CLR CHUONG ; DIEU KHIEN CHUONG KEU MOV BIEN_TG,#30 ; GAN THOI GIAN DO CHUONG = 2 GIAY MOV GIAY_TAM,10H ; CHUYEN GIAY HIEN HANH VAO BIEN GIAY TAM RET ;***************************************************** NGAT_T0: MOV TH0,#HIGH(-50000) MOV TL0,#LOW(-50000) INC R5 CJNE R5,#9,EXIT0 MOV R5,#0 CPL BUZZER DJNZ 78H,EXIT0 SETB BUZZER CLR TR0 EXIT0: RET ;****************************************************** DELAY: MOV 7FH,#100 DJNZ 7FH,$ RET ;******************************************************* DELAY1000: MOV 7EH,#8 XX2: MOV 7DH,#0FFH XX1: MOV 7CH,#0FFH DJNZ 7CH,$ DJNZ 7DH,XX1 DJNZ 7EH,XX2 RET ORG 900H DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H END PHAÀN 3. KEÁT LUAÄN – HÖÔÙNG PHAÙT TRIEÅN CUÛA ÑEÀ TAØI Keát luaän: Cuộc sống con người phát triển ngày càng hiện đại vì vậy thời gian rất quý báu đối với mỗi con người chúng ta. Đồng hồ chính là thước đo thời gian không thề thiếu, vì vậy chúng em chọn đề tài này phát triển nghiên cứu nó để làm ra những cái đồng hồ đa dạng hơn, hiện đại hơn. Vì ñaây laø laàn ñaàu tieân nhoùm chuùng em laøm ñoà aùn, kiến thức còn hạn hẹp nên không tránh khỏi những sai sót. Chúng em rất mong nhận được những lời chỉ bảo từ thầy cô trong hội đồng. Höôùng phaùt trieån cuûa ñeà taøi: Từ đề tài này chúng ta có thể phát triển lên một cái đòng hồ đa chức năng. Đồng hồ đa chức năng đó có hiển thị GIỜ - PHÚT – GIÂY là cái cơ bản thêm vào đó có NGÀY – THÁNG - NĂM của cả dương lịch và âm lịch. Ngoài ra có cảm biến nhiệt để đo nhiệt độ của thời tiết hàng ngày và nhiều chứa năng hơn nữa như tích hợp báo động, báo trôm. …. PHAÀN 4. TAØI LIEÄU THAM KHAÛO 1. Phaïm Quang Trí Giáo trình vi xử lý – Lý thuyết và thực hành, Trường ĐHCN TP.HCM 2. Toáng Vaên Ôn Họ vi điều khiển 8051, NXB Lao động – Xã hội, Hà Nội_2001 Trang wed www.google.com Trang wed www.alldatasheet.com

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

  • docThiết kế mạch đồng hồ báo thức dùng 8051.DOC