Mc lc
Chương 1 !"#$%$
&%&%'()%$
&%%* !"#$%+
Chương 2*,-./%&
%&%#,0./1%&
%%*23&
%$%#,0 456%7
Chương 3.%$
$%&%8.9%$
$%%*:,;<.9=
>58?
@5).A$7
&
LỜI NÓI ĐẦU
;B C1.D !@EF56GH2:(
:I28@@ @H5(@JK.
D.L8)K%MN2)O;@;9P.L8
5@@)F;-4Q@RK,%S;B
5(;):.L8)KT8;J;U@D5VOP
KJAEB.@EUJ%WH) !5(
/) !TWH).9 G
)23CCX@ P:%Y(
<9/RCH2JP.D.L8)K@
CCAEB@CC:,H:IO:(RZ
@!Q[P \KB]%^UO)@_M.9
23RC2X !FRC0K`%a;<J92b
K4Rcd/;)O)@e.G;
.f%g @2K9249h9B
:ITd,%
1. Tổng quan về đo tần số và chuẩn giao tiếp máy tính RS232
1.1. Tổng quan về đo tần số
Tần sốijj;hh k:IE32-.l5N5KPO
!);J,3%5@J;G
;DBP;<RJ.l%
Chu kỳ ihh;Rh 5hk5@.AfB@;3
P!)5N5KJ5(Pi/5@AU:,;<ikminkk%
o)H@.lP!)RJ5@
&
p q
p q
f hz
T s
=
Tần số góc tức thờiirk:IE3:5@ThP
P!)/5@
i k
d
t
dt
ω
Ψ
=
%
Y<!)@s1h 58 !4j5@J
K5:I.G%
&
%
d
f
dt
ω
π π
=
Ψ
=
>A:IFRC;5VO.:G )F
OJ856!)G545K%%%(RAWJtu
@<'tu%
.5@RCC9%S@;b9vH
P.AJR@E%%%
Các phương pháp đo tần số)5OD:,:IE
3h.AhJ!E 4hRK:@G
B0!)@J .%
M9P!)):,:,2w
@:,
kĐo tần số bằng phương pháp biến đổi thẳng:I@2X5K
.J:-.,).C).v3
$
x*.,):,Oi.)W)Jd)Jk
:IFRC9;.AW7tuy+.tu;K
0(B!E.GiB!E7z7+z&+z+k%
*5K.@ KFRC<4CGB.5(
@23;%
x*.)R:,O9;RAW&7tuy
+77.tu:IFRC.)v5d;23T@;G%%%%
x.v3:IFRC9!EP!)
E@!)@;RAW&7tuy+7'tu%*bFRC9v
.lJR@E.A%
2kĐo tần số bằng phương pháp so sánh:IO)GE5GG
E CJ..J:-%%%
x#FRCGE5GG:IO)2XD;O;4@<
N(PJ 3iRO;4
:!uk%\:,@ Rc9!)E
N!)E;RAW&7tu7gtu%
x.;JFRC9P!)E !)
24J;.AW&77.tuy7'tu;.V8G )
F%
x*E CJ9;.AW7tu
7.tu%
x.J:-9E !)24
JE;.AW+7.tuy&7'tuz:FRC.5d
23G %
;H1T .v3:IFRC;J;U@b@
N4{\9.9@FRC.AH%%%
a:(T s@E|J:,@RCC2
B20
xM2X:,J:-%
x.)W%
=
x*%
x.v3%( Trích [1] Trang 89-90)
Như vậy để đo tần số trong vi điều khiển, ta có thể thực hiện theo cách đếm số
xung mà nguồn phát xung trong 1 khoảng thời gian nhất định(ví dụ là 1s), từ
đó tìm ra tần số của nguồn cần đo.
1.2. Tổng quan giao tiếp máy tính RS232.
1.2.1 Đặt vấn đề
YBH\*@.9;B;D;/RC
.95:%%%'|"#$5@J;H.L
8:IFRC;J;U9|23K( !%S5@
JRc3RK.G02J.B
5@23R@.5(B|9A2ARH5)5@&%+
+%=J7.2}G.5@J&&+.2}(J23N2)%~
VP; GV5@;J9vJ
2:IFRDh:; %
*42A"#$:I5:@;:,R@5@"#$•
@"#$*%S: <42A"#$•e<!:IRcb
"#$*)Z:IRc@0K::ID5@4€D5@
"#$
* !:&Nh"#$*:ID5@
*%*Q:IRc|JRh23
5:%%%;4 !5K?TN5K+Tc @ @
P !%Y).("#$e:,R•
R@N2).DJKJ5@.G02J@J; RH
5)B%
1.2.2 Ưu điểm của giao diện nối tiếp RS232
n>A1•P
n23K95d A. !:IB)
+
n*K),A98:I)0GG
1.2.3 Những đặc điểm cần lưu ý trong chuẩn RS232
n;"#$/(K;4@R:(i57@&k5@n&Y%
t) :I3;-.A;KW$777G‚777G
ng/5&)X;.A$Y&Y/57Wn$Y
&Y
nJ; 8RH5)OK5@&77.2i@ 95(,k
n*5@A)Rf,+77ƒ
n;-.AA5(,$777G:Af,‚777G
nMJR@PH !@23K|
"#$.G:I&+Q.GFRh5
n*;3J; RH5)
+7‚+&&7‚+7$77„77&77=77=…77?„77&?77……77$…=77%%%%+„„77&&+
772
1.2.4 Các mức điện áp đường truyền
"#$FRC:,/; G.GE//5@FRC!
))45)HJRT RZ@B%a W4;
U†5‡PBFRC/):,
!9GA/57@&%S@/)4e
3;3;-.A:IB@2P2J8@;-.;
P2J%
g/)P4"#$*i:Rc2T k:IGA
:
ng/57n$Yn&Y
ng/5&&Y$Y
*/);KW$Y$Y5@;K 9 %*!
<W$Y($Y5@K.G:I3V;;:I
;35WB54NWEBJ!)A:I
UJ;J,<dI56%M@ RZ)AK
„
)RP23@PA:; %J
; RZCJ@R@PRT RZ%M))
v‡;I(J&?.•R%
1.2.5 Cổng RS232 trên PC
t !T) :I;23!B5@&*
"#$%#5:I*954(=c W5K
!%>*:IRB5@*&**
$%%%;45K:IFRC"#$5K?T
ia•?kN+Tia•+k% 5K@ c:
5K@ :IT2)2-Oia•?k@ia•+k
E|,0T*?T
;45@.!)T@<RKPa•?
*/1PT:
nT&a*;;h;ahhia*ak\!)RH5)
nT"hhhai"EakS8RH5)
nT$;aiEak; RH5)
nT=ah;5"hR ia"kMRH5)€@:I.!
K2-2J8.; RH5)
nT+#5';Ri#'kgP!)
nT„a#h"hR ia#"kaH5)€@:I.!K2-2J
‚
; .€@8RH5)
nT‚"hh#hR 4F2G; N:@ 54/K
J.€@; RH5)
nT…*5h;#hRi*#kˆ9F2G8N:@ 54/
.!KJ9G22J; 5@€@8!)
nT?"‰Rhi"‰k•G25@2J88!
);G
*ba•…2T (;.G@ H%S4G
.G8-T %
1.2.6 Quá trình dữ liệu
a) Quá trình truyền dữ liệu
; RH5)"#$:IO).G02J%a8
4KJ9vJ2:I; i&.!Ok%•J; FJ2
2di2;k9G22J82J.!Os:IF;
5; 2h%•@ 5G2d2X/7%%h5@2
RH5)i2Rk:IFR:(RKU]#*‰‰i95@+„‚ …2RH
5)k#5@J\; 2i>9;2€5† .Gk@c5@
2RW295@&&+ 2RW%
b) Tốc độ Baud
MT 5@JN;:P"#$%@ !5@N;:
;<; RH5)"#$5@J; 8RH5)
bD5@J2%J2:I3V5@2; :I;
&T 2; :I;&T %J2@
A:I58-24@248AJ:iJ
H.9@ !A&J; 2k
S@J2bJ9GAJ; 5@J•R%J
•R54J@FURH5):IFRC9R•A
2:I; bGJ2<AJO@2:I
; %Y<JF2)OUJ24.J2@
J2R5@A0B
…
gJJ•R:Rc+7‚+&&7&+7$77„77&77=77=…77
?„77&?77……77$…=77+„777&&+77Š;23D:Rc
J5@&?77
>FRC"#$< 4.FRC5@
9/5.G:I=‹; &2%a8 J
2@<; &2@f< 9/5
@Af%M@ 5@(K•R@.A; %
c) Bit chẵn lẻ hay Parity bit
MT 5@2.9;5‡;4:; %OBP;<.9;5‡
.; RH5)5@2E4RH5):I; 9<;NFJ
5‡;;<; %a;"#$FRCJ.L8
.9;€5†%
gJ2€5†:I2@RH5):I; 9B 5:I
2Œ&Œ:IF;J.; 5@€ 5†%
gJ\; 2v9<;J5†5‡AK:&$+‚?%%%S
:J2€:Id5‡<\; 2s;c;3(;:I
.Gd5‡<.G);5‡%a;.L8U5‡@
.G:IFRC;;:I.A1J@223d5‡%
*b/; RZ%\@ G.G82K5bEh
;;<%
1.2.7 Sơ đồ ghép nối RS232
*;BKP"#$H.9 23.%
a:(T 5@HK::IRc%
a) Mạch chuẩn giao RS232 dùng IC Max232
gE$5@‰* 4RcH"#$@23K%
gE$5@‰*PUgE%MT 5@‰* 3@:IFRC
2;K"#$%'@PgE$cI
i&> &7>k@!I;.4; "#$%ab
!):I."#$%g‡; ;@8!
):I2A)5KOV)i<:5@&+>Yk%S@
?
;gE$b:I.(0n+YB0GBf%
gK:
MT 5@K&.4RcgE$%*b.4<:,O%
gK@ :IFRC.;"#$%
b) Mạch chuẩn giao tiếp RS232 dùng DS275
MT e5@‰*PUgE%a#‚+:IRc;K
P"#$:Rv5@2G@Rc;.
GBf%
&7
gK.,A%a2G4;/RC!:I
Rc%
c) Mạch chuẩn giao tiếp RS232 dùng transitor
gKFRC;;9"#$%
1.2.8 Phần mềm giao tiếp
'H"#$@.9AGR)982
:IRH5); 54@8E:@%t)K;B58;<
"#$(EF56:@ RcB5@2JGCY5*nn%•JGC
@ 58;<Q58;<R)G"#$%S@2JGC@ b2J
GCPah5e:IRc.%
;;:I:Rc@.G258;<R)<9FRCGC
;OP•R•%M5@t h;h;5%*GC@ R).,Av
; 8RH5)G"#$%M(Žˆ\<2K9@T 95B
;#;}]55\;;}]h;h}}t h;h;5}%58G
;D5@.%
•JGCt h;h;5R).)4:Rc..9:IRH
5); 548E:@%a8 ;4K2T 2JGC58;<€
%M5@h;5%\@ R).,
t h;h;5:v2E8RH5)@; RH5)%(Trích từ [2])
&&
2. Cơ sở thiết kế phần cứng
2.1. Sơ đồ khối chức năng:
>QB(EF56.-J@d)
>0B0)%
>935B !);W.9O)(
.9993.A;4@< !%
YEF5!8!)W.KERJE;@
.ACC)!%
>KERJK;ERJ5@!)@
.9%
2.2 Lựa chọn linh kiện
2.2.1. Nguồn 5V lấy từ ắcquy
2.2.2 Vi điều khiển AT89C51
]…?*+&5@J2JEF56…25K*g•#J@GBB
(2J(ƒ5958;<:I%S:IAEB(G)2J(
>ˆF
56
>
QB
>9
3
>
K
E
R
J
>0
&
.G2 ,8JPU]h5@:,!(Dg*#+&
g
T;@85)%
]…?*+&N;:,2A:=>2 hƒ5&…2 h"]g$
:EB82J3}&„2JB;Qd/:4
@+ 4TdJportGKRJ@KE
clock;4chip.]…?*+&:I.(5VKJ
AE7@‡;IJ.)15:I:I5OD2X
%*JvRW*\•;.Z|"]g2J3
}port@)dCKJ%*J0A
R ;<JRP"]g:.GKRJBE
clockXG)KJ.Pchip.reset/
h%
Sơ đồ khối của AT89C51
&$
Sơ đồ các chân 89C51
Như vậy AT89C51 có tất cả 40 chân với các chức năng như sau:
- Vcc (40)
*TB)i+Yk
- GND (20)
*TBi7Yk
- Port 0 (32-39)
Port75@;EB8…2%Port7b:IB<5@2
3vi2 hBk@2RH5)I;.; EB2J(RH5)
@@2J(:,;<@%Port7e82 hU;.58
;<ƒ5@EB2 hU;..9;:,;<i*)
;-.|5424@:I;..9;:,;<k%
- Port 1(1-8)
Port&5@portEB8…2% Port &e82 h3v
B;58;<ƒ5%
&=
- Port 2 (21-28)
Port5@portEB8…2%PortK;2 hP2
3v;<K5)W2J(:,;<@@;
; EB2J(RH5)@FRC3v&„2%;
; EB2J(RH5)@FRC3v…2PortJ
RP/1N2)\%Porte82!3v
@@!).9;58;<ƒ5@.9;:,
;<%
- Port 3 (10-17)
Port$5@PortEB8…2%Port$eb5@/
1.P]…?*+&%*/1@ :I5).4:
*T 4 */1
\$%7 "Ea S‘@\;
\$%& Ea S‘;\;
\$%
INT0
S‘@d@7
\$%$
INT1
S‘@d@&
\$%= 7 S‘@24@P2J3&
\$%+ & S‘@24@P2J37
\$%„
WR
M.92J(RH5)@
\$%‚
RD
M.9D2J(RH5)@
Port$e8J@!).9)58;<ƒ5@
.9;:,;<%
- RST (9)
S‘@reset%g/;4T@ ;.l ;.2J
RJJsreset]…?*+&%
Mạch reset tác động bằng tay và tự động reset khi khởi động máy
&+
RST
- ALE/
PROG
(30)
]^5@JE‘;92 hBP3v;.; EB
2J(@%*T@ e5@‘@E58;<i
PROG
k;
58;<ƒ5%
>KJ2<:E‘;]^5’.G5@
&}„PKRJ9:IRcC!3W
24@{KEclock% 45:65@JE]^s232f
;‡J.l; EB2J(RH5)@%
>KJ]^9:IG)2Xset27P
/1N2)3v…^%>2@ :Iset]^v!
O;O)5)g•YˆNg•Y*%S:I5KT@ s
:I.|54%Y)set2.G|KJ2 hBP3
vs.GRC2J.9-JO:,
;<@%
PSEN
(29)
PSEN
i\;;#;h ^25hk5@ E.9 ; EB2J (
:,;<@%>]…?*+O:,;<W2J(:,
;<@
PSEN
:I.!K5‡.l :KJ
PSEN
s232f‡.; 82J(RH5)@%
-
EA
/Vpp(31)
EA
i^Eh;5]h^25hk5@T|; EB2J(:,
;<@i2dW7777tƒƒƒƒtk%
EA
m7|; EB2J(:,;<@:I5K
EA
m&
sO:,;<24;chip
45:6;X2.&i5.2&k:I58;<
EA
s
:I24;.;hh%
&„
*T@ e8)|58;<Ym&Y.58;<
ƒ5
- XTAL1 và XTAL2
ˆ]&@ˆ]5@‘@@;PJ2J.KAP
KRJ:IB<9Rc:J2JRJ;4%
>G 4@.l)CP!)Eclock24
@R!)@ AJj5j5;:(.KK
Eclock 24; 4.L8/B@
/)O9@OKA:IEhE|%
2.2.3 IC 555
+++5@J5K5.).5@22T ()R•R@K:IE
G@9 c !(,0K,A
:IJ;JE%S:I/RC@KKEd
5@HKRJ.%MT 5@5.)PU*g•#AEB
%#T 5@2AGP+++;43;:
nM)@&…Yic W5KP+++g+++S^+++
S^‚+++%%k
nab)B„]&+]
nM)5-/7%+&+Y
nM)5-/B7%7$7%7„Y
n*GB5(B5@„77Ž
* Các chức năng của 555:
&‚
n@23KE!E
ng E
nM:IJ;JEi\Žgk
nM3;!Ei\\gkit Rc;0Kk
MB v5@HG,2AP+++%*bHG.2K
.ARhh“p$q
>6)
U 1
L M 5 5 5
3
4 8
1 5
2 6
7
O U T
R S T V C C
G N D C V
T R G T H R
D S C H G
*) Chức năng của các chân IC555
T .6) /1
& 'Sa *T
"' S‘@EA
$ •• S‘;
= "# "hhi0Ck
+ *Y M).9
„ t" ”:[
‚ a#*t' ˆA)
… Y** S0R:,
2.2.4 Max232
* 9/)H*•g@.9%
2.2.5 Thạch anh 12 MHz
;KsFRCKJ5K&gu9KRJ
]…?*+&
&…
2.2.6 T điện
C)5@5.))FCJ:IFRC;B;J;U;K
)FQ:IFRC;K5D05D•K;
!)E KKRJ%;K@ sFRCJC
.;hh@C.RJ%
Tụ gốm Tụ hóa
2.2.7 Điện trở
;23)F);-5@J5.);DQ:I5@W
IB2@.5Klh•5);J@:K;:I
5K);-;3.%
Hình dạng của điện trở trong thiết bị điện tử.
2.2.8 Nút bấm button
;K@ FRC$Q2B9.9h1A
)@N@ 1%
&?
Nút bấm
2.3 Sơ đồ nguyên lý:
Trong đó có:
-Phần tạo xung dao động: cấp tín hiệu vào cho Vi điều khiển, gồm 1
IC555, 1 biến trở để điều chỉnh tần số cần đo.
Chân 3 tức đầu ra của IC555 nối với chân P3.5/T1 của AT89C51
7
- Thành phần hiển thị: gồm một con IC Max 232, 1 cổng com ảo, và một
màn hình hiển thị ảo
&
- Khối Xử lý: gồm 1 Vi điều khiển AT89C51, 1 khối điện trở băng, 1 bộ
tạo dao động thạch anh
3. Thiết kế phần mềm
3.1 Thuật toán điều khiển.
3.1.1 Thuật toán tổng thể
3.1.2 Thuật toán chi tiết
$
3.2 Chương trình điều khiển.
;code do tan so
#include <sfr51.inc>
org 0H
;tao nut bat dau
START:JB P3.7,START ;doi den luc nut bat dau duoc an xuong muc
thap
sjmp main
org 0BH ;TMR0 ISR
ajmp TMR0_ISR
h;&E
h;.A&
•h
Ñ
Ñ
#
t93;4@< !
^
; RH5)*•g
MEP;&
=
org 1BH ;TMR1 ISR
ajmp TMR1_ISR
main:
mov SP,#50H; Khoi tao ngan xep
mov R6, #20; nap so lan lap la 20 lan
mov tmod, #51H; khoi dong timer 1, che do 16-bit
mov R7, #00; tan so ban dau la 0
setb ET0; bat ngatTimer 0
setb ET1; Bat ngat Timer 1
setb EA; Bat tat ca cac ngat
clr TF0
mov a,#'T'; truyen chu T ra man hinh
Acall TRANS; goi ham truyen du lieu ra man hinh
mov a,#'A';truyen chu A ra man hinh
Acall TRANS
mov a,#'N'
Acall TRANS
mov a,#'S'
Acall TRANS
mov a,#'O'
Acall TRANS
mov a,#':'
Acall TRANS
mov a,#' '
again:
mov TH0, #3CH
mov TL0, #0BAH
mov R6, #20
+