Professional Documents
Culture Documents
Vӟi sӵ phát triӇn không ngӯng cӫa khoa hӑc kӻ thuұt, đһc biӋt là ngành điӋn tӱ đã ӭng
dөng rҩt nhiӅu trong công nghiӋp. Trong lĩnh vӵc điӅu khiӇn, tӯ khi công nghӋ chӃ tҥo
loҥi vi mҥch lұp trình phát triӇn đã đem đӃn các kӻ thuұt điӅu khiӇn hiӋn đҥi có nhiӅu
ưu điӇm hơn so vӟi viӋc sӱ dөng các mҥch điӅu khiӇn lҳp ráp bҵng các linh kiӋn rӡi
như kích thưӟc nhӓ, giá thành rҿ, đӝ làm viӋc tin cұy, công suҩt tiêu thө nhӓ.
Ngày nay, trong lĩnh vӵc điӅu khiӇn đã đưӧc ӭng dөng rӝng rãi trong các thiӃt
bӏ, sҧn phҭm phөc vө cho nhu cҫu sinh hoҥt hàng ngày cӫa con ngưӡi như máy giһt,
đӗng hӗ báo giӡ«.. đã giúp cho đӡi sӕng cuҧ chúng ta ngày càng hiӋn đҥi và tiӋn nghi
hơn.
Chúng em chân thành cҧm ơn c Lê Hӗng Nam đã tұn tình hưӟng dүn nhóm
trong quá trình làm thӵc tұp , đã tҥo điӅu kiӋn cho chúng em đưӧc thӵc hiӋn đӅ tài tӕt
nhҩt ./.
ĐӅ tài ³Mҥch điӅu khiӇn nhiӋt đӝ ӭng dөng trong lò nhiӋt´ rҩt đa dҥng và phong
phú, có nhiӅu loҥi hình khác nhau dӵa vào công dөng và đӝ phӭc tҥp. Do tài liӋu tham
khҧo bҵng TiӃng ViӋt còn hҥn chӃ, trình đӝ có hҥn và kinh nghiӋm trong thӵc tӃ còn
non kém, nên đӅ tài chҳc chҳn còn nhiӅu thiӃu sót. Vì vұy rҩt mong nhұn đưӧc nhӳng ý
kiӃn đóng góp, giúp đӥ chân thành cӫa các thҫy cô cũng như cӫa các bҥn sinh viên đӇ
giúp nhóm có thӇ làm tӕt hơn nhӳng đӅ tài sau này ./.
c c 1
c
CMU 8051
Khӕi cҧm biӃn
c c 2
c
20
VCC U5
VCC/VREF
U4 6 18 P1.0
7 +IN DB0 17 P1.1
1 2 -IN DB1 16 P1.2
GND
5 P3.5
GND
INTR
CS
0.1uF
10
ADC0804
1
VCC
1
R9 2
3
c c 3
c
- Đӝ chính xác cao, tính năng cҧm biӃn nhiӋt đӝ rҩt nhҥy, ӣ nhiӋt đӝ 25oC nó
có sai sӕ không quá 1%. Vӟi tҫm đo tӯ -55oC ± 150oC, tín hiӋu ngõ ra tuyӃn
tính liên tөc vӟi nhӳng thay đәi cӫa tín hiӋu ngõ vào.
3.2 K
xӱ lý trung tâm:
l NhiӋm vө:
- Dùng đӇ xӱ lý các tín hiӋu vào và xuҩt tín hiӋu ra,điӅu khiӇn mӑi hoҥt đӝng
cӫa hӋ thӕng.
l Chӑn linh kiӋn sӱ dөng:
- Vi điӅu khiӇn AT89C51, thҥch anh 11.598Mhz, switch nhӓ.
- ĐiӋn trӣ thanh, các Jump, điӋn trӣ thưӡng và mӝt sӕ tө điӋn.
l Sơ đӗ nguyên lý
J
$ + , $
$ - +* ,* $
$ - () $
$ - ' $
$ -
$
$ - $
$ - $
$ -
$
-
$
$X-
H
$ X-
$
%
$
J
$%
$.
$
-
X $
Y # %&
" #
.
!
X
ed eg
c c 4
c
3.3 K
ng suҩt và đӗng bӝ.
l NhiӋm vө :
- ĐiӅu khiӇn,cҩp nguӗn cho lò nhiӋt,qua đó làm thay đәi nhiӋt đӝ trong lò
nhiӋt. Ӣ đây lò nhiӋt đưӧc thay thӃ bҵng tҧi có công suҩt lӟn.
- ĐiӅu khiӇn tín hiӋu kích và áp xoay chiӅu đһt lên Triac, tҥo sӵ đӗng bӝ vӅ
tín hiӋu kích và áp xoay chiӅu đһt vào Triac.
l Chӑn linh kiӋn sӱ dөng :
- BJT 2SA1015, Triac BT138, OPTO Triac MOC3021
- Mӝt sӕ điӋn trӣ thưӡng, tө điӋn, Jump cҳm tҧi công suҩt.
- Chӑn IC Opamp LM393, biӃn trӣ 10K, Jump cҳm nguӗn xoay chiӅu.
l Sơ đӗ nguyên lý :
<88
344
0=6
K
342 2 2
/0 1?
Q
C 46 4>
0 10 7
L 340 32>
@?
N 456 47 32?
H5 85 Q 4 5 12 7 24
4
2
J 3FC8 89 JC FR WX HB W
MB8062 4 O 4: ;
@> <88
2 32I 349
4 Q
42 7 466 7 0 H=C U
ABCD 8 EFGH R T
<88 B HJ 4 /0 12
326 K 34? 2
> 1I 7 S T V PM0=0
2 466 7
345 O
c c 5
c
- NӃu mӭc ra tӯ cҧm biӃn là ӣ Tôđmin thì P3.4=0,BJT A1015 dүn bão hoà
và tҥo ra dòng kích vào cәng G cӫa triac,làm triac hoҥt đӝng ,tӯ đó nung
nhiӋt nóng lên.
- NӃu mӭc ra tӯ cҧm biӃn là Tôđmax thì P3.4=1,BJT A1015 ngҳt và làm
triac ngưng hoҥt đӝng, tӯ đó nhiӋt giҧm dҫn
3.4K
n t và bàn p m
3.4.1K
n t
l NhiӋm vө:
- HiӇn thӏ nhiӋt đӝ cӫa lò nhiӋt.
- HiӇn thӏ giá trӏ đһt tӯ bàn phím, dӳ liӋu nhiӋt đӗ truyӅn tӯ PC.
l Chӑn linh kiӋn sӱ dөng
- Jump nhұn dӳ liӋu, IC 74LS47, 3Led 7 đoҥn Anode chung
- BJT 2SA1015, Led báo hiӋu, mӝt sӕ điӋn trӣ thưӡng.
l Sơ đӗ nguyên lý :
RR RR RR
R R R
RR
2 2 2
RR
R
RR
R
RR
c c 6
c
3.4.2 K
bàn p m.
l NhiӋm vө
- Nhұp dӳ liӋu.
l Linh kiӋn sӱ dөng
- Switch cӣ nhӓ đӇ tiӃt kiӋm diӋn tích mҥch, Jump nӕi đӇ truyӅn dӳ liӋu
lên vi điӅu khiӇn.
l Sơ đӗ nguyên lý
Z ` Z ` Z ` Z `
]^ Z ]^ _ ]^ a ]^`
_ a _ a _ a _ a
eZ
` ` ` ` YZ[\ Z
Z Z Z Z YZ[Z _
YZ[_ à
]^ b ]^ d ]^ c ]^ i YZ[a`
YZ[ b
_ a _ a _ a _ a YZ[b d
YZ[d c
YZ[c i
Z ` Z ` Z ` Z ` fghi
]^ j ]^ Z\ ]^ ZZ ]^ Z_
_ a _ a _ a _ a
Z ` Z ` Z ` Z `
]^ Za ]^ Z` ]^ Zb ]^ Zd
_ a _ a _ a _ a
c c 7
c
r l v
k u
xr q p
p rs
r
r k r {
{ r r k
r rr
q { p p l
z z p k
pk ry pr
s
|| q
l | p s
t |l qr | r}
| ~ r
y
r } px n
l r s |p ~
t |p} y
r
~
w nopqp
u m
| y y | q
r r yr
| r
yrr
r
c c 8
c
c c 9
c
ë
ë
ë
ë
R
Ó !"#$
Phҫn chính cӫa vi điӅu khiӇn 8951 là bӝ xӱ lý trung tâm (CPU: Central Processing Unit)
bao gӗm:
+ Thanh ghi tích lũy A
+ Thanh ghi tích lũy phө B, dùng cho phép nhân và phép chia
+ Đơn vӏ Logic hӑc (ALU: Arithmetic Logical Unit )
+ Tӯ trҥng thái chương trình (PSW : Prorgam Status Word)
+ Bӕn băng thanh ghi
+ Con trӓ ngăn xӃp
c c 10
c
+ Ngoài ra còn có bӝ nhӟ chương trình, bӝ giҧi mã lӋnh, bӝ điӅu khiӇn thӡi gian và
logic.
Đơn vӏ xӱ lý trung tâm nhұn trӵc tiӃp xung tӯ bӝ dao đӝng, ngoài ra còn có khҧ năng
đưa mӝt tín hiӋu giӳ nhӏp tӯ bên ngoài.
Chương trình đang chҥy có thӇ cho dӯng lҥi nhӡ mӝt khӕi điӅu khiӇn ngҳt ӣ bên trong.
Các nguӗn ngҳt có thӇ là giao diӋn nӕi tiӃp.
Hai bӝ đӏnh thӡi 16 bit hoҥt đӝng.
Các cәng (port0,1,2,3), sӱ dөng vào mөc đích điӅu khiӇn. Ӣ cәng 3 có thêm các đưӡng
dүn điӅu khiӇn dùng đӇ trao đәi vӟi bӝ nhӟ bên ngoài. Giao diӋn nӕi tiӃp có chӭa mӝt bӝ
truyӅn và mӝt bӝ nhұn không đӗng bӝ, làm viӋc đӝc lұp vӟi nhau. Tӕc đӝ truyӅn qua cәng nӕi
tiӃp có thӇ đһt trong dãi rӝng và đưӧc ҩn đӏnh bҵng mӝt bӝ đӏnh thӡi.
Trong vi điӅu khiӇn 8951 có 2 thành phҫn quan trӑng khác đó là bӝ nhӟ và các thanh ghi
+ Bӝ nhӟ gӗm bӝ nhӟ RAM và bӝ nhӟ ROM dung đӇ lưu trӳ dӳ liӋu và mã lӋnh.
+ Các thanh ghi sӱ dөng đӇ lưu trӱ thông tin trong quá trình xӱ lý. Khi làm viӋc nó làm
thay đәi nӝi dung cӫa các thanh ghi.
1.2.3.C năng
ân a v đu k n 8951
R
R
]
Ó
"#$
c c 11
c
Vi điӅu khiӇn 8951 có 32 trong 40 chân có chӭc năng như là các cәng I/O, trong đó 24
chân đưӧc sӱ dөng vӟi hai mөc đích. Nghĩa là ngoài chӭc năng cәng I/O, mӛi chân có công
dөng kép này có thӇ là mӝt đưӡng điӅu khiӇn cӫa Bus đӏa chӍ hay Bus dӳ liӋu hoһc là mӛi
chân hoҥt đӝng mӝt cách đӝc lұp đӇ giao tiӃp vӟi các thiӃt bӏ đơn bit như công tҳc, LED,
transistor«
a.Port0: là port có 2 chӭc năng, ӣ trên chân tӯ 32 đӃn 39 cӫa MC 8951, Trong các thiӃt
kӃ cӥ nhӓ không dung bӝ nhӟ ngoài, Port 0 đưӧc sӱ dөng như là nhӳng cәng I/O. Còn trong
các thiӃt kӃ lӟn có yêu cҫu mӝt sӕ lưӧng đáng kӇ bӝ nhӟ ngoài thì Port 0 trӣ thành các đưӡng
truyӅn dӳ liӋu và 8 bits thҩp cӫa Bus đӏa chӍ.
b. Port1: Là mӝt port I/O chuyên dөng, trên chân 1-8 cӫa MC8951. Chúng đưӧc sӱ dөng
vӟi mөc đích duy nhҩt là giao tiӃp vӟi thiӃt bӏ ngoài khi cҫn thiӃt.
c. Port2: Là mӝt cәng có công dөng kép trên chân 21-28 cӫa MC 8951. Ngoài chӭc
năng I/O, các chân này dung làm 8 bit cao cӫa bus đӏa chӍ cho nhӳng mô hình thiӃt kӃ có bӝ
nhӟ chương trình ROM ngoài hoһc bӝ nhӟ dӳ liӋu RAM có dung lưӧng lӟn hơn 256 Bytes.
d. Port3: Là mӝt cәng có công dөng kép trên chân 10-17 cӫa MC 8951. Ngoài chӭc
năng là cәng I/O nhӳng chân này kiêm luôn nhiӅu chӭc năng khác nӳa liên quan đӃn nhiӅu
tính năng đһc biӋt cӫa MC 8951, đưӧc mô tҧ trong bҧng sau:
Bit Tên Chӭc năng chuyӇn đәi
P3.0 RxD Ngõ vào dӳ liӋu nӕi tiӃp.
P3.1 TxD Ngõ xuҩt dӳ liӋu nӕi tiӃp.
P3.2
Ngҳt ngoài 0.
P3.3 Ngҳt ngoài 1.
P3.4 T0 Ngõ vào TIMER 0.
P3.5 T1 Ngõ vào cӫa TIMER 1.
P3.6 ĐiӅu khiӇn ghi dӳ liӋu lên bӝ nhӟ
P3.7 ĐiӅu chӍnh đӑc bӝ nhӟ dӳ liӋu ngoài
Chӭc năng cӫa các chân trên port3
c c 12
c
e. PSEN (Program Store Enable): 8951 có 4 tín hiӋu điӅu khiӇn, PSEN là tín hiӋu ra trên chân
29. Nó là tín hiӋu điӅu kӇn đӇ cho phép truy xuҩt bӝ nhӟ chương trình mӣ rӝng và thưӡng
đưӧc nӕi đӃn chân OE ( Output Enable) cӫa mӝt EPROM đӇ cho phép đӑc các byte mã lӋnh
cӫa chương trình. Tín hiӋu PSEN ӣ mӭc thҩp trong suӕt phҥm vi quá trình cӫa mӝt lӋnh. Các
mã nhӏ phân cӫa chương trình đưӧc đӑc tӯ EPROM qua bus và đưӧc chӕt vào thanh ghi lӋnh
cӫa 8951 đӇ giҧi mã lӋnh. Khi thi hành chương trình trong ROM nӝi PSEN sӁ ӣ mӭc cao.
f. ALE (Address Latch Enable ): Tín hiӋu ra ALE trên chân 30 tương ӭng hӧp vӟi các
thiӋt bӏ xӱ lý 8585, 8085, 8951 dùng ALE đӇ giҧi đa hӧp bus đӏa chӍ dӳ liӋu, khi port 0 đưӧc
dùng làm bus đӏa chӍ/ dӳ liӋu đa hӧp: vùa là bus dӳ liӋu vӯa là byte thҩp cӫa đӏa chӍ 16 bit.
ALE là tín hiӋu đӇ chӕt đӏa chӍ vào mӝt thanh ghi bên ngoài trong nӳa đҫu cӫa chu kǤ bӝ nhӟ.
Sau đó, các đưӡng Port 0 dùng đӇ xuҩt nhұp dӳ liӋu trong nӳa sau chu kǤ cӫa chu kǤ bӝ nhӟ.
Các xung tín hiӋu ALE có tӕc đӝ bҵng 1/6 lҫn tҫn sӕ dao đӝng trên Chip và có thӇ đưӧc
dùng là nguӗn xung nhӏp cho các hӋ thӕng. NӃu xung trên 8951 là 12MHz thì ALE có tҫn sӕ
là 2MHz. Chân này cũng đưӧc làm ngõ vào cho xung lұp trình cho EPROM trong 8951.
g. EA (External Access): Tín hiӋu vào EA trên chân 31 thưӡng đưӧc nӕi lên mӭc cao
(+5V) hoһc mӭc thҩp (GND). NӃu ӣ mӭc cao, 8951 thi hành chương trình tӯ ROM nӝi trong
khoҧng đӏa chӍ thҩp (4K). NӃu ӣ mӭc thҩp, chương trình chӍ đưӧc thi hành tӯ bӝ nhӟ mӣ
rӝng. Ngưӡi ta còn dung chân EA làm chân cҩp điӋn áp 21V khi lұp trình cho EPROM trong
8951.
h. RST (Reset): Ngõ vào RST trên chân 9 là ngõ reset cӫa 8951. Khi tín hiӋu này đưӧc
đưa lên mӭc cao (trong ít nhҩt 2 chu kǤ máy), các thanh ghi trong 8951 đưӧc đưa vào nhӳng
giá trӏ thích hӧp đӇ khӣi đӝng hӋ thӕng.
i.OSC: 8951 có mӝt bӝ dao đӝng trên chip, nó thưӡng đưӧc nӕi vӟi thҥch anh giӳa chân
18 và 19. Tҫn sӕ thҥch anh thông thưӡng là 12 MHz.
j. POWER: 8951 vұn hành vӟi nguӗn đơn +5V. Vcc đưӧc nӕi vào chân 40 và Vss (GND)
đưӧc nӕi vào chân 20.
c c 13
c
2. ADC0804
2.1G t u
Chip ADC0804 là bӝ chuyӇn đәi tương tӵ sӕ thuӝc hӑ ADC800 cӫa hãng
National Semiconductor. Chip này cũng đưӧc nhiӅu hãng khác sҧn xuҩt. Chip có điӋn áp
nuôi +5V và đӝ phân giҧi 8 bit. Ngoài đӝ phân giҧi thì thӡi gian chuyӇn đәi cũng là mӝt
tham sӕ quan trӑng khi đánh giá bӝ ADC. Thӡi gian chuyӇn đәi đưӧc đӏnh nghĩa là thӡi
gian mà bӝ ADC cҫn đӇ chuyӇn mӝt đҫu vào tương tӵ thành mӝt sӕ nhӏ phân. Đӕi vӟi
ADC0804 thì thӡi gian chuyӇn đәi phө thuӝc vào tҫn sӕ đӗng hӗ đưӧc cҩp tӟi chân CLK và
CLK IN và không bé hơn 110µs.
2.2C năng a
ân
2.2.1 Ó đӗ ân ADC0804
l CS (Chip select)T
Chân sӕ 1, là chân chӑn Chip, đҫu vào tích cӵc mӭc thҩp đưӧc sӱ dөng đӇ kích
hoҥt Chip ADC0804. ĐӇ truy cұp ADC0804 thì chân này phҧi ӣ mӭc thҩp.
c c 14
c
l RD (Read)T
Chân sӕ 2, là mӝt tín hiӋu vào, tích cӵc ӣ mӭc thҩp. Các bӝ chuyӇn đәi đҫu
vào tương tӵ thành sӕ nhӏ phân và giӳ nó ӣ mӝt thanh ghi trong. RD đưӧc sӱ
dөng đӇ có dӳ liӋu đã đưӧc chyӇn đәi tӟi đҫu ra cӫa ADC0804.
Khi CS = 0 nӃu có mӝt xung cao xuӕng thҩp áp đӃn chân RD thì dӳ liӋu ra
dҥng sӕ 8 bit đưӧc đưa tӟi các chân dӳ liӋu (DB0 ± DB7).
l WR (Write)T
Chân sӕ 3, đây là chân vào tích cӵc mӭc thҩp đưӧc dùng đӇ báo cho ADC biӃt
bҳt đҫu quá trình chuyӇn đәi. NӃu CS = 0 khi WR tҥo ra xung cao xuӕng thҩp
thì bӝ ADC0804 bҳt đҫu quá trình chuyӇn đәi giá trӏ đҫu vào tương tӵ Vin vӅ
sӕ nhӏ phân 8 bit. Khi viӋc chuyӇn đәi hoàn tҩt thì chân INTR đưӧc ADC hҥ
xuӕng thҩp.
l Ngҳt INTR (Interupt)T
Chân sӕ 5, là chân ra tích cӵc mӭc thҩp. Bình thưӡng chân này ӣ trҥng thái
cao và khi viӋc chuyӇn đәi hoàn tҩt thì nó xuӕng thҩp đӇ báo cho CPU biӃt là
dӳ liӋu chuyӇn đәi sҹn sàng đӇ lҩy đi. Sau khi INTR xuӕng thҩp, cҫn đһt CS =
0 và gӱi mӝt xung cao xuӕng thҩp tӟi chân RD đӇ đưa dӳ liӋu ra.
l Vin (+) và Vin (-)T
Chân sӕ 6 và chân sӕ 7, đây là 2 đҫu vào tương tӵ vi sai, trong đó Vin =
Vin(+) ± Vin (-). Thông thưӡng Vin (-) đưӧc nӕi tӟi đҩt và Vin (+) đưӧc dùng
làm đҫu vào tương tӵ và sӁ đưӧc chuyӇn đәi vӅ dҥng sӕ.
l VccT
Chân sӕ 20, là chân nguӗn nuôi +5V. Chân này còn đưӧc dùng làm điӋn áp
tham chiӃu khi đҫu vào Vref/2 đӇ hӣ.
l Vref/2T
Chân sӕ 9, là chân điӋn áp đҫu vào đưӧc dùng làm điӋn áp tham chiӃu. NӃu
chân này hӣ thì điӋn áp đҫu vào tương tӵ cho ADC0804 nҵm trong dҧi 0 -
+5V. Tuy nhiên, có nhiӅu ӭng dөng mà đҫu vào tương tӵ áp đӃn Vin khác vӟi
c c 15
c
dҧi 0 - +5V. Chân Vref/2 đưӧc dùng đӇ thӵc hiӋn các điӋn áp đҫu ra khác 0 -
+5V.
Bng quan đn
p Vref/2 v Vn
Kích thưӟc bưӟc (mV)
Hӣ 0-5 5/256=19.53
2.0 0-4 4/256=15.63
1.5 0-3 3/256=11.72
1.25 0-2.56 2.56/256=10
1.0 0-2 2/256=7.81
0.5 0-1 1/256=3.91
l D0 - D7
D0 - D7, chân sӕ 18 ± 11, là các chân ra dӳ liӋu sӕ (D7 là bit cao nhҩt MSB và
D0 là bit thҩp nhҩt LSB). Các chân này đưӧc đӋm ba trҥng thái và dӳ liӋu đã
đưӧc chuyӇn đәi chӍ đưӧc truy cұp khi chân CS = 0 và chân RD đưa xuӕng
mӭc thҩp. ĐӇ tính điӋn áp đҫu ra ta tính theo công thӭc sau:
h
ò ò ò
l CLK IN và CLK R:
CLK IN (chân sӕ 4), là chân vào nӕi tӟi đӗng hӗ ngoài đưӧc sӱ dөng đӇ tҥo thӡi
gian. Tuy nhiên ADC0804 cũng có mӝt bӝ tҥo xung đӗng hӗ riêng. ĐӇ dùng đӗng
hӗ riêng thì các chân CLK IN (chân sӕ 4) và CLK R (chân sӕ 19) đưӧc nӕi vӟi
mӝt tө điӋn và mӝt điӋn trӣ (như hình vӁ). Khi ҩy tҫn sӕ đưӧc xác đӏnh bҵng biӇu
thӭc: |
Vӟi R=10 kØ , C=150pF và tҫn sӕ f=606 kHz và thӡi gian chuyӇn đәi là 110 µs
c c 16
c
3. MAX232.
3.1.cm u v MAX 232
MAX 232 là 1 mҥch tích hӧp chuyӇn đәi tín hiӋu tӯ port nӕi tiӃp chuҭn RS 232 sang tín hiӋu
thích hӧp đӇ sӱ dөng trong các mҥch sӕ logic chuҭn tương thích TTL
RS232 Line Type & Logic Level RS232 TTL Voltage to/from
Voltage MAX232
c c 17
c
c c 18
c
4 cIAC Bc138
4.1Cҩu tҥo và n dҥng
Thưӡng đưӧc coi như mӝt SCR lưӥng hưӟng vì có thӇ dүn điӋn theo hai chiӅu
c c 19
c
5.2 Mӝt s
tn ҩt bn a LM35
- LM35 có đӝ biӃn thiên theo nhiӋt đӝ: 10mV / 1oC.
- Đӝ chính xác cao, tính năng cҧm biӃn nhiӋt đӝ rҩt nhҥy, ӣ nhiӋt đӝ 25oC nó có sai
sӕ không quá 1%. Vӟi tҫm đo tӯ -55oC ± 150oC, tín hiӋu ngõ ra tuyӃn tính liên tөc
vӟi nhӳng thay đәi cӫa tín hiӋu ngõ vào.
c c 20
c
5.3 c ng s
kӻ t uұt
Tiêu tán công suҩt thҩp.
Dòng làm viӋc tӯ 450nA ± 5mA.
Dòng ngưӧc 15mA.
Dòng thuұn 10mA.
+ Đһc tính điӋn:
Theo thông sӕ cӫa nhà sҧn xuҩt LM35, quan hӋ giӳa nhiӋt đӝ và điӋn áp ngõ ra như
sau:
Vout = 0,01 ToC
Vұy ӭng vӟi tҫm hoҥt đӝng tӯ 0oC ± 150oC ta có sӵ biӃn thiên điӋn áp ngõ ra là:
Ӣ 0oC thì điӋn áp ngõ ra Vout = 0 (V).
Ӣ 150oC thì điӋn áp ngõ ra Vout = 1,5(V).
6 MC3020
6.1 Ó đӗ ân
6.2 C
t ng s
kӻ t uұt a MC3020
- Ngõ ra dung điӅu khiӇn 220Vac
- Dòng kích khӣi ӭng vӟi Vout =3V: tӯ 15mA đӃn 30mA
- Dòng giӳ: IH là 100µA
c c 21
c
7 IC G mã 74LÓ47
7.1Đҥ ng.
Mҥch giҧi là mҥch có chӭc năng ngưӧc lҥi vӟi mҥch mã hoá. Mөc đích sӱ dөng phә
biӃn nhҩt cũa mҥch giҧi mã là làm sáng tӓ các đèn đӇ hiӇn thӏ kӃt quҧ ӣ dҥng chӳ sӕ. Do có
nhiӅu loҥi đèn hiӇn thӏ và có nhiӅu loҥi mã sӕ khác nhau nên có nhiӅu mҥch giҧi mã khác
nhau, ví dө: giҧi mã 4 đưӡng sang 10 đưӡng, giҧi mã BCD sang thұp phân«IC74LS47 là loҥi
IC giҧi mã BCD sang led 7 đoҥn. Mҥch giҧi mã BCD sang led 7 đoҥn là mҥch giҧi mã phӭc
tҥp vì mҥch phҧi cho nhiӅu ngõ ra lên cao hoһc xuӕng thҩp( tuǤ vào loҥi đèn led là anod
chung hay catod chung) đӇ làm các đèn cҫn thiӃt sáng nên các sӕ hoһc ký tӵ. IC 74LS47 là
loҥi IC tác đӝng ӣ mӭc thҩp có ngõ ra cӵc thu đӇ hӣ và khҧ năng nhұn dòng đӫ cao đӇ thúc
trӵc tiӃp các đèn led 7 đoҥn loҥi anod chung.
c c 22
c
IC giҧi mã 74ls47 là mӝt trong nhӳng IC giãi mã thông dөng cho nên viӋc tìm hiӇu
IC này là rҩt cҫn thӃt . Sau day là mӝt sӕ thông sӕ làm viӋc cӫa IC 74ls47
ĐiӋn áp cung cҩp cӵc đҥi : 7v
ĐiӋn áp ngõ vào max : 7v
NhiӋt đӝ khi làm viӋc tӕt : 0 0 C => 70 0 C
Khoang nhiӋt đӝ dao đӝng cho phép : -65 0 C => 150 0 C
c c 23
c
c c 24
c
Sơ đӗ cҩu trúc cӫa IC74LS47, nó giúp cho nhӳng ai muӕn tìm hiӇu sâu vӅ IC giҧi mã
74LS47 hoҥt đӝng và giҧi mã BCD sang led 7 đoҥn như thӃ nào.
Sӵ hoҥt đӝng cӫa mҥch đưӧc thӇ hiӋn ӣ bҧng sӵ thұt, trong đó đӕi vӟi các ngõ ra H là tҳt và L
là sáng, nghĩa là nӃu 74LS47 thúc đèn led 7 đoҥn thì các đoҥn a, b, c, d, e, f, g cӫa đèn sӁ sáng
hay tҳt tuǤ vào ngõ ra tương ӭng cӫa 74LS47 là L hay H.
KӃt quҧ là khi mã sӕ nhӏ phân 4 bit vào có giá trӏ thұp phân tӯ 0 đӃn 15 đèn led hiӇn thӏ
lên các sӕ như ӣ hình bên dưӟi. Chú ý là khi mã sӕ nhӏ phân vào là 1111= 1510 thì đèn led tҳt.
c c 25
c
8 LED 7 Đoҥn
Led 7 đoҥn có thӇ xem như 7 con led đơn ghép lҥi , có 1 đҫu nӕi chung còn 1 đҫu đӇ hӣ đưa
ra ngoài đӇ phân cӵc cho led
Đây là lӑai đèn dùng hiӇn thӏ các sӕ tӯ 0 đӃn 9, đèn gӗm 7 đӑan a, b, c, d, e, f, g, bên dưӟi
mӛi đӑan là mӝt led (đèn nhӓ) hoһc mӝt nhóm led mҳc song song (đèn lӟn).Qui ưӟc các đӑan
cho bӣi:
hi mӝt tә hӧp các đӑan cháy sáng sӁ tҥo đưӧc mӝt con sӕ thұp phân tӯ 0 - 9.
c c 26
c
Đӕi vӟi led 7 đoҥn ta phҧi tính toán sao cho mӛi đoҥn cӫa led 7 đoҥn có dòng điӋn tӯ
10....20mA. Vӟi điӋn áp 5V thì điӋn trӣ cҫn dùng là 270; công suҩt là 1,4 Watt
c c 27
c
í
Ӭng dөng:
ĐiӋn trӣ đưӧc dùng đӇ chӃ tҥo ra đӏch mӭc điӋn áp giӳa hai điӇm khác nhau cӫa mҥch.
10 cө đn:
Tө điӋn phҷng gӗm hai bàn phҷng kim loҥi diӋn tích đһt song song và cách nhau mӝt
khoҧng d. ä
Cưӡng đӝ điӋn trưӡng bên trong tө có trӏ sӕ
E=
0
là hҵng sӕ điӋn môi tương đӕi cӫa môi trưӡng; đӕi vӟi chân không = 1, giҩy tҭm dҫu =
3,6; gӕm = 5,5; mica = 4 ä 5
c c 28
c
1. Ó đӗ nguên lý a mҥ .
1.1K
n t .
í í í
2 2 2
í
í
í
í
í
íí
í
íí
í
íí
íí
í íí
íí
í íí
í
íí
1.2K
gao tp m
tn .
'
í í
í
í
$
%
! $ &'
%
$
!
%
" #
!
!
!
c c 29
c
1.3K
bàn p m
¡¢£
1.4 K
mҥ n ( s đӗ mҥ nguên lý kèm t eo)
2 Nguên lý oҥt đӝng a mҥ .
- Khi cҩp nguӗn cho mҥch, dӵa vào đһc tính nhҥy cao cӫa IC LM35 vӟi
nhiӋt đӝ. Qua đó tҥo ra điӋn áp hoһc dòng điӋn tӹ lӋ thuұn vӟi nhiӋt đӝ
tuyӋt đӕi nên ta đo đưӧc nhiӋt đӝ cӫa lò nhiӋt hiӋn thӡi.
- Khӕi ADC chuyӇn tín hiӋu điӋn sang mã nhӏ phân có giá trӏ tương ӭng rӗi
đưa vào vi điӅu khiӇn. Tӯ vi điӅu khiӇn tín hiӋu dҥng sӕ nhӏ phân đưӧc
đưa qua IC74LS47 đӇ chuyӇn sang mã 7 đoҥn,sau đó đưa đӃn khӕi hiӇn
thӏ tҥi lò nhiӋt.
- Tҥi lò nhiӋt ta có thӇ đһt nhiӋt đӝ hoһt đӝng cӫa tҧi bҵng bàn phím ma trұn
4x4.
- Tҥi máy tính điӅu khiӇn trung tâm,có thӇ nhұn đưӧc nhiӋt đӝ và đһt nhiӋt
đӝ cho phép hoһt đӝng ӣ lò nhiӋt thông qua khӕi giao tiӃp dùng MAX232
và chương trình điӅu khiӇn bҵng Delphi.
c c 30
c
- Khi nhiӋt đӝ tҥi lò vưӧt quá nhiӋt đӝ cho phép hoһt đӝng mà ta đã đһt thì
vi điӅu khiӇn làm ngҳt tҧi xoay chiӅu,giҧm nhiӋt đӝ cӫa lò.Sau đó quá
trình đưӧc lһp lҥi.
3 cn to
n t t k mҥ
3.1 Mҥ m bn và ADC
Chӑn nguӗn Vcc 5v đӇ cung cҩp cho chip adc
Dӵa vào datasheet cӫa ADC0804. chӑn
C5:150pF
R8:10k
Đӕi vӟi các tҧi có điӋn dung.LM35 có thӇ lái các tҧi có điӋn dung lên đӃn 50pF.
Thông thưӡng ta sӱ dөng các mҥch nӕi tiӃp R-C (gӑi là các R-C Damper) đӇ cách li tҧi
(heavier load),tách các tҧi vӟi điӋn trӣ đӗng thӡi cҧi thiӋn khҧ năng chӏu đӵng cӫa điӋn
dung
Ta chӑn : R7=75 Ohm
C4=0.1µF
3.2 K
n t và bàn p m
3.2.1 K
n t
l cn g
tr đên trӣ ҥn dòng d n
v 74LÓ47
Nguӗn cung cҩp Vcc = 5V. Các thông sӕ ngõ ra cӫa IC7447 là :
Vol = 0.4V
Iol = 40mA .
- Giҧ sӱ , ta muӕn các led sáng vӟi mӝt dòng điӋn Iledhd =30mA vұy:
0
Ihd = .Iledđm
0
Suy ra: Iledđm = Ihd /
c c 31
c
c c 32
c
Tӯ đó ta suy ra R
= ÿ ) s ) s )
! 5à s 0,8à s 0,4à 3,8
Rb = = = 1187,5ȍ
ë
! ë
! 0,0032 0,0032
Chӑn RB =1.2K ȍ
Lúc đó vӟi led 7 đoҥn ta có:
=ÿ 3,8 70
Ib = = = 3,16 (mA) =1(mA)
ÿ 1200 70
3.2.2 K
bàn p m.
Dùng 16 phím nhҩn là các switch nhӓ và 1 Jump 8 đӇ nӕi dӳ liӋu.
3.3 K
mҥ gao tp
Tө trong mҥch RS232 đӇ tҥo mӭc áp theo chuҭn RS232 và quyӃt đӏnh tӕc đӝ chuyӇn
đәi mӭc áp, chӑn dung lưӧng nhӓ đӇ tӕc đӝ chuyӇn đәi tăng.
c c 33
c
Vtriacopto=1,4(v)
VR25+13=14- 0,7 - 1,4=11,9(v)
RR25+13= =1,19(k ȍ)
Chӑn R25=1(kȍ) R13=180(ohm)
Dòng kích cho triac là 10mAPtriacopto=10.1,4=14(mW)
Chӑn opto_triac MOC3021:
Input: Vm=1,5(V) Im=50mA Pm=100mV
Output: Vm=400(V) Im=100mA Pm=300mV
Chӑn dòng qua Input cӫa opto triac :I=50mA ; Vdiode=1,2(v)
Chӑn BJT Qs1 là A1015
Khi opto hoҥt đӝng thì BJT A1015 dүn bão hoà
VCEs=0,1(v) P=50.0,1=5(mW) thoҧ mãn điӅu kiӋn cӫa BJT
Áp rơi trên: R11= = =74(ȍ)
Chӑn R11=100(ȍ)
cn n 12
ĐӇ QS1 A1015 dүn bão hoà thì:
VEB=VEBs=0,8(v)
IB =0,714(mA)
c c 34
c
Đӝ rӝng xung:
?
Khi đó thӡi gian cӫa mӝt chu kǤ lӋnh tӕi đa phҧi là 1.Tҫn sӕ thҥch anh cҫn dùng phҧi
là:
|
Vұy ta chӑn thҥch anh 12MHz.
Chӑn C1=C2=33pF
Tính toán bӝ switch cho chân RST cӫa vi điӅu khiӇn.
-Khi dòng đә qua trӣ R1 và R2,vӟi mөc đích muӕn sөt áp chӫ yӃu rơi trên R2 đӇ quyӃt
đӏnh mӭc điӋn áp cho chân RST nên ta phҧi chӑn R2 lӟn hơn nhiӅu so vӟi R1.
c c 35
c
Ta có phương trình xҧ cӫa tө C3 tӯ 5Vdc xuӕng còn 2.6Vdc(lúc này áp rơi trên R2 bҵng
2.2Vdc-2.4Vdc nên RST ӣ mӭc cao):
VC3(t)=[VC3(0)-VC3(Æ]. +VC3(Æ
2.6 =[0-5]. +5
ĺ 2.08
0.734
-Gӑi tmax là thӡi gian lâu nhҩt cҫn thiӃt đӇ bҩm chân RST.Vì vұy,tmax này càng bé càng
tӕt.Tuy nhiên,tmax phҧi phù hӧp vӟi thӵc tӃ,nên ta chӑn tmax=0.1s.
=(R1+R2).C30.136s
!"
#
!
c c 36
c
c c 37
c
- Đӕi vӟi đӃ IC thì chӑn mũi khoang 1mm. Các linh kiӋn như điӋn trӣ, tө, trӣ thanh,
BJT thưӡng LM35 chӑn mũi khoang 0.6mm và 0.8mm. Đӕi vӟi BJT công suҩt thì
chӑn mũi 1.2mm.
- Gҳn linh kiӋn theo layout và hàn tӯng linh kiӋn 1 vào mҥch.
- Sau khi hàn xong linh kiӋn vào board dùng kìm bҩm phҫn chân còn dư.
- Đӕi vӟi nhӳng phҫn cҫn phҧi chҥy thêm dây: tiӃn hành chӑn dây dүn phù hӧp. Gӑt
2 đҫu và hàn vào mҥch như linh kiӋn thông thưӡng.
2. C
k
mҥ trong đ tà
l Khӕi mҥch giao tiӃp:
c c 38
c
c c 39
c
c c 40
c
- KiӇm tra khӕi hiӇn thӏ Led 7 đoҥn có hoҥt đӝng tӕt không. NӃu không hiӇn thӏ gì
thì ta kiӇm tra xem port đó đã đưӧc kéo dòng hay chưa. NӃu chưa thi cҫn phҧi kiӇm
tra BJT như thӃ nào. KiӇm tra lҥi tҩt cҧ mà không cҧi thiӋn thì lӛi nҵm ӣ phҫn
chương trình.
- KiӇm tra điӋn áp cung cҩp cho IC cҧm biӃn LM35, IC 89C51 và IC chuyӇn đәi mã
có đúng đӫ thông. Đo điӋn áp ra trên mӛi IC xem có đҥt yêu cҫu hay không.
- KiӇm tra các điӋn trӣ nӕi tӯ bӝ chuyӇn đәi đӃn các led 7 đoҥn có đúng không, kiӇm
tra các điӋn trӣ kéo tӯ xuӕng có đúng không.
- Và kiӇm tra lҥi lүn nӳa các led 7 đoҥn có đúng loҥi không . Trong mҥch dung loҥi
anod chung.
* NӃu Led 7 đoҥn không sáng thì phҧi kiӇm tra:
- KiӇm tra led có đúng loҥi không
- KiӇm tra nguӗn cung cҩo , BJT dүn.
- KiӇm tra IC giҧi mã 74LS47 có hoҥt đӝng không
* NӃu hiӇn thӏ không đúng thì phҧi kiӇm tra:
- Cho thӱ lҥi code trên chương trình mô phӓng
- KiӇm tra khӕi bàn phím: NӃu bҩm phím không nhұp đưӧc giá trӏ thì phҧi kiӇm tra xem
có switch nào bӏ hӓng hay không, đã thӵc hiӋn kéo trӣ nâng dòng cho khӕi bàn phím
chưa. NӃu cҧ hai đӅu không có thì lӛi nҵm ӣ phҫn chương trình/
- KiӇm tra giao tiӃp máy tính: NӃu viӋc giao tiӃo không thӵc hiӋn đưӧc vӟi loҥi thҥch
anh cҫn dung thì phҧi kiӇm tra xem vi điӅu khoӇn đang dung có đúng là 89c51 hay không,
bên cҥnh đó cҫn kiӇm tra lҥi dây cәng COM có còn dùng đưӧc hay không, chiӅu dài dây
đã hӧp lí hay chưa. NӃu đã thӵc hiӋn hӃt các công viӋc trên mà viӋc giao tiӃp máy tính vүn
không cҧi thiӇn đưӧc thì chӭng tӓ lӛi nҵm ӣ phҫn chương trình.
- KiӇm tra nguӗn cung cҩp:
+ KiӇm tra các tө đúng cӵc tính, diode cҫu gҳn đúng cưc cӫa nó
+ Các điӋn trӣ thông mҥch
+ Đo điӋn áp ngõ ra đúng 5V cung cҩp cho mҥch
c c 41
c
c c 42
c
Chương trình dùng đӇ thiӃt kӃ giao diӋn và công cө quҧn lý đưӧc dùng là Delphi.
c c 43
c
Đ S
Cәng Com
Mӣ ?
KӃt Thúc
Nút Send
Sai Đúng
Cәng Com
Mӣ ?
Đúng
Sai
HiӇn thӏ ³ Cҫn nhұp Gӱi dӳ liӋu ra
nhiӋt đӝ tӯ 40 đӃn 100´ cӗng Com
KӃt thúc
c c 44
c
Dat=Strtoint(Edit2Tnhap.text)
Doc=Strtoint(Memo1.Text)
m = Dat +5
n = Dat -5
Doc <=m
&& Doc >=n
?
MeMo trҥng thái hiӇn thӏ ³Lò MeMo trҥng thái hiӇn thӏ ³Lò
Nguӝi´ nóng´
MeMo trҥng thái -> màu Xanh MeMo trҥng thái -> màu Đӓ
KӃt thúc
c c 45
c
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ExtCtrls,CPort, Menus;
type
TForm1 = class(TForm)
Open: TButton;
Setting: TButton;
Send: TButton;
Edit1: TEdit;
Clear: TButton;
Memo1: TMemo;
Timer1: TTimer;
Label_Gio: TLabel;
Label_Ngay: TLabel;
MainMenu1: TMainMenu;
File1: TMenuItem;
About1: TMenuItem;
Help1: TMenuItem;
Exit1: TMenuItem;
Time: TLabel;
Date: TLabel;
Edit2Tnhap: TEdit;
ComPort1: TComPort;
Label1: TLabel;
Label2: TLabel;
c c 46
c
Label3: TLabel;
TRANGTHAI: TMemo;
procedure ComportRxChar(Sender: TObject; Count: Integer);
procedure ExitClick(Sender: TObject);
procedure OpenClick(Sender: TObject);
procedure SettingClick(Sender: TObject);
procedure SendClick(Sender: TObject);
procedure ClearClick(Sender: TObject);
procedure Timer1Timer(Sender: TObject);
procedure Exit1Click(Sender: TObject);
procedure About1Click(Sender: TObject);
procedure Help1Click(Sender: TObject);
procedure TRANGTHAIchange(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
//dong cong com va exit chuong trinh
procedure TForm1.ExitClick(Sender: TObject);
begin
ComPort1.Close;
Close;
end;
c c 47
c
c c 48
c
c c 49
c
TRANGTHAI.Color:=clWhite;
end
else if(ht<n)
then
begin
TRANGTHAI.Text:='Lo Nguoi';
TRANGTHAI.Color:=clLime ;
Beep;
end
else
begin
TRANGTHAI.Text:='Lo Nong';
TRANGTHAI.Color:=clRed;
Beep;
End
end;
// xoa memo
procedure TForm1.ClearClick(Sender: TObject);
begin
Memo1.Lines.Clear;
end;
procedure TForm1.Timer1Timer(Sender: TObject);
begin
Label_Gio.Caption:=timetostr(now());
Label_Ngay.Caption:=datetostr(now());
end;
procedure TForm1.Exit1Click(Sender: TObject);
begin
c c 50
c
Comport1.Close;
Close;
end;
procedure TForm1.About1Click(Sender: TObject);
begin
ShowMessage('Chuong trinh GIAM SAT VA ON DINH NHIET DO'
+#13#10+
'Giao vien huong dan: Le Hong Nam'
+#13#10+'Sinh vien thuc hien:'
+#13#10+'Nhóm 13-Lop 07DT4'
+#13#10+' Phan Van Bin '
+#13#10+' Cao Manh Hung '
+#13#10+' Le Viet Khanh '
+#13#10+' Nguyen Xuan Quang '
+#13#10+' Nguyen Son Tung '
+#13#10+' Le Anh Tuan '
+#13#10+' Da Nang, Thang 3 nam 2011');
end;
procedure TForm1.Help1Click(Sender: TObject);
begin
ShowMessage('Contact: Group 13-07DT4');
end;
end.
c c 51
c
1. Lu đӗ t uұt to
n.
1.1C ng trn n
LOOP_MAIN
CALL IN_HEX
ENTER ? ENTER
CLEAR ? CLEAR
DOCCAMBIEN
DISPLAY
GOIDULIEU
XULYCONGSUAT
1.2 C
k
lu đӗ a ng trn on
c c 52
c
IN_HEX
Đ
R4=4?
S
Hàng 0
Đ
có ҩn?
S Mã quét
Hàng 1 Đ
DEC R4 có ҩn?
ChuyӇn sang
Mã quét
cӝt kӃ tiӃp S
Hàng 2 Đ
có ҩn?
Mã quét
S
Hàng 3 Đ
có ҩn?
Mã quét
RET
c c 53
c
GET_KEY_SET
Set bit 10
R6= 14
KEY-SET= R6
RET
DAT_KEYBOARD
Set bit 12
R6= 12
KEY-DAT= R6
RET
c c 54
c
CALL_KEYBOAD
Call IN_HEX
PHIM_NHAN= Call
XULYPHIM
các sӕ 0-9?
NEXT_MAIN
c c 55
c
LOOP_MAIN
KEY_SET=14? CALL_KEYBOAD
NEXT_MAIN
DOC_CAM_BIEN
Đ
Clear bit RDCB đӇ đưa giá trӏ
chuyӇn đәi đӃn cәng ra
c c 56
c
RET
B <- 10
HIӆN THӎ ĐƠN Vӎ
RET
c c 57
c
Xӱ Lý Công Suҩt
S
Nhietdodoc> Đ
Nhietdodat
Bұt lò Tҳt lò
KӃt Thúc
c c 58
c
S Đ
Cӡ ngҳt IT = 1 ?
Đ
S
Cӡ ngҳt IT = 1 ? Nhұn dӳ liӋu tӯ máy tính
đưa đӃn NHIETDODAT
Đ
Xóa bit cӡ ngҳt IT
Xóa cӡ ngҳt IR
S
Cӡ ngҳt IT = 1 ?
Thoát Ngҳt
c c 59
c
2. C ng trn Assembl
c c 60
c
c c 61
c
MOV PHIMT,#0H
MOV TG1,#0H
MOV TG2,#0H
MOV TG3,#0H
MOV TMOD,#11H
MOV PHIM_NHAN,#0H
MOV P0,#0FFH
MOV P1,#0FFH
MOV P2,#0FFH
MOV P3,#0FFH
SETB EA
SETB ES
MOV TMOD,#21H
MOV TH1,#-3
MOV SCON,#50H ;Sm1=1:mode 2 ; ren(receive enable =1 ) : cho phép thu
SETB TR1 ; cho phép timer 1 hoҥt đӝng
;--------------------------------------
;--------Chuong trinh chinh------------
;--------------------------------------
LOOP_MAIN:
MOV A,#00H
MOV KEY_SET,A
MOV KEY_DAT,A
CALL SET_KEYBOAD
MOV A,KEY_SET
CJNE A,#14,DAT_KEY
LCALL CALL_KEYBOAD
DAT_KEY:
CALL DAT_KEYBOARD
MOV A,KEY_DAT
CJNE A,#12,NEXT_MAIN
c c 62
c
CALL HIENTHI
NEXT_MAIN:
CALL DOC_CAM_BIEN
MOV A,NHIETDODOC
MOV SBUF,A ; Goi du lieu len may tinh ///////
CALL CHUYENMA
CALL DISPLAY
CALL XULYCONGSUAT
SJMP LOOP_MAIN
;---------------------------------------
;---------Phim cai dat phim SET---------
;---------------------------------------
SET_KEYBOAD:
MOV R7,#50
BACK1_SET_KEY:
CALL GET_KEY_SET
JNB 10,EXP1_SET_KEY
DJNZ R7,BACK1_SET_KEY
BACK2_SET_KEY:
MOV R7,#50
BACK3_SET_KEY:
CALL GET_KEY_SET
JB 10,BACK2_SET_KEY
DJNZ R7,BACK3_SET_KEY
MOV KEY_SET,R6
EXP1_SET_KEY:
RET
//-------------------------------------------
GET_KEY_SET:
MOV P0,#07FH;10111111
JNB P0.2,ROW_3_SET ;nhҧy tӟi nhãn row nӃu P0.0 = 0
c c 63
c
SJMP NO_CODE_SET
ROW_3_SET:
SETB 10
MOV R6,#14
SJMP EXIT_SET_KEY
NO_CODE_SET: ;Neu khong co phim nhan thi xoa bit 10
CLR 10
EXIT_SET_KEY:
RET
;----------------------------------------
;-------DAT SET KEY---------------------
;-----------------------------------------
DAT_KEYBOARD:
MOV R7,#50
BACK1_SET_KEY1:
CALL GET_KEY_SET1
JNB 12,EXP1_SET_KEY1
DJNZ R7,BACK1_SET_KEY1
BACK2_SET_KEY1:
MOV R7,#50
BACK3_SET_KEY1:
CALL GET_KEY_SET1
JB 12,BACK2_SET_KEY1
DJNZ R7,BACK3_SET_KEY1
MOV KEY_DAT,R6
EXP1_SET_KEY1:
RET
//-------------------------------------------
GET_KEY_SET1:
MOV P0,#07FH;10111111
JNB P0.0,ROW_3_SET1 ;nhҧy tӟi nhãn row nӃu P0.0 = 0
c c 64
c
SJMP NO_CODE_SET1
ROW_3_SET1:
SETB 12
MOV R6,#12
SJMP EXIT_SET_KEY1
NO_CODE_SET1: ;Neu khong co phim nhan thi xoa bit 10
CLR 12
EXIT_SET_KEY1:
RET
HIENTHI:
MOV A,NHIETDODAT
CALL CHUYENMA
MOV R7,#3
DOI:
CALL DISPLAY
DJNZ R7,DOI
RET
;----------------------------------------------
;--------Quet ban phim-------------------------
;----------------------------------------------
CALL_KEYBOAD:
CLR ES ; xóa bít ngҳt nӕi tiӃp
MOV A,#130
MOV SBUF,A ;xóa dӳ liӋu vào máy tính
JNB TI,$
CLR TI ;xóa cә ngҳt do cәng nӕi tiӃp
CLR LED1 ; xóa bít P3.3
MOV PHIM_NHAN,#0H
MOV PHIM1,#0H
MOV PHIM2,#0H
c c 65
c
MOV PHIM3,#0H
MOV PHIMT,#0H
MOV TG1,#0H
MOV TG2,#0H
MOV TG3,#0H
LOOP_KEYBOAD:
CLR 11
CALL IN_HEX
JNB 11,NEXT
//So sanh de chon phim
MOV A,PHIM_NHAN ;Phim so 10 tai nguyen
CJNE A,#10,NEXT_KEYBOAD1
SJMP EXIT_KEYBOAD
NEXT_KEYBOAD1:
MOV A,PHIM_NHAN ;Phim so 11 tai nguen
CJNE A,#11,NEXT_KEYBOAD2
SJMP EXIT_KEYBOAD
NEXT_KEYBOAD2:
MOV A,PHIM_NHAN ;Phim so 12 tai nguen
CJNE A,#12,NEXT_KEYBOAD3
SJMP EXIT_KEYBOAD
NEXT_KEYBOAD3: ;Phim so 13 la phim CLR
MOV A,PHIM_NHAN
CJNE A,#13,NO_CLEAR
SJMP CLEAR
NO_CLEAR:
MOV A,PHIM_NHAN ;Phim so 14 tai nguyen
CJNE A,#14,NEXT_KEYBOAD4
SJMP EXIT_KEYBOAD
NEXT_KEYBOAD4:
MOV A,PHIM_NHAN ;Phim so 15 la phim ENTER
c c 66
c
CJNE A,#15,NO_ENTER
LJMP ENTER
NO_ENTER:
CALL XULYPHIM
MOV A,PHIMT
CJNE A,#255,OVER_MAX ;Neu gia tri dat >120 thi xoa ve 0 va nhap lai
SJMP NEXT
OVER_MAX:
JC NEXT
CLEAR:
MOV PHIM_NHAN,#0H
MOV PHIM1,#0H
MOV PHIM2,#0H
MOV PHIM3,#0H
MOV PHIMT,#0H
MOV TG1,#0H
MOV TG2,#0H
MOV TG3,#0H
NEXT:
MOV A,PHIMT
MOV SBUF,A
JNB TI,$
CLR TI
CALL CHUYENMA
CALL DISPLAY
EXIT_KEYBOAD:
SJMP LOOP_KEYBOAD
ENTER:
MOV NHIETDODAT,PHIMT
MOV A,#131
c c 67
c
MOV SBUF,A
JNB TI,$
CLR TI
SETB ES
SETB LED1
JMP NEXT_MAIN
;------------------------------------------
;-------Chuong trinh con xu ly ban phim----
;------------------------------------------
IN_HEX:
MOV R7,#70
BACK1:
ACALL GET_KEY
JNB 10,EXP1
DJNZ R7,BACK1
BACK2:
MOV R7,#50
BACK3:
ACALL GET_KEY
JB 10,BACK2
DJNZ R7,BACK3
SETB 11
MOV PHIM_NHAN,R6
EXP1:
NOP
RET
;----------------------------------------------------------------------------
GET_KEY:
MOV A,#0FEH
MOV R5,#0
SCAN_ROW:
c c 68
c
MOV P0,A
MOV R4,A ;luu gia tri cua A vao R4
;chuan bi quet cac cot va nhay
JNB P0.4,ROW_0
JNB P0.5,ROW_1
JNB P0.6,ROW_2
JNB P0.7,ROW_3
;khong co phim an thi chuyen den cot tiep theo
MOV A,R4 ;lay lai ma lan truoc tu r4
RL A ;quay trai 1 bit de chuyen den cot ke
tiep
INC R5 ;tang so lan quet len 1
CJNE R5,#4,SCAN_ROW ;khong du 4 cot thi quay lai quet
SJMP NO_CODE
ROW_0:
MOV A,R5
ADD A,#0
SETB 10
MOV R6,A
SJMP EXIT
ROW_1:
MOV A,R5
ADD A,#4
SETB 10
MOV R6,A
SJMP EXIT
ROW_2:
MOV A,R5
ADD A,#8
SETB 10
MOV R6,A
c c 69
c
SJMP EXIT
ROW_3:
MOV A,R5
ADD A,#12
SETB 10
MOV R6,A
SJMP EXIT
NO_CODE: ;Neu khong co phim nhan thi xoa bit 10
CLR 10
EXIT:
RET
;-----Chuong trinh con xu ly ban phim---------------
XULYPHIM:
MOV TG1,PHIM_NHAN
MOV TG2,PHIM1
MOV TG3,PHIM2
MOV PHIM3,TG3
MOV A,PHIM3
MOV B,#100
MUL AB
MOV NHO_LAN1,A
MOV PHIM2,TG2
MOV A,PHIM2
MOV B,#10
MUL AB
MOV NHO_LAN2,A
MOV PHIM1,TG1
MOV A,PHIM1
ADD A,NHO_LAN1
ADD A,NHO_LAN2
MOV PHIMT,A
c c 70
c
RET
;---------------------------------------
;------Chuong trinh con ngat noi tiep---
;---------------------------------------
SERIAL:
PUSH ACC
PUSH PSW
JB TI,TRANS
; CLR LED1
JNB RI,$
MOV NHIETDODAT,SBUF
CLR RI
CALL CHUYENMA
CALL DISPLAY
; SETB LED1
SJMP EXIT_SERIAL
TRANS: MOV SBUF,NHIETDODOC
JNB TI,$
CLR TI
MOV SBUF,NHIETDODAT
JNB TI,$
CLR TI
EXIT_SERIAL:
POP PSW
POP ACC
RETI
;---------------------------------------
;--------Chuong trinh con---------------
c c 71
c
;---------------------------------------
;--------Chuong trinh con doc cam bien--
;---------------------------------------
DOC_CAM_BIEN:
CLR WRCB
NOP
SETB WRCB
HERE:
JB INTRCB,HERE
CLR RDCB
MOV A,P1
MOV NHIETDODOC,A
SETB RDCB
RET
;-----------------------------------------------------
;------Chuong trinh con xu ly cong xuat-----
;------------------------------------------------------
XULYCONGSUAT:
MOV A,NHIETDODOC
CJNE A,NHIETDODAT,OVER
SJMP EXIT
OVER:
JNC NEXT_POWER ;NHIETDODOC>NHIETDODAT
CALL POWER_ON
SJMP EXIT_POWER
NEXT_POWER:
CALL POWER_OFF
EXIT_POWER:
RET
;-------------------------------------------------------
;------Chuong trinh con mo mach cong suat---
c c 72
c
;-------------------------------------------------------
POWER_ON:
CLR CONGSUAT
RET
;---------------------------------------------------------
;------Chuong trinh con dong mach cong suat---
;---------------------------------------------------------
POWER_OFF:
SETB CONGSUAT
RET
;-------------------------------------------------------
;------Chuong trinh con hien thi-----------------
;------------------------------------------------------
DISPLAY:
MOV R0,#100
LOOP:
MOV P2,DONVI
CALL DELAY_1MS
MOV P2,CHUC
CALL DELAY_1MS
MOV P2,TRAM
CALL DELAY_1MS
DJNZ R0,LOOP
RET
;----------------------------------------------------
;-----chuong trinh con chuyen ma-----------
;---------------------------------------------------
CHUYENMA:
MOV B,#100
DIV AB
ADD A,#0B0H
c c 73
c
MOV TRAM,A
MOV A,B
MOV B,#10
DIV AB
ADD A,#0E0H
MOV CHUC,A
MOV A,B
ADD A,#0D0H
MOV DONVI,A
RET
;-----------------------------------------------------
;-----Chuong trinh con tao tre 1ms------------
;----------------------------------------------------
DELAY_1MS:
MOV R3,#00H
LOOPE: INC R3
NOP
CJNE R3,#250,LOOPE
RET
END
c c 74
c
c c 75
c
c c 76