THƯ VIỆN ĐIỆN TỬ TRỰC TUYẾN
L I NĨI
U
Ngày này, vi c ng d ng máy tính vào các k thu t o lư ng và i u khi n
khơng cịn m i vì khi các thi t b , h th ng o lư ng và i u khi n ư c ghép
n i v i máy tính s có th i gian thu th p và x lý d li u ng n trong khi m c
chính xác v n ư c
m b o, nhưng i u áng quan tâm hơn c là kh năng t
ng hoá trong vi c thu th p và x lý d li u. Chính vì i u này làm cho máy
tính ư c ng d ng trong h u h t vào các lĩnh v c trong cu c s ng hàng ngày
c bi t là trong lĩnh v c công nghi p.
M t bư c ti n quan tr ng trong k thu t vi x lý là s ra
x lý k thu t s .
ây là m t vi m ch i n t có m t
i c a các b vi
tích h p cao bao g m
r t nhi u các m ch s có kh năng nh n, x lý và xu t d li u.
c bi t là quá
trình x lý d li u ư c th c hi n theo m t chương trình là m t t p h p các l nh
t bên ngoài mà ngư i s d ng có th thay
i d dàng tùy thu c vào t ng ng
d ng. Do ó m t b vi x lý có th th c hi n ư c r t nhi u các yêu c u i u
khi n khác nhau tuỳ thu c vào nhu c u s d ng.
S ra
i c a k thu t vi x lý là s k t h p gi a k thu t ph n c ng và
ph n m m ã làm cho ho t
ng c a các m ch i n t tr nên m m d o hơn v i
nh ng ph n m m r t linh ho t mà ngư i s d ng có th s a ch a, thay
i ho c
b sung làm cho ng d ng ngày càng tr nên hồn thi n mà khơng c n ph i thi t
k l i toàn b
Trong
Atmel
ng d ng.
án này, em s d ng vi m ch i u khi n AT90S8535 c a hãng
thi t k m t m ch o nhi t
ơn gi n.
ây là m t b vi x lý 8 bit
năng lư ng th p (theo ki u chíp CMOS) trên cơ s c u trúc RICS c a hãng
Atmel, t c
x lý d li u c a IC AT90S8535 r t cao (x p x 8 MISP t i t n s
8MHz) cho phép h th ng có th
ư c thi t k t i ưu làm tăng t c
x lý. Do
ó, nó cung c p kh năng linh ho t r t cao trong các ng d ng nhúng. Vì v y,
vi c tìm hi u c u trúc và
c tính c a vi m ch i u khi n AT90S8535 có th
giúp chúng ta s d ng vi m ch i u khi n này cho các ng d ng c n thi t.
1
THƯ VIỆN ĐIỆN TỬ TRỰC TUYẾN
Em xin chân thành c m ơn th y cơ ã t n tình hư ng d n
án này. Tuy nhiên, do trình
cịn nhi u h n ch nên
em hồn thành
án khơng th tránh
kh i nh ng thi u sót, vì v y em r t mong ư c s ch b o c a các th y cô cũng
như c a nh ng ngư i i trư c trong lĩnh v c này
án c a em hồn thi n
hơn qua ó em có th xây d ng ư c nh ng ng d ng trong th c t .
2
THƯ VIỆN ĐIỆN TỬ TRỰC TUYẾN
CHƯƠNG I
NHI M V VÀ PHƯƠNG HƯ NG TH C HI N
1.1. Nhi m v c a
án.
T m c ích t ng quát c a
nhi t
tài là thi t k và xây d ng m t h th ng o
ơn gi n, có th phân tách ra thành các nhi m v chính c n th c hi n
như sau:
Thi t k
và xây d ng h
th ng ghép n i vi
i u khi n (µC)
AT90S8535 v i module LCD (4x20 character), keypad (16 keys), c m bi n
nhi t LM335. Ngoài ra h th ng cịn ph i có kh năng giao ti p v i máy
tính (PC) qua c ng RS 232.
Hình 1.1 : Sơ
t ng th c a h th ng c n thi t k
LCD
PC
µC +
I/O
port
KeyPad
RS 232
L335
Thi t k và xây d ng ph n m m i u khi n µC
thu th p d li u t
c m bi n nhi t nhi t LM335, t keypad ho c t PC. X lý d li u nh n
ư c
hi n th trên LCD ho c truy n sang PC.
3
THƯ VIỆN ĐIỆN TỬ TRỰC TUYẾN
Xây d ng ph n m m trên PC
có th giao ti p ư c v i µC qua
c ng RS 232
1.2. Phân tích nhi m v .
có th thi t k và xây d ng ư c h th ng như trên c n ph i th c hi n
các bư c sau :
Nghiên c u và tìm hi u b vi x lý AT90S8535.
Tìm hi u s ho t
ng c a module LCD và c m bi n nhi t LM 335.
Tìm hi u s ho t
ng và phương pháp mã hố keypad
có th ghép
n i v i µC.
Tìm hi u phương pháp truy n thông s d ng chu n RS 232.
Thi t k sơ
m ch n i ghép gi a µC v i LCD, keypad, IC LM335
và gi a µC v i máy tính thơng qua c ng RS 232.
L p trình ph n m m n p cho µC
Vi t ph n m m trên PC
th c hi n các k t n i trên.
giao ti p v i µC qua c ng RS 232.
L p giáp m ch ã thi t k , ch y ki m th và ánh giá k t qu .
Vi t báo cáo t t nghi p.
1.3. Phương hư ng th c hi n.
1.3.1. L a ch n thi t b .
a)
L a ch n vi i u khi n :
Trong th c t có r t nhi u các h vi x lý khác nhau có th s d ng ư c
trong ng d ng này như h vi i u khi n 8051 c a Intel, 68hC11 c a Motorola
hay h vi i u khi n 8515 c a ATMEL... Tuy nhiên, trong
4
án s d ng b vi
THƯ VIỆN ĐIỆN TỬ TRỰC TUYẾN
x lý AT90S8535 c a ATMEL, do ây là m t s n ph m m i c a hãng ATMEL
nên vi c tìm hi u nó s
em l i r t nhi u l i ích trong vi c thi t k các ng d ng
o lư ng và i u khi n. V m t c u t o nó cũng tương t như b vi x lý
AT90S8515 ã có t khá lâu v i 4 c ng I/O l p trình ư c. Nhưng v m t cơng
d ng thì b vi x lý AT90S8535 ư c tích h p nhi u ch c năng hơn so v i b
vi x lý AT90S8515,
c bi t trên µC AT90S8535 ư c tích h p m t b ADC
cho phép m i chân c a port A ư c s d ng là
u vào cho b ADC, làm cho
vi c s d ng µC AT90S8535 trong các ng d ng linh ho t hơn r t nhi u so v i
µC AT90S8515 ang ư c s d ng r ng rãi t i Vi t Nam.
b)
Thi t b hi n th d li u :
i v i các lo i d li u ư c hi n th dư i d ng s thì gi i pháp t i ưu là
s d ng các LED 7 thanh do lo i thi t b hi n th này có giá thành tương
Tuy nhiên, do ng d ng không ch hi n th ch s (giá tr nhi t
ir .
) mà còn ph i
hi n th c các ký t trong b ng ch cái, do ó l a ch n thi t b hi n th LCD vì
lo i thi t b hi n th này có kh năng hi n th c ch cái và ch s m t cách rõ
nét. M c dù so v i các lo i èn LED thì LCD có giá thành cao hơn, nhưng bù l i
thi t b hi n th LCD có nhi u
c tính ưu vi t hơn h n so v i các lo i èn LED.
c bi t, thi t b LCD cung c p kh năng hi n th d li u vơ cùng linh ho t do
ta có th
i u khi n xu t d li u m t cách tr c ti p thông qua t p l nh i u
khi n c a vi m ch i u khi n và b mã ký t s n có trong CGRAM c a LCD.
M t i u c n quan tâm khác là thi t b LCD tiêu t n r t ít năng lư ng.
Trên th trư ng hi n nay có khá nhi u module LCD c a các hãng khác
nhau như Samsung, Hitachi, Motorola... v i nhi u lo i kích thư c. Trong
án
s d ng module LCD có kích thư c 4x20 characters v i 16 chân ghép n i.
Không nh t thi t ph i ch n hãng cung c p vì các module LCD
u ư c xây
d ng theo cùng m t tiêu chu n, do ó cách th c i u khi n và ghép n i các
module LCD thông d ng hi n nay cũng tương t nhau.
5
THƯ VIỆN ĐIỆN TỬ TRỰC TUYẾN
c)
Thi t b vào d li u và i u khi n (Keypad) :
ngư i s d ng có th giao ti p ư c v i h th ng, c n ph i ghép n i µC
v i m t module keypad. Do ng d ng có th làm vi c v i c ch cái và ch s
nên ta s d ng keypad lo i 16 keys, trong ó m i m t phím ư c thi t k như
m t cơng t c
có th nh p ư c d li u có d ng như sau :
10 ch s trong h th p phân t
0..9.
26 ch cái la tinh t A..Z.
Các phím i u khi n bao g m : Send, Bspace,
Do s ký t có th
,
,
/ , Clear.
ư c s d ng cùng v i các phím ch c năng l n hơn r t
nhi u so v i t ng s phím s n có trên module keypad. Vì v y, b t bu c ph i s
d ng phương pháp Multikey, t c là s d ng ph n m m
m i m t phím trên
module keypad có th mã hố ư c khơng ít hơn hai ký t khác nhau. B ng cách
này, v i keypad có 16 phím ta có th mã hố ư c tồn b b ng ch cái và ch
s
ng th i v n có th th c hi n ư c các ch c năng i u khi n như trình b y
trên.
d)
Giao ti p gi a µC và PC :
M c dù h th ng ư c thi t k d a trên µC AT90S8535 ã có th làm vi c
c l p trong qua trình thu th p, x lý và hi n th d li u t i ngư i s d ng mà
khơng c n có s tr giúp c a PC. Tuy nhiên, trong h u h t các ng d ng
uc n
ph i lưu tr l i d li u mà n u th c hi n vi c này d a trên µC AT90S8535 ịi
h i r t nhi u k thu t và chi phí. Trong khi ó, thao tác lưu tr d li u trên PC
l i r t ơn gi n, vì v y gi i pháp t i ưu nh t là s d ng PC
ph c t p này. V n
làm nhi m v
còn l i ch là thao tác truy n d li u c n lưu tr t µC sang
PC, vi c này ư c th c hi n khá ơn gi n vì b n thân µC AT90S8535 ã ư c
tích h p m t b UART
s d ng trong ho t
ng truy n tin v i các thi t b
xa. Như v y, d a vào m ch UART c a µC ta có th th c hi n truy n nh n d
li u v i PC theo chu n RS 232. M t v n
6
c n quan tâm khi ghép n i µC v i
THƯ VIỆN ĐIỆN TỬ TRỰC TUYẾN
PC theo chu n RS 232 là s tương quan v m t i n áp tín hi u d ng TTL c a
µC và i n áp tín hi u d ng RS 232 c a PC.
th c hi n vi c chuy n
hi u d ng TTL
i tín
sang d ng tín hi u RS 232
ta s d ng IC Max232, IC này có nhi m v t o ra tín hi u ±10V t m c i n áp
TTL
t o s tương thích v m c i n áp v i chu n RS 232.
1.3.2. Phương hư ng thi t k .
T sơ
t ng th c a h th ng như trên hình 1.1 và t vi c l a ch n thi t
b như trình b y
trên, h th ng c n thi t k có th
ư c th hi n như trong sơ
hình 1.2, trong ó :
Kh i LCD display : S d ng module LCD s n có trên th trư ng ư c
ghép n i v i µC
hi n th các thông tin c n thi t cho ngư i s d ng.
Kh i Keypad :
ư c n i ghép v i µC
d li u ho c i u khi n s ho t
ngư i s d ng có th nh p
ng c a h th ng. Module này ư c thi t
k dư i d ng các công t c và s d ng tr c ti p các
I/O l p trình ư c c a µC
c tính c a các c ng
th c hi n mà không c n ngu n h tr bên
ngoài.
Kh i LM 335 : Là m t IC c m bi n nhi t làm nhi m v bi n
môi trư ng sang d ng i n áp
làm
i nhi t
u vào cho b ADC c a µC làm
vi c.
Kh i Max 232 : S d ng IC Max 232 ghép n i trư c ti p v i µC làm
nhi m v trao
i thơng tin gi a µC và PC theo chu n RS 232.
Kh i ngu n : Làm nhi m v bi n ngu n xoay chi u 220V sang ngu n
m t chi u ±5V n
nh
Hình 1.2 : Sơ
c p ngu n cho các kh i khác ho t
kh i thi t k ph n c ng
Ngu n
LCD
display
Keypad
LM335
µC +
7
I/O
port
Max 232
ng.
THƯ VIỆN ĐIỆN TỬ TRỰC TUYẾN
CHƯƠNG 2
L A CH N LINH KI N THI T K
VÀ M T S LÝ THUY T V CHUY N
I A/D
2.1. L a ch n linh ki n thi t k .
2.1.1. Gi i thi u vi m ch i u khi n AT90S8535.
AT90S8535 là m t vi m ch i u khi n năng lư ng th p 8 bit (cơng ngh
chíp CMOS) trên cơ s c u trúc RICS c a hãng ATMEL, nó thu c h vi i u
khi n AT90S/LS8535. B ng cách th c hi n m i l nh trong m t ơn chu kỳ,
AT90S8535 có th
t t i 1 MIPS cho m i MHz cho phép h th ng có th
k m t cách t i ưu nh t s tiêu th năng lư ng làm tăng t c
ư c thi t
x lý. V m t c u t o
µC này cũng tương t như µC AT90S8515 v i 4 c ng I/O l p trình ư c, tuy
nhiên v m t ch c năng thì µC AT90S8535 ư c tích h p thêm nhi u tính năng
m i mà µC AT90S8515 khơng có. Các
c trưng chính c a µC AT90S8535
ư c trình b y dư i ây :
•
8KB b nh chương trình
•
512 byte EEPROM
•
512 byte SRAM
•
32 line (4 c ng) I/O l p trình ư c
•
32 thanh ghi a năng 8 bit
•
8 kênh
•
2 b Timer/Counter 8 bit v i b
•
1 b Timer/Counter 16 bit v i b
•
1 b UART l p trình trao
•
1 b Watchdog Time l p trình ư c v i b t o giao
•
1 b so sánh analog
u vào ADC riêng bi t v i 10 bit k t qu
m
m
c l p và ch
so sánh
c l p và các ch
PWM
i thông tin n i ti p
8
ng trong
THƯ VIỆN ĐIỆN TỬ TRỰC TUYẾN
•
1 c ng ph i ghép n i ti p thi t b ngo i vi SPI
•
3 ch
•
Ngu n cung c p t 4.0 - 6.0V, t n s làm vi c 0 - 8MHz.
làm vi c là : Idle, Power-Save và Power-down
Vi m ch i u khi n AT90S8535 ư c ch t o theo cơng ngh chíp nh c
nh v i m t
có th
cao. B nh Flash ISP trên chíp cho phép b nh chương trình
ư c l p trình l i thơng qua m t c ng SPI ph i ghép n i ti p v i thi t b
ngo i vi. Ngồi ra, µC AT90SS8535 cịn h tr cho vi c l p trình thơng qua các
cơng c pháp tri n h th ng như C, assemblers...
Vi i u khi n AT90S8535 có 4 c u hình chân khác nhau là : PDIP (Có 40
chân), PLCC, TQFP, MLF (Có 44 chân). Sơ
chân c a m i lo i như sau.
Hình 2.1 : C u hình chân c a µC AT90S8535
PLCC
PDIP
TQFP
MLF
9
THƯ VIỆN ĐIỆN TỬ TRỰC TUYẾN
Ch c năng các chân c a µC AT90S8535 như sau :
VCC : Chân c p ngu n 5V
GND : Chân n i
RESET : Là
t
u vào reset. Tín hi u reset
bên ngồi s t o ra b i m c
th p c a tr kháng trên chân Reset. Xung reset dài quá 50ns s t o ra tín
hi u reset. Xung ng n hơn s không
XTAL1 : Là m t
ng và là
m b o phát sinh tín hi u reset.
u vào có tác d ng
u vào c a m ch i u khi n
XTAL2 : Là
u ra c a tín hi u
o chi u b khu ch
i t o dao
ng h bên trong.
o t b khu ch
i t o dao
AVCC : Là chân cung c p i n áp cho c ng A và b chuy n
ng
i ADC,
n u ADC không ư c s d ng thì chân này ph i ư c n i v i ngu n 5V
(chân VCC), n u ADC ư c s d ng thì chân này ph i ư c n i t i ngu n
5V qua b l c thông th p.
10
THƯ VIỆN ĐIỆN TỬ TRỰC TUYẾN
AREF : Là
ADC.
u vào chu n c a tín hi u tương t cho b chuy n
cho ADC ho t
ph m v t 2V
ng ư c, ngu n s d ng cho chân này ph i có
n AVCC.
AGND : Chân n i
n i
i
t c a tín hi u analog, n u bo m ch có m t m c
t riêng c a tín hi u analog, thì chân này ph i ư c n i t i m c n i
t này. N u không có, chân này ư c n i t i chân GND.
Port A (PA7..PA0) : Là m t c ng vào ra hai chi u 8 bit. Các chân c a
c ng có th cung c p các tr kháng trong cho phép ch n t ng bit.
c a c ng A có kh năng kéo dịng lên t i 20mA và có th
ti p s hi n th LED. Khi các chân PA0
c ng vào và
m c th p, chúng s là
A
u vào hi n th i n u các i n tr
ư c s d ng như nh ng
ưa tín hi u t i b b chuy n
tr ng thái không xác
i u khi n tr c
n PA7 ư c s d ng như các
trong ư c kích ho t. C ng A cũng có th
vào analog
m ra
u
i ADC. Các chân c a c ng
nh khi reset, ngay c khi
ng h không ho t
ng.
Port B (PB7..BP0) : Là m t c ng vào ra hai chi u 8 bit v i các tr
kháng trong.
là
m ra c a c ng B có kh năng kéo dịng lên t i 20mA. Khi
u vào, các chân c a c ng B trong tr ng thái tr kháng th p s là
u
vào hi n th i n u các i n tr trong ư c kích ho t. C ng B là c ng cung
c p các ch c năng khác nhau v i nh ng
AT90S8535. Các chân c a c ng B
ngay c khi
ng khơng ho t
c tính
c bi t c a µC
tr ng thái không xác
nh khi reset,
ng.
Port C (PC0..PC7) : Là m t c ng vào ra hai chi u 8 bit v i các tr
kháng trong.
là
m ra c a c ng C có kh năng kéo dịng lên t i 20mA. Khi
u vào, các chân c a c ng C trong tr ng thái tr kháng th p s là
vào hi n th i n u các i n tr
ư c l a ch n
s
u
ư c kích ho t. Hai chân c a c ng C có th
d ng gi ng như b
11
t o dao
ng cho b
THƯ VIỆN ĐIỆN TỬ TRỰC TUYẾN
Timer/Counter2. Các chân c a c ng C
reset, ngay c khi
ng không ho t
tr ng thái không xác
nh khi
ng.
Port D (PD0..PD7) : Là m t c ng vào ra hai chi u 8 bit v i các tr
kháng trong.
là
m ra c a c ng C có kh năng kéo dịng lên t i 20mA. Khi
u vào, các chân c a c ng D trong tr ng thái tr kháng th p s là
vào hi n th i n u các i n tr
nh ng ch c năng có
c ng D
ho t
c tính
tr ng thái khơng xác
ư c kích ho t. C ng D cũng cung c p
c bi t c a µC AT90S8535. Các chân c a
nh khi reset, ngay c khi
ng.
Hình 2.2 : Sơ
u
kh i vi m ch i u khi n AT90S8535
12
ng không
THƯ VIỆN ĐIỆN TỬ TRỰC TUYẾN
2.1.1.1. C u trúc c a vi m ch AT90S8535.
Vi m ch i u khi n AT90S8535 có nh ng phương th c truy c p nhanh t i
tâp thanh ghi a năng bao g m 32 thanh ghi 8 bit v i th i gian truy c p trong
m t ơn chu kỳ
ng h . i u này có nghĩa trong m t ơn chu kỳ, m t thao tác
c a b ALU ư c th c hi n s l y hai toán h ng t hai thanh ghi trong t p thanh
ghi, sau khi thao tác ư c th c hi n và k t qua tr s
ghi trong m t chu kỳ
ng h .
Sáu trong s 32 thanh ghi a năng này có th
a ch gián ti p 16 bit tr
ch
n không gian
a ch t i vùng nh d li u c
này là các thanh ghi 16 bit X, Y, Z.
13
ư c s d ng như 3 thanh ghi
a ch d li u, làm cho phép tính
t ư c hi u qu cao. M t trong 3 con tr
gi ng như con tr
ư c lưu tr l i t p thanh
a
a ch này cũng ư c s d ng
nh. Các thanh ghi
a ch
THƯ VIỆN ĐIỆN TỬ TRỰC TUYẾN
Hình 2.3 : Sơ
kh i ki n trúc c a µC AT90S8535
B ALU cung c p các ch c năng tính tốn s h c và logic gi a các thanh
ghi ho c gi a m t h ng s và m t thanh ghi. Nh ng thao tác c a m t thanh ghi
ơn cũng ư c th c hi n trong b ALU. S ho t
ng c a ALU ư c phân chia
làm 3 lo i chính là s h c, logic và các ch c năng bit.
Ngoài các ch c năng c a thanh ghi, các ch
thư ng cũng có th
ánh
a ch b nh thông
ư c s d ng trên các t p các thanh ghi. i u này ư c th c
hi n qua vi c t p thanh ghi ư c gán 32
a ch th p nh t c a khơng gian
a ch
d li u ($00..$1F), Cho phép chúng có th
ư c truy nh p như là là các a ch nh
bình thư ng.
Khơng gian vùng nh I/O bao g m 64
a ch ($20..$5F) dành cho các ch c
năng i u khi n thi t b ngo i vi c a µC như : Các thanh ghi i u khi n, b
14
THƯ VIỆN ĐIỆN TỬ TRỰC TUYẾN
Timer/Couter, b chuy n
th
i ADC và các ch c năng I/O khác. Vùng nh I/O có
ư c truy nh p tr c ti p ho c gián ti p thông qua t p các thanh ghi.
µC AT90S8535 s d ng ki n trúc Harvard - v i b nh và bus
c l p cho
chương trình và d li u. B nh chương trình ư c th c hi n v i m t “pipeline”
hai tr ng thái. Trong khi m t l nh ang ư c th c hi n, l nh ti p theo ư c n p
trư c t b nh chương trình. Cách th c này cho phép các l nh liên ti p ư c
th c hi n trong t ng ơn chu kỳ
ng h . B nh chương trình là b nh Flash
cho phép n p d li u trong h th ng.
V i nh ng l nh nh y và l nh g i, tồn b khơng gian
nh p tr c ti p. H u h t các l nh c a AVR
u có
a ch 4K ư c truy
dài 16 bit. M i
a ch b
nh chương trình bao g m m t l nh 16 bit ho c 32 bit.
M i m t module ng t có nh ng thanh ghi i u khi n trong không gian I/O
v i m t bit cho phép ng t chung ư c
khác nhau có m t vector ng t
t trong thanh ghi tr ng thái. M i ng t
c l p trong b ng vector ng t
c a b nh chương trình. M i ng t khác nhau
v trí vector ng t c a chúng.
u có m c
t i v trí b t
ưu tiên tuân theo
a ch c a vector ng t càng th p, m c
càng cao. Khi x y ra ng t, m t chương trình con ph v ng t ư c g i,
tr v PC ư c
u
ưu tiên
a ch
y vào ngăn x p. Vùng nh ngăn x p ư c c p phát trong vùng
nh d li u c a SRAM và do ó, dung lư ng c a ngăn x p b gi i h n b i t ng
dung lư ng c a SRAM và cách s d ng thông thư ng c a SRAM. T t c các
chương trình c a ngư i s d ng ph i ư c kh i
u b ng con tr ngăn x p (SP)
trong th t c reset (trư c khi các chương trình con ho c các ng t ư c th c thi).
Con tr stack s d ng 10 bit
byte d li u SRAM có th
truy nh p ghi/ c trong không gian I/O. 512
ư c truy c p d dàng b i 5 ch
ư c cung c p b i µC AT90S8535.
15
a ch khác nhau
THƯ VIỆN ĐIỆN TỬ TRỰC TUYẾN
Hình 2.4 : B n
b nh c a µC AT90S8535
2.1.1.2. T p thanh ghi a năng c a µC AT90S8535.
T t c các thanh ghi trong t p thanh ghi c a µC AT90S8535 khi th c m t
hi n l nh trong t p l nh
u có th
ư c truy c p tr c ti p trong m t ơn chu kỳ
ng h . Ngo i tr 5 l nh tr c ti p SBCI, SUBI, CPI, ANDI, ORI gi a m t
h ng s và m t thanh ghi và l nh LDI s d ng
n p t c thì h ng d li u,
nh ng l nh này ph i s d ng các thanh ghi c a n a th hai trong t p thanh ghi
(t R16..R31). Các l nh còn l i
u có th s d ng b t kỳ thanh ghi nào trong
t p thanh ghi.
16
THƯ VIỆN ĐIỆN TỬ TRỰC TUYẾN
Hình 2.5 :
a ch 32 thanh ghi a năng c a µC
Qua hình 2.5 có th th y, m i thanh ghi
không gian
gian d
a ch d li u, chúng ư c
u ư c gán m t
t trong 32 v trí
a ch trong
u tiên c a không
li u s d ng. M c dù không ư c th c hi n m t cách v t lý như trong
SRAM, vi c t ch c b nh này cung c p s linh ho t l n trong vi c truy nh p
t i các thanh ghi, như các thanh ghi X, Y, Z có th
ư c thi t l p
tr t i b t
kỳ thanh ghi nào trong t p thanh ghi.
Các thanh ghi t R26..R31 ư c thêm vào m t s ch c năng nh m m r ng
kh năng s d ng c a t p thanh ghi. Nh ng thanh ghi này là nh ng con tr
ch
ghi
ư c s d ng trong ch
a
a ch gián ti p c a không gian d li u. Ba thanh
a ch gián ti p là X, Y, Z ư c mơ t như trong hình 2.6 :
Hình 2.6 : Mơ t các thanh ghi
17
a ch gián ti p X, Y, Z
THƯ VIỆN ĐIỆN TỬ TRỰC TUYẾN
Trong các ch
ch nh linh ho t
a ch khác nhau, các thanh ghi này có ch c năng i u
i v i t ng trư ng h p, t
ng tăng, gi m ho c không
i.
2.1.1.3. B s h c và Logic - ALU.
B ALU c a µC AT90S8535 ư c n i tr c ti p v i 32 thanh ghi a năng.
Trong m t ơn chu kỳ
ng h , các thao tác c a ALU gi a các thanh ghi trong
t p thanh ghi ư c th c hi n và gi a m t thanh ghi v i m t h ng s ho c trên
m t ơn thanh ghi. Các ho t
ng c a ALU ư c chia làm 3 lo i chính là : s
h c, logic và các phép tốn trên bit.
2.1.1.4.
c i m các b nh trong c a µC AT90S8535.
a) B nh chương trình (Flash program memory) : Trong µC AT90S8535
ch a
ng 8KB b nh Flash l p trình ư c dùng
ư c t ch c như m t b nh 4Kx16 bit
l nh có
phù h p v i s làm vi c c a các
dài 16 ho c 32 bit. B nh Flash này có th ch u ư c ít nh t 1000
chu kỳ ghi/xố. Vì b
m chương trình (PC) c a µC AT90S8535 có
bit, do ó nó có th mã hoá 4096
ư c dùng
a ch th p nh t trong vùng nh d li u
a ch hoá cho t p thanh ghi, b nh I/O và SRAM. 96 v trí
u tiên là c a t p thanh ghi và b nh I/O, 512 v trí
b nh SRAM.
M t
SRAM
ư c xác
u có th
ti p, tương
dài 12
a ch trong b nh chương trình.
b) B nh SRAM : 608 v trí
ch
lưu tr chương trình. Nó
a ch ti p theo là c a
a ch b t kỳ trong trong không gian
nh thông qua 5 ch
a
a ch d li u
a ch khác nhau là : tr c
i, gián ti p, gián ti p v i s gi m trư c và gián ti p v i s tăng
sau. Trong t p thanh ghi, các thanh ghi t R26 t i R31 ư c s d ng như các
thanh ghi con tr
ch
li u. Ch
a ch gián ti p.
a ch tr c ti p có cho phép truy c p t i tồn b khơng gian d
a ch tương
i cho phép xác
nh 63 v trí
cho b i các thanh ghi Y ho c Z. Khi s d ng các ch
18
a ch t
a ch cơ s
thanh ghi gián ti p v i
THƯ VIỆN ĐIỆN TỬ TRỰC TUYẾN
s t
Z
ng gi m trư c ho c tăng sau, n i dung c a các thanh ghi
ut
a ch X, Y và
ng tăng ho c gi m sau khi th c hi n. 32 thanh ghi a năng, 64 thanh
ghi I/O và 512 byte c a b nh trong SRAM trong AT90S8535, t t c
ư c truy nh p thơng qua các ch
u có th
a ch này.
Hình 2.7 : T ch c b nh SRAM c a µC
c) B nh EEPROM : µC AT90S8535 có 512 byte b nh EEPROM,
ư c t ch c như m t không gian d li u riêng bi t cho phép m i byte có th
ư c ghi/ c. B nh EEPROM có th th c hi n ít nh t 100.000 chu kỳ ghi/xoá.
S truy nh p gi a EEPROM và µC ư c th c hi n thông qua các thanh ghi
a
ch , thanh ghi d li u và thanh ghi i u khi n c a EEPROM, các thanh ghi này
có th
ư c truy c p trong không gian I/O. Th i gian truy c p ghi EEPROM
trong ph m vi t 2.5
n 4 ms, tuỳ thu c vào i n áp trên chân VCC. EEPROM
có m t ch c năng t
ng tính th i gian cho phép ph n m m c a ngư i s d ng
ki m tra khi byte ti p theo có th
s n sàng c a EEPROM có th
sàng ti p nh n d li u m i.
ư c ghi/
ư c thi t l p
c bi t ki m tra s
kích ho t khi EEPROM s n
ngăn c n vi c ghi EEPROM ngồi ý mu n, m t
quy trình ghi c th ph i ư c tuân theo. Khi
trong 4 chu kỳ
c. M t ng t
c EEPROM, µC b t m d ng
ng h trư c khi l nh ti p theo
19
ư c th c hi n. Khi ghi
THƯ VIỆN ĐIỆN TỬ TRỰC TUYẾN
EEPROM, µC t m d ng trong 2 chu kỳ
ng h trư c khi th c hi n l nh ti p
theo.
Thanh ghi
a ch EEPROM : EEARH và EEARL
Các thanh ghi
a ch c a EEPROM (EEARH và EEARL) ch
c a m t byte trong không gian 512 byte EEPROM. Các byte d
EEPROM ư c
a ch hóa t 0
nh
a ch
li u c a
n 511.
Thanh ghi d li u EEPROM : EEDR
Trong thao tác ghi c a EEPROM, thanh ghi EEDR ch a d li u ư c ghi
t i EEPROM theo
a ch
ư c xác
nh b i thanh ghi EEAR. Trong thao tác
c EEPROM, thanh ghi EEDR ch a d li u
c ra t EEPROM t i
a ch cho
trong thanh ghi EEAR.
Thanh ghi i u khi n EEPROM : EECR
•
Bit 3 - EERIE : Bit cho phép s n sàng ng t c a EEPROM
Khi bit I trong thanh ghi SREG và bit EERIE ư c thi t l p, ng t tr ng thái s n
sàng c a EPROM ư c cho phép. Khi b xoá ng t b vơ hi u hố. Ng t tr ng thái
s n sàng EEPROM t o ra m t ng t c ng khi bit EEWE b xố.
•
Bit 2 - EEMWE : Bit cho phép thao tác ghi EEPROM
20
THƯ VIỆN ĐIỆN TỬ TRỰC TUYẾN
Bit EEMWE xác
nh có hay không s thi t l p bit EEWE
gây ra thao tác
ghi EEPROM. Khi bit EEMWE ư c thi t l p, thì s thi t l p c a bit EEWE s ghi
d li u vào EEPROM t i a ch ã l a ch n. N u bit EEMWE là 0, thì s thi t l p
c a bit EEWE s khơng có k t qu . Khi bit EEMWE ã ư c thi t l p b i ph n
m m, ph n c ng xoá bit này v 0 sau 4 chu kỳ
•
ng h .
Bit 1 - EEWE : Bit cho phép ghi EEPROM
Tín hi u cho phép ghi EEPROM (EEWE) là m t xung ch n ghi t i
EEPROM. Khi
a ch và d li u ã ư c thi t l p phù h p, bit EEWE ph i
ư c thi t l p
ghi giá tr vào trong EEPROM. Bit EEEMWE ph i ư c thi t
l p khi giá tr logic 1 ư c ghi vào bit EEWE, n u khơng thì khơng x y ra thao
tác ghi EEPROM. Quy trình dư i ây ph i ư c tuân theo khi ghi EEPROM
(th t c a bư c 2 và 3 không c n quan tâm).
1.
i cho
n khi bit EEWE tr v 0
2. Ghi a ch m i c a EEPROM t i thanh ghi a ch EEPROM (tuỳ ch n)
3. Ghi d li u m i vào thanh ghi EEDR (tuỳ ch n)
4. Ghi giá tr logic 1 vào bit EEMWE trong thanh ghi EECR (
có th ghi
giá tr logic 1 vào bit EEMWE, thì bit EEWE ph i ư c ghi là 0 trong cùng m t
chu kỳ
ng h )
5. Trong vòng 4 chu kỳ
ng h sau khi thi t l p bit EEMWE, ghi giá tr
logic 1 t i bit EEWE.
Chú ý : M t ng t gi a bư c 4 và 5 s làm l i chu kỳ ghi, vì bit EEMWE s
h t th i gian. N u m t th t c ng t truy xu t t i EEPROM trong khi m t ng t
khác cũng ang truy xu t EEPROM, thì n i dung c a các thanh ghi EEAR và
EEDR s b thay
i, gây l i ng t truy xu t EEPROM.
tránh nh ng v n
này c n xoá các c ng t chung trong th i gian th c hi n 4 bư c cu i cùng. Khi
th i gian truy c p ghi k t thúc (2.5ms và VCC = 5V ho c 4ms và VCC = 2.7V), bit
EEWE ư c xoá b i ph n c ng, S d ng ph n m m có th thăm dị bít này và
i nó tr v không trư c khi th c hi n ghi byte ti p theo. Khi bit EEWE ã
21
THƯ VIỆN ĐIỆN TỬ TRỰC TUYẾN
ư c thi t l p, µC t m d ng trong 2 chu kỳ
ng h trư c khi l nh ti p theo
ư c th c hi n.
•
Bit 0 - EERE : Bit cho phép
Tín hi u cho phép
c EEPROM
c EEPROM là xung ch n
c
n EEPROM. Khi
a
ch phù h p ư c thi t l p trong thanh ghi EEAR, bit EERE ph i ư c thi t l p.
Khi bit EERE b xoá b i ph n c ng, d li u yêu c u ư c tìm th y trong thanh
ghi EEDR. S truy xu t
c EEPROM c n m t l nh và khơng c n thăm dị bit
EERE. Khi bit EERE ã ư c thi t l p, µC t m d ng trong 4 chu kỳ
ng h
trư c khi l nh ti p theo ư c th c hi n.
Ngư i s d ng c n ph i thăm dò bit EEWE trư c khi b t
N u d li u ho c
u thao tác
c.
a ch m i ư c ghi vào các thanh ghi vào/ra c a EEPROM
khi m t thao tác ghi ang di n ra, thì thao tác ghi s b ng t và k t qu khơng
ư c xác
nh.
2.1.1.5. Các ch
a ch c a µC AT90S8535.
Vi m ch i u khi n AT90S8535 h tr các ch
a ch r t m nh và hi u
qu cao cho vi c truy nh p t i b nh chương trình (b nh Flash) và b nh d
li u (SRAM, t p thanh ghi và b nh I/O). Dư i ây là các ch
µC AT90S8535 :
a)
a ch tr c ti p m t thanh ghi
Toán h ng ư c ch a trong thanh ghi d (Rd)
22
a ch c a
THƯ VIỆN ĐIỆN TỬ TRỰC TUYẾN
b)
a ch tr c ti p hai thanh ghi
Các toán h ng ư c ch a trong thanh ghi r (Rr) và d (Rd).
K t qu
c)
a ch I/O tr c ti p
Toán h ng
n là
d)
ư c lưu trong thanh ghi d (Rd)
a ch ch a trong 6 bit LSB c a t l nh,
a ch c a thanh ghi ngu n ho c ích
a ch d li u tr c ti p
16 bit
a ch d li u ư c ch a trong 16 bit LSB c a hai t
Rd/Rr ch rõ thanh ghi ngu n ho c thanh ghi ích.
e)
a ch d li u tương
i
23
l nh.
THƯ VIỆN ĐIỆN TỬ TRỰC TUYẾN
Tốn h ng
a ch là k t qu c a n i dung thanh ghi Y ho c Z
ư c c ng v i
f)
a ch d li u gián ti p
Toán h ng
g)
a ch ch a trong 6 bit LSB c a t l nh (a)
a ch là n i dung c a thanh ghi X, Y ho c Z
a ch d li u gián ti p gi m trư c
N i dung các thanh ghi X, Y, Z gi m 1 trư c khi th c hi n
Toán h ng
a ch là n i dung ã gi m c a thanh ghi X, Y, Z
24
THƯ VIỆN ĐIỆN TỬ TRỰC TUYẾN
h)
a ch d li u gián ti p tăng sau
Thanh ghi X, Y ho c Z ư c c ng 1 sau khi th c hi n.
a ch toán h ng là n i dung c a thanh ghi X, Y ho c Z trư c khi c ng
i)
a ch c
nh khi th c hi n l nh LPM
a ch byte c
nh ư c xác nh b i n i dung c a thanh ghi Z.
15 bit MSB l a ch n
a ch t (0 – 4K), bit LSB cho phép
ch n byte th p n u LSB = 0 ho c byte cao n u
j)
a ch gián ti p trong b nh chương trình v i l nh IJMP và ICALL
Chương trình ư c ti p t c th c hi n t i
(B
t LSB = 1.
a ch
ư c ch a b i thanh ghi Z
m chương trình (PC) ư c n p v i n i dung c a thanh ghi Z)
25