- Khi MT8870 nhận được tín hiệu đảo cực chân 15 tức là STD sẽ lên mức logic
1 và làm cho chân 12 của vi điều khiển 8031 ngắt T0. Đồng thời chân 28 cho
hoạt động mức logic 1 có địa chỉ 8000, chân 17 của 8031 là chân RD cho phép
đọc dữ liệu ở mức logic 0.
- Tín hiệu từ chân 28 qua IC5A thì ở mức logic 0 và kết hợp chân 17 của 8031 ở
mức logic 0 qua IC5C thì tínhiệu sẽ là 1, làm cho chân TOE của MT8870 tác
động.
- Chân TOE (chân 10) của MT8870 sẽ tácđộng khi ngỏ vào ở mức logic 1 và
xuất ra ở ngỏ ra Q1 đến Q4 là Data sẽ đưa về CPU để điều khiển bộ phận giải
mã địa chỉ.
50 trang |
Chia sẻ: lylyngoc | Lượt xem: 2483 | Lượt tải: 1
Bạn đang xem trước 20 trang tài liệu Thiết kế mạch tính cước điện thoại, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
cuôùc ñieän thoaïi treân döõ lieäu. Noù laø taäp hôïp caùc
maïch logic thöïc hieän caùc hoaït ñoäng ñem veà caùc leänh vaø thöïc thi caùc leänh.
2. Khoái EPROM :
Ñaây laø khoái löu tröõ chöông trình hoaït ñoäng chính cuûa khoái CPU, noäi dung khoâng bò
maát khi maát ñieän. Chöông trình phaàn meàm ñöôïc naïp ôû ñaây.
3. Khoái RAM nhôù ngoaøi:
Löu tröõ taïm thôøi caùc thoâng soá cuûa cuoäc goïi, cuõng nhö khaû naêng thay ñoåi chöông trình
do ngöôøi söû duïng laäp. Ram ngoaøi coù theå ñöôïc ñoïc hoaëc ghi khi coù tín hieäu ñieàu khieån
ghi hoaëc ñoïc töø CPU
4. Khoái Choát Ñòa Chæ:
Löu tröõ caùc ñòa chæ do CPU ñöa vaøo vaø chuyeån caùc ñòa chæ naøy ñeán caùc khoái RAM
nhôù ngoaøi vaø EPROM , thöïc hieän nhôø IC choát 74LS 373.
5. Khoái Giaûi Maõ Ñòa Chæ:
Khi coù tín hieäu xung clock taùc ñoäng veà ngoõ vaøo cuûa xung clock. Khi coù tín hieäu töø
CPU gôûi veà thì ngoõ ra seõ taùc ñoäng cho heä thoáng led 7 ñoaïn hoaït ñoäng.
6. Khoái Thu DTMF:
Ñaây laø IC 8870 duøng ñeå giaûi maõ tone, giaûi maõ caùc soá töø baøn phím cuûa ñieän thoaïi vaø
ñöa döõ lieäu veà coång xuaát nhaäp döõ lieäu qua bus döõ lieäu.
7. Khoái Khueách Ñaïi Coâng Suaát:
Bao goàm caùc transistor daãn baûo hoøa khueách ñaïi coâng suaát cho heä thoáng led 7 ñoaïn,
caùc transistor ñöôïc kích töø khoái giaûi maõ ñòa chæ vaø töø port 1 cuûa vi ñieàu khieån.
8. Khoái Xung CK:
Taïo ra xung clock coù taàn soá coá ñònh ñeå caùc khoái trong maùy hoaït ñoäng ñoàng boä vôùi
nhau.
9. Khoái Ñaûo Cöïc:
Nhaän bieát ñöôïc vaø xöû lyù khi coù tín hieäu töø toång ñaøi göûi ñeán cho thueâ bao beân kia nhaác
maùy thoâng thoaïi thì tính tieàn.
Ñoà Aùn Moân Hoïc II – Leâ Minh Theá – 97ÑT04
Khoa Ñieän – Ñieän Töû 17
10. Khoái Hieån Thò:
Hieån thò caùc thoâng soá veà giaù thaønh, thôøi gian vaø soá cuoäc goïi cuõng nhö tình traïng cuûa
maùy ôû thôøi ñieåm hieän taïi.
11. Khoái Nguoàn:
Taïo ra moät nguoàn ñieän aùp thoûa maõn yeâu caàu veà ñieän aùp cung caáp cho taát caû caùc linh
kieän trong maïch.
III. GIAÛI THÍCH SÔ LÖÔÏC VEÀ NGUYEÂN LYÙ HOAÏT ÑOÄNG
CUÛA MAÏCH:
- Khi heä thoáng ñöôïc cung caáp nguoàn, nguoàn ñieän aùp seõ ñeán taát caû caùc vi
maïch cuûa maùy. CPU ñöôïc caáp nguoàn seõ baét ñaàu hoaït ñoäng ôû ñòa chæ 0000H.
- Khi coù yeâu caàu thöïc hieän cuoäc goïi töùc laø maùy ôû cheá ñoä nhaác toå hôïp (off
hook) CPU saün saøng tieáp nhaân soá goïi.
- Khi ngöôøi goïi thöïc hieän baám soá goïi, CPU seõ löu tröõ taïm thôøi soá goïi vaøo
Ram vaø ñoàng thôøi ñöa ra maïch hieån thò ñeå hieån thò caùc soá vöøa goïi.
- Sau khi chaám döùt cuoäc goïi, maùy seõ hieån thò giaù tieàn vaø soá cuoäc goïi.
Ñoà Aùn Moân Hoïc II – Leâ Minh Theá – 97ÑT04
Khoa Ñieän – Ñieän Töû 18
CHÖÔNG II : THIEÁT KEÁ PHAÀN CÖÙNG
n¡«¡n
I. KHOÁI XÖÛ LYÙ TRUNG TAÂM (CPU):
n Trong maùy tính cöôùc, khoái CPU chính laø phaàn quan troïng nhaát, noù tieáp nhaän
vaø xöû lyù taát caû caùc thoâng tin hoaït ñoäng lieân quan ñeán vieäc tính cöôùc cuûa maùy.ÔÛ
ñaây ta choïn Vi ñieàu khieån 8051 vì noù coù caùc ñaëc ñieåm noåi baät nhö maïch dao
ñoäng ñöôïc tích hôïp saün beân trong ,vieäc laäp trình baèng ngoân ngöõ (Assembly) deã
daøng ,ngöôøi laäp trình coù theå can thieäp vaøo töøng bit cuûa caùc port xuaát nhaäp baèng
moät leänh duy nhaát.
- Khoái ñieàu khieån trung taâm coù nhieäm vuï ñieàu khieån moïi hoaït ñoäng cuûa maùy
tính cöôùc, vieäc ñieàu khieån bao goàm caùc hoaït ñoäng sau:
- Nhaän bieát traïng thaùi nhaác maùy, gaùc maùy cuûa thueâ bao. Khi thueâ bao nhaác
maùy, khoái ñieàu khieån seõ nhaän bieát traïng thaùi cuûa thueâ bao vaø hieån thò ñoàng hoà
saún saøng nhaän tín hieäu xung töø baøn phím.
- Nhaän bieát xung quay soá vaø giaûi maõ xung quay soá (neáu thueâ bao söû duïng
daïng pulse) hoaëc nhaän caùc bit döõ lieäu ñaõ ñöôïc giaûi maõ töø khoái giaûi maõ tone ñeå
bieát soá maø thueâ bao muoán goïi. Sau ñoù CPU kieåm tra xem soá goïi laø quoác teá, lieân
tænh hay noäi haït, CPU seõ ñieàu khieån cho ra giaù tieàn cuï theå cho töøng nöôùc, töøng
tænh, noäi haït vôùi thôøi gian töông öùng khaùc nhau ñöôïc vieát trong chöông trình.
II. KHOÁI TAÏO XUNG CK:
K Trong maùy tính cöôùc, taát caû caùc hoaït ñoäng cuûa maïch ñeàu coù lieân quan ñeán xung
clock cung caáp cho CPU. Vì caùc boä Timers/Counters seõ döïa vaøo taàn soá xung clock naøy
maø thöïc hieän caùc coâng vieäc ñöôïc laäp trình saün vaø ngöôøi laäp trình cuõng döïa vaøo taàn soá
xung naøy ñeå vieát chöông trình trì hoaõn cuûa maùy.
K Vi ñieàu khieån 8051 coù 2 Timer beân trong ,khi döôïc duøng laøm ñoàng hoà thì caùc Timer
seõ ñeám giôø theo taàn soá thaïch anh gaén vaøo XTAL1 vaø XTAL2. Ta choïn thaïch anh coù
taàn soá laøm vieäc laø 7,373 MHz. Caùc tuï C1 , C2 duøng ñeå oån ñònh taàn soá dao ñoäng cuûa
thaïch anh.
18
19
C2
C1 X1
8031
X2
Ñoà Aùn Moân Hoïc II – Leâ Minh Theá – 97ÑT04
Khoa Ñieän – Ñieän Töû 19
III. KHOÁI RAM – ROM:
- 8051 coù khaû naêng môû roäng boä nhôù leân ñeán 64Kb boä nhôù chöông trình(ROM) vaø 64Kb
boä nhôù döõ lieäu ngoaøi(RAM). Khi duøng theâm boä nhôù ngoaøi ,Port 0 khoâng coøn laø Port I/O
thuaàn tuyù nöõa .Noù ñöôïc keát hôïp giöõa Bus döõ lieäu (D0 ÷ D7) vaø Bus ñòa chæ cuûa byte thaáp
(A0 ÷ A7) baèng tín hieäu choát ALE ñeå choát byte thaáp cuûa ñòa chæ khi baét ñaàu moãi chu kyø
boä nhôù .Trong nöûa chu kyø ñaàu cuûa boä nhôù ,byte thaáp cuûa ñòa chæ ñöôïc caáp cho Port 0 vaø
ñöôïc choát baèng xung ALE. Moät IC choát 74HC373 (hoaëc töông ñöông ) seõ giöõ byte ñòa
chæ thaáp trong phaàn coøn laïi cuûa chu kyø boä nhôù .Trong nöûa sau cuûa chu kyø boä nhôù Port 0
ñöôïc duøng nhö Bus döõ lieäu vaø ñöôïc ñoïc hoaëc ghi tuyø theo leänh.
1. ROM :
- Boä nhôù ROM (Read Only Memory) laø boä nhôù ñöôïc thieát keá ñeå löu tröõ caùc döõ lieäu coá
ñònh. Trong luùc hoaït ñoäng bình thöôøng, döõ lieäu môùi khoâng theå ñöôïc ghi vaøo ROM maø
döõ lieäu chæ coù theå ñöôïc ñoïc töø ROM. Khi ROM ñöôïc laäp trình thì khi ngöøng caáp nguoàn
caùc döõ lieäu beân trong ROM khoâng bò maát.
- EPROM (Esarable Programable ROM) laø loaïi ROM coù theå laäp trình laïi ñöôïc .Trong
maïch tính cöôùc , ñeå coù theå thoûa maõn nhu caàu thò tröôøng do giaù tính cöôùc ôû moãi thôøi ñieåm
coù theå khaùc nhau .Ta caàn phaûi coù loaïi ROM coù theå ñöôïc xoùa vaø laäp trình laïi nhieàu laàn
ñeå caäp nhaät laïi giaù cöôùc ñieän thoaïi.
- Xuaát phaùt töø yeâu caàu treân , ta choïn loaïi ROM coù khaû naêng môû roäng boä nhôù chöông
trình leân ñeán 8 Kbytes. Ñoù laø EPROM 2764
Giao tieáp giöõa 8051 vaø EPROM
2 Truy xuaát boä nhôù chöông trình ngoaøi :
- Truy xuaát giöõa 8051 vaø EPROM ñöôïc cho pheùp bôûi tín hieäu PSEN.Moät chu kyø maùy
cuûa 8051 coù 12 xung nhòp , khi söû duïng thaïch anh 7,3728 Mhz thì xung nhòp cuûa 8051 laø
D Q
74HC373
G
Port 0
EA
8051
ALE
Port 2
PSEN
D0 – D7
A0 – A7
EPROM
A8 – A15
OE
Ñoà Aùn Moân Hoïc II – Leâ Minh Theá – 97ÑT04
Khoa Ñieän – Ñieän Töû 20
T = s 3,5
3728,7
12 µ= Trong moät chu kyø maùy seõ coù 2 xung ALE vaø 2 byte ñöôïc ñoïc töø
boä nhôù chöông trình (neáu leänh hieän haønh laø leänh 2 byte thì byte thöù hai deõ ñöôïc loaïi boû)
2. RAM :
- Boä nhôù RAM (Random Access Memory) laø boä nhôù truy xuaát ngaãu nhieân coù nghóa laø
baát kyø oâ nhôù naøo cuõng deã daøng truy xuaát trong boä nhôù.
- Boä nhôù RAM duøng ñeå löu tröõ taïm thôøi chöông trình vaø döõ lieäu, noäi dung caùc oâ nhôù
trong RAM thay ñoåi lieân tuïc khi vi xöû lyù thöïc hieän chöông trình.Tuy nhieân ,döõ lieäu löu
tröõ taïm thôøi trong RAM seõ bò xoaù saïch khi maát nguoàn cung caáp .Ñieàu naøy coù theå ñöôïc
khaéc phuïc baèng caùch duøng nguoàn döï phoøng .
- Do yeâu caàu cuûa maïch tính cöôùc coù theå nhôù tôùi 255 cuoäc ñaøm thoaïi bao goàm soá tieàn,
soá cuoäc goïi,… neân SRAM ñöôïc choïn seõ laø 6264 coù dung löôïng nhôù 8 Kbytes
NC
Giao tieáp giöõa 8051 vaø RAM
, Truy xuaát boä nhôù döõ lieäu ngoaøi :
- Boä nhôù döõ lieäu ngoaøi RAM 6264 ñöôïc cho pheùp ghi/ ñoïc baèng caùc tín hieäu WR vaø
RD ( caùc chaân P3.6 vaø P3.7 thay ñoåi chöùc naêng ).
- Keát noái Bus ñòa chæ vaø Bus döõ lieäu giöõa RAM 2764 vaø 8051 cuõng gioáng nhö
EPROM 6264 vaø do ñoù cuõng coù theå leân ñeán 8 Kbytes. Ngoaøi ra , chaân RD cuûa 8051
ñöôïc noái tôùi chaân cho pheùp xuaát (OE) cuûa RAM vaø chaân WR ñöôïc noái tôùi chaân ghi
(WR) cuûa RAM.
? Keát Noái Boä Nhôù EPROM Vaø RAM Vaøo CPU :
- Boä nhôù EPROM vaø RAM ñöôïc keát noái vôùi CPU thoâng qua caùc bus ñòa chæ, bus döõ
lieäu vaø bus ñieàu khieån. Khaû naêng môû roäng boä nhôù cuûa 8051 leân ñeán 64Kbytes nhöng
trong phaïm vi maùy tính do chöông trình laøm vieäc cuõng töông ñoái lôùn neân ta choïn hai
IC nhôù SRAM vaø EPROM coù toång dung löôïng nhôù laø 16 Kbytes.
D0 – D7
A0 – A7
RAM
A8 – A15
OE
WR
CS
Po t 0
EA
8051
ALE
Port 2
RD
WR
PSEN
D Q
74HC373
G
Ñoà Aùn Moân Hoïc II – Leâ Minh Theá – 97ÑT04
Khoa Ñieän – Ñieän Töû 21
a. Bus ñòa chæ (Address Bus):
Laø bus moät chieàu chuyeån taûi thoâng tin töø CPU 8051 ñeán caùc IC nhôù. Do 8051
coù theå ñieàu khieån boä nhôù môû roäng leân ñeán 64 Kbytes töùc laø coù tôùi 16 ñöôøng ñòa chæ
ra A0 ….A15 maø caùc IC nhôù chæ coù 16 Kbytes. Vì vaäy ta söû duïng 13 bit thaáp ñòa chæ
cuûa CPU töø A0 … A12 ñeå keát noái song song vôùi 13 ñöôøng ñòa chæ cuûa SRAM vaø
EPROM. Caùc bit ñòa chæ coøn laïi seõ duøng cho vieäc ñieàu khieån.
b. Bus döõ lieäu (Data Bus):
Laø bus döõ lieäu hai chieàu coù chöùc naêng chuyeån döõ lieäu qua laïi giöõa CPU vaø caùc IC nhôù. Do
vaäy 8 ñöôøng döõ lieäu cuûa CPU 8031 seõ noái song song vôùi 8 ñöôøng döõ lieäu cuûa SRAM vaø
EPROM.
c. Bus ñieàu khieån (Control Bus):
Bus ñieàu khieån laø bus khaù quan troïng trong maïch vì noù quyeát ñònh xem khi naøo
SRAM hay EPROM seõ ñöôïc ñoïc döõ lieäu vaø khi naøo SRAM seõ ghi döõ lieäu.
Moãi SRAM vaø EPROM coù dung löôïng nhôù 8 Kbytes neân vieäc qui ñònh noäi dung ñòa
chæ oâ nhôù nhö sau:
- Ñoái vôùi EPROM do CPU coù ñaëc ñieåm khi maùy ñöôïc caáp nguoàn thì seõ baét ñaàu hoaït
ñoäng ôû ñòa chæ 0000H neân ñòa chæ cuûa EPROM baét ñaàu töø 0000H vaø keát thuùc ôû ñòa chæ
1FFFH.
- Ñoái vôùi SRAM, ñòa chæ baét ñaàu laø 8000H vaø keát thuùc ôû 9FFFH. Sôû dó ta choïn ñòa
chæ naøy vì theo thieát keá phaàn cöùng chaân ñòa chæ cuoái cuøng cuûa CPU (A15) ñöôïc duøng laøm
chaân ñieàu khieån vaø ñöôïc noái ñeán chaân CS\ cuûa SRAM.
IV. KHOÁI NGUOÀN :
- +
1
2
3
4
47
LM7805
1
2
3
VI
G
N
D
VO
6V
+
1000u+
1000u
1
1
1N4007
1 2
1N4007
1
2
Os
TD
9V
O
Ñoà Aùn Moân Hoïc II – Leâ Minh Theá – 97ÑT04
Khoa Ñieän – Ñieän Töû 22
Cung caáp nguoàn 5V cho taát caû caùc vi maïch töø nguoàn beân ngoaøi 9V thoâng qua vi maïch
oån aùp 7805, caùc tuï duøng keøm theo maïch ñeå naâng cao chaát löôïng nguoàn ñieän cho maïch.
Do SRAM löu tröõ caùc thoâng soá cuûa cuoäc goïi neân phaûi coù moät nguoàn pin döï phoøng cho
SRAM ñeå ñeà phoøng caùc döõ lieäu bò maát khi nguoàn khoâng coøn. Nguoàn döï phoøng laø moät pin coù
theå saïc laïi ñöôïc coù giaù trò ñieän aùp baèng 3.6 VDC.
K Nguyeân Lyù Hoaït Ñoäng :
- Khi coù nguoàn 9V qua boä naén ñieän caàu , coâng taéc baät ON qua IC oån aùp 7805 ñöa vaøo
nuoâi maïch ,ñoàng thôøi nguoàn qua D1 qua ñieän trôû 47Ω saïc vaøo pin 6V.
- Khi maát ñieän ,pin 6V seõ phoùng qua D2 cung caáp nguoàn cho maïch giuùp maïch khoâng
bò maát döõ lieäu.(Tuï 1000µF laø tuï taêng cöôøng )
2 Maïch pick up cho boä nhôù:
∪ Nguyeân lyù:
Khi coù nguoàn 5V, moät phaàn qua D1 , R vaø naïp vaøo pin, moät phaàn nuoâi boä nhôù
qua D2.
Khi maát ñieän, pin laäp töùc phoùng qua D3 nuoâi boä nhôù.
∪ Thieát keá:
- Choïn D1, D2, D3 laø loaïi 1N4007
- Vcc laø 5V
- Suït aùp qua Diode laø 0.7V
- Ñieän aùp nguoàn nuoâi Ram laø:
Vng Ram = Vcc – Vd = 5V – 0.7V = 4.3V
- Ñieän aùp cho nguoàn nuoâi pin döï tröõ:
Vpin = Vcc – Vd3 – VR = 3V
⇒ VR = Vcc – Vd3 - Vpin
= 5V – 0.7V – 3V
⇒ VR = 1.3V
maø VR = I.R
3V
1N4007
D2
1 2
1N4007
D1
12
1N4007
D3
12
R6
1k
1
1
+5V
Ñoà Aùn Moân Hoïc II – Leâ Minh Theá – 97ÑT04
Khoa Ñieän – Ñieän Töû 23
Choïn doøng naïp cho pin I = 15mA
⇒ R = Ω==
mA 15
V 1,3
6,86
I
RV
Choïn R = 220Ω
K Maïch RESET:
- Ñeå Reset CPU 8051 chaân RST (chaân reset cuûa 8051) phaûi ôû möùc cao ít nhaát trong
hai chu kyø maùy.
Ta coù : Tmaùy= µs 0,6 12
MHz 3728,7 =
Ñeå Reset heä thoáng T phaûi ≥ 2Tmaùy ⇒ T = s 3,2 MHz 3728,7
24 µ=
Bieán trôû caàn ñuû nhoû ñeå traùnh tröôøng hôïp doøng naïp cho tuï phaân cöïc beân trong
8051 choïn R1 = 100Ω. Ñieän aùp ôû chaân RST laø:
RSTV = τ
− t
e.VCC ⇒
CC
RST
V
Ve =τ
− t
RST
CC
V
Vlnt =τ ⇒
RST
CC
V
Vln
t =τ
τ = RC : Thôøi haèng naïp ñieän cuûa maïch
Giaû söû ñieän aùp cuûa Vrst laø 3V
⇒ RC = 3.9 10-6
Do Vrst coù theå lôùn hôn → ñeå ñaûm baûo doøng reset ta choïn:
C = 10µF ; R = 8.2 K
Maïch reset heä thoáng:
RST
CC
V
VlnR
tC =
+5V+5V
RST
100
SW
8,2K
10uF
Ñoà Aùn Moân Hoïc II – Leâ Minh Theá – 97ÑT04
Khoa Ñieän – Ñieän Töû 24
Chaân Reset cuûa 8051 taùc ñoäng ôû möùc cao
- Khi cho nguoàn 5V vaøo, thì tuï ñöôïc naïp ñaày. Sau ñoù tuï ñöôïc phoùng qua chaân
reset vaø toaøn boä maïch ñöôïc reset töø ñaàu.Maïch Reset phaûi thoûa maõn 2 chöùc naêng:
Reset luùc caáp nguoàn vaø Reset baèng tay.
Ñoà Aùn Moân Hoc II – Leâ Minh Theá – 97ÑT04
24 Khoa Ñieän – Ñieän Töû
VCC
VCC
PORT1
33 pF
7,3728 MHz
33 pF
C1
10 uF
R1
8,2 K
SW
AM2764
10
9
8
7
6
5
4
3
25
24
21
23
2
20
22
27
1
11
12
13
15
16
17
18
19
A0
A1
A2
A3
A4
A5
A6
A7
A8
A9
A10
A11
A12
CE
OE
PGM
VPP
O0
O1
O2
O3
O4
O5
O6
O7
D2
1
2
HM6264A
10
9
8
7
6
5
4
3
25
24
21
23
2
20
26
22
27
11
12
13
15
16
17
18
19
A0
A1
A2
A3
A4
A5
A6
A7
A8
A9
A10
A11
A12
CS1
CS2
OE
WE
D0
D1
D2
D3
D4
D5
D6
D7
R1
220
D3
1
2
D1
1N4007
1
2
3V
VCC
1
74LS373
3
4
7
8
13
14
17
18
1
11
2
5
6
9
12
15
16
19
D0
D1
D2
D3
D4
D5
D6
D7
OC
G
Q0
Q1
Q2
Q3
Q4
Q5
Q6
Q7
3,3k
8051
31
19
18
9
12
13
14
15
1
2
3
4
5
6
7
8
39
38
37
36
35
34
33
32
21
22
23
24
25
26
27
28
17
16
29
30
11
10
EA/VP
X1
X2
RESET
INT0
INT1
T0
T1
P1.0
P1.1
P1.2
P1.3
P1.4
P1.5
P1.6
P1.7
P0.0
P0.1
P0.2
P0.3
P0.4
P0.5
P0.6
P0.7
P2.0
P2.1
P2.2
P2.3
P2.4
P2.5
P2.6
P2.7
RD
WR
PSEN
ALE/P
TXD
RXD
LED
DISPLAY
Ñoà Aùn Moân Hoc II – Leâ Minh Theá – 97ÑT04
25 Khoa Ñieän – Ñieän Töû
IV. KHOÁI CHOÁT ÑÒA CHÆ:
Trong maïch tính cöôùc naøy, ta söû duïng IC choát 74LS373 coù taùc duïng choát ñòa
chæ 8 bit thaáp vaø 8 bit data ñeå giao tieáp giöõa Ram, Rom vaø 8051.
- 8 ngoõ vaøo cuûa 74LS373 ñöôïc keát noái vôùi 8 ngoõ AD0 … AD7 (Port 0) cuûa CPU 8051.
- 8 ngoõ ra cuûa 74LS373 ñöôïc keát noái vôùi caùc ñöôøng ñòa chæ cuûa SRAM vaø EPROM.
2 Vi maïch 74LS373 coù 8 Flip-Flop D vaø 8 coång ñeäm ñieàu khieån. Tín hieäu ñieàu
khieån choát ñòa chæ ñöôïc CPU ñöa ra ôû chaân ALE (Address Latch Enable) ñöôïc noái
vaøo chaân C (Chip) cuûa 74LS373.
2 ÔÛ nöûa chu kyø ñaàu cuûa chöông trình laøm vieäc, caùc Flip-Flop D cuûa 74LS373
seõ choát caùc ñòa chæ do CPU ñöa tôùi, khi ñoù chaân C ôû möùc 1. ÔÛ nöõa chu kyø coøn laïi,
C ôû möùc 0 döõ lieäu xuaát ra ôû Q chính laø döõ lieäu ôû caùc ngoõ vaøo tröôùc ñoù, luùc naøy caùc
ñöôøng port 0 seõ raõnh roãi ñeå nhaän vaø xuaát döõ lieäu ñeán SRAM vaø EPROM.
V. KHOÁI NHAÄN AÂM HIEÄU – GIAÛI MAÕ BAØN PHÍM (ÑAÛO CÖÏC – DTMF THU):
K Trong phaïm vi thieát keá cuûa Ñoà Aùn Moân Hoïc ta chæ quan taâm ñeán caùch tính cöôùc
baèng phöông phaùp ñaûo cöïc .Coù nghóa laø thueâ bao coù ñaêng kyù ñaûo cöïc taïi Toång ñaøi.
- Khi maùy ñöôïc caøi ôû cheá ñoä ñaûo cöïc, chaân 1 vaø chaân 2 seõ ñeå hôû, chaân RXD vaø
TXD khoâng coøn ñöôïc noái vôùi nhau nöõa.
- Ñeå tính tieàn cuoäc goïi, thueâ bao baét ñaàu nhaác maùy, khi toång ñaøi ñöôïc yeâu
caàu phuïc vuï thì seõ phaùt tín hieäu môøi quay soá vaøo chaân 6 vaø chaân 7, tín hieäu vaøo
chaân 6 seõ laøm cho ISO1 hoaït ñoäng vaø kích transistor daãn keùo theo chaân RXD seõ
ñöôïc daãn xuoáng mass töùc laø ôû möùc logic 0 vaø TXD thì ñöôïc noái Vcc cho neân noù
vaãn ôû möùc logic 1.
- Tín hieäu qua ISO1 ñi ra maùy ñieän thoaïi theo chaân 5 cuûa head7, tín hieäu töø
chaân 7 cuûa khoái giaûi maõ baøn phím sau ñoù ñi ra maùy ñieän thoïai ñeå baùo hieäu môøi
goïi.
- Thueâ bao baét ñaàu quay soá, tín hieäu vaøo maïch laøm cho ISO1 daãn, töùc laø chaân
RXD ôû möùc logic 0 vaø TXD ôû möùc logic 1. Chöông trình phaàn meàm seõ nhaän bieát
vaø xöû lyù raèng vôùi möùc logic cuûa hai chaân naøy thì cho pheùp maïch hoaït ñoäng ôû cheá
ñoä ñaûo cöïc.
- Sau khi toång ñaøi nhaän bieát raèng thueâ bao naøy ñaõ thöïc hieän ñaêng kyù ñaûo cöïc
taïi toång ñaøi thì toång ñaøi seõ baét ñaàu tính cöôùc sau khi maùy thueâ bao beân kia nhaác
maùy. Ngoaøi vieäc toång ñaøi laøm nhieäm vuï chuyeån maïch thoâng thoaïi noù coøn ñöa tín
hieäu ñaûo cöïc veà maùy thueâ bao. Tín hieäu ñaûo cöïc naøy seõ ñöa vaøo chaân ñaûo –IN cuûa
MT8870. Laäp töùc seõ coù tín hieäu ngoõ ra chaïy veà INT0 cuûa vi ñieàu khieån 8051 vaø
chöông trình phaàn meàm seõ ñieàu khieån ngoû ra cho pheùp ñoïc RD\ taùc ñoäng vaøo
chaân TOE cuûa MT8870 cho pheùp xuaát döõ lieäu vaøo CPU xöû lyù tính tieàn hieån thò qua
led. Tín hieäu sau khi vaøo MT8870 ñeå xöû lyù thì quay ra ñeå noái thoâng thoaïi vôùi maùy
Ñoà Aùn Moân Hoc II – Leâ Minh Theá – 97ÑT04
Khoa Ñieän – Ñieän Töû 26
thueâ bao. Khi cuoäc goïi keát thuùc maùy seõ hieån thò toaøn boä thôøi gian vaø soá tieàn keå töø
khi thueâ bao beân kia baét ñaàu nhaác maùy.
* Tính R5
- Khi thueâ bao nhaác maùy, doøng thoâng thoaïi caáp cho thueâ bao töø (20 –100 )mA
Cho doøng cuûa toång ñaøi caáp cho thoâng thoaïi nhoû nhaát laø 20mA.
Choïn opto laø 4N35, choïn doøng qua led laø 4mA, ñieän aùp suït treân led opto laø
V = 2V.
⇒ Doøng qua R5 laø: I5 = 20 – 4 = 16mA
Choïn R5 = 220Ω
n Khoái Giaûi maõ DTMF:
IC MT8870 seõ giaûi maõ xung DTMF ra soá BCD 4 bit vaø ñöa tôùi CPU, ñoàng
thôøi cuõng taïo ra moät tín hieäu ngaét ôû chaân 15 (STD) ñöa tôùi chaân INT0\ cuûa CPU
taïo ngaét khi nhaän moät tín hieäu Tone vaøo.
Chaân 8 vaø chaân 7 cuûa MT8870 ñöôïc noái tôùi moät thaïch anh 3,579 MHz, taàn soá
cuûa thaïch anh naøy seõ ñem so saùnh vôùi caùc taàn soá cuûa DTMF ñeå taïo ra caùc soá BCD
4 bit.
Khi chaân 10 ôû möùc thaáp, MT8870 seõ taïo xung baùo cho CPU bieát qua chaân
INT0\ ñeå taïo ngaét, khi ñoù CPU phaûi chuyeån sang cheá ñoä Tone. Luùc ñoù, vi maïch
MT8870 seõ nhaäp caùc soá döôùi daïng tín hieäu caùc maõ soùng DTMF ñoàng thôøi caùc ngoõ
ra Q1…Q4 ôû möùc toång trôû cao.
Khi RD\ cuûa CPU ôû möùc thaáp vaø A15 cuûa CPU ôû möùc cao khi ñoù chaân 10
(TOE) seõ ôû möùc cao, MT8870 xuaát ra döõ lieäu.
Sô ñoà keát noái MT8870:
VCC
MT 8870
1
2
3
4
5
6
7
8
9 10
11
12
13
14
15
16
17
18
IN+
IN-
GS
VREF
IC
IC
OSC1
OSC2
GND TOE
Q1
Q2
Q3
Q4
STD
EST
ST/GT
VCC
3,57MHz
R12
150K
104100K 100K
330K
104
74LS02
2
3
1
74LS02
2
3
1
INT0
P.0
A15
RD
CPU
Ω=== K125,1
16
2
I
V
R
5
opto
5
Ñoà Aùn Moân Hoc II – Leâ Minh Theá – 97ÑT04
Khoa Ñieän – Ñieän Töû 27
VI. KHOÁI GIAÛI MAÕ ÑÒA CHÆ – HIEÅN THÒ :
- Yeâu caàu maïch naøy phaûi coù ngoõ ra ñeå giaûi maõ led 7 ñoaïn döïa vaøo caùc bit döõ
lieäu ñöa veà töø maïch giaûi maõ baøn phím phía tröôùc.
- Khi coù tín hieäu caùc bit döõ lieäu ghi treân boä nhôù ngoaøi cuûa CPU töø caùc ngoõ ra
cuûa maïch giaûi maõ baøn phím, chöông trình phaàn meàm seõ xöû lyù cho ra caùc ñòa chæ
caùc led ñeå cho pheùp caùc ñòa chæ led naøo hoaït ñoäng thoâng qua port T1 töùc laø P3.5,
döõ lieäu naøy ñöa vaøo hai chaân A vaø B cuûa 74164 nhaèm xuaát ñòa chæ ra led 7 ñoaïn.
- Muoán maïch hoaït ñoäng toát thì chaân CLEAR phaûi luoân ôû vò trí tích cöïc laø +Vcc.
- Tín hieäu xung clock vaøo ñeå ñeám nhòp xung cho vieäc giaûi maõ ra led 7 ñoaïn. Ñeå
coù xung clock thì chaân WR\ cuûa vi ñieàu khieån 8051 töùc laø P3.7 phaûi ôû möùc logic 0
vaø chaân 28 cuûa 8051 ôû ñòa chæ 8000H töùc laø möùc logic 1. Vì choïn RAM khoâng tích
cöïc cho neân hai tín hieäu naøy phaûi qua hai coång NOR cuûa vi maïch 7402, tín hieäu
cuoái cuøng laø ôû möùc logic 1.
- Khi coù xung clock taùc ñoäng vaøo chaân CK cuûa vi maïch 74164, keát hôïp vôùi döõ
lieäu ôû P3.5 cuûa vi ñieàu khieån 8031 ñeå xuaát caùc ngoõ ra Q1 ñeán QH. Moãi ngoõ ra noái
vôùi Katod chung cuûa moãi led 7 ñoaïn.
- Vì caùc led 7 ñoaïn coù coâng suaát lôùn cho neân ta phaûi khueách ñaïi coâng suaát caùc
tín hieäu ngoõ ra töø Q1 ñeán QH tröôùc khi ñöa vaøo Katod cuûa led 7 ñoaïn. ÔÛ ñaây ta söû
duïng transistor B562 vaø ñieän trôû R = 3.3kΩ ñeå laøm maïch khueách ñaïi.
- Ñoàng thôøi cuøng luùc P3.5 cuûa 8051 xuaát döõ lieäu ra 74164 thì caùc port I/O töø
P1.0 ñeán P1.7 cuûa vi ñieàu khieån 8031 cuõng xuaát döõ lieäu ra tröïc tieáp anod led 7
ñoaïn. Noù seõ ñieàu khieån ñoàng loaït anod caùc thanh cuûa led 7 ñoaïn hoaït ñoäng. Döïa
vaøo chöông trình phaàn meàm ñieàu khieån, caùc port I/O cuûa 8051 keát hôïp vôùi phaàn
giaûi maõ ñòa chæ vôùi vi maïch 74164, ñeå taïo ra moät döõ lieäu sau cuøng ñöôïc hieån thò
qua 8 led 7 ñoaïn maø ta coù theå hieåu ñöôïc thoâng qua caùc con soá hieån thò nhö soá giaù
cöôùc cuoäc goïi, soá ñieän thoaïi ñaõ goïi, giôø cuoäc goïi, soá laàn goïi …..
- Cuõng nhö caùc tín hieäu ra töø Q1 y QH , ngoõ ra cuûa Port 1.0 cuõng phaûi qua maïch
khueách ñaïi ,vì neáu khoâng thì caùc tín hieäu ngoõ ra seõ bò Led 7 ñoaïn coù coâng suaát lôùn
huùt heát doøng gaây suït aùp lôùn daãn ñeán hoûng maïch .ÔÛ maïch khueách ñaïi naøy ta söû
duïng 8 Transistor loaïi C945 ñieän trôû coù trò soá R13 = 10k vaø 8 ñieän trôû R14 = 220Ω.
Tính R12 ,R13 ,R14
Tính toaùn giaù trò Rb(R12) vaø BJT A1015
Transistor A1015 coù caùc thoâng soá :
Loaïi Si coù :
+ Vγ (ñieän aùp ngöôõng VBE ) = 0,5V
+ Vδ (ñieän aùp khueách ñaïi BE) = 0.65V
+ VBES (ñieän aùp baõo hoøa BE) =0,8V
+ VCES (ñieän aùp baõo hoøa CE) = 0,2V
Ñoà Aùn Moân Hoc II – Leâ Minh Theá – 97ÑT04
Khoa Ñieän – Ñieän Töû 28
+ ICS =100mA
+ β (heä soá khueách ñaïi hfe) =70 → 240
+ P (Coâng suaát lôùn nhaát) = 400mW
+ f (Taàn soá giôùi haïn ) = 80 MHz
ÔÛ ñaây ta söû duïng Transistor nhö moät khoùa ñieän töû ñoùng/ ngaét
Qsat → V0 = 0 → Coâng taéc ñoùng .
Qoff → V0 = 0 VCC → Coâng taéc hôû .
+ Vi = 0 → Qoff
Ic = 0 → V0 = Vcc
+ Vi = V(möùc 1) → Qsat
VBE = VBES ; IB = IBS
VCE = VCES ; IC = ICS
Cho Vcc = 5 V ,βmin = 80
Ta coù : Ibs ≥
min
CS
β
I
Rb =
BS
BESCC
12 I
VVR −=
→ ( )
CS
minBESCC
12 I
βVVR −≤ ; ( ) Ω=−≤ K 36,3
1,0
80.8.05R12
Choïn R12 = 3,3 KΩ
- Tính toaùn ñieän aùp vaø doøng ñeå Led saùng
- Choïn aùp qua Led laø 2V
- Doøng qua Led 10mA
Vì Led qua 2 Transistor neân qua 2 moái noái CE1 vaø CE2
Ñieän trôû haïn doøng vaø aùp R14
LED
LED2CE1CECC
14 I
VVVVR −−−=
Ñoà Aùn Moân Hoc II – Leâ Minh Theá – 97ÑT04
Khoa Ñieän – Ñieän Töû 29
Ω=−−−= 260
01,0
22,02,05R14
Choïn R = 260 Ω
- Choïn Trasistor C 945 coù :
Pmax = 200 mW
Ic max =100 mA
hfe = 200
- Ñeå töøng ñoaïn Led ñöôïc hieån thò thì C945 phaûi daãn baõo hoøa
Choïn doøng cho töøng Led :
Ics =50 mA Maø : Ibs * hfe ≥ Ics = 50mA
⇒ Ibs = mA 25,0
200
50 =
Ω=−=−= K 4,8
25,0
3,04,2
I
VV
R
bs
2ce1p
13
Choïn R13 = 10 KΩ
- Ñeå Relay chuyeån traïng thaùi , Q phaûi daãn baõo hoøa
Relay = 300 Ω . Do ñoù ta phaûi choïn R6 sao cho
hfe * Ibs ≥ mA 16 =
300
V5
⇒ mA 0,08 =≥
200
16Ibs Choïn Ibs =0,25 mA
⇒ Ω=−=−== K 8,4
25,0
3,04,2
I
VV
RR
bs
2ce1p
6b
Choïn R6 = 10 KΩ
Tính toaùn caùc ñieän trôû, transistor:
Ñoä saùng cuûa led 7 ñoaïn phuï thuoäc doøng ñieän chaïy qua chuùng. ÔÛ cheá ñoä saùng
bình thöôøng, ñieän aùp rôi coá ñònh treân moät led thöôøng laø (1.6 – 2.4)V. Doøng ñieän
chaïy qua led laø 20mA. Vì vaäy ta phaûi duøng ñieän trôû ñeå haïn doøng. Maët khaùc ñoái vôùi
hoï TTL 74 doøng ra cöïc ñaïi laø 16mA, do ñoù theå laáy ngoõ ra cuûa vi maïch ñeå kích led.
Nhö vaäy ta phaûi duøng caùc transistor ñeäm ñeå kích cho caùc led saùng.
Vôùi doøng ñieän taûi laø laø 20mA, ta duøng caùc transistor A vaø C945, hai
transistor coù doøng taûi cöïc C lôùn vaø chòu ñöôïc ñieän aùp khaù cao, maø ta chæ duøng
nguoàn cung caáp laø 5V. Neân caùc yeâu caàu veà kyõ thuaät ñoái vôùi caùc transistor coi nhö
thoûa vaø hai loaïi transistor naøy raát phoå bieán treân thò tröôøng.
Ñoà Aùn Moân Hoc II – Leâ Minh Theá – 97ÑT04
Khoa Ñieän – Ñieän Töû 30
Caû hai transistor ñeàu laøm vieäc ôû cheá ñoä baõo hoøa neân ta choïn chuùng coù caùc
heä soá khueách ñaïi β nhoû. ÔÛ B562 choïn heä soá khueách ñaïi β = 20 vaø C 945 heä soá
khueách ñaïi β = 35.
Vì caùc transistor laøm vieäc ôû cheá ñoä baõo hoøa neân khi caùc transistor daãn ñieän,
aùp rôi treân moái noái CE laø nhoû:
VCE = 0.3V
Ta coù: IB B562 = IC B562 / β = 20mA / 20 = 1mA
IB C945 = IC C945 / β = 20mA /35 = 0.6 mA
ÔÛ vi maïch loaïi TTL, möùc logic ra coù ñieän aùp: Möùc 0 = 0.8V
Möùc 1 = 3.5V
R1 = [ VCC – (VL + VBE)] / IB B562 = [ 5V – (0.8 + 0.7)] / 1mA = 3.5 KΩ
Choïn R1 = 3.3 KΩ
R2 = (VCC – VBE )/ IB C945 = (5V – 0.7V) / 0.6mA = 7.2 KΩ
Choïn R2 = 10 KΩ
R3 coù taùc duïng haïn doøng qua led traùnh gaây hoûng led
R3 = [VCC – (VCE1 + VCE2 + 2.4)]/ ITransistor
= [5-(0.3+0.3+2.4)]/ 20 = 100Ω.
VIII. Nguyeân Lyù Hoaït Ñoäng Chung:
Giaû söû thueâ bao söû duïng heä tone vaø ñaõ ñöôïc cho pheùp ñaûo cöïc, chaân 1 vaø 2 cuûa
head 7 ñeå hôû ra.
- Khi thueâ bao nhaác maùy tín hieäu töø toång ñaøi ñieän thoaïi göûi vaøo chaân 6 laøm cho
ISO1 hoaëc ISO2 hoaït ñoäng tuøy theo ta choïn ñaàu vaøo laø 5 hay 6 cuûa head 7 laøm
cho 4N351 hoaëc 4N352 hoaït ñoäng thì seõ coù doøng ñieän chaïy qua R4 ñi vaøo
4N351 daãn hay qua R3 thì seõ laøm cho 4N352 daãn.
- Khi 4N352 hoaït ñoäng, ñoàng nghóa vôùi chaân RXD cuûa 8031 xuoáng möùc logic 0.
Chaân TXD vaãn ôû möùc logic 1, chöông trình phaàn meàm seõ hieåu vaø noù seõ taùc
ñoäng theo cheá ñoä ñaûo cöïc. Tín hieäu INTERUP1 töø chaân 13 cuûa 8031 qua R6
phaân cöïc cho Q1 laøm cho 2 tieáp ñieåm rôle ñoùng khi cuoän daây rôle hoaït ñoäng.
- Tín hieäu töông töï töø toång ñaøi ñöa ñeán qua R8 tieáp tuïc qua C7 qua R9 vaø ñeán
chaân ñaûo cöïc –IN cuûa IC MT8870.
+
Ñoà Aùn Moân Hoc II – Leâ Minh Theá – 97ÑT04
Khoa Ñieän – Ñieän Töû 31
- Khi MT8870 nhaän ñöôïc tín hieäu ñaûo cöïc chaân 15 töùc laø STD seõ leân möùc logic
1 vaø laøm cho chaân 12 cuûa vi ñieàu khieån 8031 ngaét T0. Ñoàng thôøi chaân 28 cho
hoaït ñoäng möùc logic 1 coù ñòa chæ 8000, chaân 17 cuûa 8031 laø chaân RD cho pheùp
ñoïc döõ lieäu ôû möùc logic 0.
- Tín hieäu töø chaân 28 qua IC5A thì ôû möùc logic 0 vaø keát hôïp chaân 17 cuûa 8031 ôû
möùc logic 0 qua IC5C thì tín hieäu seõ laø 1, laøm cho chaân TOE cuûa MT8870 taùc
ñoäng.
- Chaân TOE (chaân 10) cuûa MT8870 seõ taùc ñoäng khi ngoû vaøo ôû möùc logic 1 vaø
xuaát ra ôû ngoû ra Q1 ñeán Q4 laø Data seõ ñöa veà CPU ñeå ñieàu khieån boä phaän giaûi
maõ ñòa chæ.
- Ñeå cho khoái giaûi maõ hoaït ñoäng thì phaûi coù xung clock vaøo chaân QA ñeán QH
cuûa IC 741641 vaø QA ñeán QB cuûa IC 741642. Luùc naøy, chaân 16 laø chaân cho pheùp
vieát cuûa 8031 ñang ôû möùc logic 0 neân ngoû ra cuûa IC5B ôû möùc logic 1 töùc laø coù
xung ñi vaøo IC74164 neân cho pheùp chaân A, B göûi veà chaân timer1 cuûa 8031,
CPU xöû lyù cho data ra port 1.
- Khi coù xung clock taùc ñoäng thì ñoàng thôøi caùc chaân QA ñeán QH cuûa IC 741641
vaø QA ñeán QB cuûa IC 741642 cuõng taùc ñoäng vaøo taát caû caùc chaân katot cuûa heä
thoáng 10 led 7 ñoaïn nhaèm taïo cho 10 led 7 ñoaïn saún saøng hoaït ñoäng khi coù taùc
ñoäng cuûa port 1 töø CPU göûi ñeán.
- CPU xöû lyù caùc söï kieän ñöa veà thoâng qua chöông trình quaûn lyù ñöa veà
EPROM, vaø RAM ñeå ñöa ra ñòa chæ giaûi maõ thoâng qua 10 led 7 ñoaïn.
Ñoà Aùn Moân Hoc II – Leâ Minh Theá – 97ÑT04
Khoa Ñieän – Ñieän Töû 32
THIEÁT KEÁ CHÖÔNG TRÌNH VI XÖÛ LYÙ
5¤5
I.n GIÔÙI THIEÄU VEÀ CAÙC VUØNG RAM NOÄI TRONG 8051:
- Trong IC vi ñieàu khieån 8051 coù chöùa 128 byte RAM töø ñòa chæ 20H y 7FH. Trong
ñoù caùc byte töø 20H – 7FH duøng cho caùc muïc ñích ñaëc bieät , coøn ñòa chæ töø 30H – 7FH
duøng cho muïc ñích thoâng thöôøng .
- Trong chöông trình ta söû duïng caùc vuøng RAM töø :
n 30H ÷ 4FH: Vuøng laøm vieäc daønh cho thueâ bao thöù 1.
n 50H ÷ 6FH: Vuøng laøm vieäc daønh cho thueâ bao thöù 2.
n Ñòa chæ cuûa EPROM tö ø: 0000H ÷ 0FFFH duøng ñeå löu chöông trình xöû lyù cho 8051.
n Ñòa chæ cuûa RAM töø : 1000H ÷ 13FFH duøng ñeå löu döõ lieäu cho caû 2 maùy.
? Caùc thoâng soá duøng cho keânh 1:
n 30H ÷ 38H :Löu Dial Tone.
n 39H ÷ 3CH :Löu thôøi gian .
n 3DH :Löu möùc cöôùc cuûa cuoäc goïi .
n 3EH ÷ 47H : Löu tröõ tieàn cöôùc cuûa moät cuoäc goïi.
n 48H : Löu taïm thôøi soá Dial Tone nhaän vaøo ñeå xöû lyù .
n 4AH : Löu Flag cho maùy 1.
n 4BH : Löu traïng thaùi cuõ cuûa maùy 1.
? Caùc thoâng soá duøng cho keânh 2 :
n 50 ÷ 58H : Löu Dial Tone
n 59 ÷ 5CH : Löu thôøi gian
n 5DH : Löu möùc cöôùc cuûa cuoäc goïi
n 5E ÷ 67H : Löu giöõ tieàn cöôùc cuûa moät cuoäc goïi
n 68H : Löu taïm thôøi soá Dial Tone nhaän vaøo ñeå xöû lyù .
n 6AH : Löu Flag cho maùy 2.
n 6BH : Löu traïng thaùi cuõ cuûa maùy 2.
II. CAÙC KYÙ HIEÄU SÖÛ DUÏNG TRONG CHÖÔNG TRÌNH :
- Ngoõ ra Delay Steering (STD) cuûa IC MT8870:
+ Khi STD = 1 :MT8870 ñaõ nhaän ñöôïc moät caëp aâm hieäu coù taàn soá keùp vaø ñaõ
chuyeån sang maõ nhò phaân .
+ Khi STD = 0 : Caùc ngoõ ra cuûa Q0 ÷ Q3 cuûa MT8870 ôû traïng thaùi toång trôû cao.
- Caùc côø hieäu söû duïng trong chöông trình :
+ Flag = 0 : Thueâ bao ñang gaùc maùy .
Ñoà Aùn Moân Hoc II – Leâ Minh Theá – 97ÑT04
Khoa Ñieän – Ñieän Töû 33
+ Flag = 1 : Thueâ bao nhaác maùy.
+ Flag = 2 : Thueâ bao ñang quay soá .
+ Flag = 3 : Thueâ bao chuaån bò thoâng thoaïi .
+ Flag = 4 : Thueâ bao ñang thoâng thoaïi .
+ Flag = 5 : Thueâ bao gaùc maùy hay thueâ bao ñoái phöông gaùc maùy.
+ Flag = 6 : Thueâ bao ñaõ gaùc maùy .
III.K CAÙCH TÍNH THÔØI GIAN :
- Ñeå ñaûm baûo vieäc tính thoài gian moät caùch töông ñoái chính xaùx, ta duøng ngaét
Timer 0, vôùi chu kyø ngaét laø 0,05s .Cöù sau 20 laàn ngaét chöông trình seõ caäp nhaät laïi
thôøi gian moät laàn cho caùc thueâ bao ñang thoâng thoaïi .
IV. LÖU ÑOÀ GIAÛI THUAÄT :
K Löu ñoà chöông trình tính cöôùc :
BEGIN
Ñoà Aùn Moân Hoc II – Leâ Minh Theá – 97ÑT04
Khoa Ñieän – Ñieän Töû 34
Ñoà Aùn Moân Hoc II – Leâ Minh Theá – 97ÑT04
Khoa Ñieän – Ñieän Töû 35
- Chöông trình khi phaùt hieän ñöôïc thueâ bao ñaõ ngöøng thoâng thoaïi seõ tính giaù cöôùc cuûa cuoäc
goïi baèng caùch kieåm tra soá Dial Tone. Neáu soá ñaàu laø 0 chöông trình seõ ñoïc 2 soá tieáp theo
cuûa maõ vuøng ñeå tra vaøo baûng giaù lieân tænh. Ngöôïc laïi neáu laø soá noäi haït thoâng thöôøng (baét
ñaàu baèng soá 8) thì seõ tính cöôùc phí cho cuoäc goïi noäi haït .
nnn GIAÛI THÍCH YÙ TÖÔÛNG PHAÀN MEÀMnnn
m.Ñoïc caùc traïng thaùi:
- Chöông trình seõ queùt lieân tuïc vaø ñoïc vaøo caùc traïng thaùi hieän thôøi cuûa hai maùy ñieän
thoaïi vaø caát vaøo moät byte taïm trong RAM noäi. Neáu phaùt hieän coù tín hieäu nhaác maùy ( NM =
0, DC=1 hay ngöôïc laïi NM =1 ,DC=0) chöông trình seõ chuyeån sang traïng thaùi chôø nhaän soá
ñieän thoaïi nhaán vaøo. Khi phaùt hieän ra STD =1, chöông trình seõ ñoïc tín hieäu quay soá do
DTMF chuyeån ñoåi vaøo . Khi STD = 0 chöông trình seõ ngöng ñoïc DTMF. Ñoàng thôøi luùc naøy
chöông trình seõ kieåm tra coù tín hieäu gaùc maùy hay ñaûo cöïc moät laàn nöõa chöa ? Neáu phaùt
hieän coù söï ñaûo cöïc laàn nöõa treân ñöôøng daây thì chöông trình cho khôûi ñoäng boä Timer baét
ñaàu tính giôø cho maùy ñang goïi .Ngöôïc laïi neáu ñoù laø tín hieäu ñoù laø gaùc maùy thì chöông trình
seõ chuyeån sang traïng thaùi nhaác maùy trong moät laàn tieáp theo.
- Khi ñang thoâng thoaïi , neáu nhö nhaän thaáy coù söï ñaûo cöïc moät laàn nöõa treân ñoâi daây hay laø
gaùc maùy ,chöông trình seõ ngöøng tính thôøi gian cho maùy goïi vaø seõ tính tieàn cöôùc cuûa cuoäc
goïi ,ghi laïi trong RAM ngoaøi vaø hieån thò ra LED giaù tieàn.Sau ñoù neáu trong khoaûng thôøi
gian 45’’ maø khoâng coù cuoäc goïi naøo ñöôïc thieát laäp thì chöông trình seõ ngöøng hieån thò ra
LED ñeå tieát kieäm naêng löôïng vaø baûo veä LED.
- Luùc naøy neáu muoán xem laïi cuoäc goïi ta coù theå nhaán moät phím chöùc naêng .Chöông trình
seõ cho pheùp hieån thò laïi thôøi gian vaø soá Dial Tone. Neáu nhaán tieáp moät laàn nöõa chöông trình
seõ cho pheùp xem laïi giaù cöôùc cuûa cuoäc goïi.
n Caùch ghi cöôùc :
- Ñeå tính cöôùc cuûa cuoäc goïi , ta xeùt soá ñaàu tieân nhaán vaøo.
+ Neáu laø soá 0: Chöông trình seõ kieåm tra 2 soá tieáp theo .Neáu laø soá thöù 2 laø soá 8, chöông
trình seõ tính cöôùc lieân tænh döïa vaøo maõ lieân tænh ví duï quay soá (058.831313). Neáu soá thöù 2
laø soá 9, chöông trình seõ tính cöôùc di ñoäng ví duï (090.650823).
+ Neáu khaùc 0: Chöông trình seõ kieåm tra soá goïi noäi haït. Neáu baét ñaàu laø 8 seõ tính cuôùc cho
cuoäc goïi noäi haït .
+ Khi goïi noäi haït thì caên cöù vaøo thôøi gian toång coäng ñeå tính cöôùc cöù moãi ñôn vò thôøi gian
(2 phuùt laøm troøn) seõ tính laø 800 ñoàng , sau ñoù nhaân leân ra soá tieàn cuûa cuoäc goïi.
+ Khi goïi lieân tænh thì chöông trình seõ caên cöù vaøo soá maõ vuøng sai ñoù tra vaøo baûng giaù ñeå tính
+ Khi goïi di ñoäng thì chöông trình seõ caên cöù vaøo soá phuùt goïi ñeå tính cöôùc vì trong heä
thoáng thoâng tin di ñoäng thì khoâng phaân bieät khoaûng caùch .
CHÖÔNG TRÌNH ÑAÕ ÑÖÔÏC DÒCH BAÈNG MSC_51 MACRO ASSEMBLER.
Ñoà Aùn Moân Hoc II – Leâ Minh Theá – 97ÑT04
Khoa Ñieän – Ñieän Töû 36
_MCS-51 MACRO ASSEMBLER CHARGING
DOS 8.0 (038-N) MCS-51 MACRO ASSEMBLER, V2.2
OBJECT MODULE PLACED IN C:\CHARGING.OBJ
ASSEMBLER INVOKED BY: C:\ASM51.EXE C:\CHARGING
LOC OBJ LINE SOURCE
0004 1 COST EQU 4
4000 2 LED EQU 4000H
2000 3 DTMF1 EQU 2000H
3000 4 DTMF2 EQU 3000H
1000 5 RAMAY1 EQU 1000H
1020 6 RAMAY2 EQU 1020H
0000 7 ORG 0000H
0000 020030 8 LJMP START
000B 11 ORG 000BH ;Dia chi ngat cho Timer 0
000B 020326 12 LJMP TIME
0030 15 ORG 0030H
0030 75A882 16 START: MOV IE ,# 82H ;MAIN: 88
0033 758901 17 MOV TMOD, # 01H ; 02H
0036 758C3C 18 MOV TH0,# HIGH(-50000) ;(-30)
0039 758AB0 19 MOV TL0,# LOW(-50000)
003C 7930 20 MOV R1, # 30H
003E 7A3E 21 MOV R2, # 62
0040 770A 22 LOOP_MAIN: MOV @R1, # 0AH
0042 09 23 INC R1
0043 DAFB 24 DJNZ R2, LOOP_MAIN
0045 754A00 25 MOV 4AH, # 00H
0048 756A00 26 MOV 6AH, # 00H
004B 754B03 27 MOV 4BH, # 03H
004E 756B03 28 MOV 6BH, # 03H
0051 753D00 29 MOV 3DH, # 00H
0054 755D00 30 MOV 5DH, # 00H
0057 754CFF 31 MOV 4CH, # 0FFH
005A 754D00 32 MOV 4DH, # 00H
005D 756D00 33 MOV 6DH, # 00H
0060 756CFF 34 MOV 6CH, # 0FFH
0063 757004 35 MOV 70H, # COST
0066 D28C 36 SETB TR0
0068 120076 37 MAIN: LCALL INT_TIME
006B 120118 38 LCALL PROCESSING
006E 1202D8 39 LCALL KEY_PRESS
Ñoà Aùn Moân Hoc II – Leâ Minh Theá – 97ÑT04
Khoa Ñieän – Ñieän Töû 37
0071 120391 40 LCALL DATA_IN
0074 80F2 41 SJMP MAIN
0076 902000 42 INT_TIME: MOV DPTR,# DTMF1
0079 E0 43 MOVX A, @DPTR
007A F548 44 MOV 48H, A
007C 903000 45 MOV DPTR, # DTMF2
007F E0 46 MOVX A, @DPTR
0080 F568 47 MOV 68H, A
0082 12009E 48 LCALL SUBINT_TIME1
0085 902000 49 MOV DPTR, # DTMF1
0088 1200D7 50 LCALL SUBINT_TIME2
008B 791F 51 MOV R1, # 31
008D 7930 52 MOV R1, # 30H
008F 7850 53 MOV R0, # 50H
0091 1201D3 54 LCALL SWAPPED
0094 12009E 55 LCALL SUBINT_TIME1
0097 903000 56 MOV DPTR, # DTMF2
009A 1200D7 57 LCALL SUBINT_TIME2
009D 22 58 RET
009E 784A 59 SUBINT_TIME1: MOV R0,# 4AH
00A0 B60011 60 CJNE @R0,# 00H,TH2
00A3 E548 61 MOV A, 48H
00A5 5403 62 ANL A, # 03H
00A7 B54B03 63 CJNE A, 4BH ,SET1
00AA 0200D6 64 JMP EXIT_INT1
00AD 7601 65 SET1: MOV @R0, # 01H
00AF F54B 66 MOV 4BH, A
00B1 0200D6 67 JMP EXIT_INT1
00B4 B60411 68 TH2: CJNE @R0, # 04H, TH3
00B7 E548 69 MOV A,48H
00B9 5403 70 ANL A,# 03H
00BB B54B03 71 CJNE A, 4BH, SET2
00BE 0200D6 72 JMP EXIT_INT1
00C1 7605 73 SET2: MOV @R0, #05H
00C3 F54B 74 MOV 4BH, A
00C5 0200D6 75 JMP EXIT_INT1
00C8 B6060B 76 TH3: CJNE @R0, # 06H,EXIT_INT1
00CB E548 78 MOV A, 48H
00CD 5403 79 ANL A,# 03H
00CF B54B00 80 CJNE A,4BH,SET3
00D2 7600 81 SET3: MOV @R0, # 00H
Ñoà Aùn Moân Hoc II – Leâ Minh Theá – 97ÑT04
Khoa Ñieän – Ñieän Töû 38
00D4 F54B 82 MOV 4BH, A
00D6 22 83 EXIT_INT1: RET
00D7 784A 84 SUBINT_TIME2: MOV R0, # 4AH
00D9 B80220 85 CJNE R0,# 02H,EXIT_INT2
00DC E548 86 MOV A,48H
00DE 20E218 87 JB ACC.2, READ_DTMF
00E1 5403 88 ANL A, # 03H
00E3 B54B02 89 CJNE A, 4BH,SET4
00E6 8014 90 SJMP EXIT_INT2
00E8 B40307 91 SET4: CJNE A,# 03H, SET5
00EB F54B 92 MOV 4BH, A
00ED 7600 93 MOV @R0,# 00H
00EF 0200FC 94 JMP EXIT_INT2
00F2 F54B 95 SET5: MOV 4BH,A
00F4 7603 96 MOV @R0, #03H
00F6 0200FC 97 JMP EXIT_INT2
00F9 1200FD 98 READ_DTMF: LCALL DICH
00FC 22 99 EXIT_INT2: RET
00FD 7937 100 DICH: MOV R1, # 37H
00FF 7A08 101 MOV R2,# 08D
0101 E0 102 MOVX A, @DPTR
0102 03 103 RR A
0103 03 104 RR A
0104 03 105 RR A
0105 540F 106 ANL A, # 0FH
0107 B40A02 107 CJNE A, # 0AH, DICH_TONE
010A 7400 108 MOV A, # 00H
010C 87F0 109 DICH_TONE: MOV B, @R1 ; SAI SAI DICH_ TONE
010E 09 110 INC R1
010F A7F0 111 MOV @R1, B
0111 19 112 DEC R1
0112 19 113 DEC R1
0113 DAF7 114 DJNZ R2,DICH_TONE
0115 09 115 INC R1
0116 F7 116 MOV @R1, A
0117 22 117 RET
0118 120168 118 PROCESSING: CALL SUBPROCES1
011B 901020 119 MOV DPTR, # RAMAY2
011E 120199 120 CALL SUBPROCES2
0121 7F05 121 MOV R7,# 5
0123 7A0E 122 WAITI: MOV R2,# 0EH
Ñoà Aùn Moân Hoc II – Leâ Minh Theá – 97ÑT04
Khoa Ñieän – Ñieän Töû 39
0125 7950 123 MOV R1,# 50H
0127 C2B4 124 CLR P3.4
0129 1201B7 125 LCALL OUT_LED
012C D2B4 126 SETB P3.4
012E 7A0E 127 MOV R2,# 0EH
0130 7930 128 MOV R1,# 30H
0132 C2B5 129 CLR P3.5
0134 1201B7 130 LCALL OUT_LED
0137 D2B5 131 SETB P3.5
0139 DFE8 132 DJNZ R7, WAITI
013B 7A1F 133 MOV R2, # 31
013D 7930 134 MOV R1, # 30H
013F 7850 135 MOV R0, # 50H
0141 1201D3 136 LCALL SWAPPED
0144 120168 137 CALL SUBPROCES1
0147 901000 138 MOV DPTR, # RAMAY1
014A 120199 139 CALL SUBPROCES2
014D 7F05 140 MOV R7,# 5
014F 7A0E 141 WAIT2: MOV R2,# 0EH
0151 7930 142 MOV R1,# 30H
0153 C2B4 143 CLR P3.4
0155 1201B7 144 LCALL OUT_LED
0158 D2B4 145 SETB P3.4
015A 7A0E 146 MOV R2,# 0EH
015C 7950 147 MOV R1,# 50H
015E C2B5 148 CLR P3.5
0160 1201B7 149 LCALL OUT_LED
0163 D2B5 150 SETB P3.5
0165 DFE8 151 DJNZ R7, WAIT2
0167 22 152 RET
0168 784A 153 SUBPROCES1: MOV R0,# 4AH
016A B60113 154 CJNE @R0,# 01H,C2
016D 7930 155 MOV R1, # 30H
016F 7A09 156 MOV R2, # 09H
0171 1201B1 157 LCALL DEL
0174 7939 158 MOV R1,# 39H
0176 7A05 159 MOV R2, # 05
0178 7600 160 XOA_TG: MOV @R0, # 00H
017A DAFC 161 DJNZ R2, XOA_TG
017C 7602 162 MOV @R0,# 02H
017E 8018 163 SJMP PR1
Ñoà Aùn Moân Hoc II – Leâ Minh Theá – 97ÑT04
Khoa Ñieän – Ñieän Töû 40
0180 B6030B 164 C2: CJNE @R0, # 03H,C3
0183 793E 165 MOV R1,# 3EH
0185 7A09 166 MOV R2, # 09H
0187 1201B1 167 LCALL DEL
018A 7604 168 MOV @R0,# 04H
018C 800A 169 SJMP PR1
018E B60507 170 C3: CJNE @R0,# 05H,PR1
0191 783E 171 MOV R0,# 3EH
0193 793C 172 MOV R1,# 3CH
0195 12021E 173 LCALL POST_AGE
0198 22 174 PR1: RET
0199 784A 175 SUBPROCES2: MOV R0,# 4AH
019B B80512 176 CJNE R0,# 05H,EXIT_P02
019E 1201C8 177 LCALL WRITE
01A1 7930 178 MOV R1,# 30H
01A3 783E 179 MOV R0,# 3EH
01A5 7A1F 180 MOV R2,# 31
01A7 1201D3 181 LCALL SWAPPED
01AA 754A06 182 MOV 4AH,# 06H
01AD 754CFF 183 MOV 4CH,# 0FFH
01B0 22 184 EXIT_P02: RET
01B1 770A 185 DEL: MOV @R1,# 0AH
01B3 09 186 INC R1
01B4 DAFB 187 DJNZ R2, DEL
01B6 22 188 RET
01B7 7400 189 OUT_LED: MOV A,# 00H
01B9 47 190 OUT_PUT: ORL A, @R1
01BA F590 191 MOV P1,A
01BC 7CFF 192 MOV R4,# 0FFH
01BE DCFE 193 DJNZ R4, $
01C0 54F0 194 ANL A,# 0F0H
01C2 2410 195 ADD A,# 10H
01C4 09 196 INC R1
01C5 DAF2 197 DJNZ R2, OUT_PUT
01C7 22 198 RET
01C8 7930 199 WRITE: MOV R1,# 30H
01CA 7A18 200 MOV R2,# 18H
01CC E7 201 WRT: MOV A, @R1
01CD F0 202 MOVX @DPTR, A
01CE 09 203 INC R1
01CF A3 204 INC DPTR
Ñoà Aùn Moân Hoc II – Leâ Minh Theá – 97ÑT04
Khoa Ñieän – Ñieän Töû 41
01D0 DAFA 205 DJNZ R2,WRT
01D2 22 206 RET
01D3 E6 207 SWAPPED: MOV A, @R0
01D4 87F0 208 MOV B, @R1
01D6 A6F0 209 MOV@R0, B
01D8 F7 210 MOV @R1, A
01D9 08 211 INC R0
01DA 09 212 INC R1
01DB DAF6 213 DJNZ R2, SWAPPED
01DD 22 214 RET
01DE 7600 215 BINARY_BCD: MOV @R0,# 00H
01E0 08 216 INC R0
01E1 7600 217 MOV @R0,# 00H
01E3 75F00A 218 MOV B,# 10
01E6 1201FF 219 LCALL DIV_16_8
01E9 08 220 INC R0
01EA A6F0 221 MOV @R0, B
01EC 75F00A 222 MOV B,# 10
01EF 1201FF 223 LCALL DIV_16_8
01F2 08 224 INC R0
01F3 A6F0 225 MOV @R0, B
01F5 75F00A 226 MOV B,# 10
01F8 84 227 DIV AB
01F9 08 228 INC R0
01FA A6F0 229 MOV @R0, B
01FC 08 230 INC R0
01FD F6 231 MOV @R0, A
01FE 22 232 RET
01FF 7A10 233 DIV_16_8: MOV R2,# 16
0201 FB 234 MOV R3, A
0202 E4 235 CLR A
0203 CB 236 DIVIDE: XCH A, R3
0204 C3 237 CLR C
0205 33 238 RLC A
0206 CB 239 XCH A, R3
0207 C9 240 XCH A, R1
0208 33 241 RLC A
0209 C9 242 XCH A, R1
020A 33 243 RLC A
020B B5F002 244 CJNE A,B,NOT_EQUAL
020E 8002 245 SJMP A_EQ_B
Ñoà Aùn Moân Hoc II – Leâ Minh Theá – 97ÑT04
Khoa Ñieän – Ñieän Töû 42
0210 4006 246 NOT_EQUAL: JC BELOW
0212 95F0 247 A_EQ_B: SUBB A,B
0214 CB 248 XCH A, R3
0215 4401 249 ORL A,# 01
0217 CB 250 XCH A, R3
0218 DAE9 251 BELOW: DJNZ R2, DIVIDE
021A C5F0 252 XCH A,B
021C EB 253 MOV A, R3
021D 22 254 RET
021E E7 255 POST_AGE: MOV A, @R1
021F 75F00A 256 MOV B,# 10D
0222 A4 257 MUL AB
0223 19 258 DEC R1
0224 27 259 ADD A, @R1
0225 FA 260 MOV R2, A
0226 C3 261 CLR C
0227 19 262 DEC R1
0228 19 263 DEC R1
0229 19 264 DEC R1
022A B70024 265 CJNE @R1,# 00H,LOCAL
022D 19 266 DEC R1
022E E7 267 MOV A, @R1
022F 75F00A 268 MOV B,# 10D
0232 A4 269 MUL AB
0233 19 270 DEC R1
0234 27 271 ADD A, @R1
0235 9412 272 SUBB A,# 18
0237 F9 273 MOV R1, A
0238 900262 274 MOV DPTR,# FIRST_T
023B 93 275 MOVC A, @A+DPTR
023C 8570F0 276 MOV B, 70H
023F A4 277 MUL AB
0240 8AF0 278 MOV B, R2
0242 A4 279 MUL AB
0243 29 280 ADD A, R1
0244 C5F0 281 XCH A,B
0246 3400 282 ADDC A,# 00H
0248 C5F0 283 XCH A,B
024A A9F0 284 MOV R1, B
024C 1201DE 285 LCALL BINARY_BCD
024F 8010 286 SJMP EXIT_POST
Ñoà Aùn Moân Hoc II – Leâ Minh Theá – 97ÑT04
Khoa Ñieän – Ñieän Töû 43
0251 19 287 LOCAL: DEC R1
0252 19 288 DEC R1
0253 B7080B 289 CJNE @R1,# 08H,EXIT_POST
0256 EA 290 MOV A, R2
0257 04 291 INC A
0258 8570F0 292 MOV B, 70H
025B A4 293 MUL AB
025C A9F0 294 MOV R1, B
025E 1201DE 295 LCALL BINARY_BCD
0261 22 296 EXIT_POST: RET
0262 0B 297 FIRST_T: DB 11
0263 0D 298 DB 13
0264 0D 299 DB 13
0265 0D 300 DB 13
0266 0B 301 DB 11
0267 0D 302 DB 13
0268 0D 303 DB 13
0269 0D 304 DB 13
026A 0B 305 DB 11
026B 0D 306 DB 13
026C 0B 307 DB 11
026D 0D 308 DB 13
026E 0B 309 DB 11
026F 0D 310 DB 13
0270 0B 311 DB 11
0271 0B 312 DB 11
0272 0B 313 DB 11
0273 0B 314 DB 11
0274 0B 315 DB 11
0275 0B 316 DB 11
0276 0B 317 DB 11
0277 0B 318 DB 11
0278 0B 319 DB 11
0279 0B 320 DB 11
027A 0B 321 DB 11
027B 0B 322 DB 11
027C 0B 323 DB 11
027D 0B 324 DB 11
027E 0B 325 DB 11
027F 0B 326 DB 11
0280 04 327 DB 4
Ñoà Aùn Moân Hoc II – Leâ Minh Theá – 97ÑT04
Khoa Ñieän – Ñieän Töû 44
0281 08 328 DB 8
0282 0B 329 DB 11
0283 08 330 DB 8
0284 08 331 DB 8
0285 08 332 DB 8
0286 06 333 DB 6
0287 06 334 DB 6
0288 06 335 DB 6
0289 06 336 DB 6
028A 06 337 DB 6
028B 03 338 DB 3
028C 04 339 DB 4
028D 04 340 DB 4
028E 0B 341 DB 11
028F 03 342 DB 3
0290 03 343 DB 3
0291 04 344 DB 4
0292 04 345 DB 4
0293 04 346 DB 4
0294 04 347 DB 4
0295 03 348 DB 3
0296 03 349 DB 3
0297 04 350 DB 4
0298 03 351 DB 3
0299 04 352 DB 4
029A 04 353 DB 4
029B 04 354 DB 4
029C 04 355 DB 4
029D 08 356 SECOND_T: DB 8
029E 0A 357 DB 10
029F 0A 358 DB 10
02A0 0A 359 DB 10
02A1 08 360 DB 8
02A2 0A 361 DB 10
02A3 0A 362 DB 10
02A4 0A 363 DB 10
02A5 08 364 DB 8
02A6 0A 365 DB 10
02A7 08 366 DB 8
02A8 0A 367 DB 10
02A9 08 368 DB 8
Ñoà Aùn Moân Hoc II – Leâ Minh Theá – 97ÑT04
Khoa Ñieän – Ñieän Töû 45
02AA 0A 369 DB 10
02AB 08 370 DB 8
02AC 08 371 DB 8
02AD 08 372 DB 8
02AE 08 373 DB 8
02AF 08 374 DB 8
02B0 08 375 DB 8
02B1 08 376 DB 8
02B2 08 377 DB 8
02B3 08 378 DB 8
02B4 08 379 DB 8
02B5 08 380 DB 8
02B6 08 381 DB 8
02B7 08 382 DB 8
02B8 08 383 DB 8
02B9 08 384 DB 8
02BA 08 385 DB 8
02BB 03 386 DB 3
02BC 06 387 DB 6
02BD 08 388 DB 8
02BE 06 389 DB 6
02BF 06 390 DB 6
02C0 06 391 DB 6
02C1 04 392 DB 4
02C2 04 393 DB 4
02C3 04 394 DB 4
02C4 04 395 DB 4
02C5 04 396 DB 4
02C6 02 397 DB 2
02C7 03 398 DB 3
02C8 03 399 DB 3
02C9 08 400 DB 8
02CA 02 401 DB 2
02CB 02 402 DB 2
02CC 03 403 DB 3
02CD 03 404 DB 3
02CE 03 405 DB 3
02CF 03 406 DB 3
02D0 02 407 DB 2
02D1 02 408 DB 2
02D2 03 409 DB 3
Ñoà Aùn Moân Hoc II – Leâ Minh Theá – 97ÑT04
Khoa Ñieän – Ñieän Töû 46
02D3 02 410 DB 2
02D4 03 411 DB 3
02D5 03 412 DB 3
02D6 03 413 DB 3
02D7 03 414 DB 3
02D8 784A 415 KEY_PRESS: MOV R0,# 4AH
02DA B6001D 416 CJNE @R0,# 00H,KEY_MAY2
02DD D2B0 417 SETB P3.0
02DF 20B018 418 JB P3.0, KEY_MAY2
02E2 7830 419 MOV R0,# 30H
02E4 B60A0A 420 CJNE @R0,# 0AH,SW_M1
02E7 7930 421 MOV R1,# 30H
02E9 901000 422 MOV DPTR,# RAMAY1
02EC 12031D 423 LCALL READ
02EF 8009 424 SJMP KEY_MAY2
02F1 7830 425 SW_M1: MOV R0,# 30H
02F3 793E 426 MOV R1,# 3EH
02F5 7A09 427 MOV R2,# 09
02F7 1201D3 428 LCALL SWAPPED
02FA 786A 429 KEY_MAY2: MOV R0,# 6AH
02FC B6001D 430 CJNE @R0,# 00H,EXIT_KEY
02FF D2B1 431 SETB P3.1
0301 20B118 432 JB P3.1, EXIT_KEY
0304 7850 433 MOV R0,# 50H
0306 B60A0A 434 CJNE @R0,# 0AH,SW_M2
0309 7950 435 MOV R1,# 50H
030B 901020 436 MOV DPTR,# RAMAY2
030E 12031D 437 LCALL READ
0311 8009 438 SJMP EXIT_KEY
0313 7850 439 SW_M2: MOV R0,# 50H
0315 795E 440 MOV R1,# 5EH
0317 7A09 441 MOV R2,# 09
0319 1201D3 442 LCALL SWAPPED
031C 22 443 EXIT_KEY: RET
031D 7A18 444 READ: MOV R2,# 18H
031F E0 445 LOOP_READ: MOVX A, @DPTR
0320 F7 446 MOV @R1, A
0321 A3 447 INC DPTR
0322 09 448 INC R1
0323 DAFA 449 DJNZ R2, LOOP_READ
0325 22 450 RET
Ñoà Aùn Moân Hoc II – Leâ Minh Theá – 97ÑT04
Khoa Ñieän – Ñieän Töû 47
0326 C28C 451 TIME: CLR TR0
0328 C28D 452 CLR TF0
032A 758C3C 453 MOV TH0,# HIGH(-50000)
032D 758AB0 454 MOV TL0,# LOW(-50000)
0330 D28C 455 SETB TR0
0332 AE4A 456 MOV R6, 4AH
0334 BE042A 457 CJNE R6,# 04H,T_MAY2
0337 054D 458 INC 4DH
0339 AE4D 459 MOV R6,4DH
033B BE1423 460 CJNE R6,# 20D,T_MAY2
033E 754D00 461 MOV 4DH,# 00H
0341 0539 462 INC 39H
0343 AE39 463 MOV R6, 39H
0345 BE0A19 464 CJNE R6,# 0AH,T_MAY2
0348 753900 465 MOV 39H,# 00H
034B 053A 466 INC 3AH
034D AE3A 467 MOV R6, 3AH
034F BE060F 468 CJNE R6,# 06H,T_MAY2
0352 753A00 469 MOV 3AH,# 00H
0355 053B 470 INC 3BH
0357 AE3C 471 MOV R6, 3CH
0359 BE0A05 472 CJNE R6,# 0AH,T_MAY2
035C 753B00 473 MOV 3BH,# 00H
035F 053C 474 INC 3CH
0361 AE6A 475 T_MAY2: MOV R6, 6AH
0363 BE042A 476 CJNE R6,# 04H,EXIT_TE
0366 056D 477 INC 6DH
0368 AE6D 478 MOV R6, 6DH
036A BE14F4 479 CJNE R6,# 20D,T_MAY2
036D 756D00 480 MOV 6DH,# 00H
0370 0559 481 INC 59H
0372 AE59 482 MOV R6, 59H
0374 BE0A19 483 CJNE R6,# 0AH,EXIT_TE
0377 755900 484 MOV 59H,# 00H
037A 055A 485 INC 5AH
037C AE5A 486 MOV R6, 5AH
037E BE060F 487 CJNE R6,# 06H,EXIT_TE
0381 755A00 488 MOV 5AH,# 00H
0384 055B 489 INC 5BH
0386 AE5C 490 MOV R6, 5CH
0388 BE0A05 491 CJNE R6,# 0AH,EXIT_TE
Ñoà Aùn Moân Hoc II – Leâ Minh Theá – 97ÑT04
Khoa Ñieän – Ñieän Töû 48
038B 755B00 492 MOV 5BH,# 00H
038E 055C 493 INC 5CH
0390 32 494 EXIT_TE: RETI
0391 E54A 495 DATA_IN: MOV A, 4AH
0393 B40062 496 CJNE A,# 00H,EXIT_DATA
0396 E55A 497 MOV A, 5AH
0398 B4005D 498 CJNE A,# 00H,EXIT_DATA
039B D2B3 499 SETB P3.3
039D 20B358 500 JB P3.3,EXIT_DATA;
03A0 7930 501 MOV R1,# 30H
03A2 7A09 502 MOV R2,# 09H
03A4 1201B1 503 LCALL DEL
03A7 753000 504 MOV 30H,# 00H
03AA 753100 505 MOV 31H,# 00H
03AD 857032 506 MOV 32H, 70H
03B0 7F0A 507 ROTATE: MOV R7,# 10
03B2 7A09 508 LOOP_DATA: MOV R2,# 09
03B4 7930 509 MOV R1,# 30H
03B6 C2B4 510 CLR P3.4
03B8 1201B7 511 LCALL OUT_LED
03BB D2B4 512 SETB P3.4
03BD 7A09 513 MOV R2,# 09
03BF 7930 514 MOV R1,# 30H
03C1 C2B5 515 CLR P3.5
03C3 1201B7 516 LCALL OUT_LED
03C6 D2B5 517 SETB P3.5
03C8 DFE8 518 DJNZ R7, LOOP_DATA
03CA D2B0 519 SETB P3.0
03CC 20B00A 520 JB P3.0, H_CHUC
03CF 0532 521 INC 32H
03D1 E532 522 MOV A, 32H
03D3 B50A03 523 CJNE A, 0AH, H_CHUC
03D6 753200 524 MOV 32H,# 00H
03D9 D2B1 525 H_CHUC: SETB P3.1
03DB 20B10A 526 JB P3.1, ENTER
03DE 0531 527 INC 31H
03E0 E531 528 MOV A, 31H
03E2 B50A03 529 CJNE A, 0AH,ENTER
03E5 753100 530 MOV 31H,# 00H
03E8 D2B2 531 ENTER: SETB P3.2
03EA 20B2C3 532 JB P3.2, ROTATE
Ñoà Aùn Moân Hoc II – Leâ Minh Theá – 97ÑT04
Khoa Ñieän – Ñieän Töû 49
03ED 853270 533 MOV 70H,32H
03F0 7930 534 MOV R1,# 30H
03F2 901000 535 MOV DPTR,# RAMAY1
03F5 12031D 536 LCALL READ
03F8 22 537 EXIT_DATA: RET
538 END
REGISTER BANK(S) USED: 0
ASSEMBLY COMPLETE, NO ERRORS FOUND
Các file đính kèm theo tài liệu này:
- thietke_machtichcuoc_dienthoai_6911.pdf