Giáo trình vi xử lý | Trường Đại học Công Nghiệp TPHCM

Giáo trình vi xử lý | Trường Đại học Công Nghiệp TPHCM. Tài liệu gồm 249 trang, giúp bạn tham khảo, ôn tập và đạt kết quả cao. Mời bạn đọc đón xem!

Thông tin:
249 trang 4 tháng trước

Bình luận

Vui lòng đăng nhập hoặc đăng ký để gửi bình luận.

Giáo trình vi xử lý | Trường Đại học Công Nghiệp TPHCM

Giáo trình vi xử lý | Trường Đại học Công Nghiệp TPHCM. Tài liệu gồm 249 trang, giúp bạn tham khảo, ôn tập và đạt kết quả cao. Mời bạn đọc đón xem!

199 100 lượt tải Tải xuống



 !""


   !
   



 ! "#"#$"#%$

 !
"#$% !
&'()*+,-!
./01$23425678
&9,&:
;2<$32<=+>?!
+0/ 0@A)22BIntelC<**-DBRockwellInternationalC<E
% ! "%#"#&$"##$

= !
"#$4 !
&'()F+,-)&+,-!
./01$3=5678
&9,&:
;$3G+>?!
+0/ 0@A)4G2%BMosTechnologyC<4=2264=2HBMotorolaC<
=2=26=2=GBIntelC<I=2BZilogC<E
& ! "&#"#'$"'($

$4 !
"#%2D% !
&'()>+,-!
./012<$3$5678
&9,&:
;G3$2+>?!
+0/ 0@A)4=22264=2$2B+))@)C<=2=46=2$=46=2%=4
BJKC<E
' ! "'#"'%$)*$

L%D4 !
"#L% !
&'()>&+,-!
./012<2$32<$578
&9,&:
;%23$22+>?!
+0/ 0@A)4=2%264=2L264=2264=242BMotorolaC<=2L=46
=2=46*KBIntelC<E
()*+,
"M
:NOAPQR@S )@T  U'V1R)
AW!
   !
 !  
:NOA@RXY!
.Z[<Y
*V\BHardwareC ")()R7)AW!
*V]BSoftwareCA^@S!
&*_BCentralProcessingUnitC^"@`!
ab+BRandomAccessMemoryC 07@cdT!
a,+BReadOnlyMemoryC 07#e!
JK@8K&@@()R!
*K@RK@fKKBInputC ")(Bthi"tb$nh%pC!
*K@RK@fKKBOutputC ")(Bthi"tb$xu'tC!
b@K  "#!
f  !
&)@)  ]U!
(-.,
&*_g@h()@)<g[NcN)(01
cN)@T!
&*_0(g0iPR)!:)(0<&*_+,-.APA7
( 2 $j 07<ggk1/-.l]
UA^\7)@)]UU/U0j A7)
gjg()@]U))!
   !
 "  
#1234525$!
#63)-357123635$ 0A^@S6)@m!
/01234156/7846789/746/126:3/51^"Nl]U!
#8-5)9:3;$^"/e)!
8;501820!
.g(<U)(0&*_k1TX%)<-= /-.>0
!
.)<-= 
F0*&AP&*_AT "#B$C!
.i]UeBReadC@(i1B%C!
+lBOpcodeCj 07APAT BLC!
+lAP)@)Ja@)&*_BC!
F0*&OT0^"n "S(RURj 07!
.)/-.>0
+ljJaAPA)^"Nl]U!
^"Nl]Uk1Nl)R)K()@i
]UcQRb9_BRegistersC!
&O\@Ti]U<b9_1)lAP"!
+0oBOpcodeCUPR(710'gMAP
eA^@SBProgramCRV]BSoftwareC!
<=
07 d00RQU@c[@e<A^@S
]APA@) 07!
07 d@)Y
a,+ 07A^@SAA^@S]U)(0)/!
ab+ 07A<0RVA^@S]U/<
\XU[Ni)!
   !
 #  
