You are on page 1of 47

B ăGIAOăTHỌNGăV NăT I

TR NGăĐ IăH CăGIAOăTHỌNGăV NăT IăTP.ăHCM


---------------

BÀI T P L N
MỌN: KỸ THU T VI X Lụ
GI NGăVIểN:ăNGUY NăTHANHăHI U

Đ ătài: NG D NG 8051 ĐI U KHI N ĐÈN GIAO THÔNG

NhómăSVăthựcăhiện:
Nhómă1:ă
1.ăNguy năVĕnăCa
2.ăNguy năBáăC ng
3.ăLêăVĕnăH u
4. SaăHuỳnhăL c
5. ĐàoăVĕnăLinh
6.ăD ơngăQu căUy

Tp. Hồ Chí Minh, Tháng 12 năm 2013


Nhóm 1 Ầhoa Điện-Điện t viễn thông

PH L C Trang

PH N I - T NG QUAN V ĐÈN GIAO THÔNG........................................................................................ 1


1.1 Gi iăthiệuăđ ătài ................................................................................................................................... 1
1.2 Cácăthànhăphầnăchínhăcủaăhệăth ngăđènăgiaoăthôngădùngăviăđi uăkhi năAT89C51 ............................ 1
1.3 Nguyênălýăho tăđ ng ........................................................................................................................... 1
1.4 Ngônăngữăsửădụngăvàăphầnăm mămôăph ng........................................................................................ 2
1.4.1 Ngônăngữ ..................................................................................................................................... 2
1.4.2 Phầnăm mămôăph ng ................................................................................................................... 2
Ph n 2 - KH O SÁT VI ĐI U KHI N AT89C51......................................................................................... 2
1.5 Tổngăquát ............................................................................................................................................ 2
1.6 Cácăchân .............................................................................................................................................. 3
1.6.1 Vcc .............................................................................................................................................. 3
1.6.2 GND ............................................................................................................................................ 3
1.6.3 CácăPort ....................................................................................................................................... 4
1.6.4 PSEN ........................................................................................................................................... 4
1.6.5 ALE/PROG ................................................................................................................................. 5
1.6.6 EA/Vpp ....................................................................................................................................... 5
1.6.7 RESET (RST).............................................................................................................................. 5
1.6.8 XTAL1 & XTAL2 ...................................................................................................................... 5
1.7 Tổăchứcăb ănh .................................................................................................................................... 5
1.7.1 VùngăRAMăđaămụcăđích ............................................................................................................. 6
1.7.2 VùngăRAMăđ nhăđ aăch ăbit ......................................................................................................... 6
1.7.3 Cácădưyăthanhăghi ........................................................................................................................ 6
1.8 B ănh ăngoài ....................................................................................................................................... 6
1.8.1 Truyăxuấtăb ănh ăch ơngătrìnhăngoài .......................................................................................... 7
1.8.2 Truyăxuấtăb ănh ădữăliệuăngoài ................................................................................................... 7
1.8.3 Gi iămưăđ aăch ............................................................................................................................ 7
1.9 Giaoăti păngo iăvi ................................................................................................................................ 7
1.9.1 LEDă7ăđo nă(7ăSegmentăLED) .................................................................................................... 7
Ph n III - NG D NG 8051 ĐI U KHI N ĐÈN GIAO THÔNG. ........................................................... 12
Ch ng I - Xơy Dựng Ph n C ngầầầầầầầầầầầầầầ..ầầầầầầầầầầầầ..ầ13
Nhóm 1 Ầhoa Điện-Điện t viễn thông

1.1. M chădaoăđ ngăvàăm chăReset .......................................................................................................... 13


