Professional Documents
Culture Documents
Tailieuxanh Bia Do An 3929
Tailieuxanh Bia Do An 3929
ĐỒ ÁN TỐT NGHIỆP
Điện thoại ngày nay gần như là một phương tiện liên lạc không thể
thiếu trong cuộc sống của chúng ta. Bên cạnh đó cùng với sự phát triển không
ngừng của khoa học kĩ thuật, các nhà nghiên cứu cũng dần dần lồng ghép các
tiện ích khác vào hệ thống điện thoại chỉ sử dụng cho thoại thuần túy. Sau
khoảng thời gian tìm hiểu và được sự đồng ý của Khoa Điện Tử-Tin Học và
BGH nhà trường CAO ÑAÚNG KYÕ THUAÄT CAO THAÉNG, cùng với sự
hướng dẫn của thầy Thượng Văn Bé, chúng em gồm hai sinh viên là Phạm
Tuấn Anh và Trần Thanh Sang thực hiện đề tài “BÁO ĐỘNG VÀ ĐIỀU
KHIỂN THIẾT BỊ QUA ĐƯỜNG DÂY ĐIỆN THOẠI”.
Mục đích của đề tài là nhằm để kiểm tra trạng thái các thiết bị đồng
thời đóng mở các thiết bị trong nhà trong trường hợp người chủ không có ở
trong nhà. Bên cạnh đó thiết bị có thể gọi điện thoại báo động cho người chủ
nhà khi có các sự cố như cháy hoặc trộm. Mạng điện thoại sử dụng trong đề
tài để kết nối với thiết bị là mạng điện thoại cố định có dây.
Maëc duø ñaõ daønh nhieàu thôøi gian ñeå thöïc hieän ñeà taøi nhöng do kieán
thöùc vaø tay ngheà coù haïn neân khoâng traùnh khoûi thieáu soùt và còn nhiều hạn
chế. Chuùng em raát mong söï goùp yù cuûa quí thaày coâ ñeå luaän vaên ñöôïc hoaøn
thiện hôn và có thể áp dụng vào thực tế.
Lời đầu tiên cho chúng em xin cảm ơn đến Ban Giám Hiệu trường
CAO ÑAÚNG KYÕ THUAÄT CAO THAÉNG, đã tạo cho chúng em có một nơi
học tập và rèn luyện để làm hành trang vững chắc bước vào đời.
Trong suoát ba naêm (2006 – 2009) hoïc taäp vaø laøm vieäc taïi tröôøng
CAO ÑAÚNG KYÕ THUAÄT CAO THAÉNG, chúng em ñaõ ñöôïc söï höôùng daãn
taän tình cuûa quí thaày coâ veà nhöõng kieán thöùc chuyeân moân cuõng nhö những
kieán thöùc trong cuoäc soáng và làm việc sau này. Töø nhöõng kieán thöùc neàn
taûng ñoù ñaõ giuùp chúng em hoaøn thaønh taäp Đồ Án Tốt Nghiệp trong thôøi
gian cho pheùp.
Chuùng em xin gởi lời cảm ơn sâu sắc đến những thaày coâ trong khoa
Đieän Töû -Tin Hoïc ñaõ giaûng daïy cho chuùng em nhöõng kieán thöùc veà chuyeân
moân vaø ñònh höôùng cho chúng em về nghề nghiệp để vững tâm hơn trước
khi bước vào xã hội. Các thầy cô đã tạo cho chúng em những kĩ naêng đđủ ñeå
cho chuùng em thöïc hieän toát Đồ Án vaø taïo ñieàu kieän thuaän lôïi cho chuùng
em hoaøn taát khoùa hoïc.
Chuùng em xin chaân thaønh caûm ôn thaày THƯỢNG VĂN BÉ ñaõ taän
tình giuùp ñôõ chuùng em hoaøn thaønh taäp Đồ Án naøy. Cảm ơn thầy về những
kĩ năng làm việc trên thực tế mà thầy đã dạy chúng em trong quá trình làm
Đồ Án.
chieám theo caùc böôùc treân daây hoaëc thueâ bao bò goïi baän thì tín hieäu baùo baän ñöôïc
truyeàn ñeán thueâ bao chuû goïi.
Hoài phuïc heä thoáng: Traïng thaùi naøy ñöôïc xaùc ñònh khi cuoäc goïi ñöôïc keát
thuùc. Sau ñoù taát caû caùc ñöôøng noái ñeàu ñöôïc giaûi phoùng.
Nhö vaäy caùc böôùc cô baûn cuûa heä thoáng toång ñaøi ñeå xöû lyù caùc cuoäc goïi ñaõ
ñöôïc trình baøy. Trong heä thoáng toång ñaøi ñieän töû nhieàu dòch vuï môùi ñöôïc theâm vaøo
cuøng vôùi caùc chöùc naêng treân.
1/ Phöông thöùc laøm vieäc giöõa caùc toång ñaøi vaø caùc thueâ bao.
Nhaän daïng thueâ bao goïi nhaác maùy: Toång ñaøi nhaän daïng traïng thaùi cuûa thueâ
bao thoâng qua söï bieán ñoåi toång trôû maïch voøng cuûa ñöôøng daây. Khi thueâ bao ôû
traïng thaùi gaùc maùy (on hook) thì toång trôû cuûa ñöôøng daây voâ cuøng lôùn (hôû maïch).
Khi thueâ bao nhaát maùy (off hook) ñieän trôû maïch voøng khoaûng töø 150 ohm ñeán
1500 ohm(thöôøng laø 600 ohm ). Toång ñaøi nhaän bieát ñöôïc söï thay ñoåi naøy thoâng
qua boä caûm bieán traïng thaùi ñöôøng daây thueâ bao. Khi thueâ bao goïi nhaác maùy thì
toång ñaøi seõ caáp tính hieäu môøi goïi (dial tone) treân ñöôøng daây deán thueâ bao, chæ khi
nhaän tín hieäu naøy thì thueâ bao môùi quay soá, soá coù theå quay döôùi daïng pulse hoaëc
tone.
Toång ñaøi nhaän caùc soá do thueâ bao gôûi ñeán vaø kieåm tra, neáu soá ñaàu naèm
trong taäp theå soá thueâ bao cuûa toång ñaøi thì toång ñaøi thöïc hieän cuoäc goïi noäi ñaøi.
Ngöôïc laïi thì noù thöïc hieän cuoäc goïi lieân ñaøi thoâng qua trung keá giöõ toaøn boä phaàn
ñònh vò quay soá toång ñaøi coù thueâ bao bò goïi. Neáu soá ñaàu laø maõ thì chöùc naêng ñaëc
bieät cuûa toång ñaøi seõ thöïc hieän caùc chöùc naêng coù theå thöïc hieän của thueâ bao. Neáu
thueâ bao bò goïi khoâng thoâng thoaïi hoaëc caùc ñöôøng daây keát noái bò baän thì toång ñaøi
caáp tín hieäu baùo baän (Busy Tone) veà cho thueâ bao goïi. Ngöôïc laïi, toång ñaøi caáp tín
hieäu chuoâng cho thueâ bao bò goïi vaø tín hieäu hoài aâm chuoâng (Ring Back Tone) cho
thueâ bao goïi.
Khi thueâ bao bò goïi nhaác maùy thì toång ñaøi bieát tín hieäu naøy vaø caét doøng
chuoâng kịp thôøi ñeå traùnh hö hao cho thueâ bao, ñoàng thôøi caét Ring Back Tone ñeán
thueâ bao goïi vaø keát noái thoâng thoaïi cho hai thueâ bao.
Khi hai thueâ bao thoâng thoaïi, coù moät thueâ bao gaùc maùy, toång ñaøi caét thoâng thoaïi
moät thueâ bao vaø caáp aâm hieäu Busy Tone cho thueâ bao coøn laïi, giaûi toûa caùc thieát
bò phuïc vuï thoâng thoaïi. Khi thueâ bao coøn laïi gaùc maùy , toång ñaøi ngaét Busy Tone
vaø keát thuùc chöông trình phuïc vuï thueâ bao
I./ Taàm quan troïng vaø öùng duïng cuûa ñieàu khieån töø xa.
Ñaát nöôùc ta ñang treân ñaø phaùt trieån vaø hoäi nhaäp vôùi neàn kinh teá theá giôùi.
Moät ñaát nöôùc phaùt trieån khoâng theå döïa vaøo moät ngaønh noâng nghieäp, laâm nghieäp,
ngö nghieäp maø caàn phaûi coù moät ngaønh coâng nghiệp phaùt trieån maïnh. Moät neàn
coâng nghiệp phaùt trieån maïnh luoân ñi ñoâi vôùi caùc thieát bò maùy moùc tinh vi hôn,
phöùc taïp hôn. Vôùi neàn coâng nghieäp phaùt trieån nhö theá, ñieàu khieån töø xa ñoùng vai
troø quan troïng trong coâng cuoäc coâng nghieäp hoùa hieän ñaïi hoùa ñaát nöôùc.
Trong coâng nghieäp, taïi caùc loø phaûn öùng, caùc nhaø maùy, hay taïi nhöõng nôi coù
möùc ñoä nguy hieåm cao maø con ngöôøi khoâng theå tieáp caän ñeå ñieàu khieån ñöôïc. Ta
phaûi caàn ñeán boä ñieàu khieån töø xa ñeå ñieàu khieån. Trong coâng cuoäc nghieân cöùu vuõ
truï, ñieàu khieån töø xa ñöôïc söû duïng trong caùc phi thuyeàn khoâng ngöôøi laùi, caùc taøu
do thaùm khoâng gian.
Ñieàu khieån töø xa khoâng nhöõng phuïc vuï cho coâng nghieäp, quaân söï, hay
nghieân cöùu khoa hoïc, maø noù coøn goùp moät phaàn khoâng nhoû vaøo phuïc vuï cho nhu
caàu cuoäc soáng haèng ngaøy cuûa chuùng ta.
Trong coâng cuoäc coâng nghieäp hoùa hieän ñaïi hoaù ñaát nöôùc. Con ngöôøi phaûi
dành rất nhiều thời gian cho công việc, luoân ôû cô quan, xí nghieäp, hay taïi coâng
tröôøng neân ít coù thôøi gian ôû nhaø. Vì vaäy ñieàu khieån töø xa giuùp chuùng ta khoâng caàn
phaûi veà nhaø maø cuõng coù theå ñieàu ñoùng ngắt caùc thieát bò, hoaëc töï ñoäng baùo cho ta
bieát khi ôû nhaø coù söï coá.
II./ Caùc daïng đieàu khieån töø xa.
Döïa vaøo caùc öùng duïng thöïc tiễn cuûa ñieàu khieån töø xa ta coù theå chia laøm hai
daïng. Ñieàu khieån töø xa baèng voâ tuyeán vaø ñieàu khieån töø xa baèng hữu tuyeán.
1./ Ñieàu khieån töø xa baèng voâ tuyeán.
Ta coù theå ñieàu khiển töø xa baèng tia saùng hoàng ngoaïi, hay soùng sieâu aâm.
Moâi tröôøng truyeàn laø khoâng khí.Vôùi tia hoàng ngoaïi ta chæ coù theå ñieàu khieån caùc
thieát bò ôû khoaûng caùch gaàn. Vì vậy nó được ứng dụng nhieàu cho caùc thieát bò daân
duïng.
cuûa loaïi ñieän thoaïi naøy coù daïng ma traän chöõ nhaät goàm coù 3 coät vaø 4 haøng taïo neân
toång coäng laø 12 phím nhaán: 10 phím cho chöõ soá (0-9), hai phím ñaëc bieät laø ‘* ’ vaø
‘# ’. Moãi moät haøng treân baøn phím ñöôïc gaùn cho moät taàn soá tone thaáp, moãi coät
ñöôïc gaùn cho taàn soá tone cao. Moãi moät phím seõ coù moät tín hieäu DTMF rieâng maø
ñöôïc toång hôïp bôûi hai taàn soá töông öùng vôùi haøng vaø coät maø phím ñoù ñang ñöùng.
Nhöõng taàn soá naøy ñaõ ñöôïc choïn löïa raát caån thaän.
Nguyên tắc của điều khiển thiết bị là: tùy vào mã đã được qui định người điều
khiển sẽ nhấn số tương ứng với mục đích điều khiển của mình. Mạch điều khiển
thiết bị sẽ dựa vào những số của tổng đài gửi về giải mã từ dạng DTMF sang dạng
nhị phân nhờ IC thu DTMF MT8870, số dưới dạng nhị phân từ IC MT8870 đưa về
sẽ được so sánh với số lưu sẵn trong vi điều khiển và xuất ra lệnh điều khiển đã được
qui định cụ thể với từng số.
Nguyên tắc của báo động là: khi nhận tín hiệu báo động từ cảm biến bên
ngoài, vi điều khiển sẽ tự động xuất ra số (đã được lưu từ trước) dưới dạng nhị phân
qua IC phát DTMF MT8880 (IC MT8880 làm nhiệm vụ chuyển đổi số từ dạng nhị
phân sang cặp tần số DTMF và xuất lên đường truyền điện thoại đưa tới tổng đài )
Döïa vaøo ñöôøng truyeàn cuûa maïng ñieän thoaïi, ta thieát keá hệ thống ñieàu khieån
töø xa qua ñöôøng daây ñieän thoaïi. Heä thoáng naøy thieát keá ñeå ñieàu khieån ñoùng ngaét
caùc thieát bò töø xa vôùi söï giuùp đỡ cuûa vi ñieàu khieån 89c51. Heä thoáng ñöôïc thieát keá
treân moâ hình ñoùng ngaét 4 thieát bò vaø phaûn hoài keát quả baèng gioïng noùi ñöôïc löu trữ
trong chip ISD 1420. Maïch ñieàu khieån töø xa ñöôïc maéc song vôùi ñöôøng daây thoaïi.
Khi coù cuoäc goïi vaøo soá thueâ bao. Sau nhöõng hoài chuoâng nhaát ñònh (Soá laàn ñoå
chuoâng do ta ñaët). Boä xöû lyù trung taâm kích hoaït maïch taïo taûi giaû hoaït ñoäng ñeå keát
noái thueâ bao. Sau khi hai thueâ bao ñaõ keát noái. Maïch ñieàu khieån seõ phaùt ra caâu
thoâng baùo: “ nhập password “. Khi ñoù ngöôøi ñieàu khieån seõ nhaäp password
(password ở đây là 3, 4, 5). Neáu nhaäp ñuùng, maïch sẽ phát ra câu thông báo “đăng
nhập thành công, nhấn phím chức năng”. Neáu nhaäp sai password nào thì maïch seõ
phaùt ra thoâng baùo: “sai, nhập lại”. Lieân tieáp nhaäp sai ba laàn thì maïch töï ñoäng ñieàu
khieån keát thuùc vaø ngaét taûi giaû, trôû veà traïng thaùi ban ñaàu kiểm tra báo động trộm,
báo động cháy và kiểm tra chuông. Khi nhaäp ñuùng maät maõ, ngöôøi ñieàu khieån coù
theå taét thiết bị, mở thiết bị, tắt hết thiết bị hoặc kiểm tra trạng thái caùc thieát bò khi
điều khiển xong có thể nhấn phím thoát để trả lại mạch về trạng thái ban đầu. Neáu
ngöôøi ñieàu khieån muoán kieåm tra taát caû caùc traïng thaùi cuûa thieát bò tröôùc khi ñieàu
khieån thì nhaán soá 9 ( Soá 9 ñöôïc quy ñònh laø maõ kieåm tra traïng thaùi taát caû caùc thieát
bò ). Sau khi nhaán soá 9 ngöôøi ñieàu khieån seõ ñöôïc nghe thoâng baùo veà traïng thaùi
cuûa thieát bò. Ví dụ: khi thiết bị 1 mở, thiết bị 2 tắt, thiết bị 3 mở, thiết bị 4 tắt, mạch
sẽ phát ra thông báo lần lượt như sau: “ thiết bị đã mở, thiết bị đã tắt, thiết bị đã mở,
thiết bị đã tắt.
Baây giôø ngöôøi ñieàu khieån coù theå taét hay môû thieát bò. Neáu muoán taét thieát bò
thì baám phím “6” (Số “6” ñöôïc quy ñònh laø mã taét thieát bò). Neáu muoán baät thieát
bò thì baám phím “7” (Số “7” ñöôïc quy ñònh là mã môû thieát bò). Nếu muốn tắt hết
nhấn phím “8” ( Số “8” được qui định là mã tắt hết thiết bị) . Coøn muoán taét hoaëc môû
thieát bò naøo thì tuøy thuoäc vaøo maõ thieát bò.
Trong heä thoáng naøy caùc soá ñöôïc quy ñònh cho caùc thieát bò nhö sau:
Soá 1 töông öùng cho thieát bò 1
• Soá 2 töông öùng cho thieát bò 2
• Soá 3 töông öùng cho thieát bò 3
• Soá 4 töông öùng cho thieát bò 4
Trong khi điều khiển, người điều khiển đã chọn phím tắt hoặc phím mở nhưng
lại không nhập đúng mã của từng thiết bị thì sau khi nhập sai 3 lần mạch sẽ tự động
thoát.
Khi ñieàu khieån xong, muoán kieåm tra laïi traïng thaùi caùc thieát bò thì baám laïi
maõ soá 9. Sau khi ñieàu khieån xong, mạch sẽ tự động kiểm tra xem có điều khiển tiếp
hay không và sau khoảng thời gian nhất định (khoảng 10s) mạch sẽ tự động ngắt tải
giả, quay về trạng thái ban đầu và kiểm tra có tín hiệu báo động hay tín hiệu chuông
không, người điều khiển cũng có thể nhấn phím 5 để thoát ngay và trả lại mạch về
trạng thái ban đầu.
IC AT89C51
I. GIÔÙI THIEÄU PHAÀN CÖÙNG HOÏ MCS –51(89C51).
1. Giôùi thieäu IC hoï MCS- 51.
Laø hoï IC vi ñieàu khieån do haõng Intel saûn xuaát. Caùc IC tieâu bieåu cho hoï laø
8031vaø 8051,8951... caùc saûn phaåm hoï MCS-51 thích hôïp cho nhöõng öùng duïng
ñieàu khieån.
Caùc ñaëc ñieåm IC 8951 ñöôïc toùm taét nhö sau:
• 4KB Rom noäi, coù theå laäp trình laïi nhanh vaø coù theå chòu ñöôïc hôn 1000
chu kì ghi/xoùa.
• Taàn soá hoaït ñoäng töø: 0Hz ñeán 24 MHz.
• 2 Boä ñònh thôøi 16 bit.
• 128byte ram noäi.
• 4 Port xuaát/nhaäp I/O 8 bit.
• Giao tieáp noái tieáp.
• 64 KB vuøng nhôù maõ ngoaøi.
• 64 KB vuøng nhôù döõ lieäu ngoaøi.
• Xöû lyù Boolean (hoaït ñoäng treân bit ñôn).
• 210 vò trí nhôù coù theå ñònh vò bit.
• 4 µs cho hoaït ñoäng nhaân hoaëc chia.
II. KHAÛO SAÙT SÔ ÑOÀ CHAÂN 89C51– CHÖÙC NAÊNG CUÛA TÖØNG CHAÂN.
1. Sô ñoà chaân 89C51.
FF FFFF FFFF
CODE DATA
ON-
Memory Memory
CHIP
Memory
Enable
Enable via
via RD &
PSEN WR
00 0000 0000
SUBB A,Rn (1,1): Tröø noäi dung thanh ghi A cho noäi dung thanh ghi Rn vaø
côø nhôù.
SUBB A,data (2,1): Tröø tröïc tieáp A cho moät soá vaø côø nhôù.
SUBB A,@Ri (1,1): Tröø giaùn tieáp A cho moät soá vaø côø nhôù.
SUBB A,#data (2,1): Tröø noäi dung A cho moät soá töùc thôøi vaø côø nhôù.
INC A (1,1): Taêng noäi dung thanh ghi A leân 1.
INC Rn (1,1): Taêng noäi dung thanh ghi Rn leân 1.
INC data (2,1): Taêng döõ lieäu tröïc tieáp leân 1.
INC @Ri (1,1): Taêng giaùn tieáp noäi dung vuøng RAM leân 1.
DEC A (1,1): Giaûm noäi dung thanh ghi A xuoáng 1.
DEC Rn (1,1): Giaûm noäi dung thanh ghi Rn xuoáng 1.
DEC data (2,1): Giaûm döõ lieäu tröïc tieáp xuoáng 1
DEC @Ri (1,1): Giaûm giaùn tieáp noäi dung vuøng RAM xuoáng 1
INC DPTR (1,2): Taêng noäi dng con troû döõ lieäu leân 1.
MUL AB (1,4): Nhaân noäi dung thanh ghi A vôùi noäi dung thanh ghi B.
DIV AB (1,4): Chia noäi dung thanh ghi A cho noäi dung thanh ghi B.
DA A (1,1,): hieäu chænh thaäp phaân thanh ghi A.
2./ Nhóm lệnh logic:
ANL A,Rn (1,1): AND noäi dung thanh ghi A vôùi noäi dung thanh ghi Rn.
ANL A,data (2,1): AND noäi dung thanh ghi A vôùi döõ lieäu tröïc tieáp.
ANL A,@Ri (1,1): AND noäi dung thanh ghi A vôùi döõ lieäu giaùn tieáp trong
RAM.
ANL A,#data (2,1): AND noäi dung thanh ghi vôùi döõ lieäu töùc thôøi.
ANL data,A (2,1): AND moät döõ lieäu tröïc tieáp vôùi A.
ANL data,#data (3,2): AND moät döõ lieäu tröïc tieáp vôùi A moät döõ lieäu töùc thôøi.
ANL C,bit (2,2): AND côø nhôù vôùi 1 bit tröïc tieáp.
ANL C,/bit (2,2): AND côø nhôù vôùi buø 1 bit tröïc tieáp.
ORL A,Rn (1,1): OR thanh ghi A vôùi thanh ghi Rn.
ORL A,data (2,1): OR thanh ghi A vôùi moät döõ lieäu tröïc tieáp.
ORL A,@Ri (1,1): OR thanh ghi A vôùi moät döõ lieäu giaùn tieáp.
ORL A,#data (2,1): OR thanh ghi A vôùi moät döõ lieäu töùc thôøi.
ORL data,A (2,1): OR moät döõ lieäu tröïc tieáp vôùi thanh ghi A.
ORL data,#data (3,1) :OR moät döõ lieäu tröïc tieáp vôùi moät döõ lieäu töùc thôøi.
ORL C,bit (2,2): OR côø nhôù vôùi moät bit tröïc tieáp.
ORL C,/bit (2,2): OR côø nhôù vôùi buø cuûa moät bit tröïc tieáp.
XRL A,Rn (1,1): XOR thanh ghi A vôùi thanh ghi Rn.
XRL A,data (2,1): XOR thanh ghi A vôùi moä döõ lieäu tröïc tieáp.
XRL A,@Ri (1,1): XOR thanh ghi A vôùi moät döõ lieäu giaùn tieáp.
XRL A,#data (2,1): XOR thanh ghi A vôùi moä döõ lieäu töùc thôøi.
XRL data,A (2,1): XOR moät döõ lieäu tröïc tieáp vôùi thanh ghi A.
XRL dara,#data (3,1): XOR moät döõ lieäu tröïc tieáp vôùi moät döõ lieäu töùc thôøi.
SETB C (1,1): Ñaët côø nhôù.
SETB bit (2,1): Ñaët moät bit tröïc tieáp.
CLR A (1,1): Xoùa thanh ghi A.
CLR C (1,1): Xoùa côø nhôù.
CPL A (1,1): Buø noäi dung thanh ghi A.
CPL C (1,1): Buø côø nhôù.
CPL bit (2,1): Buø moät bit tröïc tieáp.
RL A (1,1): Quay traùi noäi dung thanh ghi A.
RLC A (1,1): Quay traùi noäi dung thanh ghi A qua côø nhôù.
RR A (1,1): Quay phaûi noäi dung thanh ghi A.
RRC A (1,1): Quay phaûi noäi dung thanh ghi A qua côø nhôù.
SWAP (1,1): Quay traùi noäi dung thanh ghi A 1 nibble (1/2byte).
3./ Nhóm lệnh di chuyển dữ liệu:
MOV A,Rn (1,1):Chuyeån noäi dung thanh ghi Rn vaøo thanh ghi A.
MOV A,data (2,1): Chuyeån döõ lieäu tröïc tieáp vaøo thanh ghi A.
MOV A,@Ri (1,1): Chuyeån döõ lieäu giaùn tieáp vaøo thanh ghi A.
MOV A,#data (2,1): Chuyeån döõ lieäu töùc thôøi vaøo thanh ghi A.
MOV Rn,data (2,2): Chuyeån döõ lieäu tröïc tieáp vaøo thanh ghi Rn.
MOV Rn,#data (2,1): Chuyeån döõ lieäu töùc thôøi vaøo thanh ghi Rn.
MOV data,A (2,1): Chuyeån noäi dung thanh ghi A vaøo moät döõ lieäu tröïc tieáp.
MOV data,Rn (2,2): Chuyeån noäi dung thanh ghi Rn vaøo moät döõ lieäu tröïc tieáp.
MOV data,data (3,2): Chuyeån moät döõ lieäu tröïc tieáp vaøo moät döõ lieäu tröïc tieáp.
MOV data,@Ri (2,2): Chuyeån moät döõ lieäu giaùn tieáp vaøo moät döõ lieäu giaùn tieáp.
MOV data,#data (3,2): Chuyeån moät döõ lieäu töùc thôøi vaøo moät döõ lieäu tröïc tieáp.
MOV @Ri,A (1,1): Chuyeån noäi dung thanh ghi A vaøo moät döõ lieäu giaùn tieáp.
MOV @Ri,data (2,2): Chuyeån moät döõ lieäu tröïc tieáp vaøo moät döõ lieäu giaùn tieáp.
MOV @Ri,#data (2,1): Chuyeån döõ lieäu töùc thôøi vaøo döõ lieäu giaùn tieáp.
MOV DPTR,#data(3,2): Chuyeån moät haèng 16 bit vaøo thanh ghi con troû döõ lieäu.
MOV C,bit (2,1): Chuyeån moät bit tröïc tieáp vaøo côø nhôù.
MOV bit,C (2,2): Chuyeån côø nhôù vaøo moät bit tröïc tieáp.
MOV A,@A+DPTR (1,2): Chuyeån byte boä nhôù chöông trình coù ñòa chæ laø
@A+DPRT vaøo thanh ghi A.
MOVC A,@A+PC (1,2): Chuyeån byte boä nhôù chöông trình coù ñòa chæ laø
@A+PC vaøo thanh ghi A.
MOVX A,@Ri (1,2): Chuyeån döõ lieäu ngoaøi (8 bit ñòa chæ) vaøo thanh ghi A.
MOVX A,@DPTR(1,2): Chuyeån döõ lieäu ngoaøi (16 bit ñòa chæ) vaøo thanh ghi A.
MOVX @Ri,A (1,2): Chuyeån noäi dung A ra döõ lieäu ngoaøi (8 bit ñòa chæ).
MOVX @DPTR,A(1,2): Chuyeån noäi dung A ra döõ lieäu beân ngoaøi (16 bit ñòa chæ).
PUSH data (2,2): Chuyeån döõ lieäu tröïc tieáp vaøo ngaên xeáp vaø taêng SP.
POP data (2,2): Chuyeån döõ lieäu tröïc tieáp vaøo ngaên xeáp vaø giaûm SP.
XCH A,Rn (1,1): Trao ñoåi döõ lieäu giöõa thanh ghi Rn v2 thanh ghi A.
XCH A,data (2,1): Trao ñoåi giöõa thanh ghi A vaø moät döõ lieäu tröïc tieáp.
XCH A,@Ri (1,1): Trao ñoåi giöõa thanh ghi A vaø moät döõ lieäu giaùn tieáp.
XCHD A,@R (1,1): Trao ñoåi giöõa nibble thaáp (LSN) cuûa thanh ghi A vaø LSN
cuûa döõ lieäu giaùn tieáp.
4./ Nhóm lệnh điều khiển rẽ nhánh:
ACALL addr11 (2,2): Goïi chöông trình con duøng ñòa chì tuyeät ñoái.
LCALL addr16 (3,2): Goïi chöông trình con duøng ñòa chæ daøi.
RET (1,2): Trôû veà töø leänh goïi chöông trình con.
RET1 (1,2): Trôû veà töø leänh goïi ngaét.
AJMP addr11 (2,2): Nhaûy tuyeät ñoái.
LJMP addr16 (3,2): Nhaûy daøi.
SJMP rel (2,2):Nhaûy ngaén.
JMP @A+DPTR (1,2): Nhaûy giaùn tieáp töø con troû döõ lieäu.
JZ rel (2,2): Nhaûy neáu A=0.
JNZ rel (2,2): Nhaûy neáu A khoâng baèng 0.
JC rel (2,2): Nhaûy neáu côø nhôù ñöôïc ñaët.
JNC rel (2,2): Nhaûy neáu côø nhôù khoâng ñöôïc ñaët.
JB bit,rel (3,2): Nhaûy töông ñoái neáu bit tröïc tieáp ñöôïc ñaët.
JNB bit,rel (3,2):Nhaûy töông ñoái neáu bit tröïc tieáp khoâng ñöôïc ñaët.
JBC bit,rel (3,2): Nhaûy töông ñoái neáu bit tröïc tieáp ñöôïc ñaët , roài xoùa bit.
CJNE A,data,rel (3,2): So saùnh döõ lieäu tröïc tieáp vôùi A vaø nhaûy neáu khoâng baèng.
CJNE A,#data,rel (3,2): So saùnh döõ lieäu töùc thôøi vôùi A vaø nhaûy neáu khoâng baèng.
CJNE Rn,#data,rel (3,2): So saùnh döõ lieäu töùc thôøi vôùi noäi dung thanh ghi Rn
vaø nhaûy neáu khoâng baèng.
CJNE @Ri,#data,rel (3,2): So saùnh döõ lieäu töùc thôøi vôùi döõ lieäu giaùn tieáp vaø
nhaûy neáu khoâng baèng.
DJNZ Rn,rel (2,2): Giaûn thanh ghi Rn vaø nhaûy neáu khoâng baèng.
DJNZ data,rel (3,2): Giaûm döõ lieäu tröïc tieáp vaø nhaûy neáu khoâng baèng.
IC MT8870
MT8870 là một linh kiện ISO – CMOS bao gồm các mạch lọc và giải mã cho
sự ghi nhận một cặp tone (tần số chuẩn DTMF : Dual Tone Multi Frequency) với
đầu ra là mã 4 bit nhị phân. Nó thích hợp cho các ứng dụng ở các thiết bị điều khiển
từ xa, hệ thống điện thoại nhận số, tổng đài nội bộ PABX, hệ thống thẻ tín dụng,
máy tính cá nhân …
- PIN 15 (STD) : Delayed Steering (ngõ ra), ở mức cao khi gặp tần số tone đã dược
ghi nhận và gõ ra chốt thích hợp, trở về mức thấp khi điện áp trên ST/ GT ngỏ hơn
điện áp ngưỡng VTST .
- PIN 16 (EST) : Early Steering (ngõ ra), chân này lên mức [1] khi bộ thuật toán
nhận được cặp tone và trở về mức [0] khi mất tone .
- PIN 17 (ST/GT) : Steering Input /Guard tune output (ngõ ra), khi điện áp VC lớn
hơn VTST thì ST sẽ điều khiển dò tìm cặp tone và chốt ngõ ra .
- PIN 18 (VDD) : điện áp cung cấp, thường là + 5V.
Sơ đồ khối
Chức năng
IC thu tone MT8870 bao gồm một bộ thu DTMF chất lượng cao (kèm bộ
khuếch đại ) và một bộ tạo DTMF giúp cho việc tổng hợp đóng ngắt tone được chính
xác
Cấu hình ngõ vào
Thiết kế đầu vào của MT8870 cung cấp một bộ khuếch đại OPAMP ngõ vào
vi sai cũng như một ngõ vào VREF để điều chỉnh thiên áp cho đầu vào tại VDD/2.
Chân GS giúp nối ngõ ra bộ khuếch đại với ngõ vào qua một điện trở ngòai để điều
chỉnh độ lợi
Khối Dial tone filter
Khối này sẽ tách tín hiệu tone thành nhóm tần số tháp và nhóm tần số cao.
Thực hiện việc này nhờ 2 bộ lọc thông qua bậc 6. Một từ 697 HZ đến 941 HZ và
một từ 1209 HZ đến 1633 HZ. Cả hai nhóm tín hiệu này được biến đổi thành xung
vuông bởi bộ dò Zero Crossing
Khối High group filter và Low group filter
- High group filter là bộ lọc 6 để lọc nhóm tần số cao có băng thông từ 697 HZ
đến 941 HZ.
- Low group filter là bộ lọc 6 để lọc nhóm tần số thấp có băng thông từ 1209 HZ
đến 1633HZ .
- Ngòai ra, có bộ Zero crossing detectors có nhiệm vụ dò mức không để biến đổi
tín hiệu thành xung vuông.
Khối Digital detection argorethm
Khối này là bộ thuật tóan dùng kỹ thuật số để xác định tần số của các tone đến
và kiểm tra chúng tương ứng với tần số chuẩn DTMF. Nhờ giải thuật lấy trung bình
phức tạp (complex averaging) giúp lọai trừ các tone giả tạo thành do tiếng nói trong
khi vẫn bảo đảm một khỏang biến động cho tone thực do bị lệch. Khi bộ kiểm tra
nhận dạng được hai tone đúng thì đầu ra EST (Early Steering) sẽ lên mức active (tác
động ). Lúc không nhận được tín hiệu tone thì ngõ ra EST sẽ ở mức Inactive (không
tác động ).
Mạch Steering
Trước khi thu nhận một cặp tone đã giải mã, bộ thu phải kiểm tra xem thời
hằng của tín hiệu có đúng không. Việc kiểm tra này được thực hiện bởi một bộ RC
mắc ngòai.
Khi chân EST lên high (mức logic cao ) làm cho Vc tăng lên khi tụ xả. Khi
mà chân Est vẩn còn high trong một thời đọan hợp lệ thì Vc tiến mức ngưỡng VTST
của logic Steering để nhận một cặp tone . Điện thế VC chính là điện thế ngõ vào
ST/GT, do đó ngõ vào ST/GT có điện thế lớn hơn mức ngưỡng VTST , điều này làm
cho cặp tone được ghi nhận và 4 bit dữ liệu tương ứng được đưa vào ngõ ra của bộ
chốt . Lúc đó chân EST cùng với chân ST/GT vẫn tiếp tục ở mức cao. Cuối cùng sau
một thời gian trễ ngắn cho phép việc chốt dữ liệu thực hiện xong thì chân STD của
mạch Steering lên mức logic cao báo hiệu rằng cặp tone đã được ghi nhận .
Dữ liệu thu được sẽ đi ra 2 chiều (data bus) khi mạch Steering được đọc.
Mạch Steering lại họat động nhưng theo chiều ngược lại để kiểm tra khoảng dừng
giữa hai số quay. Vì vậy bộ thu vừa bỏ qua các tín hiệu quá ngắn không hợp lệ lại
vừa chấp nhận các khỏang ngắt quá nhỏ không thể coi dừng giữa các số. Chức năng
này, cũng như khả năng chọn thời hằng steering bằng mạch ngòai cho phép người
thiết kế điều chỉnh họat động cho phù hợp với các đòi hỏi khác nhau của ứng dụng .
Mạch clock DTMF
Mạch clock bên trong được sử dụng có tần số cộng hưởng là 3,579545 MHZ .
Một nhóm IC MT8870 có thể được nối với nhau dùng chung một dao động thạch
anh .
Bảng giải mã các tín hiệu DTMF
IC MT8880
MT8880 coù khaû naêng thu, phaùt tín hieäu DTMF, öu ñieåm noåi baät so vôùi caùc
loaïi IC khaùc laø: coù theå laäp trình giao tieáp vôùi uP, cheá ñoä hoaït ñoäng phong phuù ,
Dual Tone, Single Tone, Call Progress … Hình sau laø sô ñoà chaân linh kieän :
Caùc mode hoaït ñoäng cuûa MT8880 ñöôïc quy ñònh bôûi caùc bit trong thanh ghi
ñieàu khieån CRA & CRB .
• Thanh ghi CRA:
Chöùc naêng
Bit Teân
Bit Teân Set Côø Traïng Thaùi Xoaù Côø Traïng Thaùi
Ngaét xaûy ra , bit 1 vaø bit Caám ngaét , ñöôïc xoaù sau
0 IRQ 0 ñöôïc set khi ñoïc thanh ghi traïng
thaùi .
Thanh ghi Thôøi gian pause chaám Ñöôïc xoaù sau khi ñoïc
döõ lieäu döùt, thanh ghi döõ lieäu thanh ghi traïng thaùi , hoaëc
1
phaùt roãng phaùt saün saøng cho tone khoâng ñang ôû cheá ñoä burst
(burst) keá tieáp .
Thanh ghi Döõ lieäu hieän dieän treân Ñöôïc xoaù sau khi ñoïc
2 döõ lieäu thu thanh ghi döõ lieäu thu . thanh ghi traïng thaùi .
ñaõ ñaày .
/Delay Set khi chöa nhaän nhaän Xoaù khi nhaän daïng ñöôïc
3
/Steering ñöôïc tín hieäu DTMF tín hieäu DTMF
Hình 23: Thanh ghi trạng thái
IC ISD1420
IC 7486
IC 74LS247
OPTO 4N35
IC TDA2003
IC TDA2003 là ICKĐTT khuếch đại âm thanh hoạt động ở tầm điện áp 8VDC
tới 18VDC. Ngõ ra tín hiệu được khuếch đại với công suất khoảng 10W.
Toùm laïi khi coù tín hieäu chuoâng, maïch naøy cho ra möùc logic 0. khi khoâng coù
tín hieäu chuoâng thì maïch cho ra möùc logic 1. Ngoaøi ra khi thoâng thoaïi, caùc tín
hieäu thoaïi khaùc coù bieân ñoä nhoû neân khoâng ñuû taùc ñoäng ñeán maïch. Nhö vaäy maïch
seõ khoâng aûnh höôûng ñeán caùc tín hieäu khaùc ngoaïi tröø tín hieäu chuoâng.
Chuù yù: opto duøng ñeå caùch ly ñieän aùp cuûa tín hieäu chuoâng, chuyeån ñoåi chuùng
thaønh möùc logic phuø hôïp cho vi ñieàu khieån.
3./ Thiết kế và tính toán:
Tín hieäu chuoâng cuûa toång ñaøi caáp cho thueâ bao coù ñieän aùp hieäu duïng khoaûng
75Vrms ÷ 90Vrms, f = 25Hz.
C1: Chia áp, chặn DC, cho tín hiệu chuông đi qua.
C2: Lọc phẳng nguồn DC chỉnh lưu.
R1: Hạn dòng cho Diode Zener
Diode Zener: Ổn áp bảo vệ cho Led Opto
R2: Hạn dòng cho Led Opto
Opto: Cách li điện áp chỉnh lưu thành DC của tín hiệu chuông với điện áp sử
dụng của vi xử lí. Biến tín hiệu chuông thành các mức Logic đưa vào chân P1.6 trên
vi xử lí 89C51.
Chọn điện áp chuông là 75VAC
Chọn R1 = 330 Ω
Chọn Diode Zener 3v
Cho Izmin=4mA
Dòng qua Led Opto 10mA
Sụt áp trên Led Opto khoảng 1,1V
=> IDC = Izmin + IDOpto = 14mA => IAC = 14 x π / 2 = 31mA
=> VDC = 14 x R1 +VZ = 14 x 330 x 10-3 +3 = 7.6V
=> VAC = (7.6 x π )/ 2 = 17V
=> VC1 = 75 – VAC – (2 x VDiode) = 75 – 17 – 2.2 = 56V
=> ZC1 = VC1/IAC = 56/31 = 2.3K Ω => C1 = 1/(2 π f x ZC1) = 1/(2 x 3.14 x 25
x 2,3 x 103) = 2,7uF
=>Để an toàn hơn ta chọn C1 = 1uF/250v
R2 = (VZ – Vopto)/Iopto = (3 – 1.1)/(10x10-3) = 190 Ω
=> Để an toàn hơn cho led opto chọn R2 = 330 Ω
Chọn dòng qua Led là 10mA
Sụt áp trên Led 1.1V
=>R3 = (5 – 1.1)/(10 x 10-3 ) = 390 Ω
Chọn R3 = 330 Ω
R4 2k2
R1 R2 1 6
RING
5
DAO CUC
1.5k 330R
3V 2 4
4N35 R3
1K5
TIP
4001
I/O
3
T1
2
+12V
LS1
R4
5 18K
1
3
D9 4
1 D2
DIODE 2 Q2
2 - + 4 C2383
TAI GIA R1 RELAY SPDT BRIDGE
Q1 C0 R5
C2383 10uF/50V 180
100
3
J1
1
TIP
2
RING
CON2
Toång trôû vaøo cuûa maïch naøy phaûi phuø hôïp vôùi caùc thoâng soá treân.
3./ Thiết kế và tính toán:
Dòng thông thoại tổng đài cấp tới từ 20mA tới 100mA.
Chọn Q2 là C2383 có Icmax là 1A có β = 60 ÷ 230
Chọn dòng DC tổng đài cấp IDC = 40mA
Chọn β của C2383 là 100
Chọn điện áp DC của tải là 15VDC
Sụt áp qua cầu Diode là 2.2 V
Chọn VCE = 7V
R5 = (15 – 2.2 -7)/40 = 145 Ω
Chọn R5 = 180 Ω
Ta có :
IE=IB + IC
=> IB = IE – IC = IE - β IB
=> IB x ( 1+ β ) = IE
=> IB = IE / (1+ β ) = 40/(1+100)
=> IB = 0.39mA
=> R4 = (VDC – 2.2 - 0.7 – IE x R5) / IB = (15 – 2.2 - 0.7 – 7.2) / 0.39
=> R4 = 12.6K Ω
Chọn R4 = 18K Ω
Tụ C0 dùng để bypass tín hiệu thoại như vậy ZC << R5
(1/2 π fC) << R5
Chọn f = 300Hz là tần số thấp nhất của tín hiệu thoại ta có:
C0 >> (1/2 π f x R5) = 1/ (2 x 3.14 x 300 x 180) = 2.94uF
Chọn C0 = 10uF/50V
IV./ Mạch điều khiển thiết bị:
1./ Sơ đồ nguyên lí:
12V AC
1
D1
KA7812
2 - + 4 1 3
A C 12V DC
B
BRIDGE C14
1000uF/15V
2
12V AC
C20
3
1000uF/16V
KA7805
1 3
A C 5V DC
B
C21
2
1000uF/16V
R25
1 18 C19 200
C9 R15 IN+ VCC 0.1uF
2 17
I/O R16 IN- ST/GT R17
P0.7
3 16
0.1uF R GS EST
I/O
4 15 330K Q5
R VREF STD 1R1001
5 14
GND1 Q4 P0.3
6 13
0 GND2 Q3 P0.2
7 12
OSC1 Q2 P0.1
Y3 8 11
OSC2 Q1 P0.0
3.579MH
9 10
GND TOE
MT8870
0
0
MT8880 C2 100nF
1 20
IN+ VDD
2 19 C1
IN- ST R14 390
3 18 100nF
GS ETS
4 17 0
VREF D3 P3.3
R21 R22
5 16 3.3K 3.3K
VSS D2 P3.2
6 15
0 OSC1 D1 P3.1
Y1 7 14
OSC2 D0 P3.0
3.579
8 13
C18 TONE IRQ/CP
9 12
I/O WR Fi2
10 11
CS RS0 P3.5
100uF
C17 R18
10nF P3.6
10K
C16 P3.4
I/O
100uF
0
A0 A1 A2 A3 Âm thanh
0 0 0 1 Báo động có cháy
0 0 1 0 Báo động có trộm
0 0 1 1 Đăng nhập thành công nhấn phím chức năng
0 1 0 0 Thiết bị
0 1 1 0 Đã mở
1 1 0 0 Đã tắt
1 0 1 0 Sai nhập lại
1 1 1 1 Nhập password
104
10U/16V
5
1 1000uF/16V
INPUT +
4
OUTPUT
2
-
103 TDA2003
3
503
220R 104
0
1R/0.5W
1000uF/16V
2.2R
R1
330R
1
16
vcc
7 13 2
p0.0
VCC
1 D0 A 12 3 a
p0.1 D1 B b
2 11 4
p0.2 D2 C c
6 10 5
p0.3 D3 D d
9 6
3 E 15 7 e
5 LT F 14 8 f
RBI G g
GND
4
BI/RBO
74247
8
16
15
14
13
12
11
10
9
SEG-8R
40
31
R23 U3
R C10 1
EA
Vcc
A0 P1.0
CAP 2
1
2
3
4
5
6
7
8
A1 P1.1
3
A2 P1.2
4 39
A3 P1.3 P0.0 D0
SW1
5 38 MT8870
PLAY P1.4 P0.1 D1
6 37
HET AM P1.5 P0.2 D2
7 36
CHUONG P1.6 P0.3 D3
8 35 BAO TROM
DAOCUC P1.7 P0.4 TAIGIA
34
P0.5 STD
9 33
RST P0.6 32
10 P0.7
D0 P3.0 RXD
11 BAO CHAY
D1 P3.1 TXD
R24 MT8880 12 28
D2 P3.2 INT1 P2.7 TB4
R 13 27
D3 P3.3 INT0 P2.6 TB3
14 26
R/W P3.4 T1 P2.5 TB2
15 25
RS0 P3.5 TO P2.4 TB1
16 24
CS P3.6 WR P2.3 CT4
17 23
P3.7 RD P2.2 CT3
22
P2.1 CT2
21
C11 P2.0 CT1
18
XTAL2 29
PSEN
Vss
Y2 19 30
33p XTAL1 ALE
12Mhz 8051
C12
20
33p
$MOD51
ORG 00H
MT87_0 BIT P0.0 ; CHAN 11 MT8870
MT87_1 BIT P0.1 ; CHAN 12 MT8870
MT87_2 BIT P0.2 ; CHAN 13 MT8870
MT87_3 BIT P0.3 ; CHAN 14 MT8870
TAI_GIA BIT P0.4 ; CHAN 35 AT89C51
STD BIT P0.5 ; CHAN 15 MT8870
CHAY BIT P0.6 ; CHAN 33 AT89C51
TROM BIT P0.7 ; CHAN 32 AT89C51
DONG_TAI_GIA:
SETB TAI_GIA
LCALL DELAY_1S
LCALL DELAY_1S
LCALL NHAP_PASS
;****************************THU PASS************************
;************************PASS THU NHAT**********************
MOV R0,#0
SAI: INC R0
MOV R1,#100
MOV R2,#50
CHO: DJNZ R1,TT
DJNZ R2,TT
JMP MAIN
TT:
LCALL DELAY10MS
JB STD,CHO
JNB STD,$
MOV A,P0
ANL A,#00001111B
CJNE A,#03H,TB_SAIA
; ********************PASS THU HAI*************************
MOV R0,#0
SAI1: INC R0
MOV R1,#100
MOV R2,#50
CHO1: DJNZ R1,TT1
DJNZ R2,TT1
JMP MAIN
TT1:
LCALL DELAY10MS
JB STD,CHO1
JNB STD,$
MOV A,P0
ANL A,#00001111B
CJNE A,#04H,TB_SAIB
; **********************PASS THU BA**********************
MOV R0,#0
SAI2: INC R0
MOV R1,#100
MOV R2,#50
CHO2: DJNZ R1,TT2
DJNZ R2,TT2
JMP MAIN
TT2:
LCALL DELAY10MS
JB STD,CHO2
JNB STD,$
INC R0
MOV A,P0
ANL A,#00001111B
CJNE A,#05H,TB_SAIC
JMP DA_VAO_HE_THONG
TB_SAIA:
LJMP TB_SAI
TB_SAIB:
LJMP TB_SAI1
TB_SAIC:
LJMP TB_SAI2
TB_SAI:
LCALL BAO_SAI
CJNE R0,#3,SAIA
LJMP MAIN
SAIA:
LJMP SAI
TB_SAI1:
LCALL BAO_SAI
CJNE R0,#3,SAIB
LJMP MAIN
SAIB:
LJMP SAI1
TB_SAI2:
LCALL BAO_SAI
CJNE R0,#3,SAIC
LJMP MAIN
SAIC:
LJMP SAI2
DA_VAO_HE_THONG:
LCALL DELAY_1S
LCALL THONG_BAO_THANH_CONG
KIEM_TRA_MA_MO:
CJNE A,#07H,KIEM_TRA_TAT_HET
LCALL CT_MO
LJMP LAPLAI
KIEM_TRA_TAT_HET:
CJNE A,#08H,KIEM_TRA_TRANG_THAI
LCALL CT_TAT_HET
LCALL DELAY_1S
LCALL THIET_BI
LCALL THONG_BAO_TAT
LJMP LAPLAI
KIEM_TRA_TRANG_THAI:
CJNE A,#09H,KIEM_TRA_MA_THOAT
LCALL CT_KT_TRANG_THAI
JMP LAPLAI
KIEM_TRA_MA_THOAT:
CJNE A,#05H,KIEMTRAR0
JMP MAIN
KIEMTRAR0:
INC R0
CJNE R0,#4,KIEM_TRA_MA_TAT
JMP MAIN
;*******************CHUONG TRINH TAT**************************
CT_TAT:
KT_MA_TB1: INC R0
MOV R1,#100
MOV R2,#50
CHO4: DJNZ R1,TT4
DJNZ R2,TT4
JMP MAIN
KT_MA_TB3:
CJNE A,#03H,KT_MA_TB4
LCALL TAT_TB3
LCALL DELAY_1S
LCALL THIET_BI
LCALL THONG_BAO_TAT
LJMP QUAY_VE_LAP_LAI
KT_MA_TB4:
CJNE A,#04H,SAIHET
LCALL TAT_TB4
LCALL DELAY_1S
LCALL THIET_BI
LCALL THONG_BAO_TAT
LJMP QUAY_VE_LAP_LAI
QUAY_VE_LAP_LAI:
JMP LAPLAI
SAIHET:
JMP KIEMTRAR0
RET
;*************CHUONG TRINH TAT TUNG TB******************
TAT_TB1:
JB CT1,SET_TB1
CLR TB1
JMP THOAT_TAT_TB1
SET_TB1:
SETB TB1
THOAT_TAT_TB1:
NOP
RET
TAT_TB2:
JB CT2,SET_TB2
CLR TB2
JMP THOAT_TAT_TB2
SET_TB2:
SETB TB2
THOAT_TAT_TB2:
NOP
RET
TAT_TB3:
JB CT3,SET_TB3
CLR TB3
JMP THOAT_TAT_TB3
SET_TB3:
SETB TB3
THOAT_TAT_TB3:
NOP
RET
TAT_TB4:
JB CT4,SET_TB4
CLR TB4
JMP THOAT_TAT_TB4
SET_TB4:
SETB TB4
THOAT_TAT_TB4:
NOP
RET
;*********** *******CHUONG TRINH MO**********************
CT_MO:
KT_MA_TB11: INC R0
MOV R1,#100
MOV R2,#50
CHO5: DJNZ R1,TT5
DJNZ R2,TT5
LJMP MAIN
KT_MA_TB21:
CJNE A,#02H,KT_MA_TB31
LCALL MO_TB2
LCALL DELAY_1S
LCALL THIET_BI
LCALL THONG_BAO_MO
LJMP QUAY_LAI_LAP_LAI
KT_MA_TB31:
CJNE A,#03H,KT_MA_TB41
LCALL MO_TB3
LCALL DELAY_1S
LCALL THIET_BI
LCALL THONG_BAO_MO
LJMP QUAY_LAI_LAP_LAI
KT_MA_TB41:
CJNE A,#04H,SAIHET1
LCALL MO_TB4
LCALL DELAY_1S
LCALL THIET_BI
LCALL THONG_BAO_MO
LJMP QUAY_LAI_LAP_LAI
QUAY_LAI_LAP_LAI:
JMP LAPLAI
SAIHET1:
JMP KIEMTRAR0
RET
;***************** ***MO THIET BI*************************
MO_TB1:
JB CT1,CLR_TB1
SETB TB1
JMP THOAT_M0_TB1
CLR_TB1:
CLR TB1
THOAT_M0_TB1:
NOP
RET
MO_TB2:
JB CT2,CLR_TB2
SETB TB2
JMP THOAT_M0_TB2
CLR_TB2:
CLR TB2
THOAT_M0_TB2:
NOP
RET
MO_TB3:
JB CT3,CLR_TB3
SETB TB3
JMP THOAT_M0_TB3
CLR_TB3:
CLR TB3
THOAT_M0_TB3:
NOP
RET
MO_TB4:
JB CT4,CLR_TB4
SETB TB4
JMP THOAT_M0_TB4
CLR_TB4:
CLR TB4
THOAT_M0_TB4:
NOP
RET
;****************CHUONG TRINH TAT HET**********************
CT_TAT_HET:
JB CT1,SSET_TB1
CLR TB1
JMP XUONG_TAT_TB2
XUONG_TAT_TB2:
JB CT2,SSET_TB2
CLR TB2
JMP XUONG_TAT_TB3
XUONG_TAT_TB3:
JB CT3,SSET_TB3
CLR TB3
JMP XUONG_TAT_TB4
XUONG_TAT_TB4:
JB CT4,SSET_TB4
CLR TB4
JMP THOAT_KHOI_TAT_HET
SSET_TB1:
SETB TB1
JMP XUONG_TAT_TB2
SSET_TB2:
SETB TB2
JMP XUONG_TAT_TB3
SSET_TB3:
SETB TB3
JMP XUONG_TAT_TB4
SSET_TB4:
SETB TB4
THOAT_KHOI_TAT_HET:
NOP
RET
CT_KT_TRANG_THAI:
JB CT1,TTBI1_1
JB TB1,BTB1MO
LCALL THIET_BI
LCALL THONG_BAO_TAT
JMP TTBI2
BTB1MO:
LCALL THIET_BI
LCALL THONG_BAO_MO
JMP TTBI2
TTBI1_1:
JB TB1,BTB1TAT
LCALL THIET_BI
LCALL THONG_BAO_MO
JMP TTBI2
BTB1TAT:
LCALL THIET_BI
LCALL THONG_BAO_TAT
JMP TTBI2
TTBI2:
JB CT2,TTBI2_2
JB TB2,BTB2MO
LCALL THIET_BI
LCALL THONG_BAO_TAT
JMP TTBI3
BTB2MO:
LCALL THIET_BI
LCALL THONG_BAO_MO
JMP TTBI3
TTBI2_2:
JB TB2,BTB2TAT
LCALL THIET_BI
LCALL THONG_BAO_MO
JMP TTBI3
BTB2TAT:
LCALL THIET_BI
LCALL THONG_BAO_TAT
JMP TTBI3
TTBI3:
JB CT3,TTBI3_3
JB TB3,BTB3MO
LCALL THIET_BI
LCALL THONG_BAO_TAT
JMP TTBI4
BTB3MO:
LCALL THIET_BI
LCALL THONG_BAO_MO
JMP TTBI4
TTBI3_3:
JB TB3,BTB3TAT
LCALL THIET_BI
LCALL THONG_BAO_MO
JMP TTBI4
BTB3TAT:
LCALL THIET_BI
LCALL THONG_BAO_TAT
JMP TTBI4
TTBI4:
JB CT4,TTBI4_4
JB TB4,BTB4MO
LCALL THIET_BI
LCALL THONG_BAO_TAT
JMP KIEM_TRA_MA_TAT
BTB4MO:
LCALL THIET_BI
LCALL THONG_BAO_MO
JMP KIEM_TRA_MA_TAT
TTBI4_4:
JB TB4,BTB4TAT
LCALL THIET_BI
LCALL THONG_BAO_MO
JMP KIEM_TRA_MA_TAT
BTB4TAT:
LCALL THIET_BI
LCALL THONG_BAO_TAT
RET
;*************** *******DELAY 10MS**********************
DELAY10MS:
MOV TMOD,#10
MOV TH1,# HIGH (-10000)
MOV TL1,# LOW (-10000)
SETB TR1
JNB TF1,$
CLR TR1
CLR TF1
RET
;************************DELAY 1S***********************
DELAY_1S:
MOV R3,#20
MOV TMOD,#10H
LAPM:
MOV TH1,# HIGH (-50000)
MOV TL1,# LOW (-50000)
SETB TR1
JNB TF1,$
CLR TR1
CLR TF1
DJNZ R3,LAPM
RET
;***********************BAO DONG TROM***************************
BAO_DONG_TROM:
SETB TAI_GIA
LCALL DELAY_1S
LCALL DELAY_1S
MOV A,#00000010B
MOV P3,#11101101B
MOV P3,#10101101B
MOV P3,#11100000B
MOV P3,#10100000B
MOV P3,#11111111B
DOI_PHAT_XONG:
CLR CS
MOV C,MT88_1
SETB CS
JNC DOI_PHAT_XONG
ANL A,#00001111B
ORL A,#11000000B
MOV P3,A
CLR CS
LCALL DELAY_1S
SETB CS
LCALL DELAY_1S
LCALL DELAY_1S
LCALL DELAY_1S
LCALL DELAY_1S
CLR ISD_0
CLR ISD_1
SETB ISD_2
CLR ISD_3
CLR PLAY ;PLAY
JB HET_AM,$ ;HETAM
JNB HET_AM,$ ;HETAM
SETB PLAY ;PLAY
CLR TAI_GIA
RET
BAO_DONG_CHAY:
SETB TAI_GIA
LCALL DELAY_1S
LCALL DELAY_1S
MOV A,#00000010B
MOV P3,#11101101B
MOV P3,#10101101B
MOV P3,#11100000B
MOV P3,#10100000B
MOV P3,#11111111B
DOI_PHAT_XONGDS:
CLR CS
MOV C,MT88_1
SETB CS
JNC DOI_PHAT_XONGDS
ANL A,#00001111B
ORL A,#11000000B
MOV P3,A
CLR CS
LCALL DELAY_1S
SETB CS
LCALL DELAY_1S
LCALL DELAY_1S
LCALL DELAY_1S
LCALL DELAY_1S
CLR ISD_0
CLR ISD_1
CLR ISD_2
SETB ISD_3
CLR PLAY ;PLAY
JB HET_AM,$ ;HETAM
JNB HET_AM,$ ;HETAM
SETB PLAY ;PLAY
CLR TAI_GIA
RET
NHAP_PASS:
SETB ISD_0
SETB ISD_2
SETB ISD_1
CLR ISD_3
CLR PLAY
JB HET_AM,$
JNB HET_AM,$
SETB PLAY
RET
BAO_SAI:
SETB ISD_0
CLR ISD_1
SETB ISD_2
CLR ISD_3
CLR PLAY
JB HET_AM,$
JNB HET_AM,$
SETB PLAY
RET
THONG_BAO_THANH_CONG:
CLR ISD_0
CLR ISD_1
SETB ISD_2
SETB ISD_3
CLR PLAY
JB HET_AM,$
JNB HET_AM,$
SETB PLAY
RET
;*************** ********THONG BAO MO**********************
THONG_BAO_MO:
CLR ISD_0
SETB ISD_1
SETB ISD_2
CLR ISD_3
CLR PLAY
JB HET_AM,$
JNB HET_AM,$
SETB PLAY
RET
;*************** *******THONG BAO TAT**********************
THONG_BAO_TAT:
SETB ISD_0
SETB ISD_1
CLR ISD_2
CLR ISD_3
CLR PLAY
JB HET_AM,$
JNB HET_AM,$
SETB PLAY
RET
;*************************THIET BI****************************
THIET_BI:
CLR ISD_0
SETB ISD_1
CLR ISD_2
CLR ISD_3
CLR PLAY
JB HET_AM,$
JNB HET_AM,$
SETB PLAY
RET
END
Nếu tìm hiểu và vận hành được MT8880 để thu và phát DTMF thì
mạch sẽ gọn gàng và đơn giản hơn.
Để áp dụng mạch vào thực tế thì cần phải qua nhiều lần thử nghiệm
mô hình một cách cụ thể với tổng đài thật và thiết bị thật.
Dựa trên nguyên lí đã có để có thể phát triển lên sử dụng mạng điện
thoại di động cho mô hình này thay vì mạng cố định có dây.
AnyBizSoft
PDF Merger
Merge multiple PDF files into one
Select page range of PDF to merge
Select specific page(s) to merge
Extract page(s) from different PDF
files and merge into one