-^AP]c@pR`)(a,+3ab+
a,+BReadOnlyMemoryC 07#e<'@)a,+kU' "c
NUYcR)a,+U'h!
&c@pa,+
*`)(0/)(a,+
+a,+BMaskROMCa,+(!
*a,+BProgrammableROMCa,+QR@SAP!
q*a,+BEraseablePROMCa,+QR@SgAP!
_rDq*a,+BUltraVioletEPROMCa,+g s1i!
qq*a,+BElectricEPROMCa,+QR@Sg si!
ta,+a,+QR@Sg si!
ab+BRandomAccessMemoryC 07@cdTBb*nh+ghiñ-cC<'
@)ab+k "cUYcR)ab+U'h!!
&c@pab+
*`)(0/)(ab+
fab+BDynamicRAMCab+0
-ab+BStaticRAMCab+M
&"AP 07 d= X)R]U=2G$A
f1)/AP`"#
<3/;:>?/;@%

<7F/AW"# 07!
Víd0:07 d= g$2AW"#!&) AP 07 )Tu
F;$2fAP;%
$2
;A%';*
   !
 $  
f1)l/ 07
+l/BBBB )( 07
%v_rDq*a,+ %=qq*a,+
4$<4%-ab+ 2<$fab+
BBBBAP 07
<3/;:>?/;@BBBB#*C51$)<3/;:>?/;@BBBBDE#*$
Víd0:07gl/%v%G4<AP 07 )Tu
%v07FGH,
%G4fAP;%IJ#*C51$;&%#*$
K-HL#K-MN$
+(  ) R BInterface CircuitryC    " c QR   " )( 
BPeripheralDevicesC()@UNO)R77 T)!0RQ)
R /77 T)AWAPeZBPortC!FA
QwK)j)( ")RgZQRBInputCc'j))
ZcBOutputCA'j@)@)!
.Z[<gL)( "cQR
. "A@7 Oj<Mj<M[<E
. ")R7)AWS< Ri<<E
. "]U6U@ 0Uii< 0N <E
+
QRPRAW`'gw\O!r@c'7
0([&*_SgXL)(  "#<  ]U!
&*_X/ 1)eBREADCBWRITEC'
&*_7 07) ")(!
"#BAddressbusC
N' "#!
9)( $]BCPU
MEMhayI/OC!
" 07) ")(&*_V@)Z'!
"AP 07))(&*_gUNO@c!
BDatabusC
N' !
9)( %]BCPU
MEMhayI/OC!
"/ &*_gUNOw0p!
]UBControlbusC
N' ]UBoAW`0i]U
UC!
9)( $]BCPU
MEM5I/Oho6cMEM5I/O
CPUC!
]UU/U@)Qi]UjU/gR/
PR)(0!
   !
 %  
O(*
R`  0 0]Ug1@T/A
B!31PQ R/:6S5
5TU:V
#!3 35223$
5W5X3Y 5Z/
#!3335$
&*_ x x
a,+ x
ab+ x
+()R/
R
x
+()R)
)
x
+(]Uy
x
&c@pRV\
BHardware
architectureC
&(]U
U
x
zX7<i
)R\(R
x
&\X
BApplicationsC
zXm<i
)^N
x
&U""# F] {&@A
QR
BInstructionset
featureC
0j

K<|)@<f) K})@<
E
<K
,[*K\,(*
]<BWatch5DogTimerC0"W|Df)!
H<HDBOscillatorC0)0BF/VC!
5^820"W!
D<BAnalog/DigitalC0 ZiA^16/!
_8;501820BSpecialFunctionRegisterC&\O !
,,8^62`07!
   !
 &  
26;29^,8^62`07A^@S!
GGH,07qq*a,+!
DH6210&R)@c6QR!
/01234156/<8467820Nl!
^")/e!
443^3:9162.i~!
6/126:6;54]U)!
26;29^63/1820A^@S!
/01234156/0D77280080&6"#!
[(**K*K
&g /e]U'X@T"@AW4=+))@)<=2
JK<I=I)*J&$4+@)R.K))!+o)(]U@T]g0
QR@TTpU'A^id!rQUU0
/X]USV1@TTn)u&g Tni
?@ABC
R\TVi)0[NU!f)Q<
@A7TVRNK• 0]U= <$4 L% iPRc!+0//
U€QVAP`yUe1
D+/07c]Uo@P )T!
EF1U2`fJ*<•t*UgmUBDIP:v8d9nghaihàng
chân,QFP:v8vuôngd?tC!:gm@c[@eUgTV]U'<UyR@R
()d)NRn/w!
2B?G0TnV ANRnwR)
RA7!
fAP 07a,+ab+iPR‚@TR!
-/`)6@ 0"W@TR!
:NOƒ`)c)l'cTX!
„@T0^"U/AP7!rS`c]gNA…
/wNRn!
?@A)C
&g‚'XR@RV]<†(AA^
@S'Rm<@S T"<@SPR"‡@/!
?@A)C
:NOR\]/AP(~A…A^!/
70/USTnQih[@e^NTn@T!


  !"
#$%&'()*+,  -./%001234



  !"# "$%
 !"#$%
#$%&'()*+,-./(0
1'2,-+3.4+5067189
1'2:;<.4+50=$.>89
1'2,-+3.450?67189
1'2:;<.450?67189
6#5+@AB#89$.
=.'CD?.
5E#)E#
1'@FG.89
=%C+H2,ICCJKLC+H.
MNO+56P(
M5+K+5Q&'()#"&A+R,-,-,0
 & '()*+$% ',)*+$% -./0$  1
$%S %71 =$.> =
$%S= %71 =?.> S
$% 671TUV =$.> =
$%= $71TUV =?.> S
$W 671XYTUV =$.> =
$W= $71XYTUV =?.> S
$Z 671[\]^UV =$.> =
$Z= $71[\]^UV =?.> S
 2#& 3$45$#67# &8/9": ;$
 -.8/9": ;$<
$%S'#4./"$%#>,D,I5$%_&UV+4
#`&:a,I#>b#/. (4UV5c,-+3bE5
$%S$%&,-+3,IcdUV+4#.C2E671KQUV5
$%S3&4E?671e>4K&+>B#E.'2UV53b:a4
 89K:5B>JQ& 89(F:fMgh
#fA>KR&. (4 5O+5$%S
 -.8/9": ;$
$%='#4./$%$%=&A/"_()iB$%K5+Q
&4=$.>U]K671UV'.'CD;M,B>K$%=& '=?.>
U]K$71UV..'CD
  !"
#$%&'()*+, 5 -./%001234
=#>$ :? "@ <  
 ! % 6 $
"#! =$ =$ =?
$%&' = = S
() S= S= S=
(*+,   
-./0   ?
M,./_()+4A>$%'+,DI#+4$%=,-+3E
5$%&>,I+4$%=,,I&_R
< -.8/9": ;$A
#$WJ&671.'2XYTUV+4#`(F:f#>b#/&E.C
B#+3TUVE.C@5"XYTUVj5UV+4#$WXYTUVK4b
#/A5/=%#R@5"$W+,2,IB#+33N>!"+3AD
4(/@A5+#4./[(UVXU]
B -.8/9": ;$,C#67,DEF+*&+*7+$
]e$Z#4./$%&UV+4#.'2[(T4./>+AHI#5
"c:f3.'2[(&,I@&+5N>jk4:a]e$Zb
#/&E.CB#+3TUVL+I.'2[(,_bEE.C@&UV3.'2
[(,I@&.gE.CB#+3TUV`<(F:fK<>]4c
'#4./]e$Z&,IB#+3! V">HT,B>(l_
bEE.CB#+3TUV
G !" '() ',) H( DE* %I ## JK# L$
123(4 671 =$ S= =   6%
123564 671 =$ S= =  S 6%
123(4 71 ?6   S S =%
123(4 =71 =$  =  S =%
123(4 $71 =? S= S ?  6%
123564 $71 =? S= S ? S 6%
 -.8/9": ;$MJ#67M7FF7NJED#+$O"#+*
'#4./# .E";$%j%%%j(5:5+1'2
UV+4#j%%%MU]j%%%&/m#,-+35UV+4#
+5&nd+5<)_b#/A>+"o<:a! V
  !"
#$%&'()*+,  -./%001234
">HT`N>'+A,I,'M5+KMU]Q&,<5
#p#> ':U]5q.>_b#/@&E+,2B#+3,.'2
YTUV
G !" '() ',) H( DE* %I ## JK# L$
78492 $71 =$ S= = ?  6%
7849 S=71 =$ S= = ?  6%
784192 $71 =$ S= = ?  6%
78419 S=71 =$ S= = ?  6%
`*.<"#&;res5(G<r%%%s&k#&&EE
4'ttDo81(:#1;#(<9.4+5\,GttDoUe
55"2.'CDe+Ue5,;D>8'=)"9>
"8">;9+4oE>/_&tA#
P -.8/9": ;$CQQ#67 F&N+*&+*7+$
`N>'#4.//E(F:fTX.'$%2Hm,I
+'0:,IUVOU]+4#+A2KSe+?.uv:5e+K=jTeUK
$thKTv8.?#@AA.9KT88####B#9*.<.'2
,- +3 +4 # & H m T 898"?#; ;;9  ]T 89
;;9Kw
RS,
 JT/U: K8V# W#$X$%#2#: K#67# &
  !"
#$%&'()*+,  -./%001234
TX86&3+%6//7&90`-C@FG+NH5"!"
+35'<)
V88/++3&%90:5'5H<@5A#5")+5
#5'
++#5+50`hBH<hq.458-1CD-1C9Kq
.'CD81;#D1;#9q )E#88#9Kb,I,"H<h>E
TX@FG
V++(+(0"",+;:;<"#5+@AOB#K+"
<")+5#+5()!"+35'<)
U]893:%1;6//"61%<901'2:;<+5#,+;":;<
UV 8963: 8+<"61%<90 1'2 ,- +3 +5 # ,+; ,- +3
5'#
OV#5+(8=>8&%&/90"#5+@AOB#<@AB#:;<:,2
:(5(5;+55#_!"#5+T%KTKT=KTS
+#5+0T5+)E#<@AB#:;<:,2:)E#;
+55#_!"Ne@jKU@j
e+%Ke+01'CD%K:aCD5*E(o<8%,;
E.9_!"Ne%Ke
1(5+50`.(5'<).(<:>
_+4<).(
1((>(0^<).(4E")+5#2
 JT/U# L$8V# W#$X$%#2## L$#67# &
  !"
#$%&'()*+,  -./%001234
 +*
T5+%8FGFH9&()NqS=xSZ
T5+%&cm0
T5+@AB#:;<8F9FH9_(F:f.'25
1(CJ.>A#.(:;<I#87G7H9&(F:f.'2
5
?,@%&A3&B+C%&)D&E:F+!&'G/*:H$!&IJ%+.
K.%C
yE'*C8<#?#93"NT5+%8F9FH9,IA3%&)D&
:;<)"NT5+%%&E:;<3b#/B#+3K.g"c5
58;I9EA/".#5++,2.hbB#:;<q#5+8J%K"%LMN
"OP<,,9
7B#+35UV+5#3T5+%&+Qz5:;<87G7H9
E#;?QRS%K.<T24U94!
 +*
T5+8FGFH9&()Nqx$
T5+&'cm0
T5+ @A B#:; < 8F G FH9 (F :f 5* _ (F :f .' 2
5
yE'*C8<#?#93"NT5+8FGFH9,IA3%&)D&
:;<)"NT5+%&E:;<3b#/B#+3K.g"c5
58;I9EA/".#5++,2.hbB#:;<q#5+8J%K"%LMN
"OP<,,9
7B#+35UV+5#3T5+&+Qz5CJ.>A#
8GH9E#;?QRS%K.<T24U94!
< +*
T5+=8FGFH9&()Nq=x=$
T5+=&cm0
T5+@AB#:;<8FGFH9_(F:f.'25
1(CJ.>582G49&(F:f.'25
yE'*C8<#?#93"NT5+=8FGFH9,IA3%&)D&
:;<)"NT5+=%&E:;<3b#/B#+3K.g"c5
58;I9EA/".#5++,2.hbB#:;<q#5+8J%K"%LMN
"OP<,,9
7B#+35UV+5#3T5+=&+Qz5CJ.>582
G9"H<E#;?QRS%K.<T24U94!
B +*<
T5+S8FGFH9&()Nq%xW
T5+S&cm0
T5+@AB#:;<8FGFH9_(F:f.'255*"
cm*.<
"H<&(F:f.'255*"cm*.<
yE'*C8<#?#93"NT5+S8FGFH9,IA3%&)D&
:;<)"NT5+S%&E:;<3b#/B#+3K.g"c5
58;I9EA/".#5++,2.hbB#:;<q#5+8J%K"%LMN
"OP<,,9
  !"
#$%&'()*+, L -./%001234
7B#+35UV+5#3T5+S&+Qz5"H<
E#;?QRS%K.<T24U94!
cm"NT5+S0
1 e4 `CJ. cm
TS% U@j 1%^ NB:;<#5+)E#
TS e@j 1^ N#":;<#5+)E#
TS= Me%{ 1=^ Mz5h5%
TSS Me{ 1S^ Mz5h5
TS6 e% 16^ Mz5.'CDOE%
TS e 1^ Mz5.'CDOE
TS? vU{ 1?^ `5U]5
TSW Uj{ 1W^ `qU]5
  L$JYZ
TYM8%31M&%6N3K+6905#p#.'2,-+3KN()=Z
cm0
\H<5#p#+>@A8O9.'2,-+3895
\H<@AKHocA#
TYM{|%+5DTX3#<qUV5
TYM{|TX(F:fUV+58<V?WAX9
7(F:f.'2,-+3.45KNTYM{,D,I)2NVY{
UV55#p#TX<qUV5
P  L$,[Y
]\Y8;::6//?3&N3K+6905#p#)CJKN()S%
cm0
\H<5#p#)CJo<</I#5.(CJ
.>A#.(:;<I#87G7H9
\H<@AKHoc5
]\Y|%+5D.(]j%]jW&+Q.(j%jW
]\Y|+5D.(]j%]jW&+Q.(]%]W
7B#+35UV+5#3N]\Y&+Qz5@B#+3
8YC9E#;?QRS%K.<T24U94!
?,
?
8(
5Z
B
B =
&:a@55""
\
,[Y
8^}90b()@N]\Y
\
(J
8^}90b():5'+4#8b()9
7<A>:;<qU]586[9,Io<3'@]\Y.C.~!
E#;\%/293?QRS%K.<T24U!
A  L$Y,Z
Y]8N)&63+;6//90+>@A5KN()S
cm0
\H<5#p#+>@A8/*:H9.'2,-+3895
  !"
#$%&'()*+, P -./%001234
\H<B#KHocA#
Y]{|%#$%(F:f,-+3UV5
Y]{|#$%(F:f,-+3UV+5
7B#+35UV+5#3NY]&+Qz5<"#B#+3
86]6GD46S23EE^6S2EED2HEE9E#;?QRS%K.<T24U
94!
?,NY]{#/,I)48,.?WAXL_N`95*)
@)•Mj8,.?WAXL_N`9K_.5D,I#p#.~+)N>
  L$],[^],[
€e]\8("?90KN()$Z
cm0
ja)25*:5'5@5.45K
A#H<@55#5'
€e]\z55@5+5#
€e]\=z+5@5+5#
?,
)_\
`
=
==
=
\
`
8^}90b():C
C  L$'J
Ue896/6&90EB#KN()Z
cm0
\H<5#p#E*#8%a9+".b5<)
\H<B#KHoc5
Ue|%#$%5'.3,D
Ue|#$%,IE*#+".b
?,
#?#
1
×
=
U
8(
#
B
1
=
=
'YJY
8P(90D+( \
(J
8^}90b()
),Y
8P(90•">
  !"
#$%&'()*+,  -./%001234
6bAX:"C•">D+(,-c5q+,DI#
V
|K%Z=^}K
V
|=^}‚
V
|?^}
Y\
V
|K%Z=^}e
]^MY
|K%$P(
UYYe
ƒ=KWP(
V
|=^}e
]^MY
|P(
UYYe
ƒ=P(
V
|?^}e
]^MY
|%KWP(
UYYe
ƒKP(
  L$##^M
K•Mj0tA#<KN()6%=%
cm0
A#t<5#$%5'
|a±
±±
±b•Mj|
c'd(']ce
7/m‚58(),I/b+9"qN#5+#$%0
T5+%0$/ee\
T5+06/ee\
T5+=06/ee\
T5+S06/ee\
?,
7%&A3&B+C%&)D&E3(l_&<+dp54.4+5:%
A/*:H&.1C%!&IJ%+.K.%CE#;RNF!F
yE'*C8<#?#93A/"N"#5+8G9,IA3
%&)D&:;<
)"N#5+#$%%&E:;<3b#/,IB#+3K
.g"c558c9EA/".8)9#5++,2.hbB#:;
<q#5+8J%K"%LMN"OP<,,9
  !"
#$%&'()*+, Q -./%001234
"N+5a'#5+_AE#/&aA38E.Ja
c9Mk+5a'#5+&&N:aB#:;<K&&N:a
@A:;<`>a>'5bfH,DB#+3
„"+3N#5+8E.JAde.)9
„"+3N#5+8cAde.f)9
„"+3.')8<T;Ade.g)9
  !"
#$%&'()*+, R -./%001234
?,<:;<.A•'#5+5&5"+C"a>'
5<(F:f:;<q#5+8E#;;Pce9€/>+<,I
_5)>:5!"+3:;<#$%t!"+3"0h.
N%S)h.N%S$+
2$&'OS%&7(F:f"<"8(T;UUTVj;<B
,I(o<!"+3:F+!!&0I$S%&
2$ &' OKWX&7(F :f" <;Y?T89?T Z9?T?T=YT
UNTU[Y\T[-T?9K&TMN-K&T"8(K&j;<B,I(o<!"+3
:F+!!&0I$KWX&Ade.%i%LMg'%T;Lj%kOh.N
)!Kc_#/:;<<d"N#5+54KEDo<
!"+3:;<"N#5+&.C> m;3:;<…_
,IB#B
-fgS,
1'@FG&_.'25:;<,-+3
,-+3:;<g+4U]+,2,5TXo
1'&_.'2+45:;<,-+3
,-+3:;<g+4+4UVU]+,2,5TXo
e c.'2#$%0
| 1/249

Preview text:

!""
Chương 1: Gi i thi u chung v b vi x lý.
Trư ng ðH Công nghi p Tp.HCM. CHƯƠNG 1 GI I THI U CHUNG V B VI X LÝ
I. S PHÁT TRI N C A CÁC B VI X LÝ: 1. Th! h" 1 (1971 $ 1973):
ð c ñi m chung c a các vi x lý th h này: • Bus d li u: 4 bit. • Bus ñ"a ch#: 12 bit. • Công ngh ch t(o: PMOS. •
T/c ñ0 th1c hi n l nh: 10 – 60 5s/l nh v7i fCLOCK = 0,1 – 0,8 MHz.
M0t s/ b0 vi x lý ñ c trưng cho th h này: 4040 (Intel), PPSD4 (Rockwell International), … 2. Th! h" 2 (1974 $ 1977):
ð c ñi m chung c a các vi x lý th h này: • Bus d li u: 8 bit. • Bus ñ"a ch#: 16 bit. •
Công ngh ch t(o: NMOS ho c CMOS. •
T/c ñ0 th1c hi n l nh: 1 – 8 5s/l nh v7i fCLOCK = 1 – 5 MHz.
M0t s/ b0 vi x lý ñ c trưng cho th h này: 6502 (Mos Technology), 6800/6809 (Motorola),
8080/8085 (Intel), Z80 (Zilog), … 3. Th! h" 3 (1978 $ 1982):
ð c ñi m chung c a các vi x lý th h này: • Bus d li u: 16 bit. • Bus ñ"a ch#: 20 D 24 bit. • Công ngh ch t(o: HMOS. •
T/c ñ0 th1c hi n l nh: 0,1 – 1 5s/l nh v7i fCLOCK = 5 – 10 MHz.
M0t s/ b0 vi x lý ñ c trưng cho th h này: 68000 / 68010 (Motorola), 8086 / 80186 / 80286 (Intel), … 4. Th! h" 4 (1983 $ nay):
ð c ñi m chung c a các vi x lý th h này: • Bus d li u: 32 D 64 bit. • Bus ñ"a ch#: 32 bit. • Công ngh ch t(o: HCMOS. •
T/c ñ0 th1c hi n l nh: 0,01 – 0,1 5s v7i fCLOCK = 20 – 100 MHz.
M0t s/ b0 vi x lý ñ c trưng cho th h này: 68020 / 68030 / 68040 / 68060 (Motorola), 80386 / 80486 / Pentium (Intel), …
II. SƠ ð) KH+I C A M T H VI X LÝ: ð"nh nghĩa h vi x lý: •
KhN năng ñưPc lQp trình ñ thao tác trên các d li u mà không cVn s1 can thi p c a con ngưWi.
Chương 1: Gi i thi u chung v b vi x lý.
Trư ng ðH Công nghi p Tp.HCM. •
KhN năng lưu tr và phXc hYi d li u. TZng quát, h vi x lý gYm: •
PhVn c\ng (Hardware): các thi t b" ngo(i vi → ñ giao ti p v7i con ngưWi. •
PhVn m]m (Software): chương trình → ñ x lý d li u.
CPU (Central Processing Unit): ñơn v" x lý trung tâm.
RAM (Random Access Memory): b0 nh7 truy xuct ngdu nhiên.
ROM (Read Only Memory): b0 nh7 ch# ñec.
Interface Circuitry: m(ch ñi n giao ti p.
Peripheral Devices (Input): các thi t b" ngo(i vi (thi"t b$ nh%p).
Peripheral Devices (Output): các thi t b" ngo(i vi (thi"t b$ xu't). Address bus: bus ñ"a ch#. Data bus: bus d li u. Control bus: bus ñi]u khi n.
III. ðƠN V- X LÝ TRUNG TÂM:
CPU ñóng vai trò ch ñ(o trong h vi x lý, nó quNn lý tct cN các ho(t ñ0ng c a h và th1c hi n
tct cN các thao tác trên d li u.
CPU là m0t vi m(ch ñi n t có ñ0 tích hPp cao. Khi ho(t ñ0ng, CPU ñ,c mã l nh ñưPc ghi dư7i
d(ng các bit 0 và bit 1 tj b0 nh7, sau ñó nó sk th1c hi n gi/i mã các l nh này thành dãy các xung ñi]u
khi n tương \ng v7i các thao tác trong l nh ñ ñi]u khi n các kh/i khác th0c hi n tjng bư7c các thao
tác ñó và tj ñó t(o ra các xung ñi]u khi n cho toàn h . !
Chương 1: Gi i thi u chung v b vi x lý.
Trư ng ðH Công nghi p Tp.HCM.
IR (Instruction Register): thanh ghi l nh.
PC (Program Counter / Instruction Pointer): b0 ñ m chương trình / con trm l nh.
Instruction decode and control unit: ñơn v" giNi mã l nh và ñi]u khi n.
ALU (Arithmetic and Logic Unit): ñơn v" s/ hec và logic. Registers: các thanh ghi.
Tóm l(i, khi ho(t ñ0ng CPU sk th1c hi n liên tXc 2 thao tác: tìm n=p l nh và gi/i mã – th0c hi n l nh. • Thao tác tìm n=p l nh:
N0i dung c a thanh ghi PC ñưPc CPU ñưa lên bus ñ"a ch# (1).
Tín hi u ñi]u khi n ñec (Read) chuy n sang tr(ng thái tích c1c (2).
Mã l nh (Opcode) tj b0 nh7 ñưPc ñưa lên bus d li u (3).
Mã l nh ñưPc chuy n vào trong thanh ghi IR trong CPU (4).
N0i dung c a thanh ghi PC tăng lên m0t ñơn v" ñ chunn b" tìm n(p l nh k ti p tj b0 nh7. •
Thao tác gi/i mã – th0c hi n l nh:
Mã l nh tj thanh ghi IR ñưPc ñưa vào ñơn v" giNi mã l nh và ñi]u khi n.
ðơn v" giNi mã l nh và ñi]u khi n sk th1c hi n giNi mã opcode và t(o ra các tín hi u ñ
ñi]u khi n vi c xuct nhQp d li u gi a ALU và các thanh ghi (Registers).
Căn c\ trên các tín hi u ñi]u khi n này, ALU th1c hi n các thao tác ñã ñưPc xác ñ"nh.
M0t chuoi các l nh (Opcode) k t hPp l(i v7i nhau ñ th1c hi n m0t công vi c có ý nghĩa ñưPc
gei là chương trình (Program) hay phVn m]m (Software). IV. B NH BÁN D=N:
B0 nh7 bán ddn là m0t b0 phQn khác rct quan treng c a h vi x lý, các chương trình và d li u
ñ]u ñưPc lưu gi trong b0 nh7.
B0 nh7 bán ddn trong h vi x lý gYm: •
ROM: b0 nh7 chương trình → lưu gi chương trình ñi]u khi n ho(t ñ0ng c a toàn h th/ng. •
RAM: b0 nh7 d li u → lưu gi d li u, m0t phVn chương trình ñi]u khi n h th/ng, các
\ng dXng và k t quN tính toán. "
Chương 1: Gi i thi u chung v b vi x lý.
Trư ng ðH Công nghi p Tp.HCM.
Sơ lưPc v] ccu trúc và phân lo(i ROM – RAM: •
ROM (Read Only Memory): b0 nh7 ch# ñec, thông tin trong ROM sk không b" mct ñi ngay
cN khi nguYn ñi n cung ccp cho ROM không còn. Ccu trúc ROM: Phân lo(i m0t s/ lo(i ROM: MROM (Mask ROM): ROM m t n(.
PROM (Programmable ROM): ROM lQp trình ñưPc.
EPROM (Eraseable PROM): ROM lQp trình và xóa ñưPc.
UVDEPROM (Ultra Violet EPROM): ROM xóa bsng tia c1c tím.
EEPROM (Electric EPROM): ROM lQp trình và xóa bsng tín hi u ñi n.
Flash ROM: ROM lQp trình và xóa bsng tín hi u ñi n. •
RAM (Random Access Memory): b0 nh7 truy xuct ngdu nhiên (b* nh+ ghi ñ-c), thông tin
trong RAM sk b" mct ñi khi nguYn ñi n cung ccp cho RAM không còn.. Ccu trúc RAM: Phân lo(i m0t s/ lo(i RAM: DRAM (Dynamic RAM): RAM ñ0ng SRAM (Static RAM): RAM tĩnh
Cách xác ñ"nh dung lưPng b0 nh7 bán ddn 8 bit s dXng cho chip vi ñi]u khi n 8051 như sau: •
D1a vào s/ lưPng chân ñ"a ch#:
Dung lư?ng = 2N , v7i N là s/ ñưWng ñ"a ch# c a b0 nh7.
Ví d0: B0 nh7 bán ddn 8 bit có 10 ñưWng ñ"a ch#. Cho bi t dung lưPng c a b0 nh7 là bao nhiêu?
N = 10 → Dung lưPng = 210 = 1024 = 1 KB #
Chương 1: Gi i thi u chung v b vi x lý.
Trư ng ðH Công nghi p Tp.HCM. • D1a vào mã s/ c a b0 nh7: Mã s/: XX YYYY XX: lo(i b0 nh7 27: UVDEPROM 28: EEPROM 61,62: SRAM 40,41: DRAM YYYY: dung lưPng b0 nh7
Dung lư?ng = YYYY (Kbit) ho c Dung lư?ng = YYYY / 8 (KB)
Ví d0: B0 nh7 có mã s/ 27256, dung lưPng c a b0 nh7 là bao nhiêu ? 27 → B0 nh7 UVFEPROM
256 → Dung lưPng = 256 (Kbit) = 32 (KB)
V. CÁC THIKT B- NGOLI VI (CÁC THIKT B- XUMT NHNP):
M(ch ñi n giao ti p (Interface Circuitry) và các thi t b" xuct nhQp hay thi t b" ngo(i vi
(Peripheral Devices) t(o ra khN năng giao ti p gi a h vi x lý v7i th gi7i bên ngoài. B0 phQn giao
ti p gi a bus h th/ng c a h vi x lý v7i các th gi7i bên ngoài thưWng ñưPc gei là cZng (Port). Như
vQy tùy theo tjng lo(i thi t b" giao ti p mà ta có các cZng nhQp (Input) ñ lcy thông tin tj ngoài vào h
và các cZng xuct (Output) ñ ñưa thông tin tj trong h ra ngoài.
TZng quát, ta có 3 lo(i thi t b" xuct nhQp sau: •
Thi t b" lưu tr l7n: băng tj, ñĩa tj, ñĩa quang, … •
Thi t b" giao ti p v7i con ngưWi: màn hình, bàn phím, máy in, … •
Thi t b" ñi]u khi n / ki m tra: các b0 kích thích, các b0 cNm bi n, … VI. H TH+NG BUS:
Bus là tQp hPp các ñưWng dây mang thông tin có cùng ch\c năng. Vi c truy xuct thông tin t7i
m0t m(ch ñi n xung quanh CPU thì nó s dXng 3 lo(i bus: bus ñ"a ch#, bus d li u và bus ñi]u khi n.
CPU s dXng h th/ng bus này ñ th1c hi n các thao tác ñec (READ) và ghi (WRITE) thông tin gi a
CPU v7i b0 nh7 ho c các thi t b" ngo(i vi. • Bus ñ"a ch# (Address bus):
ð chuy n tNi thông tin c a các bit ñ"a ch#.
Là lo(i bus 1 chi]u (CPU → MEM hay I/O).
ð xác ñ"nh b0 nh7 ho c thi t b" ngo(i vi mà CPU cVn trao ñZi thông tin.
ð xác ñ"nh dung lưPng b0 nh7 ho c ngo(i vi mà CPU có khN năng truy xuct. • Bus d li u (Data bus):
ð chuy n tNi thông tin c a các bit d li u.
Là lo(i bus 2 chi]u (CPU ↔ MEM hay I/O).
ð xác ñ"nh s/ bit d li u mà CPU có khN năng x lý cùng m0t lúc. • Bus ñi]u khi n (Control bus):
ð chuy n tNi thông tin c a các bit ñi]u khi n (moi ñưWng dây là m0t tín hi u ñi]u khi n khác nhau).
Là lo(i bus 1 chi]u (CPU → MEM5I/O ho6c MEM5I/O → CPU).
ð ñi]u khi n các kh/i khác trong h và nhQn tín hi u ñi]u khi n tj các kh/i ñó ñ ph/i hPp ho(t ñ0ng. $
Chương 1: Gi i thi u chung v b vi x lý.
Trư ng ðH Công nghi p Tp.HCM.
VII. VI X LÝ – VI ðI U KHI N:
ð phân bi t b0 vi x lý và b0 vi ñi]u khi n ta có th d1a trên các y u t/ như sau: Vi xU lý Vi ñiXu khiZn Y!u tP phân loSi (Microprocessor) (Microcontroller) CPU X X ROM X RAM X M(ch giao ti p n/i Ccu trúc phVn c\ng X ti p (Hardware M(ch giao ti p song architecture) X song M(ch ñi]u khi n ngyt X Các m(ch ñi]u khi n X khác zng dXng l7n, tính X Các \ngdXng toán ph\c t(p (Applications) zng dXng nhm, tính X toán ñơn giNn Các ñ c trưng c a Các ki u ñ"nh ñ"a ch# Nhi]u Ít tQp l nh (Instruction set ð0 dài tj d li u x Byte, Word, Double word, Bit, Byte lý … feature)
VIII. MINH H[A KIKN TRÚC C A M T H VI ðI U KHI N:
WDT (Watch5Dog Timer): B0 ñ"nh thWi WatchDDog.
OSC., OSC/N (Oscillator): B0 dao ñ0ng (N: h s/ chia tVn). Timer: B0 ñ"nh thWi.
A/D (Analog/Digital): B0 bi n ñZi tín hi u tương t1/s/.
SFR Registers (Special Function Register): Các thanh ghi ch\c năng ñ c bi t. RAM Memory: B0 nh7 d li u. %
Chương 1: Gi i thi u chung v b vi x lý.
Trư ng ðH Công nghi p Tp.HCM.
Program Memory: B0 nh7 chương trình. EEPROM: B0 nh7 EEPROM.
I/O Ports: Các port xuct/nhQp.
Instruction Decoder: B0 giNi mã l nh.
ALU: ðơn v" logic và s/ hec.
Accumulator: Thanh ghi tích lũy.
Control Logic: ði]u khi n logic.
Program Counter: B0 ñ m chương trình.
Instructions/Addresses: Các l nh / ñ"a ch#.
IX. L A CH[N B VI ðI U KHI N KHI THIKT KK:
Có b/n he vi ñi]u khi n thông dXng trên th" trưWng hi n nay là: 68xxx c a Motorola, 80xxx c a
Intel, Z8xx c a Zilog và PIC16xxx c a Microchip Technology. Moi lo(i vi ñi]u khi n trên ñ]u có m0t
tQp l nh và thanh ghi riêng nên chúng không tương thích ldn nhau. VQy khi ta ti n hành thi t k m0t h
th/ng s dXng vi ñi]u khi n thì ta cVn d1a trên nh ng tiêu chunn nào? Có ba tiêu chnn chính: •
Tiêu chu@n thA nhBt là: ðáp \ng yêu cVu tính toán m0t cách hi u quN và kinh t . Do vQy,
trư7c tiên ta cVn phNi xem xét b0 vi ñi]u khi n 8 bit, 16 bit hay 32 bit là thích hPp nhct. M0t s/ tham s/
k€ thuQt cVn ñưPc cân nhyc khi chen l1a là:
TDc ñ : t/c ñ0 l7n nhct mà vi ñi]u khi n ho trP là bao nhiêu.
KiFu IC: là ki u 40 chân DIP, QFP hay là ki u ñóng vm khác (DIP: v8 d9ng hai hàng
chân, QFP: v8 vuông d?t). Ki u ñóng vm rct quan treng khi có yêu cVu v] không gian, ki u lyp ráp và
t(o mdu th cho sNn phnm cu/i cùng.
Công suBt tiêu thG: là m0t tiêu chunn cVn ñ c bi t lưu ý n u sNn phnm dùng pin ho c ñi n áp lư7i.
Dung lưPng b0 nh7 ROM và RAM tích hPp s‚n trên chip.
S/ chân vào/ra và b0 ñ"nh thWi trên chip.
KhN năng dƒ dàng nâng cao hi u suct ho c giãm công suct tiêu thX.
Giá thành trên m0t ñơn v" khi mua s/ lưPng l7n. Vì ñây là vcn ñ] có Nnh hư…ng ñ n giá
thành cu/i cùng c a sNn phnm. •
Tiêu chu@n thA hai là: Có s‚n các công cX phát tri n phVn m]m, ch†ng h(n như các chương
trình mô phmng, trình biên d"ch, trình hPp d"ch và g‡ r/i. •
Tiêu chu@n thA ba là: KhN năng ñáp \ng v] s/ lưPng … hi n t(i cũng như … tương lai. ð/i
v7i m0t s/ nhà thi t k thì tiêu chunn này thQm chí còn quan treng hơn cN hai tiêu chunn trên. &
Chương 2: Ph n c ng chip vi ñi u khi n 8051.
Trư ng ðH Công nghi!p Tp.HCM. CHƯƠNG 2
PH N C NG CHIP VI ðI U KHI N 8051 I. T NG QUÁT: 1. Gi i thi!u chung:
MCS 51 là h vi ñi u khi n c a hãng Intel. Vi m ch t ng quát c a h MCS 51 là chip 8051.
Chip 8051 có m't s) ñ*c trưng cơ b/n sau:
B' nh2 chương trình bên trong: 4 KB (ROM).
B' nh2 d; liB' nh2 chương trình bên ngoài: 64 KB (ROM).
B' nh2 d; li4 port xuAt nhBp (I/O port) 8 bit. 2 b' ñCnh thDi 16 bit. M ch giao tiEp n)i tiEp.
B' xF lý bit (thao tác trên các bit riêng l ).
210 vC trí nh2 ñưIc ñCnh ñCa chJ, mLi vC trí 1 bit. Nhân / Chia trong 4 Ps.
Ngoài ra, trong h MCS 51 còn có m't s) chip vi ñi u khi n khác có cAu trúc tương ñương như: Chip ROM trong RAM trong B. ñ0nh th1i 8031 0 KB 128 byte 2 8032 0 KB 256 byte 3 8051 4 KB PROM 128 byte 2 8052 8 KB PROM 256 byte 3 8751 4 KB UV EPROM 128 byte 2 8752 8 KB UV EPROM 256 byte 3 8951 4 KB FLASH ROM 128 byte 2 8952 8 KB FLASH ROM 256 byte 3
2. Các phiên b5n c6a chip vi ñi9u khi;n 8051: 2.1 B. vi ñi9u khi;n 8031:
8031 là m't phiên b/n khác c a h 8051. Chip này thưDng ñưIc coi là 8051 không có ROM trên
chip. ð có th dùng ñưIc chip này cbn ph/i b sung thêm ROM ngoài chca chương trình cbn thiEt cho
8031. 8051 có chương trình ñưIc chca d ROM trên chip bC gi2i h n ñEn 4KB, còn ROM ngoài c a
8031 thì có th lên ñEn 64KB. Tuy nhiên, ñ có th truy cBp hEt b' nh2 ROM ngoài thì cbn dùng thêm
hai c ng (Port 0 và Port 2) , do vBy chJ còn l i có hai c ng (Port 1 và Port 3) ñ sF dfng. Nhgm khhc
phfc vAn ñ này, chúng ta có th b sung thêm c ng vào/ra cho 8031. 2.2 B. vi ñi9u khi;n 8052:
8052 là m't phiên b/n c a h 8051. 8052 có tAt c/ các thông s) ki thuBt c a 8051, ngoài ra còn
có thêm 128 byte RAM, 4KB ROM và m't b' ñCnh thDi n;a. Như vBy, 8052 có t ng c'ng 256 byte
RAM, 8KB ROM và ba b' ñCnh thDi. Giáo trình Vi x* lý. 8 Biên so0n: Ph0m Quang Trí
Chương 2: Ph n c ng chip vi ñi u khi n 8051.
Trư ng ðH Công nghi!p Tp.HCM. ð=c tính k? thu@t 8031 8051 8052 ROM trên chip (KB) 0 4 8 RAM trên chip (byte) 128 128 256 B$ ñ&nh th'i 2 2 3 Chân vào/ra 32 32 32 C*ng n+i ti,p 1 1 1 Ngu/n ng0t 5 5 6
Như b/ng thông s) trên ta thAy 8051 là m't trưDng hIp riêng c a 8052. M i chương trình viEt
cho 8051 ñ u có th ch y ñưIc trên 8052 nhưng ñi u ngưIc l i có th là không ñúng. 2.3 B. vi ñi9u khi;n 8751:
Chip 8751 chJ có 4KB b' nh2 UV EPROM trên chip. ð sF dfng chip này cbn ph/i có thiEt bC
lBp trình PROM và thiEt bC xoá UV EPROM. Do ROM trên chip c a 8751 là UV EPROM, nên cbn
ph/i mAt kho/ng 20 phút ñ xoá 8751 trư2c khi ñưIc lBp trình. Vì ñây là quá trình mAt nhi u thDi gian
nên nhi u nhà s/n xuAt ñã cho ra phiên b/n Flash ROM và UV RAM. 2.4
B. vi ñi9u khi;n AT8951 c6a Atmel Corporation:
AT8951 là phiên b/n 8051 có ROM trên chip là b' nh2 Flash. Phiên b/n này rAt thích hIp cho
các cng dfng nhanh vì b' nh2 Flash có th ñưIc xóa trong vài giây. Dĩ nhiên là ñ dùng AT8951 cbn
ph/i có thiEt bC lBp trình PROM hL trI b' nh2 Flash nhưng không cbn ñEn thiEt bC xóa ROM vì b' nh2
Flash ñưIc xóa bgng thiEt bC lBp trình PROM. ð tim't phiên b/n c a AT8951 có th ñưIc lBp trình qua c ng COM c a máy tính PC và như vBy sl không
cbn ñEn thiEt bC lBp trình PROM. Ký hi!u ROM RAM I/O Timer NgIt Vcc SK chân IC AT89C51 4KB 128 32 2 5 5V 40 AT89LV51 4KB 128 32 2 5 3V 40 AT89C1051 1KB 64 15 1 3 3V 20 AT89C2051 2KB 128 15 2 5 3V 20 AT89C52 8KB 256 32 3 6 5V 40 AT89LV52 8KB 256 32 3 6 3V 40 2.5
B. vi ñi9u khi;n DS5000 c6a Dallas Semiconductor:
M't phiên b/n ph biEn khác n;a c a 8051 là DS5000 c a hãng Dallas Semiconductor. B' nh2
ROM trên chip c a DS5000 là NV RAM. DS5000 có kh/ năng n p chương trình vào ROM trên chip
trong khi nó vnn d trong h< th)ng mà không cbn ph/i lAy ra. Cách thoc hiGiáo trình Vi x* lý. 9 Biên so0n: Ph0m Quang Trí
Chương 2: Ph n c ng chip vi ñi u khi n 8051.
Trư ng ðH Công nghi!p Tp.HCM.
c a máy tính PC. ðây là m't ñi m m nh rAt ñưIc ưa chu'ng. Ngoài ra, NV RAM còn có ưu viphép thay ñ i n'i dung RAM theo tqng byte mà không cbn ph/i xóa hEt trư2c khi lBp trình như b' nh2 EPROM. Ký hi!u ROM RAM I/O Timer NgIt Vcc SK chân IC DS500098 8KB 128 32 2 6 5V 40 DS5000932 32KB 128 32 2 6 5V 40 DS5000T98 8KB 128 32 2 6 5V 40 DS5000T932 32KB 128 32 2 6 5V 40
ði m ñ*c bithêm m't ñtng ht thDi gian thoc (RTC: Real Time Clock) bên trong. Lưu ý ñtng ht thDi gian thoc RTC
hoàn toàn khác v2i b' ñCnh thDi Timer. RTC t o và lưu gi; thDi gian c a ngày (gi'/phút/giây) và ngày
tháng (ngày/tháng/năm) trên thoc tE ngay c/ khi không có ngutn cung cAp. 2.6
B. vi ñi9u khi;n P89V51xx c6a Philips Corporation:
ðây là m't phiên b/n c/i tiEn sF dfng CPU là b' vi ñi u khi n 80C51 v2i nhi u tính năng vưIt
tr'i: dung lưIng ROM/RAM trên chip rAt l2n, 3 Timer 16 bit + 1 Watch dog Timer, 2 thanh ghi DPTR,
8 ngutn nght, PWM (Pulse Width Modulator), SPI (Serial Peripheral Interface) và ñ*c bichương trình trên chip có tính năng ISP (In9System Programming) và IAP (In9Application Programming),… II. CÁC CHÂN CSA CHIP 8051:
1. Sơ ñU khKi và chWc năng các khKi c6a chip 8051: Giáo trình Vi x* lý. 10 Biên so0n: Ph0m Quang Trí
Chương 2: Ph n c ng chip vi ñi u khi n 8051.
Trư ng ðH Công nghi!p Tp.HCM.
CPU (Central Processing Unit): ðơn vC xF lý trung tâm → tính toán và ñi u khi n quá
trình ho t ñ'ng c a h< th)ng.
OSC (Oscillator): M ch dao ñ'ng → t o tín hichip ho t ñ'ng.
Interrupt control: ði u khi n nght → nhBn tín hib' ñCnh thDi (Timer 0, Timer 1) và tq c ng n)i tiEp (Serial port), lbn lưIt ñưa các tín hiCPU ñ xF lý.
Other registers: Các thanh ghi khác → lưu tr; d; lilàm viRAM (Random Access Memory): B' nh2 d; liROM (Read Only Memory): B' nh2 chương trình trong chip → lưu tr; chương trình ho t ñ'ng c a chip.
I/O ports (In/Out ports): Các port xuAt/nhBp → ñi u khi n vid ng song song gi;a trong và ngoài chip thông qua các port P0, P1, P2, P3.
Serial port: Port n)i tiEp → ñi u khi n vitrong và ngoài chip thông qua các chân TxD, RxD.
Timer 0, Timer 1: B' ñCnh thDi 0, 1 → dùng ñ ñCnh thDi gian ho*c ñEm so kixung) thông qua các chân T0, T1.
Bus control: ði u khi n bus → ñi u khi n ho t ñ'ng c a h< th)ng bus và vithông tin trên h< th)ng bus.
Bus system: H< th)ng bus → liên kEt các kh)i trong chip l i v2i nhau.
2. Sơ ñU chân và chWc năng các chân c6a chip 8051: Giáo trình Vi x* lý. 11 Biên so0n: Ph0m Quang Trí
Chương 2: Ph n c ng chip vi ñi u khi n 8051.
Trư ng ðH Công nghi!p Tp.HCM. 2.1. Port 0:
Port 0 (P0.0 – P0.7) có s) chân tq 32 – 39. Port 0 có hai chcc năng: • Port xuAt nhBp d; li•
Bus ñCa chJ byte thAp và bus d; lingoài.
Lưu ý: Khi Port 0 ñóng vai trò là port xuDt nhEp dF li!u thì phGi s* dHng các ñi!n trI kéo lên bên ngoài.
y chE ñ' m*c ñCnh (khi reset) thì các chân Port 0 (P0.0 9 P0.7) ñưIc cAu hình là port xuDt
d; licao (mIc 1) ñEn tAt c/ các bit c a port trư2c khi bht ñbu nhBp d; libày O phPn k, ti,p).
Khi lBp trình cho ROM trong chip thì Port 0 ñóng vai trò là ngõ vào c a d; li(xem sách “HS vi ñiKu khiTn 8051” trang 3339352). 2.2. Port 1:
Port 1 (P1.0 – P1.7) có s) chân tq 1 – 8. Port 1 có m't chcc năng: • Port xuAt nhBp d; lingoài.
y chE ñ' m*c ñCnh (khi reset) thì các chân Port 1 (P1.0 – P1.7) ñưIc cAu hình là port xuDt
d; licao (mIc 1) ñEn tAt c/ các bit c a port trư2c khi bht ñbu nhBp d; libày O phPn k, ti,p).
Khi lBp trình cho ROM trong chip thì Port 1 ñóng vai trò là ngõ vào c a ñCa chJ byte thAp
(A0 – A7) (xem sách “HS vi ñiKu khiTn 8051” trang 3339352). 2.3. Port 2:
Port 2 (P2.0 – P2.7) có s) chân tq 21 – 28. Port 2 có hai chcc năng: • Port xuAt nhBp d; li•
Bus ñCa chJ byte cao (A8 – A15) → có sF dfng b' nh2 ngoài.
y chE ñ' m*c ñCnh (khi reset) thì các chân Port 2 (P2.0 – P2.7) ñưIc cAu hình là port xuDt
d; licao (mIc 1) ñEn tAt c/ các bit c a port trư2c khi bht ñbu nhBp d; libày O phPn k, ti,p).
Khi lBp trình cho ROM trong chip thì Port 2 ñóng vai trò là ngõ vào c a ñCa chJ byte cao (A8 – A11) và các tín hi2.4. Port 3:
Port 3 (P3.0 – P3.7) có s) chân tq 10 – 17. Port 3 có hai chcc năng: •
Port xuAt nhBp d; lichcc năng ñ*c bi•
Các tín hiy chE ñ' m*c ñCnh (khi reset) thì các chân Port 3 (P3.0 – P3.7) ñưIc cAu hình là port xuDt
d; licao (mIc 1) ñEn tAt c/ các bit c a port trư2c khi bht ñbu nhBp d; libày O phPn k, ti,p). Giáo trình Vi x* lý. 12 Biên so0n: Ph0m Quang Trí
Chương 2: Ph n c ng chip vi ñi u khi n 8051.
Trư ng ðH Công nghi!p Tp.HCM.
Khi lBp trình cho ROM trong chip thì Port 3 ñóng vai trò là ngõ vào c a các tín hikhi n (xem sách “HS vi ñiKu khiTn 8051” trang 3339352).
Chcc năng c a các chân Port 3: Bit Tên ðCa chJ bit Chcc năng P3.0 RxD B0H Chân nhBn d; liP3.1 TxD B1H Chân phát d; liP3.2 INT0\ B2H Ngõ vào nght ngoài 0. P3.3 INT1\ B3H Ngõ vào nght ngoài 1. P3.4 T0 B4H
Ngõ vào c a b' ñCnh thDi/ñEm 0. P3.5 T1 B5H
Ngõ vào c a b' ñCnh thDi/ñEm 1. P3.6 WR\ B6H
ði u khi n ghi vào RAM ngoài. P3.7 RD\ B7H
ði u khi n ñ c tq RAM ngoài. 2.5. Chân PSEN\:
PSEN (Program Store Enable): cho phép b' nh2 chương trình, chân s) 29. Chcc năng: • Là tín hi•
Là tín hiPSEN\ = 0 → trong thDi gian CPU tìm n p lPSEN\ = 1 → CPU sF dfng ROM trong (không sW dXng ROM ngoài).
Khi sF dfng b' nh2 chương trình bên ngoài, chân PSEN\ thưDng ñưIc n)i v2i chân OE\ c a
ROM ngoài ñ cho phép CPU ñ c mã l2.6. Chân ALE:
ALE (Address Latch Enable): cho phép ch)t ñCa chJ, chân s) 30. Chcc năng: •
Là tín hibyte thAp và bus d; li•
Là tín hiALE = 0 → trong thDi gian bus AD0 AD7 ñóng vai trò là bus D0 D7.
ALE = 1 → trong thDi gian bus AD0 AD7 ñóng vai trò là bus A0 A7.
Khi lBp trình cho ROM trong chip thì chân ALE ñóng vai trò là ngõ vào c a xung lBp trình
(PGM\) (xem sách “HS vi ñiKu khiTn 8051” trang 3339352). Lưu ý: fOSC f
→ có th dùng làm xung clock cho các m ch khác. = ALE 6
fALE (MHz): tbn s) xung t i chân ALE.
fOSC (MHz): tbn s) dao ñ'ng trên chip (tbn s) th ch anh).
Khi l(xem gi\n ñ/ trang 38939 sách “HS vi ñiKu khiTn 8051”). 2.7. Chân EA\:
EA (External Access): truy xuAt ngoài, chân s) 31. Chcc năng: •
Là tín hiGiáo trình Vi x* lý. 13 Biên so0n: Ph0m Quang Trí
Chương 2: Ph n c ng chip vi ñi u khi n 8051.
Trư ng ðH Công nghi!p Tp.HCM. •
Là tín hiEA\ = 0 → Chip 8051 sF dfng chương trình c a ROM ngoài.
EA\ = 1 → Chip 8051 sF dfng chương trình c a ROM trong.
Khi lBp trình cho ROM trong chip thì chân EA ñóng vai trò là ngõ vào c a ñi(Vpp = 12V – 12,5V cho hS 89xx; 21V cho hS 80xx, 87xx) (xem sách “HS vi ñiKu khiTn 8051” trang 3339352).
Lưu ý: Chân EA\ ph/i ñưIc n)i lên Vcc (n,u sW dXng chương trình c`a ROM trong) ho*c n)i
xu)ng GND (n,u sW dXng chương trình c`a ROM ngoài), không bao giD ñưIc phép b~ tr)ng chân này. 2.8. Chân XTAL1, XTAL2:
XTAL (Crystal): tinh th th ch anh, chân s) 18 19. Chcc năng: •
Dùng ñ n)i v2i th ch anh ho*c m ch dao ñ'ng t o xung clock bên ngoài, cung cAp tín hi•
XTAL1 → ngõ vào m ch t o xung clock trong chip. •
XTAL2 → ngõ ra m ch t o xung clock trong chip. Lưu ý: f MHz 12 TYP = fTYP (MHz): tbn s) danh ñCnh. 2.9. Chân RST:
RST (Reset): thiEt lBp l i, chân s) 9. Chcc năng: • Là tín hi•
Là tín hiRST = 0 → Chip 8051 ho t ñ'ng bình thưDng.
RST = 1 → Chip 8051 ñưIc thiEt l*p l i tr ng thái ban ñbu. Lưu ý: t 12 ≥ 2 × T Re set Machine T = Machine fOSC tRESET (Ps): thDi gian reset. fOSC (MHz): tbn s) th ch anh. TMACHINE (Ps): chu kỳ máy. Giáo trình Vi x* lý. 14 Biên so0n: Ph0m Quang Trí
Chương 2: Ph n c ng chip vi ñi u khi n 8051.
Trư ng ðH Công nghi!p Tp.HCM.
Ví dX: Xác ñCnh chu kỳ máy và thDi gian reset tương cng cho tqng trưDng hIp fOSC = 11,0592MHz, fOSC = 12MHz và fOSC = 16MHz. Gi\i •
fOSC = 11,0592MHz → TMACHINE = 1,085Ps và tRESET ≥ 2,17Ps. •
fOSC = 12MHz → TMACHINE = 1Ps và tRESET ≥ 2Ps. •
fOSC = 16MHz → TMACHINE = 0,75Ps và tRESET ≥ 1,5Ps 2.10. Chân Vcc, GND:
Vcc, GND: ngutn cAp ñiChcc năng: • Cung cAp ngutn ñi• Vcc = +5V ± 10% và GND = 0V.
III. CcU TRÚC CÁC PORT XUcT NHeP CHIP 8051:
Kh/ năng fanout (s) lưIng t/i ñbu ra) c a các tqng chân port chip 8051 là: • Port 0: 8 t/i TTL. • Port 1: 4 t/i TTL. • Port 2: 4 t/i TTL. • Port 3: 4 t/i TTL. Lưu ý: •
Khi Port 0 ñóng vai trò là port xuDt nhEp thì sl không có ñiñó ngư i s* dHng c n thêm vào ñi!n trI kéo lên bên ngoài (xem Hình III.1). •
y chE ñ' m*c ñCnh (khi reset) thì tAt c/ các chân c a các port (P0 – P3) ñưIc cAu hình là port xuDt d; li•
Mu)n các chân port c a chip 8015 làm port nhEp d; libgng cách ghi mcc logic cao (mcc 1) ñEn tAt c/ các bit (các chân) c a port trư2c khi bht ñbu nhBp d; liGiáo trình Vi x* lý. 15 Biên so0n: Ph0m Quang Trí
Chương 2: Ph n c ng chip vi ñi u khi n 8051.
Trư ng ðH Công nghi!p Tp.HCM. •
Các chân trong cùng m't port không nhAt thiEt ph/i có cùng ki u cAu hình (port xuJt hoac
port nhcp). Nghĩa là trong cùng m't port có th có chân dùng ñ nhBp d; lixuAt d; liQuá trình ghi chân port (xuJt dd lieu ra chân port).
Quá trình ñ c chân port (nhcp dd lieu tf chân port).
Quá trình ñ c b' ch)t (kiTm tra dd lieu tgi chân port). Giáo trình Vi x* lý. 16 Biên so0n: Ph0m Quang Trí
Chương 2: Ph n c ng chip vi ñi u khi n 8051.
Trư ng ðH Công nghi!p Tp.HCM.
Lưu ý: Vivào lkhông mong mu)n này là do quá trình ñ c d; litrình ñSc chân port và quá trình ñSc b$ ch+t.
Quá trình ñOc chân port: Khi ta sF dfng các lñưIc sau khi thoc hiQuá trình ñOc bW chXt: Khi ta sF dfng các lDEC, DJNZ, JBC, CLR bit, SETB bit, MOV bit. D; lidF li!u hi!n t0i I các bW chXt (là các dd lieu ñã ñưMc ghi ra port tgi th'i ñiTm trưjc ñó bOi quá trình
ghi chân port), chc không ph/i là d; liquá trình ñ c mà d; liñưIc cBp nhBt.
IV. T CH C Bf NHg CSA CHIP 8051:
B' vi xF lý → có không gian b' nh2 chung cho d; li→ chương trình và d; liB' vi ñi u khi n → có không gian b' nh2 riêng cho d; li→ chương trình và d; liT chcc b' nh2 c a chip 8051: Giáo trình Vi x* lý. 17 Biên so0n: Ph0m Quang Trí