a. M chădaoăđ ng .................................................................................................................................. 13
b. M chăReset ........................................................................................................................................ 13
1.2. M chăhi năth ăđ măng ợcăLEDă7ăđo n ............................................................................................. 14
1.3. M chăhi năth ăLEDăđơn ..................................................................................................................... 15
Đ aăch ăvàămứcăđi uăkhi n........................................................................................................................16
1.4. Sơăđ ănguyênălýăm chăphầnăcứng..........................................................................................................17
Ch ng II ậ Xơy dựng l u đ thu t toán....................................................................................................19
Ch ng III ậ Vi t ch ng trình (Dùng ngôn ng C, Assembly , l p trình bằng ph n mêm Keil
C51..................................................................................................................................................................23
Nhóm 1 Ầhoa Điện-Điện t viễn thông

L I NÓI Đ U
Trong nh ng năm g n đây trên th giới Ếùng với sự phát triển mạnh m Ếủa ngành
Ếông nghiệp Ếh tạo linh kiện ẽán ếẫn và vi mạẾh tổng hợp, một hướng phát triển mới Ếủa
ẾáẾ vi x lý đã hửnh thành đó là ẾáẾ vi đi u khiển. Với nhi u ưu điểm, vi đi u khiển đã đượẾ
s ếụng rộng rãi trên nhi u lĩnh vựẾ kháẾ nhau. Bằng ẾáẾh áp ếụng vi đ u khiển trong quá
trửnh sản xu t và x lý, vi đi u khiển đã thựẾ sự thể hiện đượẾ ưu th Ếủa mửnh so với ẾáẾ
thi t ẽị đi u khiển thông thường.Vử nh ng lý ếo trên, trong nhi u trường Đại HọẾ, Cao
Đẳng, vi x lý thựẾ sự trở thành một môn họẾ h t sứẾ quan trọng, vi x lý 8051 g n như là
một môn họẾ s ếụng để trang ẽị Ếho Ếhúng ta nh ng ki n thứẾ Ếơ ẽản v vi x lý, từ đó mở
rộng ra ẾáẾ loại vi x lý kháẾ Ếó Ế u trúẾ phứẾ tạp hơn như AVR, PIC, …Qua Bài tập này,
đã giúp Ếhúng Ềm Ếó đượẾ hửnh ếung thựẾ t vi x lý đượẾ áp ếụng như th nào trong ẾuộẾ
sống hiện đại, Ếụ thể Ếhính là hệ thống đèn giao thông ếùng vi đi u khiển AT89C51. Đồ án
gồm 3 Ếhương:
Ph n I: T ng quan v đèn giao thông, gi i thiệu khái quát đ tƠi, các thƠnh ph n chính
c a hệ th ng đèn giao thông, nguyên lý ho t đông, ngôn ng s d ng vƠ ph n m m mô
phỏng.
Ph n II: Kh o sát vi đ u khi n 8051 (AT89C51).
Ph n III: ng d ng 8051 đi u khi n đèn giao thông.
Ch ng I. Xây ếựng ph n Ếứng.
Ch ng II. Xây ếựng lưu đồ thuật toán.
Ch ng III. Vi t Ếhương trửnh (ếùng C, Assembly).
Chúng Ềm xin Ếhân thành Ếảm ơn!
Tp. Hồ Chí Minh , Tháng 12 năm 2013
Nhựm sinh ốiên th Ế hiện
(Nhựm 1)
Nhóm 1 Ầhoa Điện-Điện t viễn thông

PH N I - T NG QUAN V ĐÈN GIAO THÔNG


1.1 Gi i thiệu đ tƠi
Ngàyănayăcùngăv iăsựăphátătri năcủaăkhoaăh căkỹăthu t,ăxưăh iăngàyăcàngăvĕnăminhăvàă
hiệnăđ i, cácăđôăth ăngàyăm tăđiălên.ăNhuăcầuăv ăgiaoăthôngăngàyăcàngătrởănênăcấpăthi t,ănhấtă
làătrongăcácăkhuăvựcăthànhăth .ăDoănhuăcầuăcủaăđ iăs ngăconăng i,ăđ căbiệtălàănhuăcầuăđiăl i,ă
cácălo iăph ơngătiệnăgiaoăthôngăđưătĕngăm tăcáchăchóngăm t.ăRiêngăt iăViệtăNamăs ăl ợngă
xeămáyătrongănhữngănĕmăquaătĕngăăm tăcáchăđ tăbi n,ăm tăđ ăxeăl uăthôngătrênăđ ngăngàyă
m tănhi u,ătrongăkhiăđóăhệăth ngăđ ngăxáăt iăViệtăNamăcònăquáănhi uăh năch ănênăth ngă
gâyă raăcácăhiệnăt ợngănh ăkẹtăxe, áchăt căgiaoăthông,ăđ că biệtălàătaiăn nă giaoăthôngăă ngàyă
càngăphổ bi nătrởăthànhăm iăhi măh a choănhi uăng i.
Vìălýădoăđóăcácălu tăgiaoăthôngălầnăl ợtăraăđ iăvàăđ ợc đ aăvàoăsửădụngăm tăcáchăl ng
l ăr iădầnătrởănênăphổăbi nănh ăhiệnănay.ăTrongăđóăhệăth ngăđènăgiaoăthôngălàăcôngăcụăđi uă
khi năgiao thôngăcôngăc ngăthựcăt ăvàăhiệu qu ăcóăvaiătròărấtăl nătrongăviệcăđ măb oăanătoànă
vàăgi măthi uătaiăn năgiaoăthông.
Từăthựcăt ăđóănhómăchúngăem thựcăhiện đ ătàiă“Thi t k m ch đèn giao thông dùng
vi đi u khi n 8051” nh mă giúpă choă m iă ng iă nhấtă làă tầngă l pă sinhă viênă cóă ýă thức hơnă
trongăviệcăchấpăhànhălu tălệăanătoànăgiaoăthông.
Với yêu Ế u khi hệ th ng Ếhạy, ẾáẾ đứn xanh, ốàng ốà đỏ sáng trong thời gian
mặẾ định t ng ng là 30s, 5s ốà 25s. Ngoài ra Ếòn Ếự Ếh độ bằng tay ốà điều
Ếhỉnh thời gian Ếho ẾáẾ đứn.
1.2 Các thƠnh ph n chính c a hệ th ng đèn giao thông dùng vi đi u khi n
AT89C51
Hệăth ngăđènăgiaoăthôngăg mă4ăphầnăchủăy uăsau:
 M chăđi uăkhi nătrungătâmădùngăviăđi uăkhi năAT89C51.
 M chădaoăđ ng,ăreset.
 M chăhi năth ăth iăgian,ătr ngătháiăđèn.
 Phímănhấnăđi uăkhi nătr ngătháiăđèn,ăch nhăth iăgian.
1.3 Nguyên lý ho t đ ng
M chăđènăgiaoăthôngăho tăđ ngădựaătrênăn iădungăđưăl pătrìnhăchoăAT89C51,ăkhiăcóătácă
đ ngătừăcácănútăđi uăkhi n m chăho tăđ ngătheoăđúngăth iăgianăyêuăcầu.ăAT89C51ăđ aădữă
liệuă đ nă cácă LEDă xanh,ă đ ,ă vàngă đ ă đi uă khi nă cácă LEDă nàyă đóng,ă mở.ăNgoàiă ra,ă nóă cònă
xuấtădữăliệuăđ năcácăBJTăđ ăđi uăkhi n cácăLEDă7ăđo n.ăLEDă7ăđo năcònănh nădữăliệuătừăviă
đi uăkhi nătrungătâmăđ ăthựcăhiệnăviệcăđ mălùiăth iăgian. Chúngătaăsửădụngăng tăngoàiă0ăvàă
ng tăngoàiă1 đ ăđi uăkhi năđènătín hiệuăgiaoăthôngăb ngătayăvàăcàiăđ tăth iăgianăchoăcácăđènă
(Xanh,ăđ ,ăvàng).
Nh ăv yă m iăkhiă m chăb tăđầuăthựcăhiệnăđ mălùi,ăn uătrụcăl ăbênă nàyăđènăxanhăho că
vàngăsángăthìătrụcăl ăbênăkiaăđènăđ ăsángăvàăng ợcăl i.ăB ăph năđi uăkhi năAT89C51ălàăcácă
nútănhấn.ăTùyătheoăth iăgianăyêuăcầuămàătaăđi uăkhi năcácătrụcăgiaoăthôngăsáng.ăAT89C51ăs ă

1
Nhóm 1 Ầhoa Điện-Điện t viễn thông

xuấtăraăcácăcổngăI/Oănhữngăxungăởămứcăcaoăho cămứcăthấpăđ ăđi uăkhi năcácăBJTătừăđóăđi uă


khi năcácăđènăhi năth .ăKhiăAT89C51ănh nătínăhiệuăđi uăkhi nătừăcácăphímănhấn,ănóăs ăquétă
vàătìmăraăch ơngătrìnhăđ ợcămưăhóaăphùăhợpăv iătínăhiệuăđi uăkhi năđ ăho tăđ ng.
1.4 Ngôn ng s d ng vƠ ph n m m mô phỏng
1.4.1 Ngôn ng
NgônăngữăAssembly.
Ngônăngữăl pătrìnhăC.

Phầnăm măKeilăCăăă
1.4.2 Ph n mềm mô phỏng
Phầnăm măPROTEUS
Ph n 2 - KH O SÁT VI ĐI U KHI N AT89C51
1.5 T ng quát

Hửnh 2.1 Hửnh ếạng AT89C51


AT89C51ălàăm tăhệăviătínhă8ăbităđơnăchipăCMOSăcóăhiệuăsuấtăcao,ăcôngăsuấtăngu nătiêuă
thụă thấpă vàă cóă 4KBă b ă nh ăROMă Flashă xóaă đ ợc/l pătrìnhă đ ợc.ă Chipănàyă đ ợcăs năxuấtă
dựaăvàoăcôngănghệăb ănh ăkhôngămấtăn iădungăcóăđ ătíchăhợpăcaoăcủaăAtmel.
Chipă AT89C51ă cũngă t ơngă thíchă v iă t pă lệnhă vàă cácă chână raă củaă chuẩnă côngă nghiệpă
MCS-51.ăFlashătrênăchipănàyăchoăphépăb ănh ăch ơngătrìnhăđ ợcăl pătrìnhăl iătrênăhệăth ng.ă
K tăhợpăm tăCPUălinhăho tă8ăbităv iăFlashătrênăm tăchipăđơnăth ,ăAtmelă89C51ălàăm tăhệăviă
tínhă8ăbităđơnăchipăm nhăchoătaăm tăgi iăphápăcóăhiệuăqu ăv ăchiăphíăvàărấtălinhăho tăđ iăv iă
cácăứngădụngăđi uăkhi n.
AT89C51ăcóăcácăđ cătr ngăchuẩnăsau:ă4KNăFlash,ă128ăbyteăRAM,ă32ăđ ngăxuấtănh p,ă
2ăb ăđ nhăth i/đ mă 16ăbit,ăm tăcấuătrúcăng tăhaiă mứcă uătiênăvàă5ă nguyênănhânăng t,ă m tă
portăn iăti păsongăcông,ăm chădaoăđ ngăvàăt oăxungăclockătrênăchip.
NgoàiăraăAT89C51ăđ ợcăthi tăk ăv iălogicătĩnhăchoăho tăđ ngăcóătầnăs ăgi măxu ngă0ă
vàăh ătrợăhaiăch ăđ ăti tăkiệmănĕngăl ợngăđ ợcălựaăch năb ngăphầnăm m.
Ch ăđ ăngh ădừngă CPUătrongăkhiăv năchoăphépăRAM,ăcácă b ăđ nhăth i/đ m,ăportăn iă
ti păvàăhệăth ngăng tăti pătụcăho tăđ ng.

2
Nhóm 1 Ầhoa Điện-Điện t viễn thông

CấuăhìnhăchânăcủaăAT89C51ănh ăsau:

Hửnh 2.2 Sơ đồ Ếhân Ếủa AT89C51


AT89C51ă cóă tấtă c ă 40ă chân.ă M iă chână cóă chứcă nĕngă nh ă cácă đ ngă I/Oă (xuất/nh p),ă
trongăđóă24ăchânăcóăcôngădụngăkép:ăm iăđ ngăcóăth ăho tăđ ngănh ăm tăđ ngăI/Oăho că
nh ăm tăđ ngăđi uăkhi năho cănh ăthànhăphầnăcủaăbusăđ aăch ăvàăbusădữăliệu.
1.6 Các chơn
Hìnhă2.2ăchoătaăsơăđ ăchân củaăchipă89C51.ăMôăt ătómăt tăchứcănĕngăcủaătừngăchânănh ă
sau.
Nh ătaăthấyătrongăhìnhă2.1,ă32ătrongăs ă40ăchânăcủaă89C51ăcóăcôngădụngăxuất/nh p,ătuyă
nhiênă24ătrongă32ăđ ngănàyăcóă2ămụcăđíchă(côngădụng).ăM iăm tăđ ngăcóăth ăho tăđ ngă
xuất/nh pă ho că ho tă đ ngă nh ă m tă đ ngă đi uă khi nă ho că ho tă đ ngă nh ă m tă đ ngă đ aă
ch /dữăliệuăcủaăbusăđ aăch /dữăliệuăđaăhợp.
32ăchânănêuătrênăhìnhăthànhă4ăportă8ăbit.ăV iăcácăthi tăk ăyêuăcầuăm tămứcăt iăthi uăb ă
nh ăngoàiăho căcácăthànhăphầnăbênăngoàiăkhác,ătaăcóăth ăsửădụngăcácăportănàyălàmănhiệmăvụă
xuất/nh p.ă8ăđ ngăchoăm iăportăcóăth ăđ ợcăxửălýănh ăm tăđơnăv ăgiaoăti păv iăcácăthi tăb ă
songă songă nh ă máyă in,ă b ă bi nă đổiă D-A,ă v.v…ă ho că m iăđ ngă cóă th ă ho tă đ ngă đ că l pă
giaoăti păv iăm tăthi tăb ăđơnăbitănh ăchuy năm ch, LED,ăBJT,ăđ ngăcơ,ăloa,ăv.v…
1.6.1 Vcc
Chânăcungăcấpăđiệnă(5V).
1.6.2 GND
Chânăn iăđấtă(0V).

3
Nhóm 1 Ầhoa Điện-Điện t viễn thông

1.6.3 CáẾ Port


1.6.3.1Port 0
Portă0ă(cácăchânătừă32ăđ nă39ătrênă89C51)ăcóăhaiăcôngădụng.ăTrongăcácăthi tăk ăcóăt iă
thi uăthànhăphần,ăportă0ăđ ợcăsửădụngălàmănhiệmăvụăxuất/nh p.ăTrongăcácăthi tăk ăl năhơnă
cóăb ănh ăngoài,ăportă0ătrởăthànhăbusăđ aăch ăvàăbusădữăliệuăđaăhợp.
1.6.3.2Port 1
Portă1ăch ăcóăcôngădụngălàăxuất/nh pă(cácăchânătừă1ăđ nă8ătrênă89C51).ăCácăchânăcủaă
portă1ăđ ợcăkýăhiệuălàăP1.0,ăP1.1,ă…ă,ăP1.7ăvàăđ ợcădùngăđ ăgiaoăti păv iăthi t b ăbênăngoàiă
khiă cóă yêuă cầu.ă Khôngă cóă chứcă nĕngă nàoă khácă nữaă gánă choă cácă chână củaă portă 1,ă nghĩaă làă
chúngăch ăđ ợcăsửădụngăđ ăgiaoăti păv iăcácăthi tăb ăngo iăvi.
1.6.3.3Port 2
Portă 2ă (cácă chână từă 21ă đ nă 28ă trênă 89C51)ă cóă haiă côngă dụng,ă ho că làmă nhiệmă vụă
xuất/nh păho călàăbyteăđ aăch ă16ăbităchoăcácăthi tăk ăcóăb ănh ăch ơngătrìnhăngoàiăho căcácă
thi tăk ăcóănhi uăhơnă256ăbyteăb ănh ădữăliệuăngoài.
1.6.3.4Port 3
Portă 3ă (cácă chână từă 10ă đ nă 17ă trênă 89C51)ă cóă haiă côngă dụng.ă Khiă khôngă ho tă đ ngă
xuất/nh p,ăcácăchânăcủaăportă3ăcóănhi uăchứcănĕngăriêngă(m iăchânăcóăchứcănĕngăriêngăliênă
quanăđ năcácăđ cătr ngăcụăth ăcủaă89C51).
B ngă2.1ăd iăđâyăchoătaăchứcănĕngăcủaăcácăchânăcủaăportă3.

1.6.4 PSEN
Chânăchoăphépăb ănh ăch ơngătrìnhăPSENă(programăstoreăenable)ăđi uăkhi nătruyăxuấtă
b ănh ăch ơngătrìnhăngoài.ăKhiăAT89C51ăđangăthựcăthiăch ơngătrìnhătrongăb ănh ăch ơngă
trìnhăngoài,ăPSENătíchăcựcăhaiălầnăchoăm iăchuăkỳămáy,ăngo iătrừătr ngăhợpă2ătácăđ ngăcủaă
PSENăb ăb ăquaăchoăm iălầnătruyăxuấtăb ănh ădữăliệuăngoài.

4
Nhóm 1 Ầhoa Điện-Điện t viễn thông

1.6.5 ALE/PROG
Xungăcủaăngõăraăchoăphépăch tăđ aăch ăALEă(addressălatchăenable)ăchoăphépăch tăbyteă
thấpăcủaăđ aăch ătrongăth iăgianătruyăsuấtăb ănh ăngoài.ăChânănàyăcũngăđ ợcădùngălàmăngõă
vàoăxungăl pătrìnhă(PROG)ătrongăth iăgianăl pătrìnhăchoăFlash.
Khiăho tăđ ngăbìnhăth ng,ăxungăcủaăngõăraăALEăluônăluônăcóătầnăs ăb ngă1/6ătầnăs ă
củaăm chădaoăđ ngătrênăchip,ăcóăth ăđ ợcăsửădụngăchoăcácămụcăđíchăđ nhăth iătừăbênăngoàiă
vàăt oăxungăclock.ăTuyănhiênăcầnăl uăýălàăm tăxungăALEăs ăb ăb ăquaătrongăm iăm tăchuăkỳă
truyăxuấtăb ănh ădữăliệuăngoài.
1.6.6 EA/Vpp
Chânăchoăphépătruyăxuấtăb ănh ăngoàiăEAă (externalăaccessăenable)ăph iăđ ợcăn iăv iă
GNDăđ ăchoăphépăchipăviăđi uăkhi nătìmăn pălệnhătừăcácăv ătríănh ăcủaăb ănh ăch ơngătrìnhă
ngoài,ăb tăđầuătừăđ aăch ă0000Hăchoăđ năFFFFH.ăTuyănhiênăcầnăl uăýălàăn uăbităkhóaă1ă(lockă
bită1)ăđ ợcăl pătrình,ăEAăs ăđ ợcăch tăbênătrongăkhiăreset.
EAănênăn iăv iăVccăđ ăthựcăthiăch ơngătrìnhăbênătrongăchip.
Chână EA/Vppă cònă nh nă điệnă ápă choă phépă l pă trìnhă Vppă trongă th iă giană l pă trìnhă choă
Flash,ăđiệnăápănàyăcấpăchoăcácăb ăph n cóăyêuăcầuăđiệnăápă12V.
1.6.7 RESET (RST)
Ngõă vàoă RSTă(chână 9).ă Mứcă caoă trênă chână nàyă trongă 2ă chuă kỳă máyă trongă khiă b ă daoă
đ ngăđangăho tăđ ngăs ăresetăAT89C51.
1.6.8 XTAL1 & XTAL2
XTAL1 ngõăvàoăđ năm chăkhu chăđ iăđ oăcủaăm chădaoăđ ngăvàăngõăvàoăđ năm chăt oă
xung clockăbênătrongăchip.
XTAL2ăngõăraătừăm chăkhu chăđ iăđ oăcủaăm chădaoăđ ng.
1.7 T ch c b nh
AT89C51ă cóă khôngă giană b ă nh ă riêngă choă ch ơngă trìnhă vàă dữă liệu.ă C ă haiă b ă nh ă
ch ơngătrìnhăvàădữăliệuăđ uăđ tăbênătrongăchip,ătuyănhiênătaăcóăth ămởăr ngăb ănh ăch ơng
trìnhăvàăb ănh ădữăliệuăb ngăcáchăsửădụngăcácăchipănh ăbênăngoàiăv iădungăl ợngăt iăđaălàă
64KBăchoăb ănh ăch ơngătrìnhă(hayăb ănh ămư)ăvàă64KBăchoăb ănh ădữăliệu.
B ănh ăn iătrongăchipăbaoăg măROMăvàăRAM.ăRAMătrênăchipăbaoăg măvùngăRAMăđaă
chứcă nĕngă (nhi uă côngă dụng),ă vùngă RAMă v iă từngă bită đ ợcă đ nhă đ aă ch ă (g iă t tă làă vùngă
RAMăđ nhăđ aăch ăbit),ăcácădưyă(bank)ăthanhăghiăvàăcácăthanhăghiăchứcănĕngăđ căbiệtăSFRă
(special funtion register).
Hìnhă2.2ăchoătaăchiăti tăcủaăb ănh ădữăliệuătrênăchip.ăTaăthấyăr ngăkhôngăgianănh ăn iă
nàyăđ ợcăchiaăthành:ăcácădưyăthanhăghiă(00H÷1FH),ăvùngăRAMăđ nhăđ aăch ăbită(20H÷2FH),ă
vùngăRAMăđaămụcăđíchă(30H÷7FH)ăvàăcácăthanhăghiăchứcănĕngăđ căbiệtă(80H÷FFH).

5
Nhóm 1 Ầhoa Điện-Điện t viễn thông

1.7.1 Vùng RAM đa mụẾ đíẾh


M cădùăhìnhă2.2ătrìnhăbàyăvùngăRAMăđaămụcăđíchăcóă80 byteăđ tăởăđ aăch ătừă30Hăđ nă
7FH,ăbênăd iăvùngănàyătừăđ aăch ă00Hăđ nă2FHălàăvùngănh ăcóăth ăđ ợcăsửădụngăt ơngătựă
(m cădùăcácăv ătríănh ănàyăcóăcácămụcăđíchăkhác).

Hửnh 2.3 Bộ nhớ ế liệu trên Ếhip 89C51


1.7.2 Vùng RAM định địa Ếhỉ bit
AT89C51ăchứaă210ăv ătríăbităđ ợcăđ nhăđ aăch ătrongăđóă128ăbităchứaătrongăcácăbyteăởă
đ aăch ătừă20Hăđ nă2FHăvàăphầnăcònăl iăchứaătrongăcácăthanhăghiăchứcănĕngăđ căbiệt.
1.7.3 CáẾ ếãy thanh ghi
32ăv ătríăthấpănhấtăcủaăb ănh ăn iăchứaăcácădưyăthanhăghi.
1.8 B nh ngoƠi
Cácăb ăviăđi uăkhi năcầnăcóăkh ănĕngămởăr ngăcácătàiănguyênătrênăchipă(b ănh ,ăI/O,ă
v.v…)ăđ ătránhăhiệnăt ợngăcổăchaiătrongăthi tăk .ăCấuătrúcăcủaăMCS-51ăchoătaăkh ănĕngămởă
r ngăkhôngăgianăb ănh ăch ơngătrìnhăđ nă64Kăvàăkhôngăgianăb ănh ădữăliệuăđ nă64K.ăROMă
vàăRAMăđ ợcăthêmăvàoăkhiăcần.

6
Nhóm 1 Ầhoa Điện-Điện t viễn thông

1.8.1 Truy xu t bộ nhớ Ếh ng trình ngoài


B ănh ăch ơngătrìnhăngoàiălàăb ănh ăch ăđ c,ăđ ợcăchoăphépăbởiătínăhiệuăPSEN.
1.8.2 Truy xu t bộ nhớ ế liệu ngoài
B ănh ădữăliệuăngoàiălàăb ănh ăđ c/ghiăđ ợcăchoăphépăbởiăcácătínăhiệuăRDăvàăWRăởăcácă
chânăP3.7ăvàăP3.6.
1.8.3 Giải mã địa Ếhỉ
N uă cóă nhi uă EPROMă ho că nhi uă RAMă ho că c ă haiă giaoă ti pă v iă 89C51ă taă cầnă ph iă
gi iămưăđ aăch .
M tăICăgi iămưăđi năhìnhălàă74HC138.
1.9 Giao ti p ngo i vi
1.9.1 ầED 7 đoạn (7 Segment ầED)
D ngăLED

LED Anode chung

Đ iăv iăd ngăLedăAnodeăchung,ăchânăCOMăph iăcóămứcălogică1ăvàămu năsángăLedăthìă


t ơngăứngăcácăchânăaăậ f,ădpăs ăởămứcălogică0.
B ngămưăchoăLedăAnodeăchungă(aălàăLSB,ădpălàăMSB):

7
Nhóm 1 Ầhoa Điện-Điện t viễn thông

2.1. Thanh ghi đi u khi n b định th i/b đ m TCON ( Timer/Counter Control


Register):
Thanhăghiănày bao g măcácăbitătr ngătháiăvàăcácăbităđi u khi n bởi Timer 0, Timer 1.
ThanhăghiăTCONăcóăbităđ nh v .
Kýăhiệu: TCON
Chứcănĕng:ăđi u khi n b đ nh th i/b đ m.
Đ a ch byte: 88H
Đ nhăđ a ch bit:ăcó.
TF1 TR1 TF0 TR0 IE1 IT1 IE0 IT0
7 6 5 4 3 2 1 0
Đ nhănghĩaăbit:
Ký hiệu Vị trí Địa chỉ Mô t
C trànăb đ nh th iă1.ăĐ ợc Set bởi phần cứng
TF1 TCON.7 8FH khi b đ nh th i/đ m b tràn,ăđ ợcăxóaăbởi phần
m m ho c phần cứngăkhiătrìnhăphục vụ ng tăđ ợc
Bităđi u khi năbôăđ nh th i 1 ho tăđ ng.ăĐ ợc
đ
TR1 TCON.6 8EH Set/Clear bởi phần m măđ đi u khi n b đ nh th i
11 ho tăđ ng ho căng ngăho tăđ ng.
TF0 TCON.5 8DH C trànăb đ nh th i 0
TR0 TCON.4 8CH Bităđi u khi n b đ nh th i 0 ho tăđ ng.
C ng tăngoàiă1ătácăđ ng c nh.ăĐ ợc Set bởi phần
IE1 TCON.3 8BH cứngăkhiăphátăhiệnăcóăng tăngoàiătácăđ ng c nh,
đ ợcăxóaăbởi phần cứng khi ng tăđ ợc xử lý.

8
Nhóm 1 Ầhoa Điện-Điện t viễn thông

Bităđi u khi n ch n ng t.ăĐ ợcăSet/Clearăđ xácă


IT1 TCON.2 8AH đ nh ng tăngoàiăthu c lo iătácăđ ng c nh xu ng
hayătácăđ ng mức thấp.
IE0 TCON.1 89H C ng tăngoàiă0ătácăđ ng c nh.
IT0 TCON.0 88H Bităđi u khi n ch n lo i ng t.
2.1.1 Thanh ghi TMOD (Timer/Counter Mode Control Register):
Thanhăghiănàyăg mă2ănhómă4ăbit:ă4ăbităthấpăđ t mode ho tăđ ngăchoăTimeră0ăvàă4ăbită
caoăđ t mode ho tăđ ng cho Timer 1.
Kýăhiệu: TMOD
Chứcănĕng:ăđi u khi n ch n ch đ đ nh th i/b đ m.
Đ a ch byte: 89H
Đ nhăđ a ch bit:ăkhông.
Timer 1 Timer 0
GATE C/T M1 M0 GATE C/T M1 M0
7 6 5 4 3 2 1 0
Đ nhănghĩaăbit:
Ký hiệu Mô t
Bităđi u khi n cổng. Khi bit TRx trongăTCONăđ ợc Set b ngă1ăvàăGATEă
GATE = 1, b đ nh th i/đ m ch ho tăđ ngătrongăkhiăchânăINTxăở mứcăcao(đi u
khi n cứng). Khi bit GATE = 0, b đ nh th i/đ m ch ho tăđ ng trong khi
chânăTRxăở mứcăcao(đi u khi n m m).
Bit ch n chứcănĕngăđ măhayăđ nh th i cho b đ nh th i/đ m. Khi C/T =
C/T 0, b đ nh th i/đ m ho tăđ ngăđ nh th i(dùngăxungăClockănh n từ ngõă
vàoăTx).
M1 Bit ch n ch đ .
M0 Bit ch n ch đ .

HaiăbităM1,M0ădùngăđ ch nămodeăTimeră0ăvàăTimeră1:
M1 M0 Ch đ Mô t
0 0 0 B đ nh th i 13 bit (t ơngăthíchăh 8048).
0 1 1 B đ nh th i/đ m 16 bit.
1 0 2 B đ nh th i/đ m 8 bit tự đ ng n p l i.

9
Nhóm 1 Ầhoa Điện-Điện t viễn thông

B đ nh th iă0:ăTL0ălàăb đ nh th i/đ mă8ăbităđ ợcăđi u khi n


bởiăcácăbităđi u khi n b đ nh th iă0.ăTH0ălàăb đ nh th i 8 bit
1 1 3
đ ợcăđi u khi n bởiăcácăbităđi u khi n b đ nh th i 1. B đ nh
th i 1: B đ nh th i/đ mă1ăng ngăho tăđ ng.
2.1.2. Hệ các thanh ghi ph c v định th i:
Hệ thanhăghiănàyăg mă4ăthanhăghiănóăchoăphépăl pătrìnhăviênăn păgiáătr cho b đ nh
th i. Thực t ch 2ăthanhăghiă16ăbitănh ng nóăđ ợc c tăđôiăthànhă4ăthanhăghiă8ăbit.ăTrongăđóă
2 thanh phục vụ choăTimeră0ăvàă2ăthanhăphục vụ cho Timer 1.
B Timeră0ăcóăhaiăthanhăghiălàăTH0ăvàăTL0,ăhaiăthanhăghiănàyăkhôngăđ nhăđ a ch bit.
Thanh ghi 8 bit TH0 Thanh ghi 8 bit TL0
Đ a ch : 8CH Đ a ch : 8AH
B Timeră1ăcóăhaiăthanhăghiălàăTH1ăvàăTL1,ăhaiăthanhăghiănàyăkhôngăđ nhăđ a ch bit.
Thanh ghi 8 bit TH1 Thanh ghi 8 bit TL1
Đ a ch : 8DH Đ a ch : 8BH

Thanh ghi TIMER


ViăĐi uăKhi nă89C51 cóă2 timeră16ăbit,ăm iătimerăcóăb năcáchălàmăviệc.ăNg iătaăsửă
dụngăcácătimerăđ :
o Đ nhăkho ngăth iăgian.

o Đ măsựăkiện.

o T oăt căđ ăbaudăchoăportăn iăti p.

o Trongăcácăứngădụngăđ nhăkho ngăth iăgian,ăng iătaăl pătrìnhătimerăởănhữngăkho ngă


đ uăđ năvàăđ tăc ătrànătimer.ăC ăđ ợcădùngăđ ăđ ngăb ăhóaăch ơngătrìnhăđ ăthựcă
hiệnăm tătácăđ ngănh ăki mătraătr ngătháiăcủaăcácăngõăvàoăho căgửiăsựăkiệnăraăcácă
ngõăra.ăCácăứngădụngăkhácăcóăth ăsửădụngăviệcăt oăxungănh păđ uăđ năcủaătimerăđ ă
đoăth iăgianătrôiăquaăgiữaăhaiăsựăkiệnă(víădụăđoăđ ăr ngăxung).
o Thanh ghi ngắt (INTERRUPT)
o M tăng tălàăsựăx yăraăm tăđi uăkiện,ăm tăsựăkiệnămàănóăgâyăraătreoăt măth iăth iă
ch ơngătrìnhăchínhătrongăkhiăđi uăkiệnăđóăđ ợcăphụcăvụăbởiăm tăch ơngătrìnhăkhác.
o Cácăng tăđóngăm tăvaiătròăquanătr ngătrongăthi tăk ăvàăcàiăđ tăcácăứngădụngăviăđi uă
khi n. Chúngăchoăphépăhệăth ngăđápăứngăbấtăđ ngăb ăv iăm tăsựăkiệnăvàăgi iăquy tă
sựăkiệnăđóătrongăkhiăm tăch ơngătrìnhăkhácăđangăthựcăthi.
o - Tổ ẾhứẾ ngắt Ếủa 89C51:
o Cóă5ăngu năng tăởă89C51:ă2ăng tăngoài,ă2ăng tătừătimerăvàă1ăng tăport

10
Nhóm 1 Ầhoa Điện-Điện t viễn thông

o n iăti p.ăTấtăc ăcácăng tătheoăm cănhiênăđ uăb ăcấmăsauăkhiăresetăhệăth ngăvàăđ ợcă


choăphépătừngăcáiăm tăb ngăphầnăm m.ăMứcăđ ă uătiênăcủaăcácăng tăđ ợcăl uătrongă
thanhăghiăIPă(InterruptăPriority)ăhayănóiăcáchăkhácăthanhăghiăIPăchoăphépăch nămứcă
uătiênăchoăcácăng tă(giáătr ăthanhăghiăIPăkhiăresetălàă00h).
o Bảng 2.4 Tómăt tăthanhăghiăIP

Bit Ầý hiệu Địa Ếhỉ bit Mô tả

IP.7 _ _ Khôngăđ ợcămôăt

IP.6 _ _ Khôngăđ ợcămôăt

IP.5 ET2 BDH Ch nămứcă uătiênăcaoă(=1)ăhayăthấpă(=0)ăt iă


timer 2

IP.4 ES BCH Ch nămứcă uătiênăcaoă(=1)ăhayăthấpă(=0)ă


t iăcổngăn iăti p.

IP.3 ET1 BBH Ch nămứcă uătiênăcaoă(=1)ăhayăthấpă(=0)ă


t iătimeră1

IP.2 EX1 BAH Ch nămứcă uătiênăcaoă(=1)ăhayăthấpă(=0)ă


t iăng tăngoàiă1

IP.1 ET0 B9H Ch nămứcă uătiênăcaoă(=1)ăhayăthấpă(=0)ă


t iătimeră0

IP.0 EX0 B8H Ch nămứcă uătiênăcaoă(=1)ăhayăthấpă(=0)ă


t iăng tăngoàiă0

Tóm tắt thanh ghi IP

o  N uă2ăng tăx yăraăđ ngăth iăthìăng tănàoăcóănàoăcóămứcă uătiênăcaoăhơnăs ăđ ợcă


phụcăvụătr c.
o  N uă2ăng tăx yăraăđ ngăth iăcóăcùngămứcă uătiênăthìăthứătựă uătiênăđ ợcăthựcă
hiệnătừăcaoăđ năthấpănh ăsau:ăng tăngoàiă0ăậ timer 0 ậ ng tăngoàiă1ăậ timer 1 ậ cổngă
n iăti păậ timer 2.

11
Nhóm 1 Ầhoa Điện-Điện t viễn thông

o  N uăch ơngătrìnhăcủaăm tăng tăcóămứcă uătiênăthấpăđangăch yămàăcóăm tăng tă


x yăraăv iămứcă uătiênăcaoăhơnăthìăch ơngătrìnhănàyăt mădừngăđ ăch yăm tăch ơngă
trìnhăkhácăcóămứcă uătiênăcaoăhơn.
o - Cho phép và Ế m ngắt:
o M iăngu năng tăđ ợcăchoăphépăho căcấmăng tăquaăm tăthanhăghiăchứcănĕngăđ tăbiệtă
cóăđ nhăđ aăch ăbităIEă(InterruptăEnable:ăchoăphépăng t)ăởăđ aăch ăA8H.ă
o Bảng 2.5 Tómăt tăthanhăghiăIE

Bit Ầý hiệu Địa Ếhỉ bit Mô tả

IE.7 EA AFH Choăphépă/ăCấmătoànăb

IE.6 _ AEH Khôngăđ ợcămôăt

IE.5 ET2 ADH Choăphépăng tătừăTimeră2ă(8052)

IE.4 ES ACH Choăphépăng tăportăn iăti p

IE.3 ET1 ABH Choăphépăng tătừăTimeră1

IE.2 EX1 AAH Choăphépăng tăngoàiă1

IE.1 ET0 A9H Choăphépăng tătừăTimeră0

Ph n III - NG D NG 8051 ĐI U KHI N ĐÈN GIAO THÔNG.


Ch ng I – XÂY D NG PH N C NG.

12
Nhóm 1 Ầhoa Điện-Điện t viễn thông

1.1. M ch dao đ ng vƠ m ch Reset

Hửnh 3.1 MạẾh ếao động và mạẾh Reset


a. MạẾh ếao động
Tinhăth ăth chăanhă(Quartz Crytal)ălàălo iăđáătrongăm ătrongăthiênănhiên,ăchínhălàădioxytă
silicium (SiO2).
Tinhăth ăth chăanhădùngătrongăm chădaoăđ ngălàăm tălátăm ngăđ ợcăc tăraătừătinhăth .ă
Tùyătheoăm tăc t màălátăth chăanhăcóăđ cătínhăkhácănhau.ăLátăth chăanhăcóădiệnătíchătừănh ă
hơnă1cm2 đ năvàiăcm2 đ ợcămàiărấtăm ng,ăphẳngă(vài vàiămm)ăvàă2ăm tăth tăsongăsongăv iă
nhau.ăHaiăm tănàyăđ ợcăm ăkimălo iăvàăn iăchânăraăngoàiăđ ăd ăsửădụng.

Hửnh 3.2 Hửnh ếạng thạẾh anh


Ð cătínhăcủaătinhăth ăth chăanhălàătínhăápăđiệnă(PiezoelectricăEffect)ătheoăđóăkhiătaăápă
m tălựcăvàoă2ăm tăcủaălátăth chăanhă(nénăho căkéoădưn)ăthìăs ăxuấtăhiệnăm tăđiệnăth ăxoayă
chi uăgiữaă2ăm t.ăNg ợcăl iăd iătácădụngăcủaăm tăđiệnăth ăxoayăchi u,ălátăth chăanhăs ărungă
ởăm tătầnăs ăkhôngăđổiăvàănh ăv yăt oăraăm tăđiệnăth ăxoayăchi uăcóătầnăs ăkhôngăđổi.ăTầnă
s ărungăđ ngăcủaălátăth chăanhătùyăthu căvàoăkíchăth căcủaănóăđ căbiệtălàăđ ădàyăm tăc t.ă
Khiănhiệtăđ ăthayăđổi,ătầnăs ărungăđ ngăcủaăth chăanhăcũngăthayăđổiătheoănh ngăv năcóăđ ă
ổnăđ nhăt tăhơnărấtănhi uăsoăv iăcácăm chădaoăđ ngăkhôngădùngăth chăanhă(tầnăs ădaoăđ ngă
gầnănh ăch ătùyăthu căvàoăth chăanhămàăkhôngălệăthu căm chăngoài).
b. MạẾh Reset
Chână Resetă (chână 9)ă cóă tácă dụngă resetă chipă AT89C51, mứcă tíchă cựcă củaă chână nàyă làă
mứcă1,ăđ ăresetătaăph iăđ aămứcă1ă(5V)ăđ năchânănàyăv iăth iăgianăt iăthi uă2ăchuăkỳămáyă
(t ơngăđ ơngă2  S ậ đ iăv iăth chăanhă12MHz).

13
Nhóm 1 Ầhoa Điện-Điện t viễn thông

f 
fTA
Tầnăs ălàmăviệcăAT89C51
12
1
Chuăkỳămáyă=ăth iăgianăsửălýă1ălệnh: T=
f
Khiăresetăthìătr ngătháiăcủaăRAMăn iăkhôngăthayăđổi,ăb ngătr ngătháiăcủaăcácăthanhăghiă
khi reset

1.2. M ch hi n thị đ m ng c LED 7 đo n


Kh iăhi năth ăđ măng ợcăledă7ăđo n: hi năth ăth iăgianăcủaăcácăch ăđ ăth iăgian, đ ợcă
hi năth ătrênăledă7ăđo n,ăcácăchânăcủaăledăđ ợcăn iăthôngăquaăm tăđiệnătrởăthanhăđ n iăv iă
ICăviăđi uăkhi n.ă

Hửnh 3.3 Hửnh ếạng điện trở thanh


Việcă gi iă mưă nh ă phână sangă ledă 7ă đo nă đi uă đ ợcăthựcă hiệnă trên viă đi uă khi n. Led 7
đo năđ ợcăn iătheo ki uăanodeăchung,ătrongăm chănàyă:chânăAănôtăchungăcủaăcácăledăđ ợcă
đi uăkhiênăgiánăti pătừăchânăP2.0ăđ năP2.3ăthôngăquaăcácăTrasistorăH1061 (lo iăNPN). Led
ho tă đ ngă v iă dòngă từă 10mAă đ n 20mA.ă Sửă dụng port (P0): P0.0, P0.1, P0.2, P0.3, P0.4,
P0.5, P0.6, P0.7 ,ăđ ăđi uăkhi năcácăchânăKăt tă.ăV iăcácăchân Aăn tăchungăđ ợc đi uăkhi nă
thôngăquaăcácătransistorăH1061, đi uăkhi nă ho tăđ ngăởăch ăđ ăbưoăhòaăcungăcấpădòngăchoă

14
Nhóm 1 Ầhoa Điện-Điện t viễn thông

LED sáng. Transistor H1061 đ ợcăn iăv iăportă(P2): P2.0, P2.1, P2.2, P2.3 củaăviăđi uăkhi n
cóăchứcănĕngă khuy chăđ iădòngăchoăled 7ăđo n ho tăđ ngăbìnhăth ng. CácăchânătừăP1.0ă
đ nă P1.5ădùngă đ ă đi uă khi nă th iăgiană sángă t iă củaă cácă đènă báoă xanhă đ ă vàng củaă haiă lànă
đ ng.
Cụ thể bảng địa Ếhỉ nh sau ốà m Ế điều khiển ẾáẾ ầeế 7 đoạn nh sau.
a. Địa Ếhỉ điều khiển ẾáẾ Ếhân Ầ Ếhung Ế a ầeế 7 đoạn:
-P2.0:ăThanhăAăcủaăcácăledă7ăđo n.
-P2.1:ăThanhăBăcủaăcácăledă7ăđo n.
-P2.2:ăThanhăCăcủaăcácăledă7ăđo n.
-P2.3:ăThanhăDăcủaăcácăledă7ăđo n
-P2.4:ăThanhăEăcủaăcácăledă7ăđo n
-P2.5:ăThanhăFăcủaăcácăledă7ăđo n
-P2.6:ăThanhăGăcủaăcácăledă7ăđo n
b. M Ế điều khiển : Cácă thanhă củaă ledă 7ă đo nă Aă n tă chungă t ơngăứngă từă Aă t iăGă s ă
sángăkhiăăcácăchânăKăt tămức thấpăvàăchânăAăn tăchungăăởămứcăcao.
Vìăv yăcácăledă7ăthanhăs ăsángăkhiăchânăt ơngăứngătừăP2.0ăđ năP2.6 ởămứcăthấp,ăvàăcácă
chânăAăn tăchungăởămứcăcao,ăhayăcácăchânăđi uăkhi năcựcăBăcácăTransistor NPN t ơngăứngăă
(Q1ăđ năQ4,ălo iăNPN)ăph iăởămứcăcao.
Cácăthanhăledăt ơngăứngăs ăt tăkhiăthi uăm tătrongăhaiăđi uăkiện,ăho căc ăhaiăđi uăkiệnă
trên.
c. Địa Ếhỉ điều khiển ẾáẾ Ếhân A n t Ếhung Ế a leế 7 đoạn:
-P1.0: chânăAăn tăchungăă(LEDăhàngăđơnăv )ăcủaălànăđ ngă1.
-P1.1:ăchânăAăn tăchungăă(LEDăhàngăchục) củaălànăđ ngă1.
-P1.2:ăchânăAăn tăchungăă(LEDăhàng đơnăv ) củaălànăđ ngă2.
-P1.3:ăchânăAăn tăchungăă(LEDăhàng chục) củaălànăđ ngă2.
1.3. M ch hi n thị LED đ n
a. Địa Ếhỉ ốà m Ế điều khiển :
* Địa Ếhỉ:
-P0.0:ăN iăv iăđènăđ đ ngă1.
-P0.1:ăN iăv iăđènăvàng đ ngă1.
-P0.2:ăN iăv iăđènăxanhăđ ngă1.
-P0.3:ăN iăv iăđènăđ ăđ ng 2.
-P0.4:ăN iăv iăđènăvàngăăđ ngă2.

15
Nhóm 1 Ầhoa Điện-Điện t viễn thông

-P0.5:ăN iăv iăđènăxanhăđ ngă2.


Sửădụngăcácăledăđơnăn iăcathode chung.ăCònăcácăchânăanodeăthìăđ ợcăn iăvàoăđiện trởă
R.ăVàănóăđ ợcăđi uăkhi năbởiăcácăchân P0.0 đ năP0.5.
VìăLEDăđơnăcóădòngăho tăđ ngăkho ngă10mAătrởălênănênătaăcóăth ăch năđiệnătrởăRăsaoă
choăphùăhợp.
Ngu năđ ợcăcấp:ăVccă=ă+5V.
Điệnăápăphânăcựcăthu năcủaăcácăLED:
-Led xanh : Vx = 2V - 2.8V.
-Ledăvàng : Vv = 2V - 2.5V.
-Ledăđ : Vd = 1.4V - 1.8V.
* M Ế điểu khiển ẾáẾ đền báo ốàng xanh đỏ.
- Mứcă1:ăĐènăsáng.
- Mứcă0:ăĐènăt t.
1.4. S đ nguyên lý m ch ph n c ng.

16
Nhóm 1 Ầhoa Điện-Điện t viễn thông

Ch ng II – XÂY D NG ầ U Đ THUẬT TOÁN.

START

L UĐ THU T TOÁN
CH NG TRÌNH
SoGiayLan1=25. CHÍNH
SoGiayLan2=30.

B tăĐènă:Xanh1,ăDo2

Ch yăch ơngătrìnhăquétă
ledă7ăđo n

Tr ă1s

SoGiayLan1 = SoGiayLan1 ậ 1.
SoGiayLan2 = SoGiayLan2 ậ 1.

SoGiayLan1 = 0. Sai
?

Đúng

SoGiayLan1 = 5.

17
Nhóm 1 Ầhoa Điện-Điện t viễn thông

TĕtăĐèn:ăXanh1.ăB tăĐèn:Vang1

Ch yăch ơngătrìnhăquétă
ledă7ăđo n

Tr ă1s

SoGiayLan1 = SoGiayLan1 ậ 1.
SoGiayLan2 = SoGiayLan2 ậ 1.

SoGiayLan1 = 0 Sai
?

Đúng

SoGiayLan1 = 30.
SoGiayLan2 = 25.

T tăĐènă:ăVàng1,ăĐ 2.
B tăĐèn:ăĐ 1,ăXanh2.

18
Nhóm 1 Ầhoa Điện-Điện t viễn thông

Ch yăch ơngătrìnhăquétă
ledă7ăđo n.

Tr ă1s

SoGiayLan1 = SoGiayLan1 ậ 1.
SoGiayLan2 = SoGiayLan2 ậ 1.

SoGiayLan2= 0 Sai
?

Đúng

SoGiayLan2 = 5.

T tăĐènă:ăXanh2
B tăĐènă:ăVang2

Ch yăch ơngătrìnhăquétă
ledă7ăđo n.

Tr ă1s

19
Nhóm 1 Ầhoa Điện-Điện t viễn thông

SoGiayLan1 = SoGiayLan1 ậ 1.
SoGiayLan2 = SoGiayLan2 ậ 1.

SoGiayLan1= 0 Sai
?

Đúng

T tăĐènă:ăDo1,ăVang2
.

20
Nhóm 1 Ầhoa Điện-Điện t viễn thông

L UăĐ ăTHU TăTOỄNăNG TăNGOÀIă0ă(CH ăĐ ăB NGăTAY):

START

T TăLEDă7ăĐO N
B TăXANHă1ăĐ ă2

S THOỄTăCH ă S
CHUY NăĐÈN
Đ ăTAY
?
?
Đ
Đ

T TăXANHă1ăB TăVÀNGă1 EXIT

THOỄTăCH ă
CHUY NăĐÈN S S
Đ ăTAY
?
?

Đ
Đ
T TăVÀNGă1ăB TăĐ ă1
EXIT
T TăĐ ă2ăB TăXANHă2

S THOỄTăCH ă S
CHUY NăĐÈN
Đ ăTAY
?
?
EXIT
21
Nhóm 1 Ầhoa Điện-Điện t viễn thông

Đ
Đ
T TăXANHă2ăB TăVÀNGă2

S
CHUY NăĐÈN S THOỄTăCH
SS ă
SS S
Đ ăTAY
?
?

Đ
Đ

EXIT

22
Nhóm 1 Ầhoa Điện-Điện t viễn thông

L UăĐ ăTHU TăTOỄNăNG TăNGOÀIă1ă(CÀIăĐ TăTH IăGIAN)

START

TH IăGIANăĐÈNăXANHă=ă0,ă
B TăĐÈNăXANH

HI NăTH ăLEDă7ăĐO N

TĔNGă? S

TĔNGăTH IăGIANăXANH

S
GI Mă?

GI MăTH IăGIANăXANH

S OK
XANH ?

23
Nhóm 1 Ầhoa Điện-Điện t viễn thông

TH Iă GIANă ĐÈNă VÀNGă =ă 0,ăăăăăă


T TăXANH,ăB TăVÀNG

HI NăTH ăLEDă7ăĐO N

TĔNGă? S

TĔNGăTH IăGIANăVÀNG

S
GI Mă?

GI MăTH IăGIANăVÀNG

S OK
VÀNGă?

24
Nhóm 1 Ầhoa Điện-Điện t viễn thông

TH IăGIANăĐÈNăĐ ă=ă0,
T TăVÀNG,ăB TăĐ

HI NăTH ăLEDă7ăĐO N

S
TĔNGă?

TĔNGăTH IăGIAN Đ

GI Mă? S

GI MăTH IăGIAN Đ

S
OKăĐ ?

EXIT

25
Nhóm 1 Ầhoa Điện-Điện t viễn thông

Ch ng III – VI T CH NG TRÌNH (DÙNG NGÔN NG C, VÀ ASSEMBầY VI T


TRÊN PH N M M ẦEIầ C 51)
DÙNG NGÔN NG ASSEMBLY:

ORG 0H
LJMP MAIN
ORG 0003H
LJMP DK_BANGTAY
ORG 0013H ;KHAI BAO VEC TO NGAT NGOAI 1
LJMP CAIDAT

MAIN:

MOV IE,#10000101B ; THIET LAP NGAT NGOAI 1 ,NGATNGOAI 0


MOV 40H,#30 ; O NHO 40H CHUA THOI GIAN DEN DO
MOV 41H,#25 ; O NHO 40H CHUA THOI GIAN DEN XANH
MOV 42H,#05 ; O NHO 40H CHUA THOI GIAN DEN VANG
MOV DPTR,#LED7DOAN ; LAY MA LED 7 DOAN DE HIEN THI

TIEP:
////...DO1 - XANH2 SANG...////
MOV R6,40H ; R6 LAY 30S CHO DEN DO 1
MOV R7,41H ; R7 LAY 25S CHO DEN VANG 2
MOV R1,#125 ; DEM 1 S
MOV P0,#0H
SETB P0.0 ; BAT LED DON DO 1
SETB P0.5 ; BAT LED DON VANG 2

LOOP1:

26
Nhóm 1 Ầhoa Điện-Điện t viễn thông

LCALL CHIA
DEC R6
DEC R7
LAP1:
LCALL HIENTHI
DJNZ R1,LAP1
MOV R1,#125
CJNE R7,#0H,LOOP1
////...DO1 - VANG2 SANG...////
MOV R6,42H
MOV R7,42H
CLR P0.5
SETB P0.4

LOOP2:
LCALL CHIA
DEC R6
DEC R7
LAP2:
LCALL HIENTHI
DJNZ R1,LAP2
MOV R1,#125
CJNE R7,#0H,LOOP2
////...XANH1 - DO2 SANG...////
MOV R6,41H
MOV R7,40H
CLR P0.0
CLR P0.4
SETB P0.2
SETB P0.3
LOOP3:

27
Nhóm 1 Ầhoa Điện-Điện t viễn thông

LCALL CHIA
DEC R6
DEC R7
LAP3:
LCALL HIENTHI
DJNZ R1,LAP3
MOV R1,#125
CJNE R6,#0H,LOOP3
////...VANG1 - DO2 SANG...////
MOV R6,42H
MOV R7,42H
CLR P0.2
SETB P0.1
LOOP4:
LCALL CHIA
DEC R6
DEC R7
LAP4:
LCALL HIENTHI
DJNZ R1,LAP4
MOV R1,#125
CJNE R7,#0H,LOOP4
LJMP TIEP

CHIA: ;///// . ... BIN TO BCD........//////


MOV A,R6
MOV B,#10

28
Nhóm 1 Ầhoa Điện-Điện t viễn thông

DIV AB
MOV 31H,B
MOV 32H,A
MOV A,R7
MOV B,#10
DIV AB
MOV 33H,B
MOV 34H,A

RET

HIENTHI: ;/////.....QUETăMÃăLEDă7ăDOAN.....//////
MOV A,31H
MOVC A,@A+DPTR
MOV P2,A
SETB P1.0
LCALL DELAY_2MS
CLR P1.0
MOV A,32H
MOVC A,@A+DPTR
MOV P2,A
SETB P1.1
LCALL DELAY_2MS
CLR P1.1
MOV A,33H
MOVC A,@A+DPTR
MOV P2,A
SETB P1.2

29
Nhóm 1 Ầhoa Điện-Điện t viễn thông

LCALL DELAY_2MS
CLR P1.2
MOV A,34H
MOVC A,@A+DPTR
MOV P2,A
SETB P1.3
LCALL DELAY_2MS
CLR P1.3
RET

DELAY_2MS:
MOV R2,#4
CONT:
MOV R3,#250
DJNZ R3,$
DJNZ R2,CONT
RET

DELAY_125MS:
MOV R4,#250
AGAIN:
MOV R5,#250
DJNZ R5,$
DJNZ R4,AGAIN
RET
DELAY_750MS:
ACALL DELAY_125MS
ACALL DELAY_125MS
ACALL DELAY_125MS
ACALL DELAY_125MS

30
Nhóm 1 Ầhoa Điện-Điện t viễn thông

ACALL DELAY_125MS
ACALL DELAY_125MS
RET

LED7DOAN:
DB 0c0h,0f9h,0a4h,0b0h,99h,92h,82h,0f8h,80h,90h

DK_BANGTAY: ;///...CT NGAT PHUC VU CHE DO DK BANG TAY...///


MOV P0,#0H
MOV P1,#11100000B
D1_X2:
SETB P0.0
SETB P0.5
JNB P3.5,THOAT
JB P3.4,D1_X2
LCALL DELAY_750MS
CLR P0.5
D1_V2:
SETB P0.4
JNB P3.5,THOAT
JB P3.4,D1_V2
LCALL DELAY_750MS
CLR P0.0
CLR P0.4
X1_D2:
SETB P0.2
SETB P0.3
JNB P3.5,THOAT
JB P3.4,X1_D2
LCALL DELAY_750MS

31
Nhóm 1 Ầhoa Điện-Điện t viễn thông

CLR P0.2
V1_D2:
SETB P0.1
JNB P3.5,THOAT
JB P3.4,V1_D2
LCALL DELAY_750MS
LJMP DK_BANGTAY
THOAT:
RETI

CAIDAT: ; ///..CT NGAT CAI DAT THOI GIAN DEN XANH,DO,VANG.../////

SETUP_XANH:
MOV 41H,#0
CLR p1.5

LAPX1:
MOV R6,41H
MOV R7,41H
LCALL CHIA
LCALL HIENTHI
KT_TANG_X:
JB P3.6,KT_GIAM_X
LCALL DELAY_125MS
INC 41H
KT_GIAM_X:
JB P3.7,OK_X
LCALL DELAY_125MS
DEC 41H
OK_X:
JB P3.5,LAPX1

32
Nhóm 1 Ầhoa Điện-Điện t viễn thông

LCALL DELAY_750MS
SETB P1.5

SETUP_VANG:
MOV 42H,#0
CLR P1.6
LAPV1:
MOV R6,42H
MOV R7,42H
LCALL CHIA
LCALL HIENTHI
KT_TANG_V:
JB P3.6,KT_GIAM_V
LCALL DELAY_125MS
INC 42H
KT_GIAM_V:
JB P3.7,OK_V
LCALL DELAY_125MS
DEC 42H
OK_V:
JB P3.5,LAPV1
LCALL DELAY_750MS
SETB P1.6

SETUP_DO:
MOV 40H,#0
CLR P1.7

LAPD1:
MOV R6,40H
MOV R7,40H

33
Nhóm 1 Ầhoa Điện-Điện t viễn thông

LCALL CHIA
LCALL HIENTHI
KT_TANG_D:
JB P3.6,KT_GIAM_D
LCALL DELAY_125MS
INC 40H
KT_GIAM_D:
JB P3.7,OK_D
LCALL DELAY_125MS
DEC 40H
OK_D:
JB P3.5,LAPD1
LCALL DELAY_750MS
SETB P1.7
RETI

END

NGÔN NG C
#include <at89x51.h>
#include <REGX51.H>
#define bat 1
#define tat 0
sbit d1 = P0^0 ;
sbit v1 = P0^1 ;
sbit x1 = P0^2 ;
sbit d2 = P0^3 ;
sbit v2 = P0^4 ;
sbit x2 = P0^5 ;
sbit dk_dv1 = P1^0 ;

34
Nhóm 1 Ầhoa Điện-Điện t viễn thông

sbit dk_ch1 = P1^1 ;


sbit dk_dv2 = P1^2 ;
sbit dk_ch2 = P1^3 ;

sbit a = P2^0 ;
sbit b = P2^1 ;
sbit c = P2^2 ;
sbit d = P2^3 ;
sbit e = P2^4 ;
sbit f = P2^5 ;
sbit g = P2^6 ;
sbit chinhledxanh = P1^5 ;
sbit chinhledvang = P1^6 ;
sbit chinhleddo = P1^7 ;
sbit ok = P3^5 ;
sbit len = P3^6 ;
sbit xuong = P3^7 ;
sbit chinhtay = P3^4 ;
unsigned char
thoigian1,thoigian2,timerxanh=25,timerdo=30,timervang=5,solanquet=25;
unsigned char maled7[] = {0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};
void delay(unsigned int ms);
void hienthi(thoigian1,thoigian2);
void main()
{
EA=1;
EX0=1;
EX1=1;
IT0=1;
IT1=1;
P0=0x00;
while (1)

35
Nhóm 1 Ầhoa Điện-Điện t viễn thông

thoigian1=timerxanh;
thoigian2=timerdo;
x1=1;
d2=1;

do
{
hienthi(thoigian1,thoigian2);
thoigian1--;
thoigian2--;
}
while(thoigian1!=0);
x1=0;
thoigian1=timervang;
thoigian2=timervang;
v1=1;
do
{
hienthi(thoigian1,thoigian2);
thoigian1--;
thoigian2--;
}
while(thoigian1!=0);
d2=0;
v1=0;
thoigian1=timerdo;
thoigian2=timerxanh;
d1=1;
x2=1;

36
Nhóm 1 Ầhoa Điện-Điện t viễn thông

do
{
hienthi(thoigian1,thoigian2);
thoigian1--;
thoigian2--;
}
while(thoigian2!=0);
x2=0;
thoigian1=timervang;
thoigian2=timervang;
v2=1;
do
{
hienthi(thoigian1,thoigian2);
thoigian1--;
thoigian2--;
}
while(thoigian1!=0);
d1=0;
v2=0;
}
}

