Professional Documents
Culture Documents
Interrupt Others
Ports Peripherals
Unit
IO PINS
Dạng vỏ PDIP
Bài giảng môn Vi xử lý
GV: Lê Thị Kim Anh
Chƣơng 2
SƠ ĐỒ CHÂN & ĐÓNG GÓI ATMEGA 324P
Dạng vỏ TQFP/VQFN/QFL/MLF
R0
ALU R1
CPU R2
…
SREG: I T H S V N Z C ….
R15
PC R16
…
IR R30
R31
Instruction Decoder
REGs
Fmax=20MHz
Tần số hoạt động đƣợc lựa chọn bằng việc lập trình cho các bit cầu chì.
Bài giảng môn Vi xử lý
GV: Lê Thị Kim Anh
Chƣơng 2
PHÂN BỐ CÁC XUNG NHỊP
AVR Clock
Control Unit
INTERNAL RESET
EXTERNAL
RESET
KHỐI
RESET NGOÀI
SRAM
EEPROM(1KB)
1K x 8
SRAM-DATA(2KB)
2K x 8
FLASH-CODE(16KW)
16K x 16
SRAM ADDR
32 GPRs 0x00-0x1F
64 I/O REGs 0x20-0x5F IN Rd,P {Rd P }
IO:0x00-0x3F (d:031, P:0 63)
160 Ext I/O REGs 0x60-0xFF
0x100 OUT P,Rr {P Rr }
Internal SRAM
(r:031, P:0 63)
DATA 00-3F
0x8FF
Lƣu ý: Các thanh ghi SFRs thuộc vùng IO cơ bản, khi dùng
bằng tên trong toán hạng sẽ được trình biên dịch ánh xạ theo địa
chỉ của IO.
Bài giảng môn Vi xử lý
GV: Lê Thị Kim Anh
Chƣơng 2
CÁC CỔNG XUẤT NHẬP– IO PORTs
Address bus
CPU Data bus
Control bus
Interrupt Others
Ports Peripherals
Unit
IO PINS
IO PORTs: A B C D
FLASH Generals SRAM EPROM TIMERs
ROM Purpose
Registers
Address bus
CPU Data bus
Control bus
Interrupt Others
Ports Peripherals
Unit
IO PINS
Lƣu ý: nếu bit PUD của t.ghi MCUCR bằng 1 thì tín hiệu ở
các chân port luôn ở trạng thái tổng trở cao.
Bài giảng môn Vi xử lý
GV: Lê Thị Kim Anh
Chƣơng 2
CÁC THANH GHI I/O MỞ RỘNG & VÙNG DATA
SRAM ADDR
32 GPRs 0x00-0x1F
64 I/O REGs 0x20-0x5F LDS Rd,k {Rd (k) }
160 Ext I/O REGs 0x60-0xFF
0x100
STS k,Rr {(k) Rr }
Internal SRAM (d,r:031,
DATA
k:0 8FF)
0x8FF
Lƣu ý: Các thanh ghi IORs không có địa chỉ IO sử dụng các
thao tác lệnh như là 1 ô nhớ trong vùng DATA của SRAM.
Bài giảng môn Vi xử lý
GV: Lê Thị Kim Anh
Chƣơng 2
VÙNG STACK
Vùng lưu trữ thông tin tạm thời(dữ liệu hoặc địa chỉ), được quản lý bởi con trỏ
SP- Stack Pointer(16bit=SPH:SPL). Hoạt động theo nguyên tắc LIFO(Last In
First Out).
Sử dụng các lệnh PUSH, POP trên tập thanh ghi GPRs.
FLASH ROM
(CODE-16KW)
- Dữ liệu trong AVR sắp xếp theo nguyên tắc Little Endian.
- Mỗi địa chỉ trong FLASH gồm 2 byte.
VD: Một dữ liệu gồm 4 byte là 0xABCD1234 được cất trong FLASH bắt
đầu từ địa chỉ $2000 sẽ được sắp xếp như sau:
0x2000 12 34
0x2001 AB CD
0x7FFF(FLASHEND)
Sử dụng PP gián
tiếp qua thanh
ghi Z và lệnh
LPM
d:031, Z:03FFF
Zmax:FFFF
VD: Địa chỉ cần truy xuất 0x2000 0 010 0000 0000 0000
Xác định nội dung nạp cho Z?
Truy xuất byte thấp Z=0x4000 0100 0000 0000 000 0
Truy xuất byte cao Z=0x4001 0100 0000 0000 000 1
Tạo data
FLASH
0000 e005
0001 e019
0002 ef01
0003 0100
0004 9300
…..
….
FLASH SRAM
R0
0000 e005 ……
R1 0100
0001
0002
e019
ef01
ALU R2 0101
0003 0100 … …..
0004 9300 ….
….. CPU R15
….
SREG: I T H S V N Z C
R16 Address bus
R17 Data bus
PC 0000
Control bus
….
Program bus IR R31