Tải bản đầy đủ (.pdf) (210 trang)

Nghiên cứu ứng dụng của bộ vi xử lý trong quản lý thư viện trường tiểu học Kim Đồng

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.77 MB, 210 trang )

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.


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.


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.


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


×