void delay( unsigned int ms)


{
unsigned i,j;
for(i=0;i<ms;i++)
for (j=0;j<121;j++)
{}
}

37
Nhóm 1 Ầhoa Điện-Điện t viễn thông

void hienthi(thoigian1,thoigian2 )
{
unsigned char ch1,dv1,dv2,ch2,u;
ch1=thoigian1/10;
dv1=thoigian1%10;
ch2=thoigian2/10;
dv2=thoigian2%10;
for(u=0;u<=solanquet;u++)
{
P2=maled7[dv1];
dk_dv1 = 1;
delay(10);
dk_dv1 = 0;
P2=maled7[ch1];
dk_ch1 = 1;
delay(10);
dk_ch1=0;
P2=maled7[dv2];
dk_dv2=1;
delay(10);
dk_dv2=0;
P2=maled7[ch2];
dk_ch2=1;
delay(10);
dk_ch2=0;
}
}
void chinhthoigian(void) interrupt 2
{

38
Nhóm 1 Ầhoa Điện-Điện t viễn thông

timerxanh=0;
timerdo=0;
timervang=0;
solanquet=5;

do
{

chinhledxanh=0;
thoigian1=timerxanh;
thoigian2=timerxanh;
hienthi(thoigian1,thoigian2);
if (len==0)
timerxanh++;
else
if (xuong==0)
timerxanh--;
}
while(ok!=0);
chinhledxanh=1;
delay(7);
do
{
chinhledvang=0;
thoigian1=timervang;
thoigian2=0;
hienthi(thoigian1,thoigian2);
if (len==0)
timervang++;
else
if (xuong==0)

39
Nhóm 1 Ầhoa Điện-Điện t viễn thông

timervang--;
}
while(ok!=0);
chinhledvang=1;
delay(7);

do
{
chinhleddo=0;
thoigian1=timerdo;
thoigian2=timerdo;
hienthi(thoigian1,thoigian2);
if (len==0)
timerdo++;
else
if (xuong==0)
timerdo--;
}
while(ok!=0);
chinhleddo=1;
delay(7);
thoigian1=1;
thoigian2=1;
solanquet=25;
}
void bangtay(void) interrupt 0
{
P1=0;
P0=0xe0;
while (ok!=0)

40
Nhóm 1 Ầhoa Điện-Điện t viễn thông

{
do
{
x1=1;
d2=1;
}
while(chinhtay!=0);
delay(225);
x1=0;
do
{
v1=1;
d2=1;
}
while(chinhtay!=0);
delay(225);
d2=0;
v1=0;
do
{
d1=1;
x2=1;
}
while(chinhtay!=0);
delay(225);
x2=0;
do
{
d1=1;
v2=1;
}

41
Nhóm 1 Ầhoa Điện-Điện t viễn thông

while(chinhtay!=0);
delay(225);

d1=0;
v2=0;
}
}

