Ngày nay, điều khiển tự động đã trở thành một nhu cầu không thể thiếu được. Dưới sự xuất hiện của nhưng học thuyết và những ứng dụng của đời sống hằng ngày thì điều khiển nó đang chi phối toàn bộ đời sống hằng ngày Điều khiển nhiệt độ chỉ là một ứng dụng nhỏ của điều khiển tự động và nó cũng đã có nhiều ứng dụng trong công nghiệp để điều khiển nhiệt độ ra cho phù hợp với nhiệt độ cần thiết đảm bảo tính chính xác của các khâu.
Đồ án này ra đời nhằm mục đích cải thiện dễ sử dụng với giá thành rẻ, hiệu quả cao.
52 trang |
Chia sẻ: lvcdongnoi | Lượt xem: 2367 | Lượt tải: 2
Bạn đang xem trước 20 trang tài liệu Thiết kế bo mạch điều khiển nhiệt độ, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
nhau, vaø do ñoù treân thò tröôøng cuõng coù
nhieàu loaïi IC bieán ñoåi AD khaùc nhau (caùc phöông phaùp bieán ñoåi cuï theå coù theå tham khaûo ôû
Digital Systems : principles and applications - Ronald J. Tocci - Prentice Hall).
ICL 7109 laø boä bieán ñoåi AD 12 bit, bieán ñoåi theo phöông phaùp tích phaân hai ñoä
doác, coäng vôùi caùc bit chæ cöïc tính, bit baùo quaù thang ño coù theå giao tieáp vôùi µP, µC theo hai
caùch :
a. Gheùp tröïc tieáp vaøo bus : thoâng qua chaân choïn chip, hai chaân cho pheùp xuaát
byte cao, byte thaáp.
b. Gheùp theo chuaån coâng nghieäp UART : ñöôïc öùng duïng trong truyeàn nhaän döõ lieäu
töø xa, ngoõ ra ñöôïc bieán ñoåi vaø ñöa ñeán moät UART trong cheá ñoä baét tay, trao ñoåi
döõ lieäu noái tieáp.
ICL 7109 coù ñoä chính xaùc cao, ñoä troâi nhieät nhoû hôn 1µV/0C. Ñöôïc öùng duïng
trong nhieàu trong nhöõng heä thoáng thu thaäp döõ lieäu do giaù thaønh thaáp, coâng suaát tieâu taùn
vaø doøng phaân cöïc nhoû. Caùc ñaëc ñieåm chuû yeáu nhö sau :
• Pha zero-integrator giuùp khoâi phuïc quaù taûi nhanh.
• Loaïi boû voøng treã vaø nhieãu.
• Caûi tieán khaû naêng laùi bus.
• Ngoõ ra 3 traïng thaùi.
• UART ôû cheá ñoä baét tay ñeå giao tieáp noái tieáp.
• Coù saún nguoàn tham chieáu chuaån.
• 30 laàn bieán ñoåi trong 1 giaây.
• Khoái ñôn, coâng ngheä CMOS coù coâng suaát thaáp
1.Caáu taïo chaân :
25
U٦
icl ٧١٠٩
١
٢
٣
٤
٥
٦
٧
٨
٩
١٠
١١
١٢
١٣
١٤
١٥
١٦
١٧
١٨
١٩
٢٠ ٢١
٢٢
٢٣
٢٥
٢٦
٢٧
٢٨
٢٩
٣٠
٣١
٣٢
٣٣
٣٤
٣٥
٣٦
٣٧
٣٨
٣٩
٤٠
٢٤
GND
STATUS
POL
OR
B١٢
B١١
B١٠
B٩
B٨
B٧
B٦
B٥
B٤
B٣
B٢
B١
TEST
LBEN
HBEN
CE/LOAD MODE
OSC IN
OSC OUT
BUF OSC OUT
RUN/HOLD
SEND
V-
REF OUT
BUF
AZ
INT
COMMON
IN LO
IN HI
REF IN+
REF CAP+
REF CAP-
REF IN-
V+
OSC SEL
Nguyenvanbientbd47@gmail.com
2.Moâ taû chöùc naêng cuûa caùc chaân :
GND : ñaát.
STATUS : ngoõ ra. Khi ôû möùc cao, boä bieán ñoåi ñang ôû trong pha integrate hoaëc pha de-
integrate cho ñeán khi döõ lieäu ñöôïc choát. Khi ôû möùc thaáp, boä bieán ñoåi ñang ôû pha auto-
zero hoaëc de-integrate sau khi döõ lieäu ñöôïc choát.
POL : bit chæ cöïc tính (polarity), neáu ôû möùc cao, chæ ra raèng tín hieäu vaøo laø aùp döông.
OR : bit chæ quaù thang (over-range), neáu ôû möùc cao, chæ ra raèng ngoõ vaøo ñaõ vöôït quaù
giôùi haïn cho pheùp.
B1÷B12 : ngoõ ra ba traïng thaùi, laø caùc bit döõ lieäu töông öùng.
TEST : ngoõ vaøo, khi TEST = 1 thì ADC hoaït ñoäng bình thöôøng, TEST = 0 thì taát caû caùc
bit döõ lieäu ra ñeàu ôû möùc cao, coøn khi khoâng keát noái thì caùc choát ngoõ ra boä ñeäm ñöôïc
cho pheùp. Trong hoaït ñoäng bình thöôøng : noái TEST leân +5v.
LBEN : ôû cheá ñoä tröïc tieáp (MODE = 0 vaø CE/LOAD = 0) thì LBEN laø ngoõ vaøo, khi ôû
möùc tích cöïc seõ cho pheùp xuaát byte thaáp; ôû cheá ñoä baét tay (MODE = 1) thì LBEN laø
ngoõ ra, coù chöùc naêng laø côø byte thaáp.
HBEN : ôû cheá ñoä tröïc tieáp (MODE = 0 vaø CE/LOAD = 0) thì HBEN laø ngoõ vaøo, khi ôû
möùc tích cöïc seõ cho pheùp xuaát byte cao; ôû cheá ñoä baét tay (MODE = 1) thì HBEN laø
ngoõ ra, coù chöùc naêng laø côø byte cao.
CE/LOAD : ôû cheá ñoä tröïc tieáp, laø ngoõ vaøo, khi tích cöïc seõ cho pheùp xuaát ra 12 bit döõ
lieäu B1÷B12, POL, OR neáu LBEN, HBEN tích cöïc. Ôû cheá ñoä baét tay, laø ngoõ ra strobe.
MODE : ngoõ vaøo, khi ôû möùc thaáp : ADC hoaït ñoäng ôû cheá ñoä tröïc tieáp, coøn khi ôû möùc
cao : ADC hoaït ñoäng ôû cheá ñoä baét tay.
OSC IN : ngoõ vaøo cuûa boä dao ñoäng.
OSC OUT : ngoõ ra cuûa boä dao ñoäng.
OSC SEL : ngoõ vaøo, duøng ñeå choïn boä dao ñoäng. ICL 7109 coù moät boä dao ñoäng vôùi 3
ngoõ, noù coù theå hoaït ñoäng vôùi boä dao ñoäng RC hay dao ñoäng thaïch anh, cuõng coù theå
hoaït ñoäng vôùi nguoàn xung clock beân ngoaøi.
Neáu chaân OSC SEL ñeå hôû (coù pullup keùo leân) hay noái vôùi möùc cao thì xung clock seõ laáy
töø boä dao ñoäng RC beân ngoaøi. Khi ñoù, xung clock seõ cuøng pha, cuøng taàn soá vôùi tín hieäu
treân chaân BUF OSC OUT vaø taàn soá xung clock tính theo coâng thöùc :
RC
f 45.0=
Ñieän trôû neân choïn laø 100K, tuï choïn sao cho khoaûng thôøi gian cuûa 2048 chu kyø xung
clock gaàn vôùi moät boäi soá tích phaân cuûa 50Hz ñeå loaïi tröø nhieãu 50Hz, nhöng khoâng
neân nhoû hôn 50pF.
Neáu chaân OSC SEL ñöôïc keùo xuoáng möùc thaáp thì xung clock laáy töø dao ñoäng thaïch anh
beân ngoaøi coù taàn soá töø 1MHz ñeán 5MHz. Taàn soá xung clock beân trong khi ñoù seõ baèng
taàn soá cuûa tín hieäu treân chaân BUF OSC OUT chia cho 58.
BUF OSC OUT : ngoõ ra cuûa boä dao ñoäng ñöôïc ñeäm, tieän duïng laøm nguoàn xung clock cho
caùc IC khaùc.
RUN/HOLD : sau khi pha autozero hoaøn taát trong khoaûn thôøi gian nhoû nhaát, caàn coù moät
xung leân cao ít nhaát 200ns taùc ñoäng vaøo chaân RUN/HOLD ñeå baét ñaàu moät quaù trình
bieán ñoåi. Tuy nhieân caàn chuù yù raèng neáu coù baát kyø xung naøo xuaát hieän trong quaù trình
26
Nguyenvanbientbd47@gmail.com
bieán ñoåi hay trong voøng 2048 chu kyø xung clock sau khi chaân STATUS xuoáng thaáp seõ
bò boû qua. Neáu ICL 7109 ñang ôû vaøo thôøi ñieåm keát thuùc pha autozero, moät quaù trình
bieán ñoåi seõ ñöôïc baét ñaàu vaø chaân STATUS seõ leân cao trong voøng 7 chu kyø xung clock
sau khi RUN/HOLD leân cao.
Theâm vaøo ñoù, ñeå baét ñaàu vaø keát thuùc moät quaù trình bieán ñoåi, chaân naøy cuõng coù theå
ñöôïc söû duïng ñeå cöïc tieåu thôøi gian bieán ñoåi. Bôûi vì moät quaù trình bieán ñoåi bình thöôøng
seõ toán maát 8192 chu kyø xung clock, trong ñoù rieâng pha de-integrate ñaõ laáy maát 4096
chu kyø xung clock vaø ñoäc laäp vôùi ñieän aùp vaøo. Nhöng neáu sau khi STATUS xuoáng thaáp,
RUN/HOLD xuoáng thaáp theo thì ICL 7109 seõ nhaûy töùc thôøi ñeán pha autozero hôn laø
phaûi maát toaøn boä 4096 chu kyø xung clock cho pha de-integrate.
SEND : ngoõ vaøo, baùo hieäu raèng thieát bò beân ngoaøi ñaõ chaáp nhaän döõ lieäu khi ADC hoaït
ñoäng ôû cheá ñoä baét tay. Noái leân +5v neáu khoâng söû duïng.
V- : nguoàn aâm cho ICL 7109, thöôøng noái ñeán -5v.
REF OUT : ngoõ ra ñieän aùp tham chieáu, thöôøng nhoû hôn V+ laø 2,8v.
BUF : ngoõ ra boä khueách ñaïi ñeäm.
AZ : ñöôïc noái ñeán tuï CAZ.
INT : ñöôïc noái ñeán tuï CINT.
COMMON : chaân chung cuûa tín hieäu töông töï.
IN LO : cöïc aâm cuûa ñieän aùp vaøo vi sai.
IN HI : cöïc döông cuûa ñieän aùp vaøo vi sai.
REF IN+ : ngoõ vaøo döông cuûa ñieän aùp tham chieáu.
REF CAP+ : cöïc döông cuûa tuï tham chieáu.
REF CAP- : cöïc aâm cuûa tuï tham chieáu.
REF IN- : ngoõ vaøo aâm cuûa ñieän aùp tham chieáu.
V+ : Vcc (5v).
3.Quaù trình bieán ñoåi AD :
Quaù trình bieán ñoåi AD cuûa ICL 7109 ñöôïc chia laøm 4 pha nhö sau :
27
Nguyenvanbientbd47@gmail.com
Autozero : coù 3 söï kieän xaûy ra trong thôøi gian naøy. Caùc ngoõ vaøo IN LO vaø IN HI khoâng
ñöôïc noái ñeán tín hieäu beân ngoaøi maø noái taét ñeán chaân COMMON. Tuï tham chieáu ñöôïc naïp
ñeán ñieän aùp tham chieáu. Vaø sau ñoù laø moät voøng hoài tieáp ñöôïc noái voøng qua heä thoáng ñeå
ñeå naïp tuï CAZ nhaèm buø vôùi ñieän aùp leäch trong boä so saùnh, boä khueách ñaïi ñeäm vaø boä
laáy tích phaân. Nhieãu voán coù trong heä thoáng seõ quyeát ñònh ñoä chính xaùc cuûa pha naøy,
nhöng ñoä leäch ngoõ vaøo luoân nhoû hôn 10µV.
Signal Integrate : caùc ngoõ vaøo IN LO vaø IN HI ñöôïc noái ñeán tín hieäu beân ngoaøi (noái taét
beân trong khoâng coøn vaø voøng hoài tieáp ñöôïc ñeå hôû ra). Khi ñoù boä bieán ñoåi seõ laáy tích
phaân ñieän aùp vi sai giöõa IN HI vaø IN LO trong moät khoaûng thôøi gian nhaát ñònh laø
2048 chu kyø xung clock. Chuù yù raèng ñieän aùp vi sai phaûi naèm trong taàm cuûa ngoõ vaøo
vaø cöïc tính cuûa tín hieäu ñöôïc xaùc ñònh ôû cuoái pha naøy.
De-Integrate : ngoõ IN HI vaø IN LO laïi ngaét khoûi tín hieäu beân ngoaøi. Thay vaøo ñoù, IN HI
ñöôïc noái ñeán tuï tham chieáu (ñaõ naïp ñieän aùp tham chieáu) vaø IN LO ñöôïc noái ñeán
COMMON. Maïch seõ töï ñoäng xaùc ñònh cöïc tính cuûa ñieän aùp vi sai ñeå suy ra IN HI phaûi
noái ñeán cöïc naøo cuûa tuï tham chieáu sao cho ngoõ ra cuûa boä tích phaân traû veà möùc zero (ñaõ
thieát laäp trong pha autozero) vôùi moät ñoä doác coá ñònh. Do ñoù thôøi gian caàn thieát ñeå ngoõ
ra naøy traû veà zero seõ tyû leä vôùi tín hieäu aùp vaøo.
Zero Integrate : IN LO ñöôïc noái ñeán COMMON vaø tuï tham chieáu ñöôïc naïp ñeán ñieän aùp
tham chieáu. Voøng hoài tieáp ñöôïc noái quanh heä thoáng ñeán IN HI ñeå xaû ngoõ ra veà zero moät
caùch nhanh choùng. Pha naøy thöôøng laáy maát töø 16 ñeán 32 chu kyø xung clock nhöng coù
theå leân ñeán 1552 xung clock neáu coù xaûy ra quaù thang ño.
Nhieäm vuï cuûa pha naøy laø laáy ñi baát kyø ñieän aùp naøo coøn soùt laïi treân tuï tích phaân sau khi
coù quaù taûi cuõng nhö loaïi boû nhieãu giöõa caùc keânh khaùc nhau cuûa ICL 7109.
4.Löïa choïn caùc giaù trò :
Ñieän trôû tích phaân (RINT) : trôû tích phaân phaûi coù giaù trò ñuû nhoû ñeå traùnh söï roø ræ khoâng
mong muoán, nhöng cuõng phaûi ñuû lôùn ñeå giöõ cho doøng ngoõ ra khoâng vöôït quaù 40µA.
giaù trò toái öu laø 100K khi ngoõ vaøo toaøn taàm laø 2,048V vaø 20K khi ngoõ vaøo toaøn
taàm laø 409,6mV. Vôùi giaù trò ñieän aùp toaøn taàm khaùc, coù theå choïn R INT theo coâng thöùc
sau :
][
)(20
)( Ω= K
V
mVV
R FSINT µ
Tuï tích phaân (CINT) : neân choïn sao cho bieân ñoä aùp ra cöïc ñaïi khoâng bò baõo hoøa, thöôøng
laø 0.15µF khi taàn soá xung clock laø 61,44KHz. Neáu taàn soá xung clock coù giaù trò khaùc
thì CINT ñöôïc tính theo coâng thöùc :
][
)(______
)20).(2048( F
Vphantichboraapdobien
AfC INT µ
µ
=
Ñeå ngaên ngöøa sai soá voøng vaø sai soá tuyeán tính, neân choïn tuï coù dung moâi haáp tuï thaáp.
Tuï autozero (CAZ) : giaù trò cuûa C AZ naèm trong khoaûng töø 2 ñeán 4 laàn giaù trò cuûa C INT, lôùn
hôn seõ laøm cho maát nhieàu thôøi gian naïp, coøn nhoû hôn thì laïi gia taêng nhieãu trong voøng
autozero.
Tuï tham chieáu : giaù trò laø 1µF cho haàu heát caùc öùng duïng.
28
Nguyenvanbientbd47@gmail.com
Aùp tham chieáu : moät tín hieäu vaøo Vin = 2.VRef seõ taïo ôû ngoõ ra moät giaù trò ñaày thang sau
4096 laàn ñeám. Thöôøng söû duïng 204,8mV cho giaù trò toaøn taàm laø 409,6mV
(100µV/LSB) vaø 1,024V cho giaù trò toaøn taàm laø 2,048V (500µV/LSB).
5.Giao tieáp tröïc tieáp vôùi ICL 7109 :
CE/LOAD LBEN HBEN B1÷B8 B9÷B12, OR, POL
1
0
0
0
0
X
1
0
1
0
X
1
1
0
0
Hi-Z
Hi-Z
Data Out
Hi-Z
Data Out
Hi-Z
Hi-Z
Hi-Z
Data Out
Data Out
Thoâng tin chi tieát hôn veà ICL 7109 coù theå load veà töø ñòa chæ
209.1.238.250/arpdf/1354.pdf
IV.Chuaån RS-232-C :
Trong kyõ thuaät truyeàn döõ lieäu giöõa caùc heä thoáng vôùi nhau, ngöôøi ta coù theå phaân loaïi
2 caùch truyeàn : song song hay noái tieáp. Nhöng do caùch truyeàn song song raát deã bò nhieãu taùc
ñoäng neân khoâng theå truyeàn ñi xa ñöôïc, do ñoù cuõng ít ñöôïc söû duïng. Truyeàn noái tieáp cuõng coù
2 loaïi : ñoàng boä hay khoâng ñoàng boä. Trong caùch truyeàn ñoàng boä, daõy kyù töï ñöôïc truyeàn seõ
keøm theo kyù töï ñoàng boä laø SYN (maõ ASCII laø 22). Phöông thöùc naøy cho toác ñoä truyeàn khaù
cao nhöng do maïch xöû lyù truyeàn vaø nhaän (bao goàm maïch theâm kyù töï ñoàng boä, phaùt hieän
vaø baùo sai…) khaù phöùc taïp neân chæ duøng trong caùc öùng duïng coù yeâu caàu cao veà toác ñoä
truyeàn. Coøn trong caùc öùng duïng thoâng thöôøng, nhaát laø caùc öùng duïng trong lónh vöïc ñieàu
khieån töï ñoäng, thì khoâng coù yeâu caàu veà toác ñoä maø yeâu caàu veà ñoä tin caäy nhöng maïch thöïc
hieän ñôn giaûn, reû tieàn. Khi ñoù, caùch truyeàn khoâng ñoàng boä raát phuø hôïp. Theo caùch truyeàn
naøy thì caùc kyù töï ñöôïc truyeàn rieâng reõ, phaân laøm töøng frame coù bit baét ñaàu, caùc bit döõ lieäu
cuûa kyù töï caàn truyeàn, bit chaün leûõ (ñeå kieåm tra loãi ñöôøng truyeàn), vaø caùc bit keát thuùc.
Chuaån RS-232-C (do EIA ñöa ra) laø moät trong nhöõng phöông thöùc truyeàn noái tieáp
khoâng ñoàng boä. Theo chuaån naøy thì vieäc truyeàn thoâng ñöôïc thöïc hieän ngay taïi choã baèng
caùch truyeàn vaø nhaän moät chuoãi caùc xung ñieän aùp lieân tuïc töông öùng vôùi caùc bit. Döõ lieäu ôû
möùc TTL ñöôïc bieán ñoåi sang caùc möùc ñieän aùp nhö sau : möùc 1 laø töø -3V ñeán -15V (tieâu
chuaån laø -12V), vaø möùc 0 laø töø +3V ñeán +15V (tieâu chuaån laø +12V).
Ta thaáy raèng vieäc truyeàn vaø nhaän caùc möùc ñieän aùp nhö vaäy ñöôïc thöïc hieän raát ñôn
giaûn. Chính vì vaäy maø chuaån RS-232-C ñaõ trôû thaønh giao dieän phoå bieán roäng raõi nhaát, ñöôïc
trang bò haàu heát treân caùc maùy tính nhö laø moät trong nhöõng thaønh phaàn caáu thaønh neân heä
thoáng.
Caùc thuaät ngöõ coù lieân quan ñeán giao thöùc truyeàn thoâng RS-232-C :
• Chu kyø truyeàn döõ lieäu : toác ñoä truyeàn döõ lieäu ñöôïc tính baèng bit/giaây, nhöng ñeå
phaân bieät vôùi caùch truyeàn ñoàng boä, ngöôøi ta söû duïng ñôn vò baud (töông öùng
bit/giaây trong thôøi gian coù döõ lieäu truyeàn) ñeå töôûng nhôù ñeán nhaø phaùt minh vaø
khoa hoïc Phaùp theá kyû 19 laø J. M. E. Baudot .
• Traïng thaùi ñaùnh daáu : laø khoaûng thôøi gian khoâng coù döõ lieäu truyeàn. Trong suoát thôøi
gian naøy, thieát bò phaùt seõ giöõ ñöôøng truyeàn ôû möùc cao.
• Bit baét ñaàu : moät bit thaáp cho bieát vieäc truyeàn döõ lieäu seõ baét ñaàu.
29
Nguyenvanbientbd47@gmail.com
• Caùc bit kyù töï : laø doøng döõ lieäu goàm 5, 6, 7, hay 8 bit maõ hoùa kyù töï ñöôïc truyeàn.
Bit coù troïng soá thaáp nhaát (LSB) laø bit ñaàu tieân ñöôïc truyeàn.
• Bit chaün leû : laø moät bit tuøy choïn (coù theå coù hay khoâng), ñöôïc phaùt ñi sau caùc bit kyù
töï duøng ñeå kieåm tra caùc loãi truyeàn döõ lieäu. Trong cheá ñoä kieåm tra tính chaün, thieát bò
phaùt seõ baät 1 hay xoùa veà 0 bit chaün leû ñeå tính toång caùc bit 1 cuûa kyù töï ñöôïc
truyeàn vaø bit chaün leû laø moät soá chaün. Coøn trong cheá ñoä kieåm tra tính leû, bit chaün leû
thöïc hieän tính toång caùc bit 1 phaûi laø moät soá leû.
• Caùc bit keát thuùc : moät hay nhieàu bit cao ñöôïc cheøn trong doøng truyeàn ñeå baùo vieäc
keát thuùc truyeàn moät kyù töï, cuõng nhö cho thieát bò nhaän coù ñuû thôøi gian chuaån bò ñeå
saún saøng cho vieäc nhaän kyù töï keá tieáp.
Hình thí duï veà moät kyù töï ñöôïc truyeàn theo frame goàm : 1 bit baét ñaàu, 8 bit döõ lieäu, 1
bit chaün leû, 1 bit keát thuùc.
Trong giao thöùc RS-232-C, caùc tham soá truyeàn vaø nhaän ñöôïc choïn töø moät mieàn caùc
giaù trò chuaån. Sau ñaây laø caùc thoâng soá phoå bieán nhaát trong caùc maùy vi tính IBM :
• Toác ñoä truyeàn : 50, 110, 300, 600, 1200, 2400, 4800, 9600, 19200.
• Bit döõ lieäu : 5, 6, 7, hay 8.
• Bit chaün leû : chaün, leû, khoâng kieåm tra.
• Bit keát thuùc : 1, 1,5 hay 2.
Caùc ñaàu noái :
Theo chuaån RS-232-C, ñaàu noái phaàn cöùng xaùc ñònh vôùi 25 chaân, goïi laø chaân caém
D-Shell hay DB-25. Nhöng khoâng phaûi taát caû coång noái tieáp ñeàu söû duïng ñaàu noái DB-25.
Moät soá maùy tính nhö PCjr duøng chaân caém BERG 16 chaân, maùy PC AT thì söû duïng chaân
caém D-Shell 9 chaân.
Caùc ñaàu noái thoâng duïng treân maùy tính
30
-12V
+12V 1 0 0 0 0 0 01 1 1 1 1 1 1 1 1
Bit chaün leû (tuøy choïn)
Bit keát thuùc
Traïng thaùi ñaùnh daáu
Bit thaáp
tröôùc
Bit cao
sau
8 bit döõ lieäu
11001001
B
Bit baét ñaàu (möùc 0)
Traïng thaùi ñaùnh daáu (möùc 1)
١ ١٣
١٤ ٢٥
١ ٥
٦ ٩
A١ A٨
B١ B٨
DB-٢٥ DB-٩ -pin BERG١٦
Nguyenvanbientbd47@gmail.com
Ñaàu noái
DB-25 DB-9 BERG Chöùc naêng Teân Höôùng
1 B2 Ñaát GND
2 3 A4 Truyeàn döõ lieäu TXD Xuaát
3 2 A8 Nhaän döõ lieäu RXD Nhaäp
4 7 A3 Yeâu caàu göûi RTS Xuaát
5 8 A7 Xoùa vieäc göûi CTS Nhaäp
6 6 A6 Döõ lieäu saün saøng DSR Nhaäp
7 5 B1 Noái ñaát voû maùy GND
8 1 A5 Doø soùng mang DCD
20 4 A2 Terminal saün saøng DTR Xuaát
22 9 Boä chæ thò voøng RI Nhaäp
V.MAXIM 232 vaø hoï IC duøng cho bieán ñoåi TTL ⇔ RS-232-C :
Hoï IC töø MAX220-MAX249 ñöôïc saûn xuaát cho truyeàn thoâng EIA/TIA-232E vaø
V.28/V.24, cuï theå laø cho nhöõng öùng duïng maø khoâng coù saün ñieän aùp ±12V. Hoï IC naøy ñaëc
bieät thích hôïp cho nhöõng heä thoáng duøng pin coù coâng suaát thaáp, do chuùng coù cheá ñoä haï
nguoàn laøm giaûm coâng suaát tieâu taùn xuoáng döôùi 5µW. MAX225, MAX233, MAX235,
MAX245-MAX247 khoâng caàn caùc linh kieän phuï beân ngoaøi, ñöôïc duøng cho nhöõng nôi tieát
kieäm khoâng gian.
Caùc ñaëc ñieåm chính :
• Nguoàn cung caáp +5V (MAX231/MAX239 duøng nguoàn +5V vaø +12V).
• Haï nguoàn coâng suaát thaáp nhöng vaãn coù theå nhaän (MAX223/MAX242).
• Hoã trôï chuaãn EIA/TIA-232E vaø V.28
• Nhieàu boä nhaän vaø phaùt.
• Phaùt hieän ñöùt maïch ñöôøng truyeàn (MAX243).
1.Caáu taïo chaân :
31
MAX٢٣٢
١٣
٨
١١
١٠
١
٣
٤
٥
٢
٦
١٢
٩
١٤
٧
١٦
١٥
R١IN
R٢IN
T١IN
T٢IN
C+
C١-
C٢+
C٢-
V+
V-
R١OUT
R٢OUT
T١OUT
T٢OUT
VCC
GND
Nguyenvanbientbd47@gmail.com
2.Sô ñoà khoái :
32
+٥V
+٥V
+٥V
+٥V
٤٠٠K
٤٠٠K
٥K
٥K
+١٠uF
+١٠uF
+١٠uF
+١٠uF
T١
T٢
R١
R٢
GND
١٥
R IN٢
R IN١
T OUT١
T OUT٢
T IN١
T IN٢
R OUT١
R OUT٢
C +١
C -١
C +٢
C -٢
VCC
V+
V-
١٦
١
٣
٤
٥
٢
٦
TTL/CMOS
INPUT
TTL/CMOS
OUTPUT
١١
١٠
١٢
٩
١٤
١٣
٧
٨
RS-٢٣٢
INPUT
RS-٢٣٢
OUTPUT
BIEÁN ÑOÅI ÑIEÄN AÙP
- V ñeán + V١٢ ١٢
Nguyenvanbientbd47@gmail.com
3.Moâ taû chöùc naêng chaân :
Ta thaáy raèng MAX232 caàn coù 4 tuï maéc ngoaøi ñeå bieán ñoåi ñieän aùp töø 0V ñeán 5V
thaønh -12V ñeán +12V phuø hôïp cho truyeàn thoâng theo chuaån RS-232. ngoaøi ra coù 4 boä
khueách ñaïi ñaûo nhaèm chuyeån töø möùc TTL ra chuaån RS-232.
(Treân internet, coù theå load taøi lieäu veà töø ñòa chæ
33
Nguyenvanbientbd47@gmail.com
CHÖÔNG 3 : PHAÀN THIEÁT KEÁ BOARD MAÏCH
I.Caáu truùc toång quaùt :
Board maïch ñöôïc thieát keá nhaèm muïc ñích ñieàu khieån loø nung daân duïng coù coâng
suaát döôùi 3000W. coù theå chia ra laøm 9 khoái nhö sau :
• Khoái xöû lyù trung taâm : vi ñieàu khieån AT89C52.
• Khoái baøn phím :16 phím tieän duïng ñeå nhaäp caùc thoâng soá hoaït ñoäng, chöùc naêng cuûa
töøng phím cuï theå ñöôïc qui ñònh bôûi phaàn meàm ñieàu khieån .
• Khoái caûm bieán vaø gia coâng : duøng caûm bieán nhieät ñoä laø loaïi caëp nhieät ñieän, maïch gia
coâng goàm coù maïch khueách ñaïi, maïch buø nhieät ñoä moâi tröôøng, vaø maïch chænh 0V
khi nhieät ñoä laø 00C.
• Khoái bieán ñoåi AD : ICL 7109 coù khaû naêng bieán ñoåi 12 bit, cung caáp 4096 möùc.
• Khoái coâng suaát : coù khaû naêng ñieàu khieån ñoái töôïng duøng ñieän aùp 220V, 16A (ñaây
laø giaù trò lôùn nhaát).
• Khoái boä nhôù : RAM 8KB.
• Khoái hieån thò : 5 led 7 ñoaïn coù khaû naêng hieån thò traïng thaùi cuûa heä thoáng cho
ngöôøi duøng.
• Khoái giao tieáp vôùi maùy tính : duøng MAX232, coù theå giao tieáp vôùi maùy tính trong
cheá ñoä baét tay hay khoâng.
• Khoái nguoàn backup : cung caáp nguoàn nuoâi cho RAM khi maát ñieän nhaèm muïc ñích
baûo toaøn döõ lieäu.
(Ngoaøi ra coøn coù theå keå theâm khoái giaûi maõ ñòa chæ cho caùc vuøng nhôù trong maïch, nhöng
ñöùng veà phöông dieän ngöôøi duøng thì noù khoâng coù yù nghóa).
Sô ñoà khoái moâ taû board maïch
II.Khoái xöû lyù trung taâm :
34
Xöû lyù trung
taâm
Caûm bieán vaø
gia coâng
Bieán ñoåi AD
Khoái baøn
phím
RAM
(8 Kbyte)
Nguoàn
backup
Giao tieáp maùy
tính
Hieån thò
traïng thaùi
Maïch coâng
suaát
Nguyenvanbientbd47@gmail.com
Ñaây laø khoái ñoùng vai troø trung taâm, chòu traùch nhieäm veà taát caû caùc hoaït ñoäng cuûa
maïch. Board maïch cung caáp moät phöông tieän ñeå coù theå ñieàu khieån theo baát cöù phöông
phaùp naøo ñaõ keå treân, mieãn laø coù giaûi thuaät vaø vieát chöông trình naïp cho AT89C52. Sô ñoà
maïch nhö sau :
Ñöùng ôû trung taâm laø vi ñieàu khieån AT89C52. Sôõ dó duøng AT89C52 maø khoâng
duøng caùc IC khaùc trong hoï MCS-51 laø vì IC naøy coù 3 timer 16-bit, phuø hôïp cho hoaït doäng
ñieàu khieån nhö : moät timer cung caáp xung ñeå taïo baudrate cho truyeàn thoâng noái tieáp
RS-232, moät timer ñeám thôøi gian thöïc, moät timer taïo caùc khoaûng thôøi gian treã tieän duïng
cho laäp trình.
• Chaân EA ñöôïc noái ñeán moät jumper cho pheùp tuøy choïn noái leân +5V hay noái xuoáng
ñaát, ñieàu naøy töông öùng vôùi vieäc AT89C52 seõ thöïc thi chöông trình beân trong hay
chöông trình beân ngoaøi.
• Boä dao ñoäng goàm thaïch anh X1 vaø 2 tuï C1, C2 ñöôïc noái ñeán chaân X1 vaø X2.
Xung clock cho caùc hoaït ñoäng beân trong cuûa AT89C52 seõ coù taàn soá baèng taàn soá
cuûa thaïch anh chia cho 12. Thoâng thöôøng, ngöôøi ta hay duøng thaïch anh 12MHz ñeå
taàn soá xung clock laø 1MHz, töông öùng vôùi moät chu kyø maùy toán 1ms ⇒ raát deã taïo
moät timer thôøi gian thöïc chính xaùc. Tuy nhieân trong maïch laïi duøng thaïch anh
11.059MHz laø ñeå taïo baudrate chính xaùc. Hoaït ñoäng taïo baudrate coù theå giaûi thích
nhö sau : ñoái vôùi hoï MCS-51, ngöôøi ta phaûi duøng moät timer (thöôøng laø timer1) vaø
toác ñoä traøn cuûa noù seõ taïo ra baudrate. Khi ñoù, ta coù coâng thöùc sau :
BAUDRATE = TOÁC ÑOÄ TRAØN TIMER1 ÷ 12
Ví duï, giaû söû ta muoán coù toác ñoä 1200 baud thì tính nhö sau :
1200 = toác ñoä traøn timer1 ÷ 12
⇒ toác ñoä traøn timer1 = 1200x32 = 38.4KHz
Neáu thaïch anh coù taàn soá 12MHz thì timer1 ñöôïc clock vôùi taàn soá 1MHz hay
1000KHz. Ñeå coù toác ñoä traøn laø 38.4KHz thì timer1 phaûi traøn sau moãi 1000 ÷
35
+٥V
+٥V +٥V
+٥V
AD٠
AD١
AD٢
AD٣
AD٤
AD٥
AD٦
AD٧
AD٠
AD١
AD٢
AD٣
AD٤
AD٥
AD٦
AD٧
A٨
A٩
A١٠
A١١
A١٢
A١٣
A١٤
A١٥
A٠
A١
A٢
A٣
A٤
A٥
A٦
A٧
/RD
/WR
/PSEN
TXD
RXD
S١
S٢
POWER
RUN
/CS٠
/CS٢
/CS٣
/CS٤
/CS٥
/CS٦
/CS٧
/CS١
A١٣
A١٤
A١٥
U١
AT٨٩C٥٢
٣١
١٩
١٨
٩
١٢
١٣
١٤
١٥
١
٢
٣
٤
٥
٦
٧
٨
٣٩
٣٨
٣٧
٣٦
٣٥
٣٤
٣٣
٣٢
٢١
٢٢
٢٣
٢٤
٢٥
٢٦
٢٧
٢٨
١٧
١٦
٢٩
٣٠
١١
١٠
EA/VP
X١
X٢
RESET
INT٠
INT١
T٠
T١
P١.٠
P١.١
P١.٢
P١.٣
P١.٤
P١.٥
P١.٦
P١.٧
P٠.٠
P٠.١
P٠.٢
P٠.٣
P٠.٤
P٠.٥
P٠.٦
P٠.٧
P٢.٠
P٢.١
P٢.٢
P٢.٣
P٢.٤
P٢.٥
P٢.٦
P٢.٧
RD
WR
PSEN
ALE/P
TXD
RXD
U٢
٧٤HCT٥٧٣
٢
٣
٤
٥
٦
٧
٨
٩
١١
١
١٩
١٨
١٧
١٦
١٥
١٤
١٣
١٢
D١
D٢
D٣
D٤
D٥
D٦
D٧
D٨
C
OC
Q١
Q٢
Q٣
Q٤
Q٥
Q٦
Q٧
Q٨
J١
IN/EXT
C٢
٣٠p
C١
٣٠p X١
١١.٠٥٩MHz
R١
١٠٠
R٢
٨.٢K
+ C٣
١٠uF
SW١
RESET
U٣
٧٤LS١٣٨
١
٢
٣
٦
٤
٥
١٥
١٤
١٣
١٢
١١
١٠
٩
٧
A
B
C
G١
G٢A
G٢B
Y٠
Y١
Y٢
Y٣
Y٤
Y٥
Y٦
Y٧
ADDRESS LOW/DATA BUS
ADDRESS BUS
HEXADECIMAL
KEYPAD
Nguyenvanbientbd47@gmail.com
38.4 = 26.04 xung clock (laøm troøn laø 26). Do timer ñeám leân vaø seõ traøn khi
chuyeån töø FFh sang 00h, caàn phaûi naïp soá -26 vaøo timer vaø theá laø baudrate ñöôïc
taïo ra.
Nhö ta ñaõ thaáy, trong pheùp tính treân coù laøm troøn, ñieàu naøy daãn ñeán sai soá trong
baudrate taïo ra. Töø ñoù ta caàn phaûi tìm thaïch anh coù taàn soá sau cho baudrate taïo ra
khoâng coù sai soá ñeå vieäc truyeàn thoâng ñaûm baûo chính xaùc. Qua caùc pheùp tính thì
thaïch anh 11.059MHz cho baudrate raát chính xaùc. Baûng sau seõ cho thaáy söï so
saùnh sai soá khi duøng thaïch anh 12MHz vaø thaïch anh 11.059MHz trong moät soá
baudrate thoâng duïng :
BAUDRATE TAÀN SOÁ THAÏCH ANH SMOD GIAÙ TRÒ NAÏP
BAUDRATE
THÖÏC SÖÏ SAI SOÁ
9600
2400
1200
19200
9600
2400
1200
12.000MHz
12.000MHz
12.000MHz
11.059MHz
11.059MHz
11.059MHz
11.059MHz
1
0
0
1
0
0
0
-7(F9H)
-13(F3H)
-26(E6H)
-3(FDH)
-3(FDH)
-12(F4H)
-24(E8H)
8923
2404
1202
19200
9600
2400
1200
7%
0.16%
0.16%
0
0
0
0
(Neáu SMOD = 1 thì baudrate = toác ñoä traøn timer1 ÷ 16)
• Maïch reset goàm C3, R2 cho taùc vuï auto-reset (reset khi môùi caáp nguoàn). Ngoaøi ra
coøn coù R1 vaø SW1 cho taùc vuï manual-reset (reset baèng tay khi aán phím SW1 baát cöù
khi naøo).
• Chaân P3.2 (INT0) duøng ñeå ñieàu khieån maïch coâng suaát (POWER), khi chaân naøy ôû
möùc 1 thì loø nung ñöôïc caáp ñieän.
• Chaân P3.3 (INT1) taïo tín hieäu khôûi ñoäng boä bieán ñoåi AD (tín hieäu RUN).
• Chaân RXD vaø TXD laø caùc chaân nhaän vaø truyeàn trong truyeàn thoâng noái tieáp. Hôn nöõa
duøng hai chaân P3.4 (T0), P3.5 (T1) cho baét tay (neáu caàn).
• Port1 daønh rieâng cho 16 phím trong khoái baøn phím.
• Do duøng caùc thieát bò ngoaïi vi neân Port0 vaø Port2 duøng trong cheá ñoä ñòa chæ vaø döõ
lieäu : Port0 vöøa laø byte thaáp
cuûa ñòa chæ, vöøa laø byte döõ lieäu
(AD0÷AD7). Port2 laø byte cao
cuûa ñòa chæ (A8÷A15). Ta xem
giaûn ñoà xung sau :
36
ÑÒA CHÆ DÖÕ LIEÄU
A -A٨ ١٥
AD -AD٠ ٧
ALE
ÑÒA CHÆ
CHU KYØ NHÔÙ
Nguyenvanbientbd47@gmail.com
Nhö vaäy, khi truy xuaát döõ lieäu beân ngoaøi thì ñaàu tieân treân Port0 seõ laø byte
thaáp cuûa ñòa chæ, ALE seõ taùc ñoäng caïnh xuoáng khi caùc giaù trò ñaõ oån ñònh ⇒ luùc naøy
caàn moät IC ñeå choát caùc giaù trò naøy laïi thoâng qua taùc ñoäng cuûa ALE ⇒ duøng IC
74HCT573, ALE noái ñeán chaân C. Sau ñoù, giaù trò treân Port0 seõ laø döõ lieäu (nhaäp hay
xuaát tuøy theo read hay write thoâng qua taùc ñoäng cuûa chaân RD hay WR, chaân PSEN
thay theá vai troø cuûa chaân RD khi ñoïc chöông trình ngoaøi). Giaù trò treân Port2 luoân laø
byte cao cuûa ñòa chæ. Sau khi qua IC 74HCT573 laø ta ñaõ coù 8-bit döõ lieäu vaø 16-bit
ñòa chæ.
Baây giôø ta baét ñaàu phaân vuøng ñòa chæ cho caùc thieát bò ngoaïi vi. Tuyeán ñòa chæ
coù 16-bit coù theå ñònh ra vuøng nhôù ñeán 64KB, vaø ta chia ra laøm 8 vuøng 8KB thoâng
qua IC 74LS138 cho caùc thieát bò nhö sau :
Vuøng ñòa chæ Tín hieäu choïn Thieát bò ngoaïi vi
0000H÷1FFFH CS0 RAM 8KB (IC HM6264).
2000H÷3FFFH CS1 AD byte thaáp.
4000H÷5FFFH CS2 AD byte cao.
6000H÷7FFFH CS3 LED 7 ñoaïn haøng ñôn vò.
8000H÷9FFFH CS4 LED 7 ñoaïn haøng chuïc.
A000H÷BFFFH CS5 LED 7 ñoaïn haøng traêm.
C000H÷DFFFH CS6 LED 7 ñoaïn haøng ngaøn.
E000H÷FFFFH CS7 LED 7 ñoaïn haøng chuïc ngaøn.
(Löu yù raèng tín hieäu choïn chip tích cöïc möùc thaáp, tuøy theo thieát bò ngoaïi vi maø
phoái hôïp coång logic cho phuø hôïp).
III.Khoái boä nhôù vaø nguoàn backup :
Boä nhôù duøng RAM 8KB (HM6264) coù hai chöùc naêng : trong quaù trình vieát vaø
chaïy thöû chöông trình, caùch ñôn giaûn vaø kinh teá nhaát laø taûi chöông trình töø maùy tính vaøo
RAM vaø sau ñoù cho vi ñieàu khieån thöïc thi chöông trình treân treân RAM (chöông trình ngoaøi
⇒ EA = 0). Caùch naøy raát thuaän tieän bôûi vì trong quaù trình phaùt trieån moät phaàn meàm,
khoâng bao giôø ngöôøi ta coù theå vieát ñuùng ngay töø laàn vieát chöông trình ñaàu tieân, maø laø moät
quaù trình vieát-kieåm tra-söûa sai vaø coù theå laëp laïi raát nhieàu laàn. Neáu nhö ta naïp chöông trình
tröïc tieáp cho vi ñieàu khieån thì phaûi naïp nhieàu laàn ⇒ toán tieàn vaø aûnh höôûng ñeán tuoåi thoï
cuûa vi ñieàu khieån. Chöùc naêng thöù hai laø moät khi ñieàu khieån thì ta phaûi xöû lyù döõ lieäu, vaø do
ñoù caàn phaûi coù nôi löu tröõ döõ lieäu. Nhö vaäy RAM vöøa laø boä nhôù chöông trình ngoaøi, vöøa laø
boä nhôù döõ lieäu ngoaøi neân tín hieäu choïn RAM laø söï keát hôïp cuûa 3 tín hieäu : tín hieäu choïn
vuøng ñòa chæ (CS0), tín hieäu ñoïc chöông trình ngoaøi (PSEN), vaø tín hieäu ñoïc döõ lieäu ngoaøi
(RD) cho thao taùc ñoïc; hay laø söï keát hôïp cuûa 2 tín hieäu : tín hieäu choïn vuøng ñòa chæ (CS0),
tín hieäu ghi (WR) cho thao taùc ghi.
37
Nguyenvanbientbd47@gmail.com
Moãi khi naïp xong chöông trình cho RAM, ta taét ñieän vaø chuyeån vi ñieàu khieån sang
cheá ñoä ñoïc chöông trình beân ngoaøi laøm daãn ñeán maát chöông trình treân RAM. Hay ñeå löu döõ
lieäu khi maát ñieän ñoät ngoät, ta caàn ñeán 1 nguoàn backup cung caáp ñieän cho RAM. Sô ñoà maïch
nhö sau :
Tín hieäu choïn vuøng CS0 seõ laø tín hieäu choïn chip neân ñöôïc noái ñeán chaân CS1 cuûa
RAM, chaân CS2 cuûa RAM cho noái leân möùc tích cöïc +5V. Tín hieäu ghi WR ñöôïc noái tröïc tieáp
ñeán WE cuûa RAM. Do coù hai tín hieäu ñoïc laø PSEN vaø RD (khoâng coù taùc ñoäng ñoàng thôøi)
neân chuùng ñöôïc noái ñeán coång AND hình thaønh bôûi ñieän trôû R4 vaø hai diode D1, D2.
Diode D3, D4, D5, ñieän trôû R3, pin BT1 (pin saïc 3.6V) taïo neân nguoàn backup. Khi
coù ñieän cung caáp cho maïch thì D4 daãn cung caáp +5V cho RAM, ñoàng thôøi D3 daãn neân pin
ñöôïc saïc ñieän. Khi khoâng coù ñieän nguoàn thì D5 daãn, RAM ñöôïc caáp ñieän 3.6V. Tuï C4 duøng
ñeå choáng xuaát hieän xung nhieãu khi xaûy ra chuyeån nguoàn cung caáp. Diode D3, D4, D5 neân
choïn loaïi germani coù aùp Vγ nhoû, côõ 0.2V.
IV.Khoái caûm bieán vaø gia coâng :
Caûm bieán nhieät duøng caëp nhieät ñieän loaïi K coù ñoä nhaïy laø 40µV/0C, khaù tuyeán tính
trong vuøng töø 00C ÷ 5000C. Maïch gia coâng caàn thöïc hieän 3 chöùc naêng sau : buø nhieät cho
ñaàu töï do, khueách ñaïi, vaø taïo ñieän aùp ra laø 0V khi ño ôû 00C. Ta xeùt maïch sau :
• U5,U6,U7 ñoùng vai troø moät boä ñeäm ñieän aùp lyù töôûng : coù trôû khaùng vaøo raát lôùn vaø
trôû khaùng ra raát nhoû.
• Ñieän aùp ra treân caëp nhieät ñieän :
V3 = S(Td - Ta) = STd - STa
Vôùi : Td laø nhieät ñoä caàn ño.
Ta laø nhieät ñoä moâi tröôøng.
S laø ñoä nhaïy cuûa caëp nhieät ñieän (40µV/0C).
38
+٥V
+٥V
+٥V
/RD
/PSEN
/WR
/CS٠
A٠
A١
A٢
A٣
A٤
A٥
A٦
A٧
A٨
A٩
A١٠
A١١
A١٢
D٠
D١
D٢
D٣
D٤
D٥
D٦
D٧
D٤
١ ٢
D١ ١N٤٠٠٧
١٢
BT١
٣.٦V
D٥
١
+ C٤
١٠uF
D٢ ١N٤٠٠٧
١٢
R٤
٤.٧K
U٤
HM٦٢٦٤A
١٠
٩
٨
٧
٦
٥
٤
٣
٢٥
٢٤
٢١
٢٣
٢
٢٠
٢٦
٢٢
٢٧
١١
١٢
١٣
١٥
١٦
١٧
١٨
١٩
٢٨
١٤
A٠
A١
A٢
A٣
A٤
A٥
A٦
A٧
A٨
A٩
A١٠
A١١
A١٢
CS١
CS٢
OE
WE
D٠
D١
D٢
D٣
D٤
D٥
D٦
D٧
V
C
C
G
N
D
D٣
١ ٢
R٣
٣٣٠
DATA BUS
ADDRESS BUS
Nguyenvanbientbd47@gmail.com
Nhö vaäy laø giaù trò ñieän aùp ra treân caëp nhieät ñieän ngoaøi nhieäm vuï mang thoâng tin
cuûa nhieät ñoä caàn ño coøn bò aûnh höôûng bôûi nhieät ñoä moâi tröôøng.
Ñeå loaïi tröø aûnh höôûng treân, ta caàn phaûi coù moät khoái taïo ra ñieän aùp theo nhieät ñoä
moâi tröôøng nhöng coù daáu ngöôïc laïi ⇒ duøng IC caûm bieán LM335A.
• IC LM335A laø loaïi caûm bieán nhieät ñoä baùn daãn, coù ñoä nhaïy laø 10mV/ 0C. Aùp taïo ra
do LM335A caûm bieán ñöôïc laø :
V2 = KTa [0F] = K(273 + Ta) [0C]
= K.273 + KTa = C + KTa (C = K.273)
vôùi K = 10mV/0C, C = 2.73V
⇒ coù theå trieät tieâu aûnh höôûng cuûa Ta, nhöng laïi taïo ra moät möùc ñieän aùp laø 2.73V
ôû 00C neân caàn phaûi coù moät khoái ñeå tröø 2.73V nhaèm taïo ñieän aùp ñaàu ra laø 0V ôû
00C.
• Bieán trôû R5 chính laø thaønh phaàn buø tröø 2.73V nhö ñaõ noùi ôû treân.
• U8 ñoùng vai troø boä coäng coù khueách ñaïi, ñieän aùp ra cuoái cuøng laø :
( )[ ] 1
10
1113
8
3
129
28//129
10
11131 V
R
RR
R
V
RR
VRRR
R
RRVout
+
−
+
+
+
+
+=
( )[ ] 1
10
1113
88129129
8//129
10
11131 V
R
RR
R
STa
R
STd
RR
KTa
RR
CRRR
R
RRVout
+
−
−+
+
+
+
+
+
+=⇒
Khoâng bò aûnh höôûng cuûa nhieät ñoä moâi tröôøng :
250
40
10
8
1290
8129
===
+
⇒=−
+ V
mV
S
K
R
RR
R
STa
RR
KTa
µ
choïn R8 = 100Ω ⇒ R9 + R12 = 25KΩ ⇒ choïn R9 = 22KΩ vaø R12 laø bieán
trôû 5KΩ. Khi ñoù caàn ñieàu chænh R12 ñeå trieät tieâu Ta.
Trieät tieâu ñieän aùp tónh (2.73V) :
39
-١٢V
+٥V +١٢V
-١٢V
-١٢V
-١٢V
+٥V
+١٢V
+١٢V
+١٢V
R٥
٥٠٠
١
٣
٢
+
-
U٨
OP٠٧
٣
٢
٦
٧ ١
٤ ٨
+
-
U٧
OP٠٧٣
٢
٦
٧ ١
٤ ٨
+
-
U٦
OP٠٧٣
٢
٦
٧ ١
٤ ٨
+
-
U٥
OP٠٧٣
٢
٦
٧ ١
٤ ٨
R٦
٢٠K
١
٣
٢
+ C٥
١٠uF
+
C٦
١٠uF
+
C٧
١٠uF
R٧
٢.٢K
R٨
١٠٠
R٩
٢٢K
R١٠
١K
R١١
٥٦K
R١٢
٥K
R١٣
١٠K
D٦
LM٣٣٥A
١
٣
٢
+
-
CAËP NHIEÄT
ÑIEÄN
Vout
V١
V٢
V٣
Nguyenvanbientbd47@gmail.com
( )[ ] 01
10
1113
129
8//129
10
11131 =+−
+
+
+
+ V
R
RR
RR
CRRR
R
RR
vôùi (R4 + R5)//R8 = (25KΩ)//(100Ω) = 99.6Ω
251
73.2
251
73.21
10
1113:
1
10
1113
25000
73.26.99
10
11131
=
−
+
+
=
+
+⇒
V
R
RRhay
xV
R
RRxx
R
RR
khi ñoù, ñieän aùp ra laø :
( )[ ]
8
8//129
10
11131
R
STdRRR
R
RRVout +
+
+=
ñieän aùp naøy ñöôïc ñöa tröïc tieáp vaøo ADC 12-bit (ICL7109) neân caàn phaûi coù moät
söï töông thích veà ñoä phaân giaûi :
ADC 12-bit coù 4096 möùc.
Ñieän aùp vaøo toái ña = 2.048V
⇒ 1LSB = 2.048/4.096 = 500µV
Ñieàu khieån ñeán 5000C :
⇒ 1LSB = 500/4.096 = 0.1220C
choïn 1LSB = 0.20C
töùc moãi khi taêng 0.20C thì ñieän aùp ra taêng 500µV
( )[ ]
75.61
10
111375.62
10
11131
251
250
8
8//)129(:
500
8
2.08//129
10
11131
=
+
⇒=
+
+⇒
=
+
=+
+
+
R
RR
R
RR
R
RRRdo
V
R
SxRRR
R
RR µ
choïn R10 = 1KΩ ⇒ R13 + R11 = 61.75KΩ
choïn R11 = 56KΩ, R13 laø bieán trôû 10KΩ. Chænh R13 cho ñoä phaân giaûi.
Thay vaøo (1) :
VVVx 011.01
251
73.2
251
73.2175.61 =⇒=
−
choïn R5 laø bieán trôû 500Ω ⇒ caàn chænh R5 ñeå V1 ñaït 0.011V
• Caùc tuï C5, C6, C7 choïn giaù trò 10µF ñeå choáng nhieãu.
V.Khoái bieán ñoåi AD :
Goïi laø moät khoái nhöng thöïc ra chæ caàn ICL7109 laø ñaûm baûo thöïc hieän ñöôïc chöùc
naêng naøy, chæ caàn theâm moät soá linh kieän beân ngoaøi nhö ñieän trôû tích phaân, tuï tích phaân… .
Ta coù sô ñoà maïch nhö sau :
40
(1)
Nguyenvanbientbd47@gmail.com
AD bieán ñoåi 12 bit, coäng theâm 2 bit côø (POL chæ cöïc tính, OR chæ quaù thang) nöõa laø
14 bit, trong khi AT89C52 laø vi ñieàu khieån 8 bit neân caàn phaûi ñoïc 2 laàn : laàn thöù nhaát
ñoïc byte thaáp, laàn thöù hai ñoïc 4 bit cao vaø 2 côø OR, POL. Töø ñoù ta coù caùch maéc caùc bit döõ
lieäu vaøo tuyeán döõ lieäu nhö treân sô ñoà.
Töø ban ñaàu ta ñaõ phaân cho byte cao vaø byte thaáp hai vuøng ñòa chæ khaùc nhau, ñöôïc
choïn baèng hai tín hieäu CS1 vaø CS2, chæ caàn keát hôïp vôùi tín hieäu RD nöõa laø xong. Do tín
hieäu choïn byte thaáp (LBEN) vaø tín hieäu choïn byte cao (HBEN) tích cöïc möùc thaáp neân ta chæ
vieäc keát hôïp RD vôùi CS1 (choïn byte thaáp), hay RD vôùi CS2 (choïn byte cao) qua coång
OR.
Maïch söû duïng nguoàn tham chieáu noäi qua chaân REF OUT cuûa ICL7109, keát hôïp
vôùi bieán trôû R16, ta coù theå choïn ñoä lôùn cuûa ñieän aùp tham chieáu.
VI.Khoái baøn phím :
Coù taát caû 16 phím (SW1 ÷ SW17) ñöôïc maéc theo kieåu ma traän vaøo Port1 cuûa
AT89C52 :
41
+٥V
+٥V
+٥V
D٠
D١
D٢
D٣
D٤
D٥
D٦
D٧
D٠
D١
D٢
D٣
D٤
D٥
/LBEN
/HBEN
RUN
/LBEN
/HBEN
/CS١
/CS٢
/RD
/RD
U٩
ICL٧١٠٩CPL
٣٥
٣٤
٣٣
٣٦
٣٩
٣٧
٣٨
٣١
٢٧
٢١
٢٦
٢٢
٢٣
٢٤
١٨
١٩
٢٠
١٧
١٦
١٥
١٤
١٣
١٢
١١
١٠
٩
٨
٧
٦
٥
٣
٤
٢
٢٥
٢٩
٣٠
٣٢
IN HI
IN LO
COMMON
REF IN+
REF IN-
REF CAP+
REF CAP-
A/Z
SEND
MODE
RUN/HOLD
OSCI
OSCO
OSC SEL
LBEN
HBEN
CE/LOAD
TEST
B١
B٢
B٣
B٤
B٥
B٦
B٧
B٨
B٩
B١٠
B١١
B١٢
POL
OR
STATUS
BUF OSC
REF OUT
BUFF
INTEGR١٤
١٠٠K
C٨
.١٥
C١٠
.٣٣
+
C١١
١uF
R١٥ ١M
C١٢ .٠١
١
١
R١٦
١٠K
١
٣
٢
R١٧
١٥K
X٢ ٣.٥٧٩٥MHz
U١٠A
٧٤LS٣٢
١
٢
٣
U١٠B
٧٤LS٣٢
٤
٥
٦
DATA BUS ANALOG IN
( . V MAX)٢٠٤٨
SW٢ SW٣ SW٤ SW٥
SW٦ SW٧ SW٨ SW٩
SW١٠ SW١١ SW١٢ SW١٣
SW١٤ SW١٥ SW١٦ SW١٧
ÑEÁN
PORT١
٠ ١ ٢ ٣
٤ ٥ ٦ ٧
٨ ٩ A B
C D E F
Nguyenvanbientbd47@gmail.com
Khi aán moät phím thì phaàn meàm chaïy trong AT89C52 (töùc chöông trình naïp cho
noù) seõ traû veà moät giaù trò töø 0 ÷ F tuøy theo vò trí phím nhö hình veõ. Khi ñoù, tuøy theo ngöôøi
laäp trình vaø tuøy theo phöông phaùp ñieàu khieån maø ta seõ gaùn chöùc naêng cho phím.
VII.Khoái hieån thò :
Khoái naøy bao goàm 5 ñeøn LED 7 ñoaïn coù khaû naêng hieån thò caùc thoâng soá vaø traïng
thaùi cuûa board maïch, cuõng nhö hieån thò moät soá thoâng baùo baèng caùc chöõ caùi ñôn giaûn. Sô ñoà
maïch :
Hieån thò LED coù theå söû duïng moät trong hai phöông phaùp : queùt hoaëc laø choát. Ôû ñaây
choïn phöông phaùp choát, tuy raèng troâng khoâng coù veû kinh teá laém (vì moãi LED yeâu caàu moät
IC choát vaø 8 ñieän trôû). Tuy nhieân phöông phaùp naøy laøm cho laëp trình trôû neân deã daøng hôn
(chæ vieäc xuaát giaù trò ra LED ñaõ choïn tröôùc), neân ngöôøi laäp trình taäp trung hôn veà phöông
phaùp vaø giaûi thuaät ñieàu khieån.
Moät khi ghi ra thieát bò ngoaïi vi thì chaân WR seõ coù tín hieäu kích hoaït. Do ñoù, moät
LED ñöôïc choïn vaø nhaän giaù trò khi coù hai tín hieäu : tín hieäu choïn vuøng ñòa chæ vaø tín hieäu
ghi. IC74LS373 coù tín hieäu choát tích cöïc möùc cao, vì vaäy CS vaø WR keát hôïp qua coång
NOR roài ñöa vaøo chaân choát.
VIII.Khoái giao tieáp vôùi maùy tính :
Ña soá caùc thieát bò ngaøy nay ñeàu coù theå giao tieáp vôùi maùy tính vì caùc tính naêng tuyeät
vôøi cuûa maùy tính. Do ñoù, board maïch ñieàu khieån ôû ñaây cuõng ñöôïc trang bò ñeå coù khaû naêng
ñoù. Maëc duø noù cuõng coù yeâu caàu baét buoäc laø naïp chöông trình ñieàu khieån töø maùy tính, nhöng
xa hôn nöõa noù coù theå trao ñoåi vôùi maùy tính veà caùc thoâng soá cuûa quaù trình ñieàu khieån, traïng
thaùi cuûa maïch vaø coù theå ñöôïc ñieàu khieån bôûi maùy tính ….
Sô ñoà maïch giao tieáp duøng MAX232 vaø giao tieáp vôùi maùy tính qua coång noái tieáp
(COM1 ÷ COM4) :
42
LE
D
١
LE
D
٣
LE
D
٤
LE
D
٠
D
٥
D
٢
D
٢
D
٤
D
٤
D
٦
D
٠
D
٥
D
٧
D
٦
D
٣
D
١
D
١
D
٧
D
٧
D
٠
D
٠
D
٠
D
٥
D
٢
D
٢
D
١
D
٠
D
٦
D
٢
D
١
D
٤
D
٣
D
٤
D
٣
D
٥
D
٧
LE
D
٢.
D
٧
D
٥
D
١
D
٣
D
٤
D
٣
D
٦
D
٦
/WR /WR /WR /WR /WR
LED٠LED١LED٢LED٣LED٤
/CS٣/CS٤/CS٥/CS٦/CS٧
٧٤LS٣٧٣
٣ ٤ ٧ ٨ ١٣ ١٤ ١٧ ١٨ ١ ١١
٢ ٥ ٦ ٩ ١٢ ١٥ ١٦ ١٩
D
٠
D
١
D
٢
D
٣
D
٤
D
٥
D
٦
D
٧
O
C
G
Q
٠
Q
١
Q
٢
Q
٣
Q
٤
Q
٥
Q
٦
Q
٧
٧٤LS٣٧٣
٣ ٤ ٧ ٨ ١٣ ١٤ ١٧ ١٨ ١ ١١
٢ ٥ ٦ ٩ ١٢ ١٥ ١٦ ١٩
D
٠
D
١
D
٢
D
٣
D
٤
D
٥
D
٦
D
٧
O
C
G
Q
٠
Q
١
Q
٢
Q
٣
Q
٤
Q
٥
Q
٦
Q
٧
٧٤LS٣٧٣
٣ ٤ ٧ ٨ ١٣ ١٤ ١٧ ١٨ ١ ١١
٢ ٥ ٦ ٩ ١٢ ١٥ ١٦ ١٩
D
٠
D
١
D
٢
D
٣
D
٤
D
٥
D
٦
D
٧
O
C
G
Q
٠
Q
١
Q
٢
Q
٣
Q
٤
Q
٥
Q
٦
Q
٧
٧٤LS٣٧٣
٣ ٤ ٧ ٨ ١٣ ١٤ ١٧ ١٨ ١ ١١
٢ ٥ ٦ ٩ ١٢ ١٥ ١٦ ١٩
D
٠
D
١
D
٢
D
٣
D
٤
D
٥
D
٦
D
٧
O
C
G
Q
٠
Q
١
Q
٢
Q
٣
Q
٤
Q
٥
Q
٦
Q
٧
٧٤LS٣٧٣
٣ ٤ ٧ ٨ ١٣ ١٤ ١٧ ١٨ ١ ١١
٢ ٥ ٦ ٩ ١٢ ١٥ ١٦ ١٩
D
٠
D
١
D
٢
D
٣
D
٤
D
٥
D
٦
D
٧
O
C
G
Q
٠
Q
١
Q
٢
Q
٣
Q
٤
Q
٥
Q
٦
Q
٧
D٠ LED٧
٧ ٦ ٤ ٢ ١ ٩ ١٠ ٥
A B C D E F G H
D١ LED٧
٧ ٦ ٤ ٢ ١ ٩ ١٠ ٥
A B C D E F G H
D٢ LED٧
٧ ٦ ٤ ٢ ١ ٩ ١٠ ٥
A B C D E F G H
D٣ LED٧
٧ ٦ ٤ ٢ ١ ٩ ١٠ ٥
A B C D E F G H
D٤ LED٧
٧ ٦ ٤ ٢ ١ ٩ ١٠ ٥
A B C D E F G H
٧٤LS٠٢ ٧٤LS٠٢ ٧٤LS٠٢ ٧٤LS٠٢ ٧٤LS٠٢
DATA BUS
x٨
٣٣
٠
x٨
٣٣
٠
x٨
٣٣
٠
x٨
٣٣
٠
x٨
٣٣
٠
Nguyenvanbientbd47@gmail.com
Trong pheùp giao tieáp thoâng thöôøng, chæ caàn 3 daây noái : TXD, RXD, GND laø ñaõ ñaûm
baûo cho giao tieáp. Tuy nhieân, trong nhöõng tröôøng hôïp coù yeâu caàu veà thieát laäp quan heä giao
tieáp thì board maïch cuõng coù hoã trôï nhö sau :
• Thieát laäp quan heä baèng phaàn meàm : cuõng chæ caàn 3 daây nhö treân, nhöng phaûi söûa
ñoåi phaàn meàm ñeå göûi cuõng nhö nhaän XON/XOFF (kyù töï 13H vaø kyù töï 17H).
• Thieát laäp quan heä baèng phaán cöùng : luùc naøy caàn theâm hai daây noái RTS/CTS hoaëc
DSR/DTR tuøy theo caùch choïn vaø phaàn meàm qui ñònh. Boad maïch hoã trôï caû hai caùch
choïn treân baèng caùch thieát laäp jumper3x4 vaø naïp cho vi ñieàu khieån phaàn meàm xöû lyù
töông öùng.
IX.Khoái maïch coâng suaát :
Khoái naøy phaûi ñaûm baûo hai yeâu caàu : caùch ly veà ñieän vaø ñoùng ngaét ñaùng tin caäy. Coù
theå duøng relay ñeå ñaûm baûo yeâu caàu caùch ly veà ñieän nhöng laïi xaûy ra tia löûa ñieän khi ñoùng
ngaét coâng suaát lôùn, cuõng nhö ñoä treã töông ñoái lôùn khoâng phuø hôïp cho ñoùng ngaét trong
khoaûng thôøi gian beù. Qua ñoù ta thaáy vieäc duøng opto triac laø hieäu quaû hôn caû.
Ôû ñaây, tín hieäu ñieàu khieån ñöôïc khueách ñaïi doøng qua transitor 2SC828 vaø ñoùng
ngaét opto triac. Do opto triac coù coâng suaát nhoû neân caàn phaûi duøng moät triac coù coâng suaát
lôùn, vaø nguoàn kích triac naøy chính laø opto triac.
43
+٥V
DSR
CTS
DTR
RTS
S١
S٢
RXD
TXD
OUT
RTS
DSR
DTR
IN
CTS
IN
OUT
+
C٣ ١٠uF
+C٢
١٠uF
+C١
١٠uF
+
C٤
١٠uF
SUB-D ٩
٥
٩
٤
٨
٣
٧
٢
٦
١
MAX٢٣٢
١٣
٨
١١
١٠
١
٣
٤
٥
٢
٦
١٢
٩
١٤
٧
R١IN
R٢IN
T١IN
T٢IN
C١+
C١-
C٢+
C٢-
V+
V-
R١OUT
R٢OUT
T١OUT
T٢OUT
JP
١
JU
M
P
E
R
٣X
٤
A
١
A
٢
A
٣
A
٤
B١
B٢
B٣
B٤
C
١
C
٢
C
٣
C
٤
Nguyenvanbientbd47@gmail.com
X.Toång quan :
Treân ñaây ñaõ trình baøy laàn löôït chöùc naêng vaø sô ñoà maïch cuûa töøng khoái. Töø ñoù, ta
coù theå söû duïng board maïch naøy laøm neàn taûng ñeå thieát keá chöông trình vaø cho chaïy treân noù.
Chöông sau seõ cung caáp moät soá chöông trình con gaén lieàn vôùi hoaït ñoäng cuûa töøng khoái.
Ngöôøi vieát chöông trình ñieàu khieån chæ vieäc vieát chöông trình cuûa mình, moãi khi caà nhaän
moät phím hay ñieàu khieån loø nung, hieån thò LED,… chæ vieäc goïi chöông trình con töông öùng.
44
+٥V
POWER
MOC٣٠٢٠
١
٢
٦
٤Q٢
٢SC٨٢٨
R١٨
٣٣٠
R١٩
٢.٢K
R٢٠
٤٧٠
BT١٦
١ ١
LO NUNG
VAC٢٢٠
Nguyenvanbientbd47@gmail.com
CHÖÔNG 4 : CAÙCCHÖÔNG TRÌNH CON PHUÏC VUÏ
Phaàn naøy seõ ñöa ra moät soá chöông trình con phuïc vuï caùc khoái nhö : baøn phím, LED
hieån thò, bieán ñoåi AD …
I.Gaùn ñòa chæ :
Moãi thieát bò ngoaïi vi ñaõ ñöôïc phaân vuøng ñòa chæ nhö trong thieát keá phaàn cöùng, ñoái
vôùi phaàn meàm ta gaùn cho chuùng moät ñòa chæ coá ñòng vaø truy caäp chuùng.
RAM EQU 0000H ;/CS0
ADL EQU 2000H ;/CS1
ADH EQU 4000H ;/CS2
LED0 EQU 6000H ;/CS3
LED1 EQU 8000H ;/CS4
LED2 EQU 0A000H ;/CS5
LED3 EQU 0C000H ;/CS6
LED4 EQU 0E000H ;/CS7
II.Truy xuaát RAM :
Khi chöông trình ñang chaïy laø chöông trình noäi beân trong vi ñieàu khieån thì taùc vuï
treân RAM chæ laø ñoïc vaø ghi döõ lieäu leân RAM. Thoâng qua con troû DPTR vaø leänh MOVX (truy
caäp boä nhôù ngoaøi), ta coù theå ñoïc vaø ghi RAM nhö sau :
MOV DPTR,#xxxxH ;Address pointer (xxxx: 0000 ÷ 1FFF)
MOVX @DPTR,A ;Write RAM
MOVX A,@DPTR ;Read RAM
III.Ñoïc phím aán :
Khoái baøn phím xöû duïng hai chöông trình con IN_HEX vaø GET_KEY. Tuy nhieân veà
maët ngöôøi duøng thì chæ caàn goïi IN_HEX vaø xem maõ noù traû veà maø xaùc ñònh phím naøo ñaõ
ñöôïc aán.
• GET_KEY : queùt haøng vaø coät ñeå xaùc
ñònh xem coù moät phím naøo ñoù ñöôïc aán
khoâng. Neáu khoâng coù phím naøo ñöôïc
aán, noù seõ traû veà côø C = 0. coøn neáu coù
phím aán thì noù traû veà C = 1, vaø maõ
phím (maõ hex) naèm trong 4 bit thaáp
cuûa ACC.
• IN_HEX : chöông trình con coù nhieäm
vuï choáng rung phím, baèng caùch laëp laïi
GET_KEY khoaûng 50 laàn. Neáu nhö
50 laàn ñeàu traû veà C = 1 thì töùc laø coù
moät phím ñöôïc aán, coøn neáu coù moät laàn C = 0 thì ñoù laø rung ñoäng vaø boä ñeám ñöôïc
reset. Sau khi ñaõ phaùt hieän coù phím aán, IN_HEX seõ chôø moät khoaûng thôøi gian töông
öùng 50 laàn goïi GET_KEY ñeå ñaûm baûo raèng khoâng coøn rung cho laàn goïi GET_KEY
keá tieáp.
45
P1.0
P1.1
P1.2
P1.3
P1.4
P1.5
P1.6
P1.7
A
T8
9C
52
0 1 2 3
4 5 6 7
8 9 A B
C D E F
Nguyenvanbientbd47@gmail.com
Giaûi thuaät
46
IN_HEX
Laëp = 50
GET_KEY
C = 1 ?
Giaûm Laëp
Laëp =
Caát maõ phím
Laëp = 50
GET_KEY
C = 0 ?
Giaûm Laëp
Laëp = 0
Phuïc hoài maõ phím
RET
No
Yes
No
Yes
No
Yes
Yes
GET_KEY
Maõ queùt = 11111110B
Coù bit haøng = 0 ?
Giaûm Soá ñeám
Chuyeån maõ haøng veà 4 bit
Soá ñeám =
No Yes
No Yes
Soá ñeám = 4
Xuaát maõ queùt ra port1
Nhaäp port1 vaøo ACC
Xoùa caùc bit coät (4 bit thaáp)
1
Dòch traùi maõ queùt
Soá thöù töï coät = 4 - Soá
Maõ phím = soá thöù töï
Soá ñeám = 4
2
Xoùa côø C = 0
Nguyenvanbientbd47@gmail.com
chöông trình
;***************************************************************
;IN_HEX : nhaäp maõ phím coù choáng rung baèng caùch laëp 50 laàn cho luùc aán vaø *
; 50 laàn cho luùc nhaû. *
;***************************************************************
INHEX: MOV R3,#50 ;soá laàn laëp
BACK: CALL GETKEY ;coù phím aán ?
JNC INHEX ;khoâng, laëp laïi
DJNZ R3,BACK ;coù, laëp 50 laàn
PUSH ACC
BACK2: MOV R3,#50
BACK3: CALL GETKEY ;phím nhaû ?
JC BACK2 ;khoâng, laëp laïi
DJNZ R3,BACK3 ;coù, laëp 50 laàn
POP ACC ;maõ phím trong ACC
RET
47
Dòch MSB cuûa ACC vaøo côø C
1
C = 0 ?
Maõ phím = soá thöù töï coät + 4
Giaûm Soá ñeám
Soá ñeám =
C = 1
Caát maõ phím vaøo ACC
RET
2
No
Yes
No
Nguyenvanbientbd47@gmail.com
;***************************************************************
;GET_KEY : chöông trình ñoïc traïng thaùi phím, traû veà : *
; C = 0 neáu khoâng coù phím aán. *
; C = 1 vaø maõ phím trong ACC neáu coù phím aán. *
;***************************************************************
GETKEY: MOV A,#0FEH ;baét ñaàu ôû coät 0
MOV R6,#4 ;R6 : boä ñeám
TEST: MOV P1,A ;kích hoaït coät
MOV R7,A ;löu ACC
MOV A,P1 ;nhaän traïng thaùi phím
ANL A,#0F0H
CJNE A,#0F0H,KEYHIT ;coù phím aán ⇒ xaùc ñònh phím
MOV A,R7 ;khoâng coù phím aán, qua coät keá
RL A
DJNZ R6,TEST
CLR C ;khoâng coù moät phím naøo aán
JMP EXIT ;thoaùt vôùi C = 0
KEYHIT: MOV R7,A
MOV A,#4 ;tính troïng soá coät
CLR C
SUBB A,R6 ;4 - R6 = troïng soá
MOV R6,A
MOV A,R7
SWAP A
MOV R5,#4
AGAIN: RRC A ;tính maõ phím
JNC DONE
INC R6
INC R6
INC R6
INC R6
DJNZ R5,AGAIN
DONE: SETB C ;C = 1 vaø ACC chöùa maõ phím
MOV A,R6
EXIT: RET
IV.Hieån thò LED :
Vieäc hieån thò LED cuõng gioáng nhö vieäc ghi RAM : thoâng qua con troû DPTR chöùa ñòa
chæ roài duøng leänh MOVX. Chöông trình con sau ñaây cung caáp moät phöông tieän ñeå xuaát ra
LED.
;***************************************************************
;OUTLED : chöông trình con xuaát ra 5 LED 7-ñoaïn. *
;nhaäp vaøo : R0 R1 R2 R3 R4
*
48
Nguyenvanbientbd47@gmail.com
; LED0 LED1 LED2 LED3 LED4 *
;***************************************************************
OUTLED: PUSH DPH
PUSH DPL
PUSH ACC
MOV DPTR,#LED0 ;LED0
MOV A,R0
MOVX @DPTR,A
MOV DPTR,#LED1 ;LED1
MOV A,R1
MOVX @DPTR,A
MOV DPTR,#LED2 ;LED2
MOV A,R2
MOVX @DPTR,A
MOV DPTR,#LED3 ;LED3
MOV A,R3
MOVX @DPTR,A
MOV DPTR,#LED4 ;LED4
MOV A,R4
MOVX @DPTR,A
POP ACC
POP DPL
POP DPH
RET
Baûng sau ñaây seõ cung caáp maõ hieån thò cuûa caùc con soá vaø moät soá chöõ caùi:
Kyùtöï Maõ nhò phaân Hex Kyù töï Maõ nhò phaân Hex Kyù töï Maõ nhò phaân Hex
0 11000000B C0H H. 00001001B 09H i. 01001111B 4FH
1 11111001B F9H I. j. 01110001B 71H
2 10100100B A4H J. 01100001B 61H k.
3 10110000B B0H K. l.
Kyù töï Maõ nhò phaân Hex Kyù töï Maõ nhò phaân Hex Kyù töï Maõ nhò phaân Hex
4 10011001B 99H L. 01000111B 47H m.
5 10010010B 92H M. n. 01001000B 48H
6 10000010B 82H N. o. 00100011B 23H
7 11111000B F8H O. 01000000B 40H p.
8 10000000B 80H P. 00001100B 0CH q. 00011000B 18H
9 10010000B 90H Q. r. 01001100B 4CH
0. 01000000B 40H R. s.
49
c
D٧ D٦ D٥ D٤ D٣ D٢ D١ D٠
h abcdef
h
g
g
f
e
d
b
a
saùng : bit Di = ٠
Nguyenvanbientbd47@gmail.com
1. 01111001B 79H S. 0010010B 12H t. 00000111B 07H
2. 00100100B 24H T. 01001110B 4EH u. 01100011B 63H
3. 00110000B 30H U. 01000001B 41H v. 01100011B 63H
4. 00011001B 19H V. 01000001B 41H w.
5. 00010010B 12H W. x.
6. 00000010B 02H X. y. 00010001B 11H
7. 01111000B 78H Y. 00011001B 19H z.
8. 00000000B 00H Z. 00100100B 24H ! 01111001B 79H
9. 00010000B 10H a 10100000B A0H “ 11011101B DDH
A 10001000B 88H b 10000011B 83H #
B c 10100111B A7H $
C 11000110B C6H d 10100001B A1H %
D e 10000100B 84H &
E 10000110B 86H f ‘ 11111101B FDH
F 10001110B 8EH g 10010000B 90H (
G 11000010B C2H h 10001011B 8BH )
H 10001001B 89H i 11001111B CFH *
I j 11110001B F1H +
J 11100001B E1H k ` 11011111B DFH
K l - 10111111B BFH
L 11000111B C7H m . 01111111B 7FH
M n 11001000B C8H /
N o 10100011B A3H :
O 11000000B C0H p ;
P 10001100B 8CH q 10011000B 98H <
Q r 11001100B CCH >
R s = 10110111B B7H
S 10010010B 92H t 10000111B 87H ? 00101100B 2CH
T 11001110B CEH u 11100011B E3H [ 11000110B C6H
U 11000001B C1H v 11100011B E3H \
V 11000001B C1H w ] 11110000B F0H
W x ^
X y 10010001B 91H _ 11110111B F7H
Y 10011001B 99H z {
Z 10100100B A4H a. 00100000B 20H ~
A. 00001000B 01H b. 00000011B 03H }
B. c. 00100111B A7H @
C. 01000110B 46H d. 00100001B 21H ≡ 10110110B B6H
D. e. 00000100B 04H 0 10011100B 9CH
E. 00000110B 06H f.
F. 00001110B 0EH g. 00010000B 10H
G. 01000010B 42H h. 00001011B 0BH
V.Xuaát nhaäp qua coång noái tieáp :
Xuaát nhaäp qua coång noái tieáp yeâu caàu moät soá thieát laäp ban ñaàu bao goàm vieäc ñaët
timer1 phuïc vuï cho vieäc taïo baudrate, vaø giaù trò cuûa baudrate. Sau ñaây laø moät ñoaïn ví duï :
INIT: MOV SP,#7FH ;Stack's bottom
MOV SCON,#11010010B ;UART 9-bit, enable REN, flag TI
MOV TMOD,#21H ;Timer1 8-bit reload, Timer0 16-bit
MOV TH1,#-3 ;9600 baud
MOV TL1,TH1 ;start
SETB TR1
50
Nguyenvanbientbd47@gmail.com
Thoâng thöôøng trong truyeàn thoâng khoâng ñoàng boä, ngöôøi ta duøng even parity ñeå
kieåm tra loãi truyeàn. Töø ñoù ta coù ñoaïn chöông trình xuaát nhaäp sau :
;***************************************************************
;IN : chöông trình con nhaän mot byte töø serial port *
;XUAÁT :acc _ byte nhaän ñöôïc *
; c _ loãi truyeàn *
;***************************************************************
IN: CLR C
JNB RI,$ ;coù döõ lieäu töø maùy tính göûi ñeán ?
CLR RI ;coù ⇒ kieåm tra even parity
MOV C,RB8
MOV B.0,C
MOV A,SBUF
PUSH ACC
MOV C,P
MOV ACC.0,C
XRL A,B
MOV C,ACC.0
POP ACC
RET
;************************************************************
;OUT : chöông trình con xuaát moät byte ra port noái tieáp *
;NHAÄP : acc _ byte caàn xuaát *
;************************************************************
OUT: MOV C,P
MOV TB8,C
JNB TI,$
CLR TI
MOV SBUF,A
RET
51
Nguyenvanbientbd47@gmail.com
TAØI LIEÄU THAM KHAÛO
1. ÑIEÀU KHIEÅN TÖÏ ÑOÄNG (quyeån 1, 2) _ Nguyeãn Thò Phöông Haø _ NXB KHKT (1996).
2. CÔ SÔÛ TÖÏ ÑOÄNG _ Löông Vaên Laêng.
3. SOÅ TAY CHO NGÖÔØI LAÄP TRÌNH PC _ Julio Sanchez, Maria Canton _ NXB Thoáng Keâ
(1997).
4. HÖÔÙNG DAÃN THÍ NGHIEÄM VI XÖÛ LYÙ _ Boä Moân Kyõ Thuaät Ñieän Töû (1999).
5. HÖÔÙNG DAÃN THÍ NGHIEÄM ÑIEÀU KHIEÅN TÖÏ ÑOÄNG 1 _ Boä Moân Töï Ñoäng.
6. TAÏP CHÍ THEÁ GIÔÙI VI TÍNH (thaùng 3 naêm1998).
7. ÑO LÖÔØNG VAØ ÑIEÀU KHIEÅN BAÈNG MAÙY TÍNH _ Ngoâ Dieân Taäp.
8. THE 8051 MICROCONTROLLER _ I. Scott MacKenzie _ NXB Prentice Hall (1992).
9. DIGITAL SYSTEMS : PRICIPALS AND APPLICATIONS _ Ronald J. Tocci _ NXB Prentice Hall.
Vaø moät soá website nhö:
1.
2.
52
Các file đính kèm theo tài liệu này:
- Thiết kế bo mạch điều khiển nhiệt độ.pdf