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
136 trang |
Chia sẻ: banmai | Lượt xem: 1848 | Lượt tải: 4
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:
- LUANVAN.DOC