System clock 20... System clock Ly t& nhi u ngu∀n khác nhau 21 La chn các ngu∀n clock trong quá trình np ch ng trình... Trong khi RESET Ch ng trình start ti a Reset Vector, lnh t ti
Trang 1Kin trúc AVR – 8 bits
Nguy n Qu c C ng
B môn k thu t o và Tin h c công nghi p
Tr ng i h c Bách khoa Hà N i
1
Plan
Kin trúc AVR – 8 bits
Tp các thanh ghi
Truy cp b nh
B nh I/O
EEPROM
Cng I/O
SRAM
Timer
Trang 2Kin trúc
AVR – 8
bits
3
Kin trúc Harvard Bus cho data và ch ng trình là tách riêng
Data bus ca b nh ch ng trình: 16 bits
Không gian các b nh là tuyn tính
B nh data có 2 loi
B nh data có 2 loi
RAM
EEPROM
chia làm 5 kiu khác nhau
Các lnh ca AVR
phn ln có dài 16 bit
thc hin ch yu trong mt xung nhp clock
4
Trang 3B nh data
32 thanh ghi 8 bit
Các thanh ghi I/O (maximum 64 thanh ghi 8 bit)
Internal SRAM
Cha các bin ch ng trình
Ngn xp
Ngn xp
External RAM (ch có mt s loi nh 89S8515)
EEPROM có th c/ghi bi ch ng trình (c 100,000 ln)
5
Trang 4Tp các thanh ghi
32 thanh ghi 8 bit dùng cho các mc ích thông th ng
R0 n R31
Kt ni trc tip vi ALU, có th tham gia hu ht vào tt c các phép tính s hc và logic
Mt s ít lnh ch thc hin trên các thanh ghi R16 n R31
c bit X, Y, Z dùng làm các con tr data trong các lnh
truy cp gián tip
7
8
Trang 5Thanh ghi ch s X, Y , Z
9
B nh I/O
i u khin tt c các thit b trên AVR
Truy cp
nh là ô nh SRAM ti a ch 20h n 5Fh thông qua các lnh Load
và Store
nh các thanh ghi I/O ti a ch 00h n 3Fh thông qua các lnh IN
nh các thanh ghi I/O ti a ch 00h n 3Fh thông qua các lnh IN
và OUT
nh các bit (ch áp dng cho các thanh ghi 00 n 1Fh) thông qua các lnh Set Bit và Clear Bit
Trang 6Thanh ghi trng thái - SREG
11
12
Trang 7m bo cho ch ng trình hot ng úng sau khi kt
thúc ch ng trình phc v ng!t ISR (Interrupt Service
Routine)
cn phi l u khi vào u ch ng trình ISR
cn phi l u khi vào u ch ng trình ISR
phc h∀i tr c khi thoát khi ISR
13
Stack pointer
(cn phi ln hn 60h)
Thanh ghi SP 16 bit
SH (mt s loi có SRAM <256 byte s# không có SH)
SL
SL
M∃i ln ct mt byte vào ngn xp, SP s# gim i mt
Trang 8Cng I/O
Các cng ca AVR u là các cng bi-direction
Có 3 thanh ghi i u khin i kèm vi m∃i cng
DDRx : nh ngh%a chi u ca port (0 là input, 1 là output)
PINx : dùng c giá tr ca port khi làm input
PINx : dùng c giá tr ca port khi làm input
DDxn là bit th n ca thanh ghi DDRx
15
16
Trang 10System
clock
20
Trang 11System clock
Ly t& nhi u ngu∀n khác nhau
21
La chn các ngu∀n clock
trong quá trình np ch ng trình)
Trang 12
System clock vi tn s 1MHz
S∋ dng thanh ghi WDTCR i u khin thi gian ca
Watchdog
23
24
Trang 13Trong khi RESET
Ch ng trình start ti a Reset Vector, lnh t ti Reset Vector cn phi là mt lnh JMP
Có nhi u ngu∀n có th to ra reset
Có nhi u ngu∀n có th to ra reset
Power-On Reset
External Reset
Brown-out detection (option) ( có mt s AVR ví d ATmega32, )
Trang 1428
Trang 15Power-on reset (POR)
To ra bi On-chip detection circuit
POR s# hot ng khi in áp VCC nh hn in áp VPOT
29
External Reset
To ra khi pin RESET có mc logic thp
Thi gian pin RESET mc thp cn phi ln hn minimum pulse width
Trang 16Watchdog reset
Khi Watchdog timer b time-out, nó s# phát ra mt xung (nu Watchdog là enable) reset h thng
31
Thanh ghi trng thái và i u khin - MCUCSR
32