Thiết bị báo cháy và điều khiển tự động

MỤC LỤC PHẦN I: GIỚI THIỆU CHUNG CHƯƠNG I: SƠ LƯỢC VỀ HỆ THỐNG BÁO CHÁY VÀ ĐIỀU KHIỂN 1 A. HỆ THỐNG BÁO CHÁY 1 I. CÁCH NHẬN BIẾT VÀ BÁO CHÁY: 1 II. CÁC BỘ PHẬN CHÍNH: 1 B. SƠ LƯỢC VỀ HỆ THỐNG ĐIỀU KHIỂN 5 I. GIỚI THIỆU CÁC DẠNG MẠCH TỒN TẠI: 5 II. HƯỚNG CHỌN CỦA ĐỀ TÀI: 5 CHƯƠNG II: GIỚI THIỆU VI ĐIỀU KHIỂN 8031 6 A. TÓM TẮC PHẦN CỨNG 6 I. GIỚI THIỆU MCS-51: (MCS-51: Family Overview) 6 II. SƠ LƯỢC VỀ CÁC CHÂN CỦA C 8031: 8 III. KHẢO SÁT CÁC KHỐI BÊN TRONG 8031 TỔ CHỨC BỘ NHỚ: 11 IV. CÁC THANH GHI CÓ CHỨC NĂNG ĐẶC BIỆT: 14 V. BỘ NHỚ NGOÀI: 19 VI. NGÕ VÀO TÍN HIỆU RESET: 20 B. HOẠT ĐỘNG CỦA BỘ ĐỊNH THÌ TIMER 21 I. GIỚI THIỆU: 21 II. THANH GHI CHẾ ĐỘ TIMER (TMOD): 22 III. THANH GHI ĐIỀU KHIỂN TIMER (TCON) 23 IV. CHẾ ĐỘ TIMER: 24 C. HOẠT ĐỘNG CỦA BỘ NGẮT (INTERRUPT) 29 I. GIỚI THIỆU: 29 II. TỔ CHỨC NGẮT CỦA C8031/8051: 30 III. XỬ LÝ NGẮT (Processing Interrupt): 33 IV. THIẾT KẾ CHƯƠNG TRÌNH DÙNG CÁC NGẮT: 34 V. CÁC NGẮT CỦA C8051/8031: 36 D. TẬP LỆNH CỦA C8051/8031 38 I. CÁC CHẾ ĐỘ ĐÁNH ĐỊA CHỈ: 38 II. KHẢO SÁT TẬP LỆNH 8051: 41 CHƯƠNG III: KHẢO SÁT IC THU PHÁT TONE MT8880 44 I. MÔ TẢ CHỨC NĂNG: 44 II. CẤU HÌNH NGÕ VÀO: 44 CHƯƠNG IV: GIỚI THỆU IC QX R15 52 I. ĐẶC ĐIỂM: 52 II. SƠ ĐỒ CHÂN CỦA IC QX-R15: 52 III. SƠ ĐỒ KHỐI BÊN TRONG: 53 IV. Ý NGHĨA CÁC CHÂN: 53 V. NGUYÊN TẮC HOẠT ĐỘNG: 54 VI. PHƯƠNG PHÁP SỬ DỤNG ICQS-R15. 55 CHƯƠNG V: GIỚI THIỆU PHƯƠNG THỨC LÀM VIỆC CỦA TỔNG ĐÀI VÀ CÁC THUÊ BAO 57 PHẦN II: THIẾT KẾ PHẦN CỨNG CHƯƠNG I: SƠ ĐỒ KHỐI 61 CHƯƠNG II: THIẾT KẾ BỘ NGUỒN 63 I. BIẾN ÁP: 63 II. CHỈNH LƯU VÀ BỘ LỌC: 63 III. MẠCH ỔN ÁP 12V: 64 IV. MẠCH ỔN ÁP +5V: 64 CHƯƠNG III: KHỐI BÁO CHÁY 66 A. THIẾT KẾ MẠCH CẢM BIẾN 66 I. BỘ CẢM BIẾN NHIỆT: 66 II. BỘ CẢM BIẾN KHÓI: 70 III. XỬ LÝ TÍN HIỆU VÀO: 72 B. MẠCH BÁO ĐỘNG TẠI CHỖ 72 CHƯƠNG IV: KHỐI GIAO TIẾP 74 I. MẠCH KHUẾCH ĐẠI ÂM THANH RA: 75 II. MẠCH KHUẾCH ĐẠI TONE VÀO: 76 III. MẠCH KHUẾCH ĐẠI TONE RA: 77 IV. MẠCH KHỬ TRẮC ÂM: 78 V. MẠCH THU PHÁT TONE DTMF: 79 CHƯƠNG V: KHỐI TIẾNG NÓI 82 I. GIỚI THIỆU IC APR9600: 82 II. SƠ ĐỒ KHỐI TIẾNG NÓI: 85 CHƯƠNG VI: KHỐI XỬ LÝ TRUNG TÂM 89 I. SƠ ĐỒ KHỐI: 89 II. KHỐI GIẢI MÃ: 90 III. BỘ NHỚ: 91 IV. KHỐI HIỂN THỊ: 93 V. BÀN PHÍM: 93 CHƯƠNG VII: KHỐI ĐIỀU KHIỂN 95 I. SƠ ĐỒ KHỐI: 95 II. KHỐI GIAO TIẾP: 95 III. KHỐI ĐIỀU KHIỂN: 97 PHẦN III: THIẾT KẾ PHẦN MỀM A. NGUYÊN LÝ HỌAT ĐỘNG CỦA CÁC CHƯƠNG TRÌNH 101 I. CHƯƠNG TRÌNH CHÍNH: 101 II. CHƯƠNG TRÌNH NẠP SỐ ĐIỆN THỌAI: 101 III. CHƯƠNG TRÌNH NHẬN MÃ PHÍM: 101 IV. CHƯƠNG TRÌNH QUÉT BÀN PHÍM: 102 V. CHƯƠNG TRÌNH HIỂN THỊ: 102 VI. CHƯƠNG TRÌNH BÁO ĐỘNG: 103 VII. CHƯƠNG TRÌNH XÉT DIALTONE: 103 VIII. CHƯƠNG TRÌNH XÁT BỊ GỌI NHẤC MÁY: 104 IX. CHƯƠNG TRÌNH QUAY SỐ: 104 X. CHƯƠNG TRÌNH ĐIỀU KHIỂN: 104 B. GIẢI THUẬT CÁC CHƯƠNG TRÌNH 105 PHỤ LỤC 115 C 8031 LOGICAL INSTRUSTIONS 116 C 8031 ARITHMETIC INSTRUCTIONS 117 C 0831 ORIENTED INSTRUCTIONS 118 PHẦM MỀM 121

