TRNG I HC M THÀNH PH H CHÍ MINH KHOA
XÂY DNG VÀ IN
ÁN TT NGHIP
K S NGÀNH IN - IN T
THIT K VÀ THI CÔNG MCH QUANG
BÁO KT HP HIN TH NHIT VÀ
THI GIAN
GVHD : ThS.TNG THANH NHÂN
SVTH : NGUYN HI PHNG
MSSV : 20662075
TP. H Chí Minh, tháng 3 nm 2011
án tt nghip k s đin- đin t GVHD : ThS. Tng Thanh Nhân
SVTH : Nguyn Hi Phng MSSV : 20662075
LI M U
Nh chúng ta đã bit hin nay vic qung cáo bng led đã tr nên rt ph bin,
hu nh khp mi ni t các ca hàng, quán xá, siêu th, ngân hàng, sân bay, các
bng thông báo… tt c đu s dng bng led.
u đim ca các bng led mà ta d thy nht là màu sc rt sinh đng, chúng có
th hin th các hiu ng rt đp mt rt d làm thu hút ánh m
t ca mi ngi, hin
th rõ ràng ngay c ban ngày, và càng thêm rc r khi đêm xung. u đim na là
các bng led còn có th hin th đc các hình nh đng, nhiu màu sc, nhiu hiu
ng chuyn đng vì vy nó luôn là la chn ca nhiu ngi khi làm bng qung cáo.
Mt ng dng na ca bng led đó là dùng đ hin th thông tin, ng dng này thì
chúng ta thng thy các ngân hàng, các sân bay, sàn giao dch chng khoán, bnh
vin, siêu th hay các bng thông báo trên đng giao thông…chúng có th kt ni
vi các thit b khác đ thay đi ni dung thông tin cn hin th mt cách t đng ví
d máy tính, đng h s, mch đo nhit đ…Và vi ng dng này ca bng led nên
em đi đn ý tng làm đ án v đ tài “thit k và thi công mch quang báo kt h
p
hin th nhit đ và thi gian”.
Phm vi ca đ án xoay quanh vic đo đc thu thp d liu t các b phn cm
bin nhit, bin đi và đng h s, bàn phím sau đó hin th lên led ma trn, nu m
rng ra thêm thì ta có th kt hp vi máy tính đ có th hin th thêm nhiu thông tin
khác làm cho vic hin th thêm phong phú hn.
án tt nghip k s đin- đin t GVHD : ThS. Tng Thanh Nhân
SVTH : Nguyn Hi Phng MSSV : 20662075
LI CM N
hoàn thành đc đ án này trc tiên em xin chân thành cám n giáo viên
hng dn ThS. Tng Thanh Nhân, thy đã truyn đt nhng kin thc cn thit, gii
đáp nhng thc mc, tn tình hng dn giúp đ em hoàn thành đc đ án này.
Bên cnh đó em cng xin cám n các bn, các anh trong các din đàn đin t cng
đã h tr giúp đ em rt nhiu v lý thuyt đ giúp em hiu rõ h
n v lp trình quang
báo.
Do thi gian và kin thc v vi x lý cha tht s tt nên trong quá trình làm đ
án còn mc nhiu thiu sót nên em cng mong các thy cô xem xét b qua và có
nhng ý kin đ giúp em hoàn thin hn. Hy vng vi đ án này s là bc đà đu
tiên đ em có th thành công hn khi ri khi gh nhà trng.
án tt nghip k s đin- đin t GVHD : ThS. Tng Thanh Nhân
SVTH : Nguyn Hi Phng MSSV : 20662075
MC LC
LI M U
LI CM N
MC LC
CHNG 1: GII THIU TNG QUAN V B VI IU KHIN 1
I. B VI IU KHIN 8051 1
II.GII THIU V VI X LÝ 8051 1
III.T CHC B NH 6
IV.CÁC THANH GHI CHC NNG C BIT
(SFRs – SPECIAL FUNCTION REGISTERS) 9
V. B NH CHNG TRÌNH NGOÀI 14
VI.B NH D LIU NGOÀI 15
VII.HOT NG RESET 17
VIII.TIMER 18
IX. PORT NI TIP 25
X.NGT (Interrupt) 29
XI.CÁC PHNG PHÁP NH A CH 31
XII.TP LNH 34
CHNG 2: CHUYN I TNG T- S ADC 38
I.KHÁI NIM CHUNG 38
II.NGUYÊN TC THC HIN CHUYN I 38
III.CÁC PHNG PHÁP CHUYN I ADC 39
IV.IC CHUYN I TÍN HIU TNG T SANG TÍN HIU S
ADC 0804 40
CHNG 3: O NHIT 46
I. H THNG O LNG 46
II.CÁC PHNG PHÁP O NHIT 48
III.CM BIN LM35 57
CHNG 4: NG H S 59
I.GIAO THC I2C 59
II.IC THI GIAN THC DS1307 63
III.BÀN PHÍM 68
CHNG 5: QUANG BÁO 69
I.LED MATRIX 69
II.IC GHI DCH 74HC595 71
CHNG 6: THIT K PHN CNG 76
I.S KHI 76
II.S LC V CÁC KHI 77
III.S CHI TIT TNG KHI 77
KT LUN 89
TÀI LIU THAM KHO 90
PH LC
án tt nghip k s đin – đin t GVHD : ThS. Tng Thanh Nhân
SVTH : Nguyn Hi Phng MSSV : 20662075
Trang 1
CHNG I: GII THIU TNG QUAN V B VI IU KHIN
I.B VI IU KHIN 8051
8051 là vi điu khin đu tiên ca h vi điu khin MCS51 đc Intel sn xut vào nm
1980. H vi điu khin 8051 là h 8 bit có kh nng đnh đa ch 64K b nh chng trình và
64K b nh d liu.
So sánh các vi điu khin trong h 8051
II.GII THIU V VI X LÝ 8051:
8051 là IC vi điu khin (Microcontroller) do hãng Atmel sn xut. IC này có đc đim
nh sau:
• 4 KB ROM ni.
• 128 byte RAM ni.
• 4 Port nhp/xut 8 bit (I/O port).
• 2 b đm/đnh thi 16 bit (timer).
• Mch giao tip truyn d liu ni tip (serial port).
• 64 KB b nh bên ngoài dung đ lu chng trình điu khin.
• 64 KB b nh bên ngoài dung đ lu d liu.
• 210 bit có th truy xut tng bit.
• Có các lnh x lý bit.
• B nhân/chia 4µs.
án tt nghip k s đin – đin t GVHD : ThS. Tng Thanh Nhân
SVTH : Nguyn Hi Phng MSSV : 20662075
Trang 2
1.S đ chân ca 8051:
S đ chân 8051
án tt nghip k s đin – đin t GVHD : ThS. Tng Thanh Nhân
SVTH : Nguyn Hi Phng MSSV : 20662075
Trang 3
2.Cu trúc bên trong ca 8051
S đ khi 8051:
Cu trúc bên trong ca vi điu khin
án tt nghip k s đin – đin t GVHD : ThS. Tng Thanh Nhân
SVTH : Nguyn Hi Phng MSSV : 20662075
Trang 4
3.Chc nng các chân vi điu khin:
a.Port 0: T chân 32 đn chân 39 (P0.0 - P0.7). Port 0 có 2 chc nng: trong các thit k c
nh không dùng b nh m rng nó có chc nng nh các đng I/O, đi vi thit k ln có
b nh m rng nó đc dn kênh gia bus đa ch và bus d liu.
b.Port 1: T chân 1 đn chân 8 (P1.0 - P1.7). Port 1 ch có chc nng dùng làm các đng
điu khin xut nhp I/O
c.Port 2: T chân 21 đn chân 28 (P2.0 - P2.7). Nu không dùng b nh m rng bên ngoài
thì port 2 dùng làm các đng điu khin I/O. Nu dùng b nh m rng bên ngoài thì port 2
có chc nng là byte cao ca bus đa ch (A8 - A15).
d.Port 3: T chân 10 đn chân 17 (P3.0 - P3.7). Port 3 là port có 2 chc nng. Các chân ca
port này va có chc nng là các đng I/O va có chc nng riêng khác tùy tng chân.
án tt nghip k s đin – đin t GVHD : ThS. Tng Thanh Nhân
SVTH : Nguyn Hi Phng MSSV : 20662075
Trang 5
Bng sau mô t các chc nng riêng l ca tng chân:
Bit Tên a ch bit Chc nng chuyn đi
P3.0 RXD B0H D liu nhn cho port ni tip
P3.1 TXD B1H D liu phát cho port ni tip
P3.2
/INT0
B2H Ngt ngoài 0
P3.3
/INT0
B3H Ngt ngoài 1
P3.4 T0 B4H Ngõ vào timer/counter 0
P3.5 T1 B5H Ngõ vào timer/counter 1
P3.6
/WR
B6H Xung ghi b nh d liu ngoài
P3.7
/RD
B7H Xung đc b nh d liu ngoài
e.PSEN (Program store enable):
/PSEN là tín hiu ngõ ra chân 29. Nó là tín hiu điu khin cho phép đc b nh
chng trình m rng và thng đc ni đn chân /OE (Output Enable) ca EPROM đ
cho phép đc các byte mã lnh.
/PSEN mc thp trong thi gian 89C51 ly lnh. Các mã nh phân ca chng trình
đc đc t EPROM qua bus d liu và đc cht vào thanh ghi lnh bên trong 89C51 đ
gii mã lnh. Khi 89C51 thi hành chng trình trong EPROM ni /PSEN mc logic 1.
f.ALE (Address Latch Enable):
ALE là tín hiu ra trên chân 30. Nó là tín hiu ra cho phép cht đa ch đ phân kênh cho
bus d liu (D0 ÷ D7) và byte thp ca bus đa ch (A0 ÷ A7) trên port 0: trong na đu ca
chu k b nh, xung ALE cho phép cht đa ch vào 1 thanh ghi bên ngoài, trong na sau
ca chu k b nh, các đng port 0 nh là các đng nhp xut d liu.
Các xung tín hiu ALE có tc đ bng 1/6 ln tn s ca mch dao đng trên chip và có
th đc dùng làm ngun xung nhp cho các thành phn khác ca h thng.
g. EA (External Access):
Tín hiu vào /EA chân 31 nó thng đc mc lên mc 1(5V) hoc mc 0(GND).
Nu mc 1 thì vi điu khin thi hành chng trình t b nh ni(ROM) trong khong đa
ch thp(4K).
Nu mc 0 thì vi điu khin thi hành chng trình t b nh chng trình ngoài.
h.RST (Reset):
RST là ngõ vào trên chân 9, ngõ vào Reset. Khi cp đin cho h thng hoc nhn nút
reset thì mch s reset vi điu khin. Khi reset thì tín hiu reset phi mc cao trong ít nht
là 2 chu kì máy.
án tt nghip k s đin – đin t GVHD : ThS. Tng Thanh Nhân
SVTH : Nguyn Hi Phng MSSV : 20662075
Trang 6
i. XTAL1 và XTAL2:
XTAL1 và XTAL2 là ngõ vào và ngõ ra ca mch to dao đng trên chip chân 18 và
19. Chúng thng đc ni vi mt thch anh ngoài và các t nh hình đ to xung clock.
Tn s thch anh thông thng là 12MHz
Chu k máy (T
M
) = 1/ tn s máy (f
M
) = 1/ (f
OSC
/12) = 12/f
OSC
Nu tn s thch anh là 12MHz thì chu k máy bng 1µs.
S đ mch to dao đng tên chip
j.Vcc và Vss:
Là các chân ngun trên chân 40 và 20. Vcc = +5V, Vss ni đt.
III.T CHC B NH:
8051 có b nh theo cu trúc Harvard : có nhng vùng cho b nh riêng bit cho chng
trình (ROM) và d liu (RAM). Nh đã nói trên, c chng trình và d liu có th bên
trong 8051, dù vy chúng có th đc m rng bng các thành phn ngoài lên đn ti đa 64
KB b nh chng trình và 64 KB b nh d liu(tng ng vi 16 bit đa ch ).
B nh bên trong bao gm ROM (8051) và RAM trên chip, RAM trên chip bao gm
nhiu phn : phn lu tr đa dng, phn lu tr đa ch hóa tng bit, các bank thanh ghi và các
thanh ghi chc nng đc bit.
- Có 256 byte RAM ni (đa ch 00H ÷ FFH)
- 128 byte RAM ni đa ch 00H ÷ 7FH: là các bank thanh ghi vùng RAM đnh v bit và
vùng RAM đa dng.
- 128 byte RAM ni đa ch 80H ÷ FFH : là các thanh ghi chc nng đc bit.
án tt nghip k s đin – đin t GVHD : ThS. Tng Thanh Nhân
SVTH : Nguyn Hi Phng MSSV : 20662075
Trang 7
Cu trúc b nh d liu
Không gian b nh ca 8051
án tt nghip k s đin – đin t GVHD : ThS. Tng Thanh Nhân
SVTH : Nguyn Hi Phng MSSV : 20662075
Trang 8
T chc b nh 8051
án tt nghip k s đin – đin t GVHD : ThS. Tng Thanh Nhân
SVTH : Nguyn Hi Phng MSSV : 20662075
Trang 9
1.RAM đa dng:
a ch t 30 ÷ 7FH gm 80 bytes
Mi đa ch trong vùng RAM đa dng đu có th đc truy xut t do dùng cách đnh
đa ch trc tip hoc gián tip.
2.RAM đa ch hóa tng bit:
a ch t 20H ÷ 2FH
8051 cha 210 bit đc đa ch hóa, trong đó 128 bit đc đnh đa ch t 00H ÷ 7FH
trong các đa ch byte 20H đn 2FH, và phn còn li là trong các thanh ghi chc nng riêng
bit.
Ý tng truy xut tng bit riêng r bng phn mm là mt đc tính tin li ca vi điu
khin nói chung. Các bit có th đc đt, xóa, AND,OR …vi mt lnh đn. a s các vi x
lý đòi hi mt chui lnh đc-sa-ghi đ đt đc hiu qu tng t. Hn na, các port I/O
cng đc đa ch tng bit làm đn gin phn mm xut nhp tng bit.
3.Các bank thanh ghi:
a ch t 00H ÷ 1FH
Có 4 bank thanh ghi 0, 1, 2, 3
Mi bank có 8 thanh ghi t R0 ÷ R7
Ti mi thi đim ch có mt bank thanh ghi tích cc (thông qua vic cài đt các bit chn
bank trong thanh ghi PSW). Theo mc đnh (sau khi Reset h thng) các thanh ghi này các
đa ch 00H-07H (Bank 0).
Các lnh dùng các thanh ghi R0 đn R7 thì s ngn hn và nhanh hn các lnh tng
ng nhng dùng đa ch trc tip. Các giá tr d liu đc dùng thng xuyên nên dùng mt
trong các thanh ghi này.
Ý tng dùng “các bank thanh ghi” cho phép “chuyn hng” chng trình nhanh và
hiu qu (tng phn riêng r ca phn mm s có mt b thanh ghi riêng không ph thuc
vào các phn khác).
IV.CÁC THANH GHI CHC NNG C BIT (SFRs – SPECIAL FUNCTION
REGISTERS):
1.Thanh ghi tích ly A (Accummlator)
- Còn kí hiu là ACC (tng ng vi đa ch E0H ), đc đnh đa ch tng bit
- Thng là toán hng đích trong các lnh s hc và logic, kt qu ca lnh cha trong
thanh ghi A.
án tt nghip k s đin – đin t GVHD : ThS. Tng Thanh Nhân
SVTH : Nguyn Hi Phng MSSV : 20662075
Trang 10
2.T trng thái chng trình PSW (Program Status Word)
T trng thái chng trình (PSW: Program Status Word) đa ch D0H cha các bit
trng thái nh bng tóm tt sau:
CY AC F0 RS1 RS0 OV - P
Bit Ký hiu a ch Ý ngha
PSW.7
PSW.6
PSW.5
PSW.4
PSW.3
PSW.2
PSW.1
PSW.0
CY
AC
F0
RS1
RS0
OV
P
D7H
D6H
D5H
D4H
D3H
D2H
D1H
D0H
C nh
C nh ph
C 0
Bit 1 chn bank thanh ghi
Bit chn bank thanh ghi.
00=bank 0; đa ch 00H-07H
01=bank 1: đa ch 08H-0FH
10=bank 2:đa ch 10H-17H
11=bank 3:đa ch 18H-1FH
C tràn
D tr
C Parity chn.
Tóm tt thanh ghi PSW
- C nh (CY) có công dng kép. Thông thng nó đc dùng cho các lnh toán hc: nó
s đc set nu có mt s nh sinh ra bi phép cng hoc có mt s mn phép tr .
C nh cng có th xem nh mt thanh ghi 1 bit cho các lnh lun lý thi hành trên
bit.
- C nh ph: Khi cng các s BCD, c nh ph (AC) đc set nu kt qu ca 4 bit
thp trong khong 0AH đn 0FH. Nu các giá tr cng đc là s BCD, thì sau lnh
cng cn có DA A( hiu chnh thp phân thanh ghi tích ly) đ mang kt qu ln hn
9 vào đúng biu din BCD.
- C 0: C 0 (F0) là mt bit c đa dng dành cho các ng dng ca ngi dùng.
- Các bit chn bank thanh ghi: Các bit chn bank thanh ghi (RS0 và RS1) xác đnh bank
thanh ghi đc tích cc. Chúng đc xóa sau khi reset h thng và đc thay đi
bng phn mm nu cn.
RS1 RS0 Bank
0 0 0: đa ch 00H ÷ 07H
0 1 1: đa ch 08H ÷ 0FH
1 0 2: đa ch 10H ÷ 17H
1 1 3: đa ch 18H ÷ 1FH
Chn bank thanh ghi
án tt nghip k s đin – đin t GVHD : ThS. Tng Thanh Nhân
SVTH : Nguyn Hi Phng MSSV : 20662075
Trang 11
Ví d, ba lnh sau cho phép bank thanh ghi 3 và di chuyn ni dung ca thanh ghi R7
(đa ch byte 1FH) đn thanh ghi tích ly:
SETB RS1
SETB RS0
MOV A,R7
Khi chng trình đc hp dch các đa ch bit đúng đc thay th cho các ký hiu
“RS1” và “RS0”. Vy lnh SETB RS1 s ging nh lnh SETB 0D4H.
- C Tràn: C tràn (OV) đc đt lên 1 sau mt lnh cng hoc tr nu có mt phép
toán b tràn. Khi các s có du đc cng hoc tr vi nhau, phn mm có th kim tra
bit này đ xác đnh xem kt qu ca nó có nm trong tm xác đnh không. Khi các s
không du đc cng, bit OV có th đc b qua. Các kt qu ln hn +127 hoc nh
hn –128 s đt bit OV lên 1.
- C kim tra chn P: bit P đc đt lên 1 hay xóa v 0 mt cách t đng mi chu kì
máy đ to thành kim tra chn vi thanh ghi tích ly. S bit 1 có trong thanh ghi A và
bit P luôn luôn chn. Ví d thanh ghi A cha 10101101B thì P s là 1 đ s bit 1 là
chn. Bit P thng đc s dng chung vi các chng trình cng ni tip đ cho vào
thêm bit P trc khi truyn đ kim tra sau khi nhn.
3.Thanh ghi B:
Thanh ghi B đa ch F0H đc dùng cùng vi thanh ghi tích ly A cho các phép toán
nhân và chia. Lnh MUL AB s nhân các giá tr không du 8 bit trong A và B ri tr v kt
qa 16 bit trong A (byte thp) và B (byte cao). Lnh DIV AB s chia A cho B ri tr v kt
qu nguyên trong A và phn d trong B. Thanh ghi B cng có th đc xem nh thanh ghi
đm đa dng. Nó đc đa ch hóa tng bit bng các đa ch bit F0H đn F7H.
4. Con tr ngn xp (SP – Stack Pointer):
Con tr ngn xp (SP) là mt thanh ghi 8 bit đa ch 81H. Nó cha đa ch ca byte d
liu hin hành trên đnh ca ngn xp. Các lnh trên ngn xp bao gm các thao tác ct d
liu vào ngn xp và ly d liu ra khi ngn xp. Lnh ct d liu vào ngn xp s làm tng
SP trc khi ghi d liu, và lnh ly d liu ra khi ngn xp s đc d liu và làm gim SP.
khi đng li SP vi ngn xp bt đu ti 60H, các lnh sau đây đc dùng:
MOV SP,#5FH
Trên 8051 ngn xp b gii hn 32 byte vì đa ch cao nht ca RAM trên chip là 7FH.
S d cùng giá tr 5FH vì SP s tng lên 60H trc khi ct byte d lu đu tiên.
Ngi thit k có th chn không phi khi đng li con tr ngn xp mà đ nó ly giá
tr mc đnh khi reset h thng. Giá tr mc đnh đó là 07H và kt qu là ngn đu tiên đ ct
d liu có đa ch 08H. Nu phn mm ng dng không khi đng li SP, bank thanh ghi 1
(có th c 2 và 3) s không dùng đc vì vùng RAM này đã đc dùng làm ngn xp.
Ngn xp đc truy xut trc tip bng các lnh PUSH và POP đ lu gi tm thi và
ly li d liu hoc đc truy xut ngm bng các lnh gi chng trình con (ACALL,
LACALL) và các lnh tr v (RET, RETI) đ ct và ly li b đm chng trình.
án tt nghip k s đin – đin t GVHD : ThS. Tng Thanh Nhân
SVTH : Nguyn Hi Phng MSSV : 20662075
Trang 12
5. Con tr d liu:
Con tr d liu (DPTR) đc dùng đ truy xut b nh ngoài là mt thanh ghi 16 bit
đa ch 82H (DPL: byte thp) và 83H (DPH: byte cao)
6. Các thanh ghi port xut nhp:
Các port ca 8051 bao gm Port 0 đa ch 80H, Port 1 đa ch 90H, Port 2 đa ch
A0H và Port 3 đa ch B0H. Tt c các Port đu đc đa ch hóa tng bit. iu đó cung
cp mt kh nng giao tip thun li.
7. Các thanh ghi mch đnh thì (timer):
8051 cha 2 b đnh thi đm 16 bit đc dùng trong vic đnh thi hoc đm s kin.
Timer 0 đa ch 8AH (TL0:byte thp) và 8CH (TH0:byte cao).Timer 1 đa ch 8BH
( TL1: byte thp) và 8DH ( TH1: byte cao). Vic vn hành timer đc set bi thanh ghi
Timer Mode (TMOD) đa ch 89H và thanh ghi điu khin timer (TCON) đa ch 88H.
Ch có TCON đc đa ch hóa tng bit.
8. Các thanh ghi port ni tip:
8051 cha mt port ni tip trên chip dành cho vic trao đi thông tin vi các thit b ni
tip nh máy tính, modem hoc cho vic giao tip vi các IC khác có giao tip ni tip (có
b chuyn đi A/D, các thanh ghi dch ). Mt thanh ghi gi là b đm d liu ni tip
(SBUF) đa ch 99H s gi c hai gi liu truyn và nhn. Khi truyn d liu thì ghi lên
SBUF, khi nhn d liu thì đc SBUF. Các mode vn hành khác nhau đc lp trình qua
thanh ghi điu khin port ni tip (SCON) (đc đa ch hóa tng bit) đa ch 98H.
9. Các thanh ghi ngt:
8051 có cu trúc 5 ngun ngt, 2 mc u tiên. Các ngt b cm sau khi reset h thng và
s đc cho phép bng vic ghi thanh ghi cho phép ngt (IE) đa ch 8AH. C hai thanh
ghi đc đa ch hóa tng bit.
10.Thanh ghi điu khin ngun PCON (Power Control):
SMOD - - - GF1 GF0 PD IDL
Bit Ký hiu Ý ngha
6
5
4
3
2
1
0
SMOD
GF1
GF0
PD
IDL
Bit gp đôi tc đ baud, nu đc set thì tc đ
baud s tng gp đôi trong các mode 1, 2 và 3 ca
port ni tip
Không đnh ngha
Không đnh ngha
Không đnh ngha
Bit c đa dng 1
Bit c đa dng 0
Gim công sut, đc set đ kích hot mode gim
công sut, ch thoát khi reset
Mode ch, set đ kích hot mode ch, ch thoát
khi có ngt hoc reset h thng.
Tóm tt thanh ghi PCON
án tt nghip k s đin – đin t GVHD : ThS. Tng Thanh Nhân
SVTH : Nguyn Hi Phng MSSV : 20662075
Trang 13
• Ch đ ngun gim (PD = 1): cn đin áp cung cp c 2V
̇ Mch dao đng trên chip ngng hot đng
̇ Mi chc nng ngng hot đng
̇ Ni dung các RAM trên chip đc duy trì
̇ Các chân port đc duy trì mc logic ca chúng
̇ ALE và /PSEN đc gi mc thp
• Ch đ ngh (IDL = 1)
̇ Tín hiu clock ni khóa không cho đn CPU nhng không khóa đi vi các chc
nng ngt, đnh thi và port ni tip.
̇ Ni dung ca tt c các thanh ghi đc duy trì.
̇ Các chân port đc duy trì mc logic ca chúng.
̇ ALE và /PSEN đc gi mc cao.
án tt nghip k s đin – đin t GVHD : ThS. Tng Thanh Nhân
SVTH : Nguyn Hi Phng MSSV : 20662075
Trang 14
V. B NH CHNG TRÌNH NGOÀI:
8051 có kh nng m rng b nh đn 64K b nh chng trình và 64K b nh d liu
bên ngoài. Do đó có th dùng thêm ROM và RAM nu cn.
Khi dùng b nh ngoài, port 0 không còn là mt port I/O thun túy na. Nó đc hp
kênh gia bus đa ch (A0-A7) và bus d liu (D0-D7) vi tín hiu ALE đ cht byte thp
ca đa ch khi bt đu mi chu k b nh. Port 2 thông thng đc dùng cho byte cao ca
bus đa ch.
Trong na đu ca mi chu k b nh, byte thp ca đa ch đc cp trong port 0 và
đc cht bng xung ALE. Mt IC cht 74HC373 (hoc tng đng) s gi byte đa ch
thp trong phn còn li ca chu k b nh. Trong na sau ca chu k b nh port 0 đc
dùng nh bus d liu và đc đc hoc ghi tùy theo lnh.
Ví d: Kt ni phn cng 8051 vi b nh ngoài EPROM 64K nh sau:
- Tín hiu /EA đc tích cc (/EA = 0)
- Tín hiu /PSEN ni vi /OE đ cho phép đc b nh chng trình ngoài
- Trong 1 chu k máy đin hình, ALE có 2 xung và do đó có th đc 2 bytes ca lnh t
b nh chng trình (nu lnh ch có 1 byte thì byte th 2 đc loi b)
án tt nghip k s đin – đin t GVHD : ThS. Tng Thanh Nhân
SVTH : Nguyn Hi Phng MSSV : 20662075
Trang 15
Gin đ thi gian ca chu k tìm-np b nh chng trình ngoài nh sau:
VI.B NH D LIU NGOÀI:
Cho phép đc/ghi bi các tín hiu /RD và /WR
Lnh dùng đ truy xut b nh d liu ngoài là MOVX, s dng DPTR hay R0/R1 đ
cha đa ch d liu.
RAM ngoài có th giao tip vi 8051 theo cùng cách nh EPROM ngoi tr đng /RD
ni vi đng cho phép xut /OE và đng /WR ni vi đng ghi /WR (hay /WE) ca
RAM.
Trong trng hp ch có mt lng nh b nh d liu ngoài (không có b nh chng
trình ngoài) có th dùng đa ch 8 bit đ truy xut trang b nh 256 byte. Nu có nhiu hn 1
trang 256 byte, 1 vài bit tr port 2 (hay 1 port khác) có th dùng đ chn trang.
án tt nghip k s đin – đin t GVHD : ThS. Tng Thanh Nhân
SVTH : Nguyn Hi Phng MSSV : 20662075
Trang 16
Ví d: giao tip gia 8051 và RAM 64K ngoài đc kt ni nh sau:
Gin đ thi gian ca chu k đc và ghi b nh d liu ngoài nh sau
Gin đ thi gian chu k dc b nh d liu ngoài
án tt nghip k s đin – đin t GVHD : ThS. Tng Thanh Nhân
SVTH : Nguyn Hi Phng MSSV : 20662075
Trang 17
Gin đ thi gian chu k dc b nh d liu ngoài
VII.HOT NG RESET:
8051 đc reset bng cách gi chân RST mc cao ít nht trong 2 chu k máy và tr nó v mc
thp. RST có th đc kích khi cp đin dùng mt mch R-C.
Mch reset h thng
án tt nghip k s đin – đin t GVHD : ThS. Tng Thanh Nhân
SVTH : Nguyn Hi Phng MSSV : 20662075
Trang 18
Trng thái ca tt c các thanh ghi ca 8051/8031 sau khi reset h thng đc tóm tt
trong bng sau:
Thanh ghi Ni dung
B đm chng trình PC
Thanh ghi tích ly ACC
Thanh ghi B
PSW
SP
DPTR
Port 0-3
IP
IE
Các thanh ghi đnh thi
SCON
SBUF
PCON(HMOS)
PCON(CMOS)
0000H
00H
00H
00H
07H
0000H
FFH
XXX00000B
0XX00000B
00H
00H
00H
0XXXXXXB
0XXX0000B
Các giá tr thanh ghi sau khi reset h thng
Quan trng nht trong các thanh ghi trên là thanh ghi đm chng trình, nó đc đt li
0000H. Khi RST tr li mc thp, vic thi hành chng trình luôn bt đu đa ch đu tiên
trong b nh trong chng trình: đa ch 0000H. Ni dung ca RAM trên chip không b thay
đi bi lnh reset.
VIII.TIMER:
1.Gii thiu:
Timer là mt chui các flip-flop chia đôi tn s ni tip vi nhau, chúng nhn tín hiu
vào làm ngun xung nhp. Vì mi tng k tip chia đôi cho nên timer có n tng s có xung ra
có tn s là tn s xung nhp chia cho 2
n
. Ngõ ra ca tn s cui làm ngun xung nhp cho
flip-flop báo tràn ca timer (flip-flop c). Giá tr nh phân trong các flip-flop ca timer có
th xem nh s đm s xung nhp (hoc các s kin) t khi khi đng timer. Ví d timer 16
bit s đm lên t 0000H đn FFFFH. C báo tràn s lên 1 khi s đm tràn t FFFFH đn
0000H.
Hot đng ca timer đn gin đc minh ha nh hình bên di vi timer 3 bit. Mi
tng là mt flip-flop loi D kích cnh xung làm vic theo dng chia đôi tn s. C timer là
mch cht loi D đc đt lên 1 bi tng cui ca timer.
án tt nghip k s đin – đin t GVHD : ThS. Tng Thanh Nhân
SVTH : Nguyn Hi Phng MSSV : 20662075
Trang 19
Timer 3 bit: a) S đ b) Gin đ đnh thì
8051 có 2 timer 16 bit, mi timer có bn cách làm vic. Ngi ta s dng các timer đ:
a) đnh khong thi gian
b) đm s kin hoc
c) to tc đ baud cho port ni tip trong 8051
Mi timer 16 bit có 16 tng hay tng cui cùng chia tn s xung nhp cho
2
16
= 65536. Ngun xung nhp cho các timer là xung vuông có tn s bng 1/12 tn s dao
đng ca thch anh gn mch dao đng hay tn s đa vào chân XTAL
Trong các ng dng đnh khong thi gian, ngi ta lp trình timer mt khong đu
đn và đt c tràn timer. C đc dùng đ đng b hóa chng trình đ thc hin mt tác
đng nh kim tra trng thái ca các ca ngõ vào hoc gi các s kin ra các ngõ ra. Các
ng dng khác có th s dng vic to xung nhp đu đn ca timer đ đo thi gian trôi qua
gia hai s kin (ví d : đo đ rng xung).
Ta có th truy cp các timer qua các thanh ghi SFR nh bng sau:
SFR MC ÍCH A CH a ch hóa tng bit
TCON
TMOD
TL0
TL1
TH0
TH1
iu khin timer
Ch đ timer
Byte thp ca timer 0
Byte thp ca timer 1
Byte cao ca timer 0
Byte cao ca timer 1
88H
89H
8AH
8BH
8CH
8DH
Có
Không
Không
Không
Không
Không
án tt nghip k s đin – đin t GVHD : ThS. Tng Thanh Nhân
SVTH : Nguyn Hi Phng MSSV : 20662075
Trang 20
2.Thanh ghi ch đ timer (TMOD)
Thanh ghi TMOD cha hai nhóm 4 bit dùng đ đt ch đ làm vic cho timer 0 và timer1.
Tóm tt thanh ghi TMOD
Các ch đ hot đng ca timer đc cho nh trong bng sau:
Các ch đ hot đng ca timer
Chú ý là TMOD không có đa ch bit. Thng thì ngi ta np giá tr cho nó mt ln
bng phn mm đu chng trình đ khi to tr đt ch đ timer. Sau đó timer có th b
dng, cho chy,… bng cách truy cp các SFR khác.
án tt nghip k s đin – đin t GVHD : ThS. Tng Thanh Nhân
SVTH : Nguyn Hi Phng MSSV : 20662075
Trang 21
3.Thanh ghi điu khin timer (TCON)
Thanh ghi TCON (timer control register) cha các bit điu khin và trng thái cho
timer 0 và timer 1. Bn bit cao đc dùng đ bt timer chy và tt timer (TR0,TR1), hoc đ
báo hiu tràn (TF0,TF1). Bn bit thp trong TCON không nh hng đn các timer. Chúng
đc dùng đ phát hin và khi đng ngt ngoài.
Chi tit các bit trong thanh ghi TCON đc cho trong bng sau.
Tóm tt thanh ghi TCON
4.Các ch đ timer
a.Ch đ timer 13 bit (ch đ 0)
Vi các thit k ngi ta ít dùng ch đ hot đng này. Byte cao ca timer (THx) ni
tip vi 5 bit thp ca timer (TLx) đ to thành timer 13 bit. Ba bit cao ca THx không đc
s dng.
Ch đ 0