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.
33 trang |
Chia sẻ: lvcdongnoi | Lượt xem: 2994 | Lượt tải: 0
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 DS12C887MSB 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=1AF=AIE=1UF=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:
- Thiết kế mạch đồng hồ báo thức dùng 8051.DOC