doc136 trang | Chia sẻ: banmai | Lượt xem: 1857 | Lượt tải: 4download
Bạn đang xem trước 20 trang tài liệu Thiết bị báo cháy và điều khiển tự động, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
gt; Vref, opamp baûo hoøa döông transistor Q1 taét, luùc ñoù Vbñ = 1. Sô ñoà maïch baùo chaùy II. BOÄ CAÛM BIEÁN KHOÙI: 1. Sô ñoà khoái: 2.Thieát keá maïch: Boä caûm bieán khoùi coù nhieäm vuï bieán ñoåi tín hieäu khoùi thaønh tín hieäu ñieän, trong phaàn thieát keá naøy ta duøng quang trôû. Nhö ta ñaõ bieát hoaït ñoäng cuûa quang trôû laø: khi coù aùnh saùng chieáu vaøo ñeän trôû cuûa noù giaûm ñi ñaùng keå so vôùi khi khoâng ñöôïc chieáu saùng . YÙ töôûng duøng quang trôû ñeå laáy tín hieäu khoùi naøy laø bình thôøng quang trôû ñöôïc chieáu saùng bôûi aùnh saùng phaùt ra töø Led. Khi coù chaùy noàng ñoä khoùi taêng leân laøm cöôøng ñoä saùng giaûm ñi laøm cho ñieän trôû cuûa quang trôû taêng leân. Choïn LED coù doøng 20mA vaø phaùt saùng coù cöôøng ñoä 10 lux vaø quang trôû laø LDR03 coù ñaëc tuyeán laøm vieäc nhö hình veõ. 10 Cöôøng ñoä 1000 100 100K 10K 1K lux Ta coù: Choïn R10 =2,7K Döôùi cöôøng ñoä saùng cuûa LED laø 10lux thì giaù trò ñieän trôû cuûa quang trôû laø 20K. Choïn V+=1v luùc chöa coù chaùy. Vaäy R11=100K –20K =80K Khi coù khoùi 20% luùc ñoù ñoäsaùng giaûm coøn 10lux ´ 20% baèng 2lux vaø giaù trò quang trôû taêng leân 100 K. Ta choïn giaù trò ñieän aùp chuaån sosaùnh taïi ngoû tröø cuûa opamp laø 2,5V. Töùc khi khoùi ñaït 20% thì caûm bieán cho tín hieäu baùo ñoäng. Choïn DZ3 laø zener 3v coù doøng Imax=25 mA Choïn R12 =220 ChoïnVR7 =10K Ñieän trôû R13vaø R14 ñeå haïn doøng cho Q2 Choïn R13= R14= 4,7k III. XÖÛ LYÙ TÍN HIEÄU VAØO: Caùc tín hieäu ra töø boä caûm bieán qua maïch 7432, khi coù baát kyø tín hieäu baùo ñoäng naøo töø boä caûm bieán seõ coù caïnh leân ôû chaân Clk cuûa 7474, bình thöôøng BD ôû möùc thaáp vaø INT0 ôû möùc cao, khi coù xung Clk thì BD ôû möùc cao vaø luùc naøy INT0 ôû möùc thaáp. Ta duøng maïch nhôù 7474 ñeå traùnh tröôøng hôïp söï coá cuûa boä caûm bieán do chaùy gaây ra. B. MAÏCH BAÙO ÑOÄNG TAÏI CHOÃ: Khi moät ñaùm chaùy xaûy ra, ngoaøi vieäc baùo ñoäng baèng tieáng noùi “coù chaùy, coù chaùy” ñöôïc löu tröõ trong IC chuyeân duøng, ta coøn baùo ñoäng baèng coøi huï hay chuoâng ñieän nhaèm taäp trung söï chuù yù cuûa moïi ngöôøi. 1. Maïch taïo tieáng coøi huï: Trong maïch naøy ta söû duïng IC LM555 ñeå taïo aâm thanh phaùt ra coù caùc aâm saéc khaùc nhau. Tieáng coøi huï naøy taïo aâm thanh nghe raát kích thích vaø thöôøng ñöôïc nhieàu ngöôøi söû duïng laøm tín hieäu caûnh baùo. IC LM555 thöù 2 taïo thaønh maïch dao ñoäng aâm cao, choïn taàn soá ra cuûa LOA laø 1KHz. Ta coù: Choïn tuï C2 = 0,01mF R3 = 56kW R2 = 4,7kW VR2 = 20kW Taàn soá ra ôû LOA ta coù theå thay ñoåi nhôø bieán trôû VR2. IC LM555 thöù 1 cuõng laép thaønh maïch dao ñoäng coù taàn soá nhoû ñöôïc xaùc ñònh bôûi coâng thöùc: Choïn C1 = 220mF R1 = 1kW VR1 = 20kW Taàn soá naøy coù theå thay ñoåi nhôø bieán trôû VR1. Xung laáy ra treân tuï C1 coù daïng soùng raêng cöa, chuùng ta cho tín hieäu naøy taùc ñoäng vaøo chaân 5 cuûa IC LM555 thöù 2, ñieàu naøy laøm ñieàu cheá taàn soá leân tín hieäu ra loa laøm cho aâm thanh ra coù nhieàu daïng aâm saéc khaùc nhau. 2. Baùo ñoäng baèng tieáng noùi: Maïch baùo ñoäng baèng tieáng noùi ñöôïc trình baøy kyõ trong khoái tieáng noùi. Khoái tieáng noùi ñöôïc trình baøy trong phaàn sau. CHÖÔNG IV: KHOÁI GIAO TIEÁP v Relay 1 duøng ñeå taïo tín hieäu nhaû maùy, khi coù tín hieäu baùo ñoäng thì mC seõ xuaát moät tín hieäu laäp traïng thaùi nhaác maùy giaû ñeå baùo cho toång ñaøi bieát maïch caàn phuïc vuï. Ñieän trôû R1 duøng ñeå haïn doøng cho transistor C1815. Choïn R1 = 2,7kW v Relay 2: khi maùy bò goïi nhaác maùy thì mC seõ nhaän bieát vaø xuaát tín hieäu ñieàu khieån vaø ñoùng Relay 2. Ñieän trôû R2 duøng ñeå haïn doøng cho transstor C1815. Choïn doøng cho IB = 1mA RA = 4,7kW v Caàu Diode coù taùc duïng choáng ñaûo cöïc laøm hö maïch. v Diode Zener DZ1 vaø DZ2 duøng ñeå baûo veä cuoän daây bieán aùp vaø oån aùp ñaàu vaøo cuûa maïch. Vì tín hieäu thoaïi coù giaù trò bieân ñoä khoaûng 2,5 RMS neân ta choïn DZ1 vaø DZ2 oån aùp 3v. v Khi Relay 1 ñoùng, toång ñaøi caáp ñieän khoaûng 10v DC vaøo maïch, transistor C828 qua ñieän trôû haïn doøng R2 seõ daãn vaø taïo ñieän trôû DC cho maïch chính baèng R3. Choïn R2 = 4,7kW R3 = 470W v Tuï C2 coù taùc duïng ngaên ñeän aùp DC cho maïch. Choïn C2 = 10mF v Khi toång ñaøi caáp caùc tín hieäu traïng thaùi ñöôøng daây thì tuï C1 seõ noái mass cöïc B cuûa transistor C828, luùc naøy trôû khaùng AC cuûa maïch chính baèng trôû khaùng vaøo bieán aùp. I. MAÏCH KHUEÁCH ÑAÏI AÂM THANH RA: Tín hieäu aâm thanh tröôùc khi ñöa leân ñöôøng daây ñeán maùy bò goïi ta cho qua maïch khueách ñaïi. Choïn heä soá khueách ñaïi cuûa maïch laø: AV0 = 5 Ta coù: R6 + VR1 = 5R5 Choïn R6 = 10kW R5 = 4,7kW VR1 = 20kW Tuï C3 duøng ñeå ngaên tín hieäu DC, choïn C3 = 10mF. II. MAÏCH KHUEÁCH ÑAÏI TONE VAØO: Tín hieäu treân ñöôøng daây ñeán maïch nhaän Tone ñaõ bò suy hao. Vì vaäy ta phaûi cho qua moät maïch khueách ñaïi. Choïn heä soá khueách ñaïi cuûa maïch laø: AV0 = 2 Ta coù: Choïn R13 = 4,7kW R14 = 4,7kW VR3 = 10kW Tuï C3 duøng ñeå ngaên tín hieäu DC, choïn C5 = 10mF. III. MAÏCH KHUEÁCH ÑAÏI TONE RA: Choïn heä soá khueách ñaïi cuûa maïch laø: AV0 = 5 Ta coù: R15 + VR2 = 5R16 Choïn R16 = 2,2kW R15 = 4,7kW VR2 = 20kW IV. MAÏCH KHÖÛ TRAÉC AÂM: Ñeå tín hieäu ra khoâng laãn tín hieäu ñaàu vaøo ta duøng maïch khöû traéc aâm nhaèm muïc ñích chæ cho tín hieäu ñi theo ñöôøng moät chieàu. Choïn R7 = R8 = R10 = R11 = R12 = 10kW R9 = 100W Ta coù: V2 = -R8/R7 x V1 = -V1 V3 = V2 = -V1 Maëc khaùc V4 = -R12/R11 x V3 – R11/R10 x V1 = -(V3 + V1) maø V3 = - V1 Vaäy V4 = -(V1 – V1) = 0 V. MAÏCH THU PHAÙT TONE DTMF: Ñeå thu phaùt Tone DTMF ta söû duïng vi maïch MT8880. Ñeå giao tieáp toát vôùi maïch vi xöû lyù ta theâm caùc coång 7432 va 7437. Sô ñoà keát noái ñöôïc cho nhö hình veõ: Caáu hình ngoõ vaøo cuûa MT8880 laø moät maïch khueách ñaïi ñaûo vôùi hai ñieän trôû laø R18 vaø R19. Ta choïn AV0 = 1 AV0 = R18/R19 Suy ra R18 = R19 Choïn R18 = R19 = 100kW Khi MT8880 hoaït ñoäng ôû cheá ñoä loïc thoaïi thì tín hieäu ñaàu ra treân chaân IRQ/CP coù daïng xung vuoâng. Tín hieäu môøi quay soá Dialtone coù chu kyø 2ms. Tín hieäu Ring Back Tone coù chu kyø 2 ms nhöng coù 2s vaø 4s khoâng. Tín hieäu Busy Tone coù 0.5s coù vaø 0.5s khoâng. Ñeå Timer cuûa vi xöû lyù coù theå phaân bieät ñöôïc deã daøng giöõa caùc tín hieäu baèng caùch ñeám soá xung, ta cho tín hieäu naøy qua moät maïch monostable taïo thaønh ñöôøng bao tín hieäu, ôû ñaây ta söû duïng vi maïch 74123. Choïn thôøi gian Mono T = 4 ms. Ta coù T = 0,28 x R21 x C8 0,005 = 0,28 x R21 x C8 Choïn C8 = 1mF Suy ra R21 = 17kW, choïn R21 = 22kW. Nhö vaäy tín hieäu thu ñöôïc sau khi qua maïch monotable laø: KHOÁI GIAO TIEÁP ÑÖÔØNG DAÂY CHÖÔNG V: KHOÁI TIEÁNG NOÙI I. GIÔÙI THIEÄU IC APR9600: Chíp ghi phaùt aâm ARP9600 môùi nhaát maø coâng ty Ñaøi Loan ñöa ra thò tröôøng laø keá tuïc kyõ thuaät cuûa coâng ty ISD Myõ vôùi chaát aâm toát, taïp aâm thaáp, khoâng sôï ngaét ñieän, coù theå ghi laïi. Maïch ñieän chíp ñôn coù theå thu phaùt töø 32 ñeán 60 giaây, khi ñieàu khieån coù theå phaân ra laø 256 ñoaïn. So vôùi chíp cuøng loaïi vôùi ISD noù coù caùc öu ñieåm: giaù reõ, coù nhieàu caùch ñieàu khieån baèng tay, quaûn lyù phaân ñoaïn thuaän tieän, khi ñieàu khieån nhieàu ñoaïn maïch ñieän ñôn giaûn, toác ñoä laáy maãu nhanh vaø thôøi gian ghi phaùt aâm coù theå ñieàu chænh ñöôïc, moãi phím ñôn ñieàu coù chöùc naêng nhö khôûi ñoäng , döøng laïi, tuaàn hoaøn, ñoàng thôøi baûo löu moät soá ñaëc ñieåm cuûa chíp ISD 2500, ñeàu laø daïng voû baèng nhöïa caém thaúng hai haøng DIP28, söï saép xeáp cuûa chaân cuõng cô baûn gioáng nhau. Hình döôùi laø hình veõ toaøn boä chöùc naêng söû duïng maïch ñieän, hình 2 laø micro cöïc theå, trong boä khueách ñaïi micro beân trong chíp coù töï ñoäng ñieàu chænh ñoä lôïi AGC, coù theå do linh kieän ñieän trôû ñieän dung noái ngoaøi laøm taêng toác ñoä höôûng öùng vaø phaïm vi. Neáu ñoä lôïi bieân ñoä tín hieäu ôû vaøo khoaûng 100mV thì coù theå tröïc tieáp ñi vaøo ñaàu ra cuûa ñöôøng daây, tín hieäu aâm taàn do boä loïc soùng beân trong sau khi xöû lyù maïch ñieän laáy maãu ñeå phöông thöùc löôïng töông töï toàn taïi trong boä nhôù chuyeân duøng cuûa FlashRam. Do FlashRAM laø linh kieän khi bò ngaét ñieän vaø do nhöõng nhaân toá khaùc seõ laøm cho nhöõng ngoân ngöõ nhôù bò maát ñi. Khi phaùt aâm, maïch ñieän ñoïc logic trong chíp laáy tín hieäu töø Flash RAM, ñi qua oä phaän loïc soùng thoâng thaáp ñöa ñeán boä khueách ñaïi coâng suaát, sau ñoù kích ñaåy loa phaùt aâm ra. Nhaø maùy saûn xaát yeâu caàu loa noái ngoaøi laø 16W, thöïc teá thöû ngheäm duøng 8_16W cuõng coù theå ñöôïc, coâng suaát ñaàu ra döôùi aâm löôïng noùi chung laø 12.2mV (16W). Coù theå coù nhieàu thao taùc ñeå ñieàu khieån thu phaùt cuûa APR 9600, cung caáp nhieàu thuaän tieän cho ngöôøi söû duïng. Toùm löôïc coù theå chia ra laøm hai loaïi laø ñieàu khieån noái tieáp vaø ñieàu khieån song song. Thöïc hieän töø vò trí saép xeáp cuûa chíp MSEL1 (chaân 24), MSEL 2 (chaân 25)/M8 (chaân 9), chöùc naêng cuûa noù nhö hình 2. Trong ñoù moãi moät moâ thöùc trao taùc ñeàu coù phím ñoái öùng hieäu löïc, hôn nöõa mô thöùc thao taùc khaùc nhau trong cuøng moät phím coù theå coù chöùc naêng khaùc nhau. Vì theá khi thieát keá chíp, tröôùc khi söû duïng ngöôøi duøng neân tìm hieåu tæ mæ caùc moâ thöùc thao taùc cuûa chíp, löïa choïn caùch thieát keá thích hôïp nhaát cuûa rieâng mình, maïch ñieän cuõng deã bieán ñoåi vaø raát ñôn giaûn. 1. Moâ thöùc ñieàu khieån song song: Ñieàu khieån song song nhieàu ñoaïn trong chíp ISD thöïc hieän 1 phím naøo ñoù ñoái vôùi 1 ñoaïn naøo ñoù laø raát phöùc taïp, thöôøng caàn nhieàu Diode dòch maõ kieåu ma traän hoaëc chíp ñôn ñeå thöïc hieän phuï trôï, ngoaøi ra khi phaân ñoaïn ghi aâm cuõng toàn taïi raát nhieàu khoù khaên. Nhöng trong chíp APR 9600 laïi raát ñôn giaûn, moãi ñoaïn ñeàu coù phím ñoái öùng khoáng cheá, aán phím naøo laø ghi aâm vaø phaùt ra ñoaïn ñoù, hôn nöõa laø coù theå tuøy yù laëp laïi moät ñoaïn naøo ñoù cuõng vaäy…Nhöng thôøi gian lôùn nhaát cho vieäc ghi aâm moãi ñoaïn laø baèng moät phaàn cuûa phuùt, hôn nöõa coù theå phaân ra laøm 8 ñoaïn. Döôùi ñaây em seõ laáy ra 4 ñoaïn quan troïng laøm ví duï ñeå giaûi thích roõ hôn: ñieàu khieån 4 ñoaïn song song caàn phaûi laáy vò trí ñaàu MSEL1 cuûa chíp 1 (möùc ñieän cao), vò trí ñaàu MSEl2 cuûa chíp 0 (möùc ñieän thaáp) /ñaàu M8 tuøy yù. Sau khi vò trí cuûa moâ thöùc ñaõ laøm xong thì baét ñaàu ghi aâm. Vò trí ñaàu RE laø 1, eùp chaët phím M1 laø coù theå nghe ñöôïc tieáng keâu tít, khi ñeøn BUSY taét laø ngöøng ghi aâm. Phím M2, M3, M4 laàn löôït ghi 3 ñoaïn khaùc. Khi ghi aâm coù theå khoâng caên cöù theo thöù töï, ghi tuøy yù moät ñoaïn naøo ñoù ñaàu tieân ñeàu coù theå ñöôïc, neáu khoâng vöøa yù thì coù theå ghi aâm laïi. Thôøi gian nhieàu nhaát cuûa moãi ñoaïn laø 15 giaây (ghi aâm 60 giaây trong toaøn chíp), khi ghi xong thaáy ñeøn taét vaø nghe hai tieáng keâu tít. Ñöông nhieân treân thöïc teá moãi ñoaïn ghi aâm coù teå daøi hay ngaén tuøy yù. Vò trí ñaàu RE laø ôû trong traïng thaùi phaùt aâm, aán phím M1 laø phaùt aâm ñoaïn thöù nhaát, thôøi gian phaùt aâm laïi aán phím M1 laø döøng vieäc phaùt aâm. eáu eùp chaët phím M1 khoâng phaùt laø phaùt aâm tuaàn hoaøn töø ñoaïn 1 ñeán khi nhaû phím M1 ra. Phím CE laø phím döøng, aán phím thôøi gian phaùt aâm cuõng coù theå ngöøng phaùt aâm laïi. Hai ñoaïn song song khaùc, gioáng vôùi phöông thöùc söû duïng ñieàu khieån cuûa 8 ñoaïn. 2. Moâ thöùc ñieàu khieån noái tieáp: Phím maø phöông thöùc ñieàu khieån noái tieáp phaûi ít hôn nhieàu, noù chæ caàn 3 phím ñeå ñieàu khieån ghi phaùt taát caû caùc ñoaïn ngöõ aâm, hôn nöõa coù theå baûo ñaûm soá ñoaïn, moãi ñoaïn cuõng khoâng haïn cheá veà thôøi gian. Nhöng khoâng tieän baèng moâ thöùc ñieàu khieån song song. Veà phöông dieän choïn ñoaïn: vò trí MSEL1 vaø MSEL2 ñeàu ôû möùc logic 0, khi ghi aâm vò trí phím M8 phaûi ôû möùc logic 1, thaû phím ra laø döøng laïi. Laïi aán phím M1 ñeå ghi aâm ñoaïn thöù hai, luoân phaân ñoaïn ghi aâm cho ñeán khi chíp ñaày. Coù hai traïng thaùi phaùt aâm (RE = 0), vò trí phím M8 laø 1 laø phöông thöùc ñieàu khieån theo thöù töï noái tieáp, aán phím M1 laø phaùt aâm ñoaïn thöù nhaát, laïi tieáp tuïc aán phím laø phaùt aâm ñoaïn thöù hai, cöù phaùt nhö vaäy cho ñeán khi phaùt heát ñoaïn cuoái laø döøng, caàn phaûi aán phím CE ñeå phuïc vò (trôû veà vò trí ban ñaàu), sau ñoù chuùng ta tieáp tuïc aán phím M1 laø phaùt laïi ñoaïn ñaàu. Döôùi phöông thöùc naøy khoâng theå löïa choïn ñoaïn maø phaùt theo thöù töï ghi aâm, thích hôïp cho lôùi ñeøn keùo quaân, maïch ñieän ñieàu khieån haønh trình. Vò trí M8 laø phöông thöùc löïa choïn ñoaïn noái tieáp, aán phím M1 laø phaùt aâm ñoaïn thöù nhaát, M2 luùc naøy coù hieäu löïc trôû thaønh phím thuùc ñaåy nhanh quaù trình choïn ñoaïn. Moãi laàn aán phím M2 laø di chuyeån moät ñoaïn ra phía sau, ví duï baây giôø aán phím M2 vaø aán phím M1 laø phaùt ra ñoaïn thöù 4. Vì theá coù theå phaùt aâm ñoaïn ta ñaõ choïn. AÁn phím CE phuïc vò laïi ñoaïn thöù nhaát. Ngoaøi ra chíp APR 9600 coù maáy phöông thöùc ñieàu khieån khaùc, ngöôøi duøng coù theå caên cöù theo nhu caàu töï laøm caùc thieát keá thöïc nghieäm. Tham soá tính naêng ñieän cuûa APR 9600: - Ñieän aùp nguoàn ñieän laø 4.5 – 6.5v. - Doøng ñieän traïng thaùi tónh laø 1()A. - Doøng ñieän hoaït ñoäng 25mA. Moái quan heä giöõa ñieän trôû noái ngoaøi cuûa noù vaø coâng suaát laáy maãu, daûi taàn cuûa ngöõ aâm, ñieän trôû naøy coù theå caên cöù vaøo thôøi gian ngöôøi duøng caàn thieát vaø hieäu quaû aâm chaát maø ñieàu tieát. Do APR 9600 coù ñaët tính ghi phaùt aâm chaát löôïng cao, ñoàng thôøi laïi coù caùc phöông thöùc ñieàu khieån baèng tay, maïch ñieän ngoaïi vi thieát keá ñôn giaûn, tính kinh teá cao. Saûn phaåm coù theå duøng trong caùc saûn phaåm coâng nghieäp, ñoà ñieän gia duïng, giaùo duïc vaø coù trieån voïng öùng duïng roäng raõi trong caùc heä thoáng öùng duïng khaùc nhau. II. SÔ ÑOÀ KHOÁI TIEÁNG NOÙI: Do yeâu caàu thieát keá ñöa ra maø chuùng ta thieát keá maïch sao cho phuø hôïp. ÔÛ ñeà taøi naøy vôùi yeâu caàu laø: - Khi coù chaùy thì maïch seõ ñöa tieáng noùi “coù chaùy, coù chaùy…” ra taïi choã cuõng nhö ñoàng thôøi phaùt tín hieäu naøy leân maïng ñieän thoaïi. - Khi coù tín hieäu ñieàu khieån thieát bò thì maïch coù nhieäm vuï phaân bieät ñöôïc thieát bò ñaõ ñöôïc ñoùng hay laø chöa ñöôïc ñoùng. + Khi thieát bò ñöôïc ñoùng thì phaùt ra tieáng “thieát bò ñaõ ñoùng…” truyeàn leân maïng ñieän thoaïi cho ngöôøi ñieàu khieån bieát. + Khi thieát bò ñaõ ngaét thì phaùt ra tieáng “thieát bò ñaõ ngöng hoaït ñoäng…” truyeàn leân maïng ñieän thoaïi cho ngöôøi ñieàu khieån bieát. Töø yeâu caàu ñaõ cho em ñaõ thieát keá moät maïch ñieän coù theå giaûi quyeát ñöôïc caùc yeâu caàu treân. 1. Sô ñoà khoái: Khoái Tín hieäu ñieàu khieån Khoái Ñieàu Khieån Khoái Tieáng Noùi Khoái Giaûi Maõ 2. Khoái tín hieäu ñieàu khieån: Tín hieäu ñieàu khieån naøy ñöôïc ñöa ñeán töø vi ñieàu khieån 8031 ñeå ñieàu khieån phaùt tieáng noùi cho töøng tröôøng hôïp cuûa thieát bò. Khi coù tín hieäu baùo chaùy ñöa ñeán thì maïch naøy seõ phaùt tieáng noùi “coù chaùy, coù chaùy…” ra taïi choã cuõng nhö ñöa teáng noùi truyeàn leân ñöôøng daây ñieän thoaïi. Cuõng nhö khi coù tín hieäu ñieàu khieån töø ñieän thoaïi thì maïch naøy cuõng baùo cho ngöôøi ñieàu khieån bieát laø thieát bò ñieàu khieån ñöôïc ñoùng hay ñaõ bò ngaét. 3. Khoái giaûi maõ: IC 74151 cho ra ñöôïc 1 tín hieäu maø tín hieäu naø coù theå cho ta bieát ñöôïc thieát bò ñaõ ñöôïc ñoùng hay ñang ngöng hoaït ñoäng. 4. Khoái ñieàu khieån: Tín hieäu ra töø IC 74151 ñöôïc ñöa ñeán maïch ñôn oån ñeå laáy xung kích cho IC APR9600 cho ta ñöôïc tieáng noùi nhö yeâu caàu thieát keá ñaõ ñöa ra. 5. Khoái phaùt tieáng noùi: (IC APR9600) IC APR laø IC chuyeân duøng ñeå phaùt tieáng noùi maø aâm thanh cho ra chuùng ta coù theå chaáp nhaän ñöôïc. Nguyeân lyù hoaït ñoäng cuûa IC APR 9600 chuùng ta coù theå tím hieåu kyõ ôû phaàn giôùi thieäu chung veà IC APR 9600. Trong phaàn naøy em chæ ñöa ra sô ñoà noái daây cuûa IC trong maïch. Sô ñoà nguyeân lyù cuûa khoái phaùt tieáng noùi. CHÖÔNG VI: KHOÁI XÖÛ LYÙ TRUNG TAÂM I. SÔ ÑOÀ KHOÁI: HIEÅN THÒ ÑIEÀU KHIEÅN TÍN HIEÄU CHOÁT DATA CHOÁT DATA RAM 8KB ROM 8KB CHOÁT ÑÒA CHÆ GIAÛI MAÕ ÑÒA CHÆ VI ÑIEÀU KHIEÅN 8031 RE SET CLOCK BAØN PHÍM DATA BUS ADDRESS BUS II. KHOÁI GIAÛI MAÕ: Ta duøng maïch giaûi maõ ñeå phaân vuøng boä nhôù cho ROM, RAM vaø caùc Port xuaát nhaäp I/O. BAÛNG PHAÂN VUØNG BOÄ NHÔÙ BOÄ NHÔÙ ÑÒA CHÆ ROM 0000H – 1FFFH RAM 2000H – 3FFFH PORT I/O 4000H – 4XXXH PORT HIEÅN THÒ 6000H – 6XXXH PORT BAÙO CHAÙY 8000H – 8XXXH PORT ÑIEÀU KHIEÅN A000H – AXXXH CHÖA DUØNG B000H - FFFFH III. BOÄ NHÔÙ: 1. Boä nhôù ROM 8KB 2764: A0 ¸ A12: bus ñòa chæ. D0 ¸ D7: ñöôïc noái ñeán bus döõ lieäu. Chaân CE laø chaân choïn chip. Chaân OE laø chaân cho pheùp xuaát byte chöông trình ñöôïc noái vôùi chaân PSEN cuûa 8031. 2. Boä nhôù RAM 8KB 6264: Ta duøng RAM 6264 ñeå löu soá ñieän thoaïi vaø caùc döõ lieäu cuõng nhö caùc tín hieäu töø ñieän thoaïi gôûi tôùi. A0 ¸ A12: laø bus ñòa chæ. D0 ¸ D7: bus döõ lieäu. E1, E2 laø chaân choïn chip. G\: cho pheùp ghi vaøo RAM. W\: cho pheùp truy xuaát döõ lieäu töø RAM. 3. Maïch choát ñòa chæ: Ta duøng vi maïch 74373 ñeå choát ñòa chæ thaáp cuû bus ñòa chæ xuaát ra töø 8031. D0 ¸ D7: laø data ñöa vaøo. Q0 ¸ Q7: bus döõ lieäu ra. C: cho pheùp choát ñöôïc noái vôùi ALE cuûa 8031. OC\: chaân ñieàu khieån ngoõ ra. IV. KHOÁI HIEÅN THÒ: Ñeå hieån thò caùc soá ñieän thoaïi ta duøng phöông phaùt queùt. Trong phöông phaùp naøy, 4 bit ñaàu ta duøng choïn LED vaø 4 bit sau duøng ñeå xuaát tín hieäu maõ BCD. V. BAØN PHÍM: Baøn phím duøng ñeå nhaäp soá ñieän thoaïi vaø ôû ñaây ta duøng phöông phaùp queùt baøn phím ñeå nhaäp döõ lieäu. SÔ ÑOÀ NGUYEÂN LYÙ KHOÁI CPU: CHÖÔNG VII: KHOÁI ÑIEÀU KHIEÅN I. SÔ ÑOÀ KHOÁI: LINE KHOÁI GIAO TIEÁP CPU KHOÁI ÑIEÀU KHIEÅN THIEÁT BÒ KHOÁI TIEÁNG NOÙI Nguyeân lyù hoïat ñoäng: Khi ngöôøi ñieàu khieån muoán ñieàu khieån thieát bò qua ñöôøng daây ñieän thoïai thì: - Ngöôøi ñieàu khieån quay ñeán soá maùy ñaõ ñöôïc gaén tröïc tieáp vôùi thieát bò ñieàu khieån. - Neáu sau 30s khoâng coù ngöôøi nhaác maùy thì thieát bò seõ taïo taûi giaû nhaác maùy cho pheùp ngöôøi ñieàu khieån tröïc tieáp ñieàu khieån thieát bò. - Ñaàu tieân ngöôøi ñieàu khieån caáp maõ soá môû maùy roài sau ñoù môùi aán phím soá töông öùng vôùi thieát bò maø mình ñaõ caøi ñaët tröôùc ( maõ soá môû maùy: soá 9, soá 1 töông öùng vôùi thieát bò 1, soá 2 töông öùng vôùi thieát bò 2…). - Trong 30s tieáp theo neáu khoâng coù tín hieäu ñieàu khieån thì thieát bò töï ñoäng ngaét khoûi löôùi ñieän thoïai. II. KHOÁI GIAO TIEÁP: Muoán thieát bò hoïat ñoäng moät caùch chính xaùc thì ta phaûi döïa vaøo caùc daïng tín hieäu ñöôøng daây. Trong thieát bò naøy em söû duïng tín hieäu Ring Back. Tín hieäu Ring Back coù caùc thoâng soá 90vAC, f = 25 Hz. Tín hieäu coù daïng hình sin hay xung vuoâng, 3s coù vaø 3s khoâng. Caùc linh kieän C1, C2, R1, D1, DZ1, DZ2, BRi1, OPTO taïo thaønh maïch nhaän daïng tín hieäu Ring Back. Tuï C1 duøng ñeå ngaên doøng DC khi coù tín hieäu chuoâng. Ñieän trôû R1, D1, DZ1, DZ2 duøng ñeå giôùi haïn doøng ñieän cuõng nhö ñieän aùp cho Opto. Ta coù theå tính tuï C1 vaø ñieän trôû R1 theo coâng thöùc: Vôùi Vo, Io laø ñieän aùp vaø doøng ñieän cuûa Opto. Ta choïn Vo = 1,1v, Io = 4 mA. => => Vôùi taàn soá Ring Back laø f = 25 Hz. Choïn R1 = 10 k. => C1 = 0,76mF Choïn C1 = 0,68 mF, 250v. Khi ñaõ nhaän bieát ñöôïc tín hieäu Ring Back qua Opto ñöa ñeán VXL qua Timer1 seõ nhaän ñöôïc traïng thaùi cuûa tín hieäu naøy. Trong khoûang thôøi gian 30s keå töø khi ñoå chuoâng neáu khoâng coù ngaét ngoøai do baùo chaùy gôûi ñeán thì VXL seõ caáp tín hieäu ñoùng RELAY1 (ñoùng taûi giaû nhaác maùy). Luùc naøy thieát bò ñöôïc noái tröïc tieáp vôùi löôùi ñieän thoïai, ngöôøi ñieàu khieån ñöôïc quyeàn tröïc tieáp ñieàu khieån thieát bò baèng caùch caáp maõ soá môû maùy roài môùi aán phím töông öùng ñeå ñieàu khieån thieát bò. Sau khoûang thôøi gian thoâng maïch laø 30s neáu khoâng coù maõ soá môû maùy thì VXL seõ caáp tín hieäu ngaét RELAY1, thieát bò ngaét khoûi löôùi ñieän thoïai, thieát bò trôû veà traïng thaùi nhaän tín hieäu ñieàu khieån. III. KHOÁI ÑIEÀU KHIEÅN: LED1 ñöôïc xem nhö thieát bò 1. (ñòa chæ A001H). LED2 ñöôïc xem nhö thieát bò 2. (ñòa chæ A002H). Khi nhaän ñöôïc tín hieäu ñieàu khieån töø löôùi ñieän thoïai gôûi ñeán VXL seõ ñoùng hay môû thieát bò maø ngöôøi ñieàu khieån ñang tröïc tieáp ñieàu khieån. SÔ ÑOÀ BOÁ TRÍ LINH KIEÄN CUÛA THIEÁT BÒ MAÏCH IN MAËT TREÂN MAÏCH IN MAËT DÖÔÙI PHAÀN III: THIEÁT KEÁ PHAÀN MEÀM A. NGUYEÂN LYÙ HOÏAT ÑOÄNG CUÛA CAÙC CHÖÔNG TRÌNH I. CHÖÔNG TRÌNH CHÍNH: Trong thieát keá naøy chuùng ta duøng ngaét ngoøai INT0\ vaø tín hieäu duøng ñeå gaây ngaét ngoøai laø tín hieäu baùo chaùy, khi coù söï coá xaûy ra thì tín hieäu baùo chaùy taùc ñoäng leân chaân INT0\, luùc ñoù chöông trình seõ ngöng taát caû caùc hoïat ñoäng ñeå phuïc vuï chöông trình baùo ñoäng. Khi khoâng coù tín hieäu taùc ñoäng leân chaân INT0\ thì chöông trình seõ phuïc vuï cho vieäc naïp soá ñieän thoaïi vaø nhaän tín hieäu ñieàu khieån ñeå tröïc tieáp cho vieäc ñieàu khieån thieát bò. Trong chöông trình chính naøy seõ phuïc vuï cho vieäc naïp soá ñieän thoïai vaø nhaän tín hieäu ñieàu khieån töø T1 (Couter). II. CHÖÔNG TRÌNH NAÏP SOÁ ÑIEÄN THOÏAI: Chöông trình naøy coù nhieäm vuï naïp soá ñieän thoïai töø baøn phím vaøo RAM coù ñòa chæ baét ñaàu 2000H. Theo yeâu caàu cuûa maïch thieát keá ta caàn baùo ñoäng ñeá nhieàu soá ñieän thoïai khaùc nhau, trong ñoù caàn nhaäp caùc soá ñieän thoïai ñaëc bieät veà: cöùu hoûa, coâng an, cô quan… Soá ñieän thoïai nhaäp töø baøn phím coù toái ña 10 soá. Neáu phím nhaän ñöôïc coù giaù trò 00H seõ keát thuùc vieäc nhaäp soá ñieän thoïai töø baøn phím. Khi naïp xong soá ñieän thoïai ta nhaán phím F2 (coù gía trò OFH) ñeå baùo cho vi xöû lyù bieát laø moät soá ñieän thoïai ñaõ nhaäp xong vaø baét ñaàu naïp moät soá khaùc. Chöông trình hieån thò seõ giuùp chuùng ta bieát ñöôïc soá ñieän thoïai ñaõ naïp vaøo. III.CHÖÔNG TRÌNH NHAÄN MAÕ PHÍM: Chöông trình naøy muïc ñích xaùc ñònh giaù trò cuûa phím ñöôïc nhaán, tuy nhieân ñeå traùnh söï sai xoùt do phím rung ta phaûi coù voøng laëp ñôïi. Sau khi goïi chöông trình queùt phím, neáu khoâng coù phím aán thì tieáp tuïc queùt, neáu coù phím nhaán thì tieáp tuïc queùt 30 laán neáu caàn aán thì löu giaù trò vaøo Stack, sau ñoù xeùt traïng thaùi phím nhaû, neáu phím chöa nhaû thì tieáp tuïc queùt, neáu phím nhaû thì queùt 40 laàn maø phím vaãn coøn nhaû thì nhaän giaù trò phím. IV.CHÖÔNG TRÌNH QUEÙT BAØN PHÍM: KYÙ HIEÄU GIAÙ TRÒ PHÍM CHÖÙC NAÊNG F1 0 0 0 0 Keát thuùc vieäc nhaäp töø baøn phím 1 0 0 0 1 Soá 1 2 0 0 1 0 Soá 2 3 0 0 1 1 Soá 3 4 0 1 0 0 Soá 4 5 0 1 0 1 Soá 5 6 0 1 1 0 Soá 6 7 0 1 1 1 Soá 7 8 1 0 0 0 Soá 8 9 1 0 0 1 Soá 9 F2 1 1 1 1 KEÁT THUÙC SOÁ ÑIEÄN THOÏAI Baøn phím trong thieát bò ñöôïc thieát keá cho 12 phím, trong ñoù 10 phím soá duøng ñeå xaùc ñònh caùc soá töø 0 ñeán 9 vaø 2 phím coù chöùc naêng ñaëc bieät F1, F2. Khi ñöôïc aán phím seõ traû veà giaù trò döôùi daïng maõ HECXA nhö baûng treân. Chöông trình queùt baøn phím duøng ñeå xaùc ñònh phím coù ñöôïc aán hay khoâng, chöông trình queùt töøng coät moät. Ñaàu tieân laø ôû coät soá 0, xem xeùt coù haøng naøo tích cöïc hay khoâng neáu khoâng thì chuyeån sang coät tieáp theo, ngöôïc laïi thì löu giaù trò phím aán vaøo ACC. V. CHÖÔNG TRÌNH HIEÅN THÒ: Chöông trình hieån thò naøy duøng phöông phaùt queùt Led ñeå hieån thò caùc soá ñieän thoïai ra Led. Tín hieäu xuaát ra coù 8 bit, trong ñoù coù 4 bit thaáp duøng ñeå choïn Led vaø 4 bit cao laø maõ HEXA cuûa soá ñieän thoïai. Ñaàu tieân xaùc ñònh ñòa chæ soá ñieän thoïai, xaùc ñònh soá choïn Led vaø xuaát ra Port hieån thò, sau ñoù goïi chöông trình Delay. Neáu trong quaù trình hieån thò neáu khoâng coù phím naøo aán thì noù vaãn tieáp tuïc hieån thò soá ñieän thoïai môùi nhaäp vaøo, ngöôïc laïi quay veà chöông trình naïp soá ñieän thoïai. VI. CHÖÔNG TRÌNH BAÙO ÑOÄNG: Khi coù tín hieäu baùo ñoäng thì Interrup ñöôïc thöïc thi (thöïc hieän chöông trình baùo ñoäng). Chöông trình thöïc hieän vieäc quay soá ñieän thoïai cuûa maùy bò goïi ñaõ ñöôïc naïp vaøo RAM (goïi toái ña 3 soá moãi soá 3 laån) “coù theå bao nhieân soá tuøy yù ngöôøi laäp trình”, neáu maùy khoâng baän thì phaùt tín hieäu baùo ñoäng. - Ñaàu tieân ñònh soá cuoäc goïi vaø soá laàn goïi. - Xuaát tín hieäu ñieàu khieån laøm ñoùng RELAY1 laäp traïng thaùi nhaác maùy giaû. - Xeùt tín hieäu môøi quay soá (Dial Tone) neáu coù thì quay soá ñieän thoïai thöù nhaát, coøn khoâng laäp traïng thaùi gaùc maùy 2s sau goïi laïi. - Sau khi quay soá ta xeùt traïng thaùi nhaác maùy cuûa maùy bò goïi, neáu coù nhaác thì xuaát tín hieäu ñieàu khieån ñoùng RELAY2 (RELAY SOUND) noái maïch phaùt tieáng noùi vaø baùo ñoäng thôøi gian 40s, ngöôïc laïi maùy baän laäp traïng thaùi gaùc maùy 2s sau goïi laïi. Neáu goïi trong 3 laàn maø vaãn baän thì goïi sang maùy khaùc. VII. CHÖÔNG TRÌNH XEÙT DIALTONE: Tín hieäu môøi xung quay soá do toång ñaøi caáp coù taàn soá 425Hz. Khi cho MT8880 hoïat ñoäng ôû cheá ñoä Callprogess thì tín hieäu taïi ñaàu ra IRQ/CP cuûa MT8880 laø tín hieäu traïng thaùi ñöôøng daây nhöng ñaõ qua maïch Trigger Schitt ñeå söûa daïng thaønh xung vuoâng. Sau khi cho qua maïch MonoStable vôùi khoõang ñònh thì 4ms thì soá xung ñeám ñöôïc trong khoûang thôøi gian 6s laø 0, coøn Ringback tone laø 1 vaø Busy tone laø 5 xung. Vì vaäy ta duøng Timer 0 ñeå ñeám soá xung naøy ñeå töø ñoù xaùc ñònh caùc tín hieäu traïng thaùi ñöôøng daây. - Ñaàu tieân khôûi ñoäng MT8880 ôû cheá ñoä CP MODE, khôûi ñoäng Timer 0 ñeå ñeám xung. - Goïi chöông trình DELAY 6s. - Neáu xung ñeám ñöôïc laø 0 (coù Dialtone), 5 (coù Busytone). Khi nhaác maùy thì treân ñöôøng daây chæ toàn taïi 1 trong 2 tín hieäu ñoù laø Dialtone vaø Busytone. VIII. CHÖÔNG TRÌNH XAÙT BÒ GOÏI NHAÁC MAÙY: Sau khi quay soá xong treân ñöôøng daây xuaát hieän 1 trong tín hieäu laø: Busytone, Dialtone, Ring Backtone: chöông trình thöïc hieän nhöõng coâng vieäc sau: - Khôûi ñoäng MT8880 ôû cheá ñoä loïc thoïai (CP MODE). - Khôûi ñoäng Timer 0 ñeå ñeám soá xung trong khoûang thôøi gian 6s neáu soá xung laø 0 (maùy bò goïi nhaác maùy), neáu soá xung ñeám ñöôïc laø 5 (maùy baän), soá xung laø 1 (tín hieäu Ringback tone). IX. CHÖÔNG TRÌNH QUAY SOÁ: Khi toång ñaøi caáp tín hieäu môøi quay soá (Dialtone) thì chöông trình quay soá ñöôïc thöïc thi. - Khôûi ñoäng MT8880 ôû cheá ñoä CP MODE vaø BURST MODE. - Xaùc ñònh ñòa chæ cuûa soá ñieän thoïai ñaàu tieân. - Naïp soá ñieän thoïai vaøo thanh ghi phaùt, sau ñoù kieåm tra, neáu thanh ghi phaùt roãng (phaùt xong) thì quay soá ñieän thoïai keá tieáp, neáu chöa phaùt xong thì xeùt laïi. Neáu laø soá ñieän thoïai cuoái (0FH) thì thoùat veà chöông trình baùo ñoäng. X.CHÖÔNG TRÌNH ÑIEÀU KHIEÅN: Thieát bò luoân ôû trong traïng thaùi chôø tín hieäu ñieàu khieån töø löôùi ñieän thoïai cuûa maùy chuû. Thieát bò nhaän daïng tín hieäu ñieàu khieån nhôø vaøo tín hieäu traïng thaùi ñöôøng daây RING BACK, tín hieäu naøy ñöôïc Timer 1 ñeám xung trong thôøi gian 30s, trong thôøi gian naøy neáu khoâng coù tín hieäu baùo ñoäng thì xuaát tín hieäu ñoùng Relay1 ñoùng taûi giaû nhaác maùy, thieát bò ñöôïc thoâng thoïai. - Luùc naøy thieát bò chôø maõ môû maùy töø ñieän thoïai chuû: + Neáu thieát bò khoâng nhaän ñöôïc maõ môû maùy trong thôøi gian 30s thì VXL seõ xuaát tín hieäu ngaét Relay1, thieát bò ñieàu khieån bò ngaén maïch. + Ngöôïc laïi, neáu thieát bò nhaän ñöôïc maõ môû maùy thì tieáp tuïc chôø nhaän maõ soá tröïc tieáp ñieàu khieån thieát bò töông öùng ñaõ ñöôïc caøi ñaët saún. Khi nhaän ñöôïc maõ soá ñieàu khieån thì thieát bò seõ thoâng baùo baèng tieáng noùi cho maùy chuû bieát ñöôïc tình traïng cuûa maùy ñang hoïat ñoäng. - Khi thieát bò ñang hoïat ñoäng maø coù tín hieäu baùo ñoäng thì thieát bò seõ caét ngang phaàn ñieàu khieån trôû veà chöông trình baùo ñoäng. B. GIAÛI THUAÄT CAÙC CHÖÔNG TRÌNH: BEGIN ÑAËT CHEÁ ÑOÄ HOÏAT ÑOÄNG CHO CAÙC TIMER TIMER0 MODE0 TIMER1 MODE 1 CHO PHEÙT NGAÉT EXT0 COÙ NGAÉT BAÙO ÑOÄNG NGAÉT T1 ÑIEÀU KHIEÅN NO YES YES NAÏP SOÁ ÑIEÄN THOÏAI NO EXIT GIAÛI THUAÄT CHÖÔNG TRÌNH CHÍNH ENTER ÑÒA CHÆ RAM CHÖÙA SOÁ ÑIEÄN THOÏAI ÑAÀU TIEÂN BIEÁN ÑEÁM X = 0 NHAÄN GIAÙ TRÒ ÑAÀU TIEÂN GHI SOÁ ÑIEÄN THOÏAI ÑAÀU TIEÂN HIEÅN THÒ TAÊNG ÑÒA CHÆ RAM TAÊNG BIEÁN ÑEÁM X RAM = RAM -X PHÍM 00H ? PHÍM 0FH ? X > 10 ? TAÊNG ÑÒA CHÆ RAM EXIT YES YES NO NO NO YES GIAÛI THUAÄT NAÏP SOÁ ÑIEÄN THOÏAI ENTER BIEÁN ÑEÁM X = 40 GIAÛM BIEÁN ÑEÁM GIAÛM BIEÁN ÑEÁM NHAÄP GIAÙ TRÒ PHÍM PHÍM AÁN PHÍM 0FH ? PHÍM NHAÛ ? LÖU GIAÙ TRÒ PHÍM YES YES NO NO NO YES GIAÛI THUAÄT NHAÄN GIAÙ TRÒ PHÍM QUEÙT PHÍM NO BIEÁN ÑEÁM X = 40 QUEÙT PHÍM BD = 0 ? EXIT YES ENTER KIEÅM TRA CAÙC HAØNG PHÍM AÁN NO NO YES GIAÛI THUAÄT QUEÙT PHÍM X = 4 ? EXIT YES CHOÏN MAÕ COÄT Z = 0 TAÊNG MAÕ HAØNG TAÊNG MAÕ COÄT XAÙC ÑÒNH GIAÙ TRÒ PHÍM LÖU GIAÙ TRÒ PHÍM ENTER DELAY XAÙC ÑÒNH ÑÒA CHÆ HIEÅN THÒ ÑCHT = RAM - X YES NO YES GIAÛI THUAÄT HIEÅN THÒ LÖU ÑCHT VAØO ACC LED > X ? EXIT CHOÏN LED SOÁ 0 LED = 0 ACC = ACC + LED XUAÁT RA PORT HIEÅN THÒ TAÊNG ÑÒA CHÆ HIEÅ NTHÒ TAÊNG SOÁ LED QUEÙT PHÍM PHÍM AÁN NO GIAÛI THUAÄT BAÙO ÑOÄNG ENTER YES NO YES XUAÁT T/H ÑOÙNG RELAY 1 THQS ? EXIT KIEÅM TRA T/H NHAÁC MAÙY CUÛA MAÙY BÒ GOÏI NO SOÁ MAÙY CAÀN GOÏI: X=3 SOÁ LAÀN GOÏI: Y=3 QUAY SOÁ KIEÅM TRA T/H MÔØI QUAY SOÁ Y = 0 ? GAÙC MAÙY DELAY 5S GIAÛM SOÁ LAÀN GOÏI GIAÛM SOÁ MAÙY GOÏI X = 0 ? THNM ? TAÏO T/H GIAÛ NHAÁC MAÙY GAÙC MAÙY DELAY 5s PHAÙT T/H ÑOÙNG RELAY SOUND DELAY 30S NO YES YES NO NO YES EXIT SOÁ XUNG > 3 KHÔÛI ÑOÄNG MT8880 KHÔÛI ÑOÄNG TIMER 0 COÙ T/H MÔØI QUAY SOÁ SETB C ENTER DELAY 5S BUSY TONE CLEAR C GIAÛI THUAÄT XEÙT DIAL TONE NO YES SOÁ 0FH ? KHÔÛI ÑOÄNG MT8880 ENTER DELAY 1S GIAÛI THUAÄT QUAY SOÁ ÑIEÄN THOÏAI RAM = ÑC SOÁ ÑT ÑAÀU TIEÂN NAÏP SOÁ ÑT VAØO ACC NAÏP SOÁ ÑT VAØO THANH GHI PHAÙT THANH GHI PHAÙT ROÃNG RAM = RAM + 1 NO YES EXIT NO YES EXIT SOÁ XUNG > 3 KHÔÛI ÑOÄNG MT8880 ENTER BIEÁN ÑEÁM X = 10 BUSY TONE CLEAR C GIAÛI THUAÄT XEÙT MAÙY BÒ GOÏI SETB TRO DELAY 6S CLEAR TRO MAÙY BAÄN CLEAR C SOÁ XUNG > 0 MAÙY BAÄN CLEAR C X = 0 X = X -1 YES NO ENTER TIMER1 EXT0 RET DELAY 30s SOÁ 1 NO MAÕ SOÁ MM DELAY 30s MAÕ SOÁ ÑK YES NO YES NO YES SO SAÙNH MAÕ YES NO X = X +1 C = X NGAÉT TB 1 ÑOÙNG TB 1 SOÁ 2 X = X +2 YES NO C = X ÑOÙNG TB 2 ÑOÙNG TB 2 YES YES NO NO GIAÛI THUAÄT ÑIEÀU KHIEÅN THIEÁT BÒ PHUÏ LUÏC TAÄP LEÄNH CUÛA m8031 Mnemonic Instruction Code Hexa – decimal Explanation D7 D6 D5 D4 D3 D2 D1 D0 MOV A, Rn 1 1 1 0 1 n2 n1 n0 E8 – EF (A) – (Rn) MOV A, direct 1 a7 1 a6 1 a5 0 a4 0 a3 1 a2 0 a1 1 a0 E5 Byte 2 (A) – (direct) MOV A, @Ri 1 1 1 0 0 1 1 1 E6 – E7 (A) – ((Ri)) MOV A, #data 0 d7 1 d6 1 d5 1 d4 0 d3 1 d2 0 d1 0 d0 74 Byte 2 (A) - #data MOV Rn, A 1 1 1 1 1 n2 n1 n0 F8 - FF (Rn) – (A) MOV Rn, direct 1 a7 0 a6 1 a5 0 a4 1 a3 n2 a2 n1 a1 n0 a0 A8 - AF Byte 2 (Rn) – (direct) MOV Rn, #data 0 d7 1 d6 1 d5 1 d4 1 d3 n2 d2 n1 d1 n0 d0 78 – 7F Byte 2 (Rn) - #data MOV direct, A 1 a7 1 a6 1 a5 1 a4 0 a3 1 a2 0 a1 1 a0 F5 Byte 2 (direct) - A MOV direct, direct 1 a7 a7 0 a6 a6 0 a5 a5 0 a4 a4 0 a3 a3 1 a2 a2 0 a1 a1 1 a0 a0 85 Byte 2 Byte 3 (direct) - (direct) (source) (destination) MOV direct, @Ri 1 a7 0 a6 0 a5 0 a4 0 a3 1 a2 1 a1 i a0 86 – 87 Byte 2 (direct) - #((Ri)) MOV direct,#data 0 a7 d7 1 a6 d6 1 a5 d5 1 a4 d4 0 a3 d3 1 a2 d2 0 a1 d1 1 a0 d0 75 Byte 2 Byte 3 (direct) - #data MOV @Ri,A 1 1 1 1 0 1 0 1 F6 – F7 ((Ri)) – A MOV @Ri, direct 1 a7 0 a6 1 a5 0 a4 0 a3 1 a2 1 a1 i a0 A6 – A7 Byte 2 ((Ri)) – (direct) MOV @Ri, #data 0 d7 1 d6 1 d5 1 d4 0 d3 1 d2 1 d1 i d0 76 – 77 Byte 2 ((Ri)) - #data MOV DPTR, #data 16 1 d7 d7 0 d6 d6 0 d5 d5 1 d4 d4 0 d3 d3 0 d2 d2 0 d1 d1 0 d0 d0 90 Byte 2 Byte 3 (DPTR) - #data15 – 0 (DPH) - #data15 – 8 (DPL) - #data7 – 0 MOVC A, @A + DPTR 1 0 0 1 0 0 1 1 93 (A) – ((A) + (DPTR)) MOVC A, @A + PC 1 0 0 0 0 0 1 1 83 (A) – ((A) + (PC)) MOVX A, @Ri 1 1 1 0 0 0 1 i E2 – E3 (A) - ((Ri)) External RAM MOVX A, @DPTR 1 1 1 0 0 0 0 0 E0 (A) – ((DPTR)) External RAM MOVX @Ri, A 1 1 1 1 0 0 1 i F2 – F3 ((Ri)) – (A) External RAM MOVX@DPTR, A 1 1 1 1 0 0 0 0 F0 ((DPTR)) – (A) External RAM PUSH direct 1 a7 1 a6 0 a5 0 a4 0 a3 0 a2 0 a1 0 a0 C0 Byte 2 (SP) – (SP) + 1 ((SP)) - (direct) POP direct 1 a7 1 a6 0 a5 1 a4 0 a3 0 a2 0 a1 0 a0 D0 Byte 2 (direct) – ((SP)) (SP) – (SP) – 1 XCH A, Rn 1 1 0 0 1 n2 n1 n0 C8 – CF (A) = (Rn) XCH A, direct 1 a7 1 a6 0 a5 0 a4 0 a3 1 a2 0 a1 1 a0 C5 Byte 2 (A) = (direct) XCH A, @Ri 1 1 0 0 0 1 1 i C6 – C7 (A) = ((Ri)) XCHD A, @Ri 1 1 0 1 0 1 1 i D6 – D7 (A3 - 0) = ((Ri3 - 0)) mC 8031 LOGICAL INSTRUSTIONS ANL A, Rn 0 1 0 1 1 n2 n1 n0 58 – 5F (A) – (A) AND (Rn) ANL A, direct 0 a7 1 a6 0 a5 1 a4 0 a3 1 a2 0 a1 1 a0 55 Byte 2 (A) = (A) AND (direct) ANL A, @Ri 0 1 0 1 0 1 1 i 56 - 57 (A) = (A) AND ((Ri)) ANL A, #data 0 d7 1 d6 0 d5 1 d4 0 d3 1 d2 0 d1 0 d0 54 Byte 2 (A) = (A) AND #data ANL direct, A 0 a7 1 a6 0 a5 1 a4 0 a3 0 a2 1 a1 0 a0 52 Byte 2 (direct) - (direct) AND (A) ANL direct, #data 0 a7 d7 1 a6 d6 0 a5 d5 1 a4 d4 0 a3 d3 0 a2 d2 1 a1 d1 1 a0 d0 53 Byte 2 Byte 3 (direct) - (direct) AND #data ORL A, Rn 0 1 0 0 1 n2 n1 n0 48 – 4F (A) – (A) OR (Rn) ORL A, direct 0 a7 1 a6 0 a5 0 a4 0 a3 1 a2 0 a1 1 a0 45 Byte 2 (A) = (A) OR (direct) ORL A, @Ri 0 1 0 0 0 1 1 i 46 - 47 (A) = (A) OR ((Ri)) ORL A, #data 0 d7 1 d6 0 d5 0 d4 0 d3 1 d2 0 d1 0 d0 44 Byte 2 (A) = (A) OR #data ORL direct, A 0 a7 1 a6 0 a5 0 a4 0 a3 0 a2 1 a1 0 a0 42 Byte 2 (direct) - (direct) OR (A) ORL direct, #data 0 a7 d7 1 a6 d6 0 a5 d5 0 a4 d4 0 a3 d3 0 a2 d2 1 a1 d1 1 a0 d0 43 Byte 2 Byte 3 (direct) - (direct) OR #data XRLA, Rn 0 1 1 0 1 n2 n1 n0 68 – 6F (A) – (A) XOR (Rn) XRL A, direct 0 a7 1 a6 1 a5 0 a4 0 a3 1 a2 0 a1 1 a0 65 Byte 2 (A) = (A) XOR (direct) XRL A, @Ri 0 1 1 0 0 1 1 i 66 - 67 (A) = (A) XOR ((Ri)) XRL A, #data 0 d7 1 d6 1 d5 0 d4 0 d3 1 d2 0 d1 0 d0 64 Byte 2 (A) = (A) XOR #data XRL direct, A 0 a7 1 a6 1 a5 0 a4 0 a3 0 a2 1 a1 0 a0 62 Byte 2 (direct) - (direct) XOR (A) XRL direct, #data 0 a7 d7 1 a6 d6 1 a5 d5 0 a4 d4 0 a3 d3 0 a2 d2 1 a1 d1 1 a0 d0 63 Byte 2 Byte 3 (direct) - (direct) XOR #data CLR A 1 1 1 0 0 1 0 0 E4 (A) – 0 CPL A 1 1 1 1 0 1 0 0 F4 (A) – () A7 A6 A5 A4 A3 A2 A1 A0 RL A 0 0 1 0 0 0 1 1 23 Noäi dung cuûa thanh ghi A dòch sang traùi moät bit. C A RLC A 0 0 1 1 0 0 1 1 33 Noäi dung thanh ghi A vaø C dòch sang traùi moät bit. A7 A6 A5 A4 A3 A2 A1 A0 RR A 0 0 0 0 0 0 1 1 03 Noäi dung cuûa thanh ghi A dòch sang phaûi moät bit. C A RRC A 0 0 0 1 0 0 1 1 13 Noäi dung thanh ghi A vaø C dòch sang phaûi moät bit. SWAP A 1 1 0 0 0 1 0 0 C4 (A3 - 0) = (A7 - 4) mC 8031 ARITHMETIC INSTRUCTIONS ADD A, Rn 0 0 1 0 1 n2 n1 n0 28 – 2F (A) – (A) + (Rn) ADD A, direct 0 a7 0 a6 1 a5 0 a4 0 a3 1 a2 0 a1 1 a0 25 Byte 2 (A) = (A) + (direct) ADD A, @Ri 0 0 1 0 0 1 1 i 26 - 27 (A) = (A) + ((Ri)) ADD A, #data 0 d7 0 d6 1 d5 0 d4 0 d3 1 d2 0 d1 0 d0 24 Byte 2 (A) = (A) + #data ADDC A, Rn 0 0 1 1 1 n2 n1 n0 38 – 3F (A) – (A) + (C) + (Rn) ADDC A, direct 0 a7 0 a6 1 a5 1 a4 0 a3 1 a2 0 a1 1 a0 35 Byte 2 (A) = (A) + (C) + (direct) ADDC A, @Ri 0 0 1 1 0 1 1 i 36 - 37 (A) = (A) + (C) + ((Ri)) ADDC A, #data 0 d7 0 d6 1 d5 1 d4 0 d3 1 d2 0 d1 0 d0 34 Byte 2 (A) = (A) + (C) + #data SUBB A, Rn 1 0 0 1 1 n2 n1 n0 98 – 9F (A) – (A) - (C) - (Rn) SUBB A, direct 1 a7 0 a6 0 a5 1 a4 0 a3 1 a2 0 a1 1 a0 95 Byte 2 (A) = (A) - (C) - (direct) SUBB A, @Ri 1 0 0 1 0 1 1 i 96 - 97 (A) = (A) - (C) - ((Ri)) SUBB A, #data 1 d7 0 d6 0 d5 1 d4 0 d3 1 d2 0 d1 0 d0 94 Byte 2 (A) = (A) - (C) - #data INC A 0 0 0 0 0 1 0 0 04 (A) – (A) + 1 INC Rn 0 0 0 0 1 n2 n1 n0 08 – 0F (Rn) – (Rn) + 1 INC direct 0 a7 0 a6 0 a5 0 a4 0 a3 1 a2 0 a1 1 a0 05 Byte 2 (direct) – (direct) + 1 INC @Ri 0 0 0 0 0 1 1 i 06 - 07 ((Ri)) – ((Ri)) + 1 INC DPTR 1 0 1 0 0 0 1 1 A3 (DPTR) – (DPTR) + 1 DEC A 0 0 0 1 0 1 0 0 14 (A) – (A) - 1 DEC Rn 0 0 0 1 1 n2 n1 n0 18 – 1F (Rn) – (Rn) - 1 DEC direct 0 a7 0 a6 0 a5 1 a4 0 a3 1 a2 0 a1 1 a0 15 Byte 2 (direct) – (direct) - 1 DEC @Ri 0 0 0 1 0 1 1 i 16 - 17 ((Ri)) – ((Ri)) – 1 MUL AB 1 0 1 0 0 1 0 0 A4 (B15 - 8), (A7 - 0) – (A) x (B) Keát quaû: byte cao chöùa trong (B) vaø byte thaáp chöùa trong (A) DIV AB 1 0 1 1 0 1 0 0 B4 (A15 - 8), (B7 – 0) – (A) / (B) Keát quaû chöùa trong (A) vaøphaàn dö chöùa trong (B). DAA 1 1 0 1 0 1 0 0 D4 Neáu {[(A3 - 0) >9] hoaëc [(AC >1)]} thì (A3 - 0) – (A3 - 0) + 6 vaø Neáu {[(A7 - 4) >9] hoaëc [(C >1)]} thì (A7 - 4) – (A7 - 4) + 6 Noäi dung thanh ghi A chuyeån ñoåi sang soá BCD. CJNE Rn, #data, rel 1 d7 r7 0 d6 r6 1 d5 r5 1 d4 r4 1 d3 r3 n2 d2 r2 n1 d1 r1 n0 d0 r0 BF - FF Byte 2 Byte 3 (PC) – (PC) + 3 Neáu #data (Rn) thì (PC) – (PC) + rel vaø (C) – (1) CJNE @Ri, #data, rel 1 d7 r7 0 d6 r6 1 d5 r5 1 d4 r4 1 d3 r3 1 d2 r2 1 d1 r1 i d0 r0 B6 – B7 Byte 2 Byte 3 (PC) – (PC) + 3 Neáu #data ((Ri)) thì (PC) – (PC) + rel vaø (C) – (1) DJNZ Rn, rel 1 r7 1 r6 0 r5 1 r4 1 r3 n2 r2 n1 r1 n0 r0 D8 – DF Byte 2 (PC) – (PC) + 2 (Rn) – (Rn) – 1 Neáu (Rn) khaùc 0 thì (PC) – (PC) + rel DJNZ direct, rel 1 a7 r7 0 a6 r6 1 a5 r5 1 a4 r4 1 a3 r3 1 a2 r2 0 a1 r1 1 a0 r0 D5 Byte 2 Byte 3 (PC) – (PC) + 3 (direct) – (direct) – 1 Neáu (direct) khaùc 0 thì (PC) – (PC) + rel NOP 0 0 0 0 0 0 0 0 00 (PC) – (PC) + 1 mC 0831 ORIENTED INSTRUCTIONS CLR C 1 1 0 0 0 0 1 1 C3 (C) – 0 CLR bit 1 b7 1 b6 0 b5 0 b4 0 b3 0 b2 1 b1 0 b0 C2 Byte 2 bit – 0 SETB C 1 1 0 1 0 0 1 0 D3 (C) – 1 SETB bit 1 b7 1 b6 0 b5 1 b4 0 b3 0 b2 1 b1 0 b0 D2 Byte 2 bit – 1 CPL C 1 0 1 1 0 0 1 1 B3 (C) – () CPL bit 1 b7 0 b6 1 b5 1 b4 0 b3 0 b2 1 b1 0 b0 B2 Byte 2 bit –() ANL C, bit 1 b7 0 b6 0 b5 0 b4 0 b3 0 b2 1 b1 0 b0 82 Byte 2 (C) – (C) AND bit ANL C, /bit 1 b7 0 b6 0 b5 0 b4 0 b3 0 b2 0 b1 0 b0 80 Byte 2 (C) – (C) AND () ORL C, bit 0 b7 1 b6 1 b5 1 b4 0 b3 0 b2 1 b1 0 b0 72 Byte 2 (C) – (C) OR bit ORL C, /bit 1 b7 0 b6 1 b5 0 b4 0 b3 0 b2 0 b1 0 b0 A0 Byte 2 (C) – (C) OR () MOV C, bit 1 b7 0 b6 1 b5 0 b4 0 b3 0 b2 1 b1 0 b0 A2 Byte 2 (C) – (bit) MOV bit, C 1 b7 0 b6 0 b5 1 b4 0 b3 0 b2 1 b1 0 b0 92 Byte 2 (bit) – (C) mC 08301 CONTROL TRANSFER INSTRUCTIONS ACALL addr 11 a10 a7 a9 a6 a8 a5 1 a4 0 a3 0 a2 0 a1 1 a0 Byte 1 Byte 2 (PC) – (PC) + 2 (SP) – (SP) +1 ((SP)) – (PC7 - 0) (SP) – (SP) +1 (PC) – page address ñòa chæ töø A0 – A10 naïp vaøo PC0 – PC10 coøn laïi giöõ nguyeân. LCALL 0 a15 a7 0 a14 a6 0 a13 a5 1 a12 a4 0 a11 a3 0 a10 a2 1 a9 a1 0 a8 a0 12 Byte 2 Byte 3 (PC) – (PC) + 3 (SP) – (SP) +1 ((SP)) – (PC7 - 0) (SP) – (SP) +1 ((SP)) – (PC15 - 8) (PC) – addr15 – 0 RET 0 0 1 0 0 0 1 0 22 (PC15 - 8) – ((SP)) (SP) – (SP) – 1 (PC7 - 0) – ((SP)) (SP) – (SP) – 1 RET1 Trôû veà cuûa chöông trình ngaét 0 0 1 1 0 0 1 0 32 (PC15 - 8) – ((SP)) (SP) – (SP) – 1 (PC7 - 0) – ((SP)) (SP) – (SP) – 1 AJMP addr 11 a10 a7 a9 a6 a8 a5 0 a4 0 a3 0 a2 0 a1 1 a0 Byte 1 Byte 2 (PC) – (PC) + 2 (PC10 - 0) – page address LJMP addr 16 0 a15 a7 0 a14 a6 0 a13 a5 0 a12 a4 0 a11 a3 0 a10 a2 1 a9 a1 0 a8 a0 02 Byte 2 Byte 3 (PC) – addr15 – 0 Leänh nhaûy gioáng nhö 8085 SJMP rel 1 r7 0 r6 0 r5 0 r4 0 r3 0 r2 0 r1 0 r0 80 Byte 2 (PC) – (PC) + 2 (PC) – (PC) + rel JMP @A, DPTR 0 1 1 1 0 0 1 1 73 (PC) – (A) + (DPTR) JZ rel 0 r7 1 r6 1 r5 0 r4 0 r3 0 r2 0 r1 0 r0 60 Byte 2 (PC) – (PC) + 2 Neáu (A) = 0 thì (PC) – (PC) + rel. JNZ rel 0 r7 1 r6 1 r5 1 r4 0 r3 0 r2 0 r1 0 r0 70 Byte 2 (PC) – (PC) + 2 Neáu (A) khaùc 0 thì (PC) – (PC) + rel. JC rel 0 r7 1 r6 0 r5 0 r4 0 r3 0 r2 0 r1 0 r0 40 Byte 2 (PC) – (PC) + 2 Neáu (C) = 1 thì (PC) – (PC) + rel. JNC rel 0 r7 1 r6 0 r5 1 r4 0 r3 0 r2 0 r1 0 r0 50 Byte 2 (PC) – (PC) + 2 Neáu (C) = 0 thì (PC) – (PC) + rel. JB bit, rel 0 b7 r7 0 b6 r6 1 b5 r5 0 b4 r4 0 b3 r3 0 b2 r2 0 b1 r1 0 b0 r0 20 Byte 2 Byte 3 (PC) – (PC) + 3 Neáu (bit) =1 thì (PC) – (PC) + rel. JNB bit, rel 0 b7 r7 0 b6 r6 1 b5 r5 1 b4 r4 0 b3 r3 0 b2 r2 0 b1 r1 0 b0 r0 30 Byte 2 Byte 3 (PC) – (PC) + 3 Neáu (bit) = 0 thì (PC) – (PC) + rel. JBC bit, rel 0 b7 r7 0 b6 r6 0 b5 r5 1 b4 r4 0 b3 r3 0 b2 r2 0 b1 r1 0 b0 r0 10 Byte 2 Byte 3 (PC) – (PC) + 3 Neáu (bit) =1 thì bit – 0 (PC) – (PC) + rel. CJNE A, direct, rel 1 a7 r7 0 a6 r6 1 a5 r5 1 a4 r4 0 a3 r3 1 a2 r2 0 a1 r1 1 a0 r0 B5 Byte 2 Byte 3 (PC) – (PC) + 3 Neáu (direct) < (A) thì (PC) – (PC) + rel vaø (C) – 0 hoaëc Neáu (direct) > (A) thì (PC) – (PC) + rel vaø (C) – 1. CJNE A, #data, rel 1 d7 r7 0 d6 r6 1 d5 r5 1 d4 r4 0 d3 r3 1 d2 r2 0 d1 r1 0 d0 r0 B4 Byte 2 Byte 3 (PC) – (PC) + 3 Neáu #data < (A) thì (PC) – (PC) + rel vaø (C) – 0 hoaëc Neáu #data > (A) thì (PC) – (PC) + rel vaø (C) – 1. PHAÀM MEÀM LOC OBJ LINE SOUSE ; Chöông trình chính ; Taïo cheá ñoä laøm vieäc cho caùc timer, ; boä ngaét ngoaøi, laëp voøng ñôïi ngaét, neáu khoâng coù ; ngaét thì quay trôû veà chöông trình ñôïi ngaét ñieàu ; khieån, neáu khoâng thì trôû veà chöông trình naïp ; soá ñieän thoaïi. 2000 10 RAM EQU 2000H ; Ñòa chæ boä nhôù RAM 4001 DAT EQU 4001H ; Ñòa chæ T/G phaùt vaø ; thu DATA cuõa MT8880 4002 CTR EQU 4002H ; Ñòa chæ T/G ñieàu khieån ; vaø traïng thaùi MT8880 6000 HIEN THI EQU 6000H ; Ñòa chæ PORT hieån thò 8000 Ñ/KHIEN EQU 8000H ; Ñòa chæ PORT ñ/khieån 0030 LED EQU 30H 0040 TEM1 EQU 40H 0050 TEM2 EQU 50H 0000 ORG 0000H 0000 020030 LJMP MAIN 0003 ORG 0003H 0003 0200EC LJMP BAODONG 0030 ORG 0030H MAIN: 0030 758915 MOV TMOD,#15H ; Ñaët cheá ñoä hoaït ñoäng ; cho caùc TIMER 0033 75A881 MOV IE,#81H ; Cho pheùp ngaét ngoaøi T0 0036 D288 SETB IT0 0038 12003D LOOP: CALL NAPSODT 003B 80FB SJMP LOOP ; Laëp voøng ñôïi t/h ngaét ; Chöông trình naïp soá ; ñieän thoaïi, sau ñoù hieån ; thò ra LED. ; Naïp soá ñieän thoaïi. 003D 902000 MOV DPTR,#RAM 0040 7E00 LOOP1 MOV R6,#0 0042 120067 LOOP2 CALL NHANPHIM 0045 540F ANL A,#0FH 0047 B40001 CLNE A,#00H, LOOP3 004A 22 RET 004B F0 LOOP3 MOVX @DPTR,A 004C B40001 CJNE A,#00H,LOOP4 004F A3 INC DPTR 0050 80EE SJMP LOOP1 0052 1200A9 LOOP4 CALL HIENTHI 0055 A3 INC DPTR 0056 0E INC R6 0057 BE0AE8 CJME R6,#10,LOOP2 005A C3 CLR C 005B C0E0 PUSH ACC 005D E582 MOV A,DPL 005F 9E SUBB A,R6 0060 F582 MOV DPL,A 0062 D0E0 POP ACC 0064 D3 SETB C 0065 80D9 SJMP LOOP1 ; Chöông trình nhaän giaù trò phím nhaán, soá ; ñieän thoaïi ñöôïc naïp töø baøn phím, giaù trò ; cuûa soá ñieän thoaïi ñöôïc xaùc ñònh bôûi ; chöông trình naøy. Ñeå traùnh tröøông hôïp ; phím bò rung, ta duøng voøng laëp ñôïi. 0067 7828 NHANPHIM MOV R0,#40 0069 12007E WAIT1 CALL QUETPHIM 006C 50F9 JNC NHANPHIM 006E D8F9 DJNZ R0,WAIT1 0070 C0E0 PUSH ACC 0072 7828 WAIT MOV R0,#40 0074 12007E WAIT2 CALL QUETPHIM 0077 40F9 JC WAIT 0079 D8F9 DJPN R0,WAIT2 007B D0E0 POP ACC 007D 22 RET ; Chöông trình queùt phím ñeå nhaän daïng ; traïng thaùi nhaän phím. Côø “C” ñöôïc ; xeùt neáu phím coù nhaán . Côø “C” ñöôïc ; Clear neáu khoâng coù phím nhaán. QUÙET PHÍM 007E 7904 MOV R1,#4 0080 74FE MOV A,#0FEH 0082 FA LOOP5 MOV R2,A 0083 F590 MOV P1,A 0085 E590 MOV A,P1 0087 54F0 ALN A,#0F0H 0089 B4F007 CJNE A,#0F0H,MAY 008C EA MOV A,R2 008D 23 RL A 008E D9F2 DJNZ R1,LOOP5 0090 C3 CLR C 0091 8015 SJMP LOOP6 0093 FA MAY MOV R2,A 0094 7404 96 MOV A,#4 0096 C3 CLR C 0097 99 SUBB A,R1 0098 F9 MOV R1,A 0099 EA MOV A,R2 009A C4 SWAP A 009B 7B04 MOV R3,#4 009D 13 LOOP7 RRC A 009E 5006 JNC LOOP8 00A0 09 INC R1 00A1 09 INC R1 00A2 09 INC R1 00A3 09 INC R1 00A4 DBF7 DJNZ R3,LOOP7 00A6 D3 LOOP8 SETB C 00A7 E9 MOV A,R1 00A8 22 LOOP6 RET ; Chöông trình hieån thò soá ñieän thoïai ta ; söû duïng phöông phaùp queùt töøng LED. HIEÅN THÒ 00A9 C083 PUSH DPH 00AB C082 PUSH DPL 00AD E582 MOV A,DPL 00AF C3 CLR C 00B0 9E SUBB A,R6 00B1 F582 MOV DPL,A 00B3 753000 MOV LED,#0 00B6 858340 HT MOV TEM1,DPH 00B9 858250 MOV TEM2,DPL 00B0 E0 MOVX A,@DPTR 00BD 540F ALN A,#0FH 00BF B40A02 CJNE A,#0AH,HT1 00C2 7400 MOV A,#00H 00C4 C4 HT1 SWAP A 00C5 2530 ADD A,LED 00C7 904000 MOV DPTR,#HIENTHI 00CA F0 MOVX @DPTR,A 00CB 1200E7 CALL,DELAY 00CE 854083 MOV DPH,TEM1 00D1 855082 MOV DPL,TEM2 00D4 E530 MOV A,LED 00D6 B50609 CJNE A,06H,HT2 00D9 D082 POP DPL 00DB D083 POP DPH 00DD 117E CALL QUETPHIM 00DF 50C8 JNC HIENTHI 00E1 22 RET 00E2 A3 HT2 INC DPTR 00F3 0530 INC LED 00E5 80CF SJMP HT 00E7 7DFF DELAY MOV R5,#0FFH 00E9 DDFE HT3 DJNZ R5,HT3 00EB 22 RET ; Chöông trình baùo ñoäng ñöôïc thöïc thi ; khi coù tín hieäu baùo ñoäng: Töï ñoäng ; quay soá ñieän thoaïi, nhaän daïng traïng ; thaùi ñöôøng daây vaø baùo ñeán toái ña ; 3 soá vaø moãi soá quay 3 laàn. 00EC 902000 MOV R3,DPH 00EF AC82 MOV R4,DPL 00F3 7804 MOV R0,#3 00F5 7903 BD1 MOV R1,#3 00F7 7D00 MOV R5,#0 00F9 904002 BD2 MOV DPTR,#DKHIEN 00FC 7401 MOV A,#00H 00FE F0 MOVX @DPTR,A 00FF 120139 CALL DIALTONE 0102 400B JC BD3 0104 904002 MOV DPTR,#DKHIEN 0107 7400 MOV A,#00H 0109 F0 MOVX @DPTR,A 010A 1201C1 CALL DELAY5s 010D 80E6 SJMP BD1 010F 120153 BD3 CALL QUAYSO 0112 120182 CALL LOOPLINE 0115 400E JC SOUND 0117 904002 MOV DPTR,#DKHIEN 011A 7400 MOV A,#00H 011C F0 MOVX @DPTR,A 011D 1201C1 CALL DELAY5s 0120 D9D7 DJNZ R1,BD2 0122 D8D7 DJNZ R0,BD1 0124 32 EXIT RET1 0125 904002 SOUND MOV DPTR,#DKHIEN 0128 7403 MOV A,#03H 012A F0 MOVX @DPTR,A 012B 1201D7 CALL DELAY30s 012E 7401 MOV A,#01H 0130 904002 MOV DPTR,#DKHIEN 0133 F0 MOVX @DPTR,A 0134 7400 MOV A,#00H 0136 F0 MOVX @DPTR,A 0137 80EB SJMP EXIT ; Chöông trình xeùt DIALTONE duøng ; ñeå xeùt tín hieäu môøi quay soá. DIALTONE 0139 904005 MOV DPTR,#CTR 013C 7402 MOV A,#02H 013E F0 MOVX @DPTR,A 013F D28C SETB TR0 0141 1201CC CALL DELAY6s 0144 C28C CLR TR0 0146 E58A MOV A,TR0 0148 B40301 CJNE A,#3,THOAT 014B C3 CLR C 014C 758A00 THOÙAT MOV TR0,#00H 014F 748C00 MOV TH0,#00H 0152 22 RET ; Chöông trình quay soá ñieän thoïai söû ; duïng IC thu phaùt TONE MT8880. QUAY SOÁ 0153 EC MOV A,R4 0154 C3 CLR C 0155 9D SUBB A,R5 0156 FC MOV R4,A 0157 904005 MOV DPTR,#CTR 015A 740B MOV A,#0BH 015C F0 MOVX @DPTR,A 015D 8B83 TIEP MOV DPH,R3 015F 8C28 MOV DPL,R4 0161 E0 MOVX A,@DHTR 0162 A3 INC DPTR 0163 0D INC R5 0164 AB83 MOV D3,DPH 0166 AC82 MOV R4,DPL 0068 540F ANL A,#0FH 006A B40F01 CJNE A,#0FH,TIEP1 016D 22 RET 016E 904004 TIEP1 MOV DPTR,#DAT 0171 F0 MOVX @DHTR,A 0172 904005 TIEP2 MOV DPTR,#CTR 0175 E0 MOVX A,@DPTR 0176 5402 ANL A,#02H 0178 B40202 CJNE A,#02H,TIEP3 017B 80E0 SJMP TIEP 017D 1201A9 TIEP3 CALL DELAY1s 0180 80F0 SJMP TIEP2 ; Chöông trình xeùt LOOPLINE: chöông ; trình xeùt tín hieäu nhaác maùy cuûa maùy ; bò goïi. LOOPLINE 0182 904005 MOV DPTR,#CTR 0185 7402 MOV A,#02H 0187 F0 MOVX @DPTR,A 0188 AE0A MOV R6,10 018A D282 LABEL1 SET TR0 018C 1201CC CALL DELAY6s 018F C28C CLR TR0 0191 E58A MOV A,TR0 0193 758A00 MOV TR0,#00H 0196 758C00 MOV TH0,#00H 0199 B40301 CJNE A,#3,LABEL2 019C C3 CLR C 019D 4001 LABEL2 JC LABEL3 019F 22 RET 01A0 B40002 LABEL3 CJNE A,#00H,LABEL4 01A3 D3 SETB C 01A4 22 RET 01A5 DEE3 LABEL4 DJNZ R6,LABEL1 01A7 C3 CLR C 01A8 22 RET ; Chöông trình DELAY DELAY1s 01A9 C000 PUSH 00H 01AB 7814 MOV R0,#20H 01AD 758D3C NHAT MOV TH1,#HIGH(-50000) 01B0 758BB0 MOV TL1,#LOW(-50000) 01B3 D28E SETB TR1 01B5 308FFD NHAT1 JNB TF1 NHAT1 01B8 C28F CLR TF1 01BA C28E CLR TR1 01BC D8EF DJNZ R0,NHAT 01BE D000 POP 00H 01C0 22 RET DELAY 5S 01C1 C001 PUSH 01H 01C3 7905 MOV R1,#05H 01C5 31A9 NHAT2 CALL DELAY1S 01C7 D9FC DJNZ R1,NHAT2 01C9 D001 POP 01H 01CB 22 RET DELAY 6S 01CC C002 PUSH 02H 01CE 7A06 MOV R2,#06H 01D0 31A9 NHAT3 CALL DELAY1S 01D2 DAFC DJNZ R2,NHAT3 01D4 D002 POP 02H 01D6 22 RET DELAY 30S 01D7 C003 PUSH 03H 01D9 7B05 MOV R3,#05H 01DB 31CC NHAT4 CALL DELAY6S 01DD DBFC DJNZ R3,NHAT4 01DF D003 POP 03H 01E1 22 RET END. MUÏC LUÏC

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

  • docLUANVAN.DOC