trong các thanh ghi này... riêng cho phát và thu... Comparator clock Digital output... S nh phân ra m ch thanh Clock Start EOC VA V’A + _ DAC Thanh ghi ñieàu khieån Logic ñieàu khieån
Trang 2L I M U
h u nh kh p m i n i t các c a hàng, quán xá, siêu th , ngân hàng, sân bay, các
M t ng d ng n a c a b ng led đó là dùng đ hi n th thông tin, ng d ng này thì
khác làm cho vi c hi n th thêm phong phú h n
Trang 3L I C M N
đáp nh ng th c m c, t n tình h ng d n giúp đ em hoàn thành đ c đ án này
đã h tr giúp đ em r t nhi u v lý thuy t đ giúp em hi u rõ h n v l p trình quang báo
án còn m c nhi u thi u sót nên em c ng mong các th y cô xem xét b qua và có
nh ng ý ki n đ giúp em hoàn thi n h n Hy v ng v i đ án này s là b c đà đ u
Trang 4
M C L C L I M U L I C M N M C L C CH NG 1: GI I THI U T NG QUAN V B VI I U KHI N 1
I B VI I U KHI N 8051 1
II.GI I THI U V VI X LÝ 8051 1
III.T CH C B NH 6
IV.CÁC THANH GHI CH C N NG C BI T (SFRs – SPECIAL FUNCTION REGISTERS) 9
V B NH CH NG TRÌNH NGOÀI 14
VI.B NH D LI U NGOÀI 15
VII.HO T NG RESET 17
VIII.TIMER 18
IX PORT N I TI P 25
X.NG T (Interrupt) 29
XI.CÁC PH NG PHÁP NH A CH 31
XII.T P L NH 34
CH NG 2: CHUY N I T NG T - S ADC 38
I.KHÁI NI M CHUNG 38
II.NGUYÊN T C TH C HI N CHUY N I 38
III.CÁC PH NG PHÁP CHUY N I ADC 39
IV.IC CHUY N I TÍN HI U T NG T SANG TÍN HI U S ADC 0804 40
CH NG 3: O NHI T .46
I H TH NG O L NG 46
II.CÁC PH NG PHÁP O NHI T .48
III.C M BI N LM35 57
CH NG 4: NG H S 59
I.GIAO TH C I2C 59
II.IC TH I GIAN TH C DS1307 63
III.BÀN PHÍM 68
CH NG 5: QUANG BÁO 69
I.LED MATRIX 69
Trang 5CH NG I: GI I THI U T NG QUAN V B VI I U KHI N
I.B VI I U KHI N 8051
• M ch giao ti p truy n d li u n i ti p (serial port)
• 210 bit có th truy xu t t ng bit
• Có các l nh x lý bit
• B nhân/chia 4µs
Trang 61.S đ chân c a 8051:
S đ chân 8051
Trang 72.C u trúc bên trong c a 8051
C u trúc bên trong c a vi đi u khi n
Trang 83.Ch c n ng các chân vi đi u khi n:
a.Port 0: T chân 32 đ n chân 39 (P0.0 - P0.7) Port 0 có 2 ch c n ng: trong các thi t k c
Trang 9B ng sau mô t các ch c n ng riêng l c a t ng chân:
Bit Tên a ch bit Ch c n ng chuy n đ i
e.PSEN (Program store enable):
đ c đ c t EPROM qua bus d li u và đ c ch t vào thanh ghi l nh bên trong 89C51 đ
f.ALE (Address Latch Enable):
ALE là tín hi u ra trên chân 30 Nó là tín hi u ra cho phép ch t đ a ch đ phân kênh cho
g EA (External Access):
Tín hi u vào /EA chân 31 nó th ng đ c m c lên m c 1(5V) ho c m c 0(GND)
ch th p(4K)
h.RST (Reset):
reset thì m ch s reset vi đi u khi n Khi reset thì tín hi u reset ph i m c cao trong ít nh t
là 2 chu kì máy
Trang 10i XTAL1 và XTAL2:
Chu k máy (T M ) = 1/ t n s máy (f M ) = 1/ (f OSC /12) = 12/f OSC
N u t n s th ch anh là 12MHz thì chu k máy b ng 1µs
S đ m ch t o dao đ ng tên chip
j.Vcc và Vss:
III.T CH C B NH :
B nh bên trong bao g m ROM (8051) và RAM trên chip, RAM trên chip bao g m nhi u ph n : ph n l u tr đa d ng, ph n l u tr đ a ch hóa t ng bit, các bank thanh ghi và các thanh ghi ch c n ng đ c bi t
đ a ch 80H ÷ FFH : là các thanh ghi ch c n ng đ c bi t
Trang 11C u trúc b nh d li u
Không gian b nh c a 8051
Trang 12T ch c b nh 8051
Trang 13bi t
3.Các bank thanh ghi:
a ch t 00H ÷ 1FH
Có 4 bank thanh ghi 0, 1, 2, 3
M i bank có 8 thanh ghi t R0 ÷ R7
đ a ch 00H-07H (Bank 0)
trong các thanh ghi này
hi u qu (t ng ph n riêng r c a ph n m m s có m t b thanh ghi riêng không ph thu c vào các ph n khác)
IV.CÁC THANH GHI CH C N NG C BI T (SFRs – SPECIAL FUNCTION
REGISTERS):
1.Thanh ghi tích l y A (Accummlator)
thanh ghi A
Trang 142.T tr ng thái ch ng trình PSW (Program Status Word)
OV
P
D7H D6H D5H D4H D3H
D2H D1H D0H
C nh
C nh ph
C 0 Bit 1 ch n bank thanh ghi Bit ch n bank thanh ghi
b ng ph n m m n u c n
Trang 15Ví d , ba l nh sau cho phép bank thanh ghi 3 và di chuy n n i dung c a thanh ghi R7 (đ a ch byte 1FH) đ n thanh ghi tích l y:
SETB RS1 SETB RS0 MOV A,R7
“RS1” và “RS0” V y l nh SETB RS1 s gi ng nh l nh SETB 0D4H
h n –128 s đ t bit OV lên 1
thêm bit P tr c khi truy n đ ki m tra sau khi nh n
3.Thanh ghi B:
nhân và chia L nh MUL AB s nhân các giá tr không d u 8 bit trong A và B r i tr v k t
q a 16 bit trong A (byte th p) và B (byte cao) L nh DIV AB s chia A cho B r i tr v k t
đ m đa d ng Nó đ c đ a ch hóa t ng bit b ng các đ a ch bit F0H đ n F7H
4 Con tr ng n x p (SP – Stack Pointer):
li u vào ng n x p và l y d li u ra kh i ng n x p L nh c t d li u vào ng n x p s làm t ng
MOV SP,#5FH
S d cùng giá tr 5FH vì SP s t ng lên 60H tr c khi c t byte d l u đ u tiên
tr m c đ nh khi reset h th ng Giá tr m c đ nh đó là 07H và k t qu là ng n đ u tiên đ c t
Trang 165 Con tr d li u:
đ a ch 82H (DPL: byte th p) và 83H (DPH: byte cao)
6 Các thanh ghi port xu t nh p:
c p m t kh n ng giao ti p thu n l i
7 Các thanh ghi m ch đ nh thì (timer):
8 Các thanh ghi port n i ti p:
8051 ch a m t port n i ti p trên chip dành cho vi c trao đ i thông tin v i các thi t b n i
ti p nh máy tính, modem ho c cho vi c giao ti p v i các IC khác có giao ti p n i ti p (có
(SBUF) đ a ch 99H s gi c hai gi li u truy n và nh n Khi truy n d li u thì ghi lên
9 Các thanh ghi ng t:
8051 có c u trúc 5 ngu n ng t, 2 m c u tiên Các ng t b c m sau khi reset h th ng và
ghi đ c đ a ch hóa t ng bit
10.Thanh ghi đi u khi n ngu n PCON (Power Control):
6
5
port n i ti p
Trang 17• Ch đ ngu n gi m (PD = 1): c n đi n áp cung c p c 2V
n ng ng t, đ nh th i và port n i ti p
Trang 18V B NH CH NG TRÌNH NGOÀI:
bus đ a ch
đ c ch t b ng xung ALE M t IC ch t 74HC373 (ho c t ng đ ng) s gi byte đ a ch
Ví d : K t n i ph n c ng 8051 v i b nh ngoài EPROM 64K nh sau:
Trang 19Gi n đ th i gian c a chu k tìm-n p b nh ch ng trình ngoài nh sau:
VI.B NH D LI U NGOÀI:
ch a đ a ch d li u
RAM
trình ngoài) có th dùng đ a ch 8 bit đ truy xu t trang b nh 256 byte N u có nhi u h n 1 trang 256 byte, 1 vài bit tr port 2 (hay 1 port khác) có th dùng đ ch n trang
Trang 20Ví d : giao ti p gi a 8051 và RAM 64K ngoài đ c k t n i nh sau:
Gi n đ th i gian chu k d c b nh d li u ngoài
Trang 21Gi n đ th i gian chu k d c b nh d li u ngoài
VII.HO T NG RESET:
8051 đ c reset b ng cách gi chân RST m c cao ít nh t trong 2 chu k máy và tr nó v m c
th p RST có th đ c kích khi c p đi n dùng m t m ch R-C.
M ch reset h th ng
Trang 22Tr ng thái c a t t c các thanh ghi c a 8051/8031 sau khi reset h th ng đ c tóm t t trong b ng sau:
Thanh ghi N i dung
Thanh ghi tích l y ACC Thanh ghi B PSW
SP DPTR Port 0-3
IP
IE Các thanh ghi đ nh th i
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 th ng
đ i b i l nh reset
VIII.TIMER:
1.Gi i thi u:
Timer là m t chu i các flip-flop chia đôi t n s n i ti p v i nhau, chúng nh n tín hi u
flip-flop báo tràn c a timer (flip-flop c ) Giá tr nh phân trong các flip-flop c a timer có
0000H
t ng là m t flip-flop lo i D kích c nh xu ng làm vi c theo d ng chia đôi t n s C timer là
Trang 23Timer 3 bit: a) S đ b) Gi n đ đ nh thì
a) đ nh kho ng th i gian
b) đ m s ki n ho c
c) t o t c đ baud cho port n i ti p trong 8051
M i timer 16 bit có 16 t ng hay t ng cu i cùng chia t n s xung nh p cho
đ ng c a th ch anh g n m ch dao đ ng hay t n s đ a vào chân XTAL
đ 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 c a ngõ vào ho c g i các s ki n ra các ngõ ra Các
gi a hai s ki n (ví d : đo đ r ng xung)
Ta có th truy c p các timer qua các thanh ghi SFR nh b ng sau:
88H 89H 8AH 8BH 8CH 8DH
Có Không Không Không Không Không
Trang 242.Thanh ghi ch đ timer (TMOD)
Tóm t t thanh ghi TMOD
Các ch đ ho t đ ng c a timer đ c cho nh trong b ng sau:
Các ch đ ho t đ ng c a timer
d ng, cho ch y,… b ng cách truy c p các SFR khác
Trang 253.Thanh ghi đi u khi n timer (TCON)
Thanh ghi TCON (timer control register) ch a các bit đi u khi n và tr ng thái cho
đ c dùng đ phát hi n và kh i đ ng ng t ngoài
Chi ti t các bit trong thanh ghi TCON đ c cho trong b ng sau
Tóm t t thanh ghi TCON
4.Các ch đ timer
a.Ch đ timer 13 bit (ch đ 0)
s d ng
Ch đ 0
Trang 26b.Ch đ timer 16 bit (ch đ 1)
ghi b ng ph m m m MSB c a giá tr trong các thanh ghi timer là bit 7 c a THx và LSB là
ph m m m
Ch đ 1
c.Ch đ timer 8 bit t n p l i tr đ u (ch đ 2)
đ ng th i đ c n p vào TLx Vi c đ m ti p t c t giá tr này lên đ n FFH xu ng 00H và n p
l i ch đ này r t thông d ng vì s tràn timer x y ra trong nh ng kho ng th i gian nh t
đ nh và tu n hoàn m t khi đã kh i đ ng TMOD và THx
Ch đ 2
Trang 27d.Ch đ tách timer (ch đ 3)
Timer 0 tách thành hai timer 8 bit (TL0 và TH0), TL0 có c báo tràn là TF0 và TH0 có
c báo tràn là TF1
đã đ c n i t i TH0
TF1)
Ch đ 3
5.Ngu n t o xung nh p
Ngu n t o xung nh p
Trang 28- nh thì kho ng th i gian (interval timing): N u C/T = 0 ho t đ ng timer liên t c đ c
- m s ki n (event counting: N u C/T=1, timer l y xung nh p t ngu n bên ngoài
Trong h u h t các ng d ng ngu n bên ngoài này cung c p cho timer m t xung khi x y
6.Cho ch y, d ng và đi u khi n các timer
đi u khi n ch y : TRx trong TCON, TRx b xóa sau khi reset h th ng Nh v y, các timer
ch y
Cho ch y và d ng timer
CLR TR0
Trang 29IX PORT N I TI P:
n i ti p v i d li u xu t và chuy n đ i n i ti p sang song song v i d li u nh p Truy xu t
đ c nh n N u CPU đ c ký t th nh t tr c khi ký t th hai đ c thu đ y đ thì d li u
s không b m t
riêng cho phát và thu
- SCON: đ a ch 98H là thanh ghi có đ a ch bit ch a các bit tr ng thái và các bit đi u khi n port n i ti p Các bit đi u khi n đ t ch đ ho t đ ng cho port n i ti p, và các bit
tr ng thái báo cáo k t thúc vi c phát ho c thu ký t Các bit tr ng thái có th đ c
S đ port n i ti p
T n s làm vi c c a port n i ti p còn g i là t c đ baud có th c đ nh (l y t b giao
đ ng c a chip) N u s d ng t c đ baud thay đ i, timer 1 s cung c p xung nh p t c đ baud và ph i đ c l p trình
Trang 301.Thanh ghi đi u khi n port n i ti p SCON:
• REN: bit cho phép thu
REN = 1: cho phép thu REN = 0: không cho phép thu
Trang 31S đ m r ng port ch đ 0
b.Ch đ 1 (UART 8 bit t c đ thay đ i)
1 bit Start + 8 bit Data + 1 bit Stop
= ( t c đ tràn c a timer 1)/ 16 (n u bit SMOD = 1)
*Khi phát:
đ ng TxD (t c là phát xong 1 ký t d li u) đ báo b đ m phát đã r ng
*Khi thu:
đ u bit Start)
tu n t vào thanh ghi d ch bit c a port n i ti p Sau khi thu xong c 8 bit, các đi u sau
s x y ra:
Trang 32c.Ch đ 2 (UART 9 bit, t c đ Baud c đ nh)
1 bit Start + 8 bit Data + bit Data th 9 + 1 bit Stop
= f OSC / 32 (n u bit SMOD = 1)
d.Ch đ 3 (UART 9 bit, t c đ Baud thay đ i)
= ( t c đ tràn c a timer 1)/ 16 (n u bit SMOD = 1)
3.T c đ Baud cho port n i ti p:
ch đ 1 và 3, t c đ Baud cho port n i ti p đ c l p trình b i timer 1:
= ( t c đ tràn c a timer 1)/ 16 (n u bit SMOD = 1)
( t c đ tràn c a timer 1) = t c đ Baud x 32 (hay x 16)
( th i gian tràn c a timer 1) = 1 / (t c đ tràn c a timer 1)
Trang 33X.NG T (Interrupt):
Ng t là ho t đ ng ng ng t m th i m t ch ng trình này đ thi hành m t ch ng trình khác Các ng t có m t vai trò quan tr ng trong thi t k và kh n ng th c thi c a vi đi u
1.T ch c ng t trong 8051
8051 có 5 ngu n ng t: 2 ng t ngoài, 2 ng t t timer và 1 ng t c ng n i ti p T t c các
ph n m m
a.Cho phép và c m ng t:
n ng đ t bi t c đ nh đ a ch bit IE (Interrupt Enable : cho phép ng t) đ a ch A8H C ng
c m t t c các ng t ho c đ c đ t lên 1 đ cho phép t t c các ng t
Tóm t t thanh ghi cho phép ng t IE
Trang 34b u tiên ng t:
n ng đ c bi t đ c đ a ch bit IP (Interrupt priority : u tiên ng t) đ a ch B8H Các ng t
u tiên đ c xóa sau khi reset h th ng đ đ t t t c các ng t m c u tiên th p h n
Trang 354.Các ng t c a 8051
a.Các ng t timer:
timer x y ra khi các thanh ghi timer (TLx ITHx) tràn và set c báo tràn (TFx) lên 1 Các c
b.Các ng t c ng n i ti p:
Ng t c ng n i ti p x y ra khi ho c c phát TI (phát xong 1 byte) ho c c ng t thu RI
đ i trong SBUF đ đ c đ c
Các ng t c ng n i ti p khác v i các ng t timer C gây ra ng t c ng n i ti p không b
c.Các ng t ngoài:
Các ng t ngoài x y ra khi có m t m c th p ho c c nh xu ng trên chân /INT0 ho c /INT1
c a vi đi u khi n ây là ch c n ng chuy n đ i c a các bit Port 3 (Port 3.2 và Port 3.3)
đ n ISR, c t o ra ng t ch đ c xóa n u ng t đ c tích c c b ng c nh xu ng N u ng t
đ c tích c c theo m c, thì ngu n yêu c u ng t bên ngoài s đi u khi n m c c a c thay cho ph n c ng
các m u liên ti p trên chân /INTR m c cao trong m t chu k và m c th p trong chu k k ,
XI.CÁC PH NG PHÁP NH A CH :
Các ki u đ nh đ a ch là ph n c n thi t cho toàn b t p l nh c a m i b vi x lý hay vi
đi u khi n Các ki u đ nh đ a ch cho phép xác đ nh rõ ngu n và đích c a d li u theo nhi u
Trang 361 nh đ a ch qua thanh ghi
8051 có 4 bank thanh ghi, m i bank có 8 thanh ghi đánh s t R0 đ n R7 T i m i th i
đi m ch có m t bank thanh ghi đ c tích c c Mu n ch n bank thanh ghi nào ta ch c n gán các bit nh phân thích h p vào RSI (PSW.4) và RS0 (PSW.3) trong thanh ghi tr ng thái
Trong ch đ này, các thanh ghi bên trong 8051 đ c đánh đ a ch tr c ti p b ng 8 bit
đ a ch n m trong byte th hai c a mã l nh
Dù v y, trình h p d ch cho phép g i tên các thanh ghi ch c n ng đ c bi t (có đ a ch tr c
Trang 375 nh đ a ch t ng đ i
đ c ng thêm vào thanh ghi đ m ch ng trình (PC) T m nh y c a l nh này trong kho ng t
tính toán đ a ch offset c n thi t đ nh y đ n đ a ch yêu c u Nh v y đ a ch m i là đ a ch
6 nh đ a ch tuy t đ i
đ r nhánh vào m t trang 2 Kbyte c a b nh tr ng trình b ng cách c p 11 bit đ a ch th p
ho c thanh ghi con tr d li u DPTR) và đ a ch offset (trong thanh ghi tích l y A) đ t o đ a
đ c t o ra đ s d ng đ a ch tham chi u
đó, thanh ghi PC hay DPTR s gi đ a ch đ u b ng và thanh ghi A gi đ a ch offset c a d
li u c n truy xu t trong b ng
Trang 38XII.T P L NH:
li u, chuy n đi u khi n và l nh x lý bit
Các chi ti t thi t l p l nh:
trong (0-127) ho c các thanh ghi ch c n ng đ c bi t
qua thanh ghi R0 ho c R1
có đi u ki n
ghi ch c n ng đ c bi t
1.Nhóm l nh s h c:
trong Ri vào thanh ghi A
Trang 392.Nhóm l nh lu n lý:
3.Nhóm l nh chuy n d li u:
MOV data,A (2,1): Chuy n n i dung thanh ghi A vào d li u tr c ti p
MOV A,@A+DPTR (1,2): Chuy n byte b nh ch ng trình có đ a ch là
@A+DPRT vào thanh ghi A
thanh ghi A
Trang 40MOV A,@Ri (1,2): Chuy n d li u ngoài (8 bit đ a ch ) vào thanh ghi A
d li u gián ti p
4.Nhóm l nh chuy n đi u khi n:
Trang 42CH NG 2: CHUY N I T NG T - S ADC
I.KHÁI NI M CHUNG
đ c th c hi n theo ph ng pháp s Trong khi đó tín hi u t nhiên có d ng t ng t nh :
II.NGUYÊN T C TH C HI N CHUY N I
đi n hay đi n áp) thành d ng mã s nh phân có giá tr t ng ng
Comparator
clock
Digital output
Trang 43III.CÁC PH NG PHÁP CHUY N I ADC
ch m
S đ kh i chuy n đ i ADC dùng x p x liên ti p
Ho t đ ng:
đi u khi n lên m c cao và t t c các bit còn l i m c th p S nh phân ra m ch thanh
Clock Start EOC
VA
V’A
+ _
DAC Thanh ghi ñieàu khieån Logic ñieàu khieån MSB LSB