42
Nhóm 1 Ầhoa Điện-Điện t viễn thông

K T LU N
Sau thời gian tửm hiểu v hệ thống đèn giao thông, Ếùng với việẾ tửm tài liệu trên sáẾh,
ẽáo, intỀrnỀt, k t hợp với ki n thứẾ đã đượẾ họẾ và đượẾ sự Ếhỉ ẽảo Ếủa th y Nguyễn Thanh
Hi u. Chúng Ềm đã hoàn thành ẽài tập, đáp ứng đượẾ yêu Ế u th y đ ra.
Qua ẽài tập này giúp Ếhúng Ềm nắm v ng đượẾ quy luật đi u khiển đèn giao thông,
CáẾh thứẾ một hệ thống đèn giao thông hoạt động Ếũng như thuật toán x lý khi đi u
khiển ẽằng vi x lý.
Xong ếo hạn Ếh v nhi u mặt , nên ẾhắẾ Ếhắn không tránh khỏi nh ng thi u sót. Chúng
Ềm r t mong nhận đượẾ sự đóng góp Ếủa th y Ếùng ẾáẾ ẽạn .
Xin Ếhân thành Ếảm ơn!

Tp. Hồ Chí Minh, Tháng 12 năm 2013.

Nhựm Sinh Viên:


(Nhómă1)

43

You might also like