ตำแหน่ง I/O รีจีสเตอร์สถานะและการใช้งาน EEPROM

ตารางแสดงการวางตำแหน่ง I / O ของ AT90s4434 AT90s8535

I/O Address (SRAM Address)

Name

Function

$3F($5F)

SREG

Status Register

$3E($5E)

SPH

Stack Pointer High

$3D($5D)

SPL

Stack Pointer Low

$3B($5B)

GIMSK

General Interrupt Mask register

$3A($5A)

GIFR

General Interrupt Flag Register

$39($59)

TIMSK

Timer/Counter Interrupt Mask register

$38($58)

TIFR

Timer/Counter Interrupt Flag Register

$35($55)

MCUCR

MCU general Control Register

$34($45)

MCUCR

MCU general Status Register

$33($53)

TCCR0

Timer/Counter0 Control Register

$32($52)

TCNT0

Timer/Counter0 (8bit)

$2F($4F)

TCCR1A

Timer/Counter1 Control Register A

$2F($4E)

TCCR1B

Timer/Counter1 Control Register B

$2D($5D)

TCNT1H

Timer/Counter1 High Byte

$2C($4C)

TCNT1L

Timer/Counter1 Low Byte

$2B($4B)

OCR1AH

Timer/Counter1 Output Compare Register A High Byte

$2A($4A)

OCR1AL

Timer/Counter1 Output Compare Register A Low Byte

$29($49)

OCR1BH

Timer/Counter1 Output Compare Register B High Byte

$28($48)

OCR1BL

Timer/Counter1 Output Compare Register B High Byte

$27($47)

ICR1H

T/C 1 Input Capture Register High Byte

$26($46)

ICR1L

T/C 1 Input Capture Register Low Byte

$25($45)

TCCR2

Timer/Counter 2 Control Register

$24($44)

TCNT2

Timer/Counter 2 (8Bit)

$23($43)

OCR2

Timer/Counter 2 Output Compare Register

$22($42)

ASSR

Asynchronous Mode Status Register

$21($41)

WDTCR

Watchdog Timer Control Register

$1F($3F)

EEARH

EEPROM Address Register High Byte

$1E($3E)

EEARL

EEPROM Address Register Low Byte

$1D($3D)

EEDR

EEPROM Data Register

$1C($3C)

EECR

EEPROM Control Register

$1B($3B)

PORTA

Data Register , Port A

$1A($3A)

DDRA

Data Direction Register , Port A

$19($39)

PINA

Input Pins , Port A

$18($38)

PORTB

Data Register , Port B

$17($37)

DDRB

Data Direction Register , Port B

$16($36)

PINB

Input Pins , Port B

$15($35)

PORTC

Data Register , Port C

$14($34)

DDRD

Data Direction Register , Port C

$13($33)

PINC

Input Pins , Port C

$12($32)

PORTD

Data Register , Port D

$11($31)

DDRD

Data Direction Register , Port D

$10($30)

PIND

Input Pins , Port D

$0F($2F)

SPDR

SPL I/O Data Register

$0E($2E)

SPSR

SPL Status Register

$0D($2D)

SPCR

SPL Control Register

$0C($2C)

UDR

UART I/O Data Register

$0B($2B)

USR

UART Status Register

$0A($2A)

UCR

UART Control Register

$09($29)

UBRR

UART Baud Rate Register

$08($28)

ACSR

Analog Comparator Control and Status Register

$07($27)

ADMUX

ADC Multiplexer Select Register

$06($26)

ADCSR

ADC Control Register

$05($25)

ADCH

ADC Data Register High

$04($24)

ADCL

ADC Data Register Low

Bit 7 - I:Global Interrupt Enable

บิท I จะต้องถูก set เป็น 1 เมี่อต้องการให้ Interrupt ทั้งหมดทำงานโดย interrupt แต่ละแหล่งจะสามารถแบ่งแยกกันกำหนดรีจีสเตอร์ GIMSK และ TIMSK แต่ถ้าบิทI ถูก clear เป็น 0 อินเตอร์รัพท์ทุกตัวจะถูก DISABLE โดยบิท I จะถูก clear โดยอัตโนมัติเมื่อเกิดการอินเตอร์รัพท์และจะถูก Set โดยการใช้คำสั่ง RETI

Bit 6 - T:Bit Copy Stroage

การใช้คำสั่ง BLD และคำสั่ง BSTจะเป็นคำสั่ง ที่ใช้บิท T ทำหน้าที่เป็น SOURCE หรือ DESTINATION โดยบิทต่างๆในรีจีสเตอร์สามารถ COPY ลงบิท T ได้โดยการใช้คำสั่ง BLD และสามารถ COPY บิท T ลงในบิทของรีจีสเตอร์ได้โดยคำสั่งBST

Bit 5 - H: Half Carry Flag

บิท H แสดงการเกิด HALF CARRY FLAG

Bit 4 - S:Sign Bit, S = N + V

เป็นบิทที่ใช้แสดงเครื่องหมาย

Bit 3 - V: Two"s Complement Overflow Flag

แสดงการทำ Two"s Complement

Bit 2 - N: Negative Flag

จะแสดงการทำคำสั่งที่เป็นลบของการกระทำทางคณิตศาสตร์และลอจิก

Bit 1 - Z: Zero Flag

จะแสดงการทำคำสั่งทางคณิตศาสตร์และลอจิกที่ให้ผลเป็น 0

Bit 0 - C: Carry Flag

แสดงการเกิด Carry Flag

The Stack Pointer - SP

bit

$3E($5E)

$3D($5D)

Read/Write

Initial value

15
14
13
12
11
10
9
8
-
-
-
-
-
-
SP9
SP8
SP7
SP6
SP5
SP4
SP3
SP2
SP1
SP0
7
6
5
4
3
2
1
0

R/W

R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0

SPH

SPL

EEPROM Read/Write Acces

The EEPROM Address Register - EEARH and EEARL

BIT

$1F($3F)

$1E($3E)

Read/Write

Initial value

15
14
13
12
11
10
9
8
-
-
-
-
-
-
-
EEAR9
EEAR7
EEAR6
EEAR5
EEAR4
EEAR3
EEAR2
EEAR1
EEAR0
7
6
5
4
3
2
1
0
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0

EEARH

EEARL

The EEPROM Data Register - EEDR

bit

$1D($3D)

Read/Write

Initial value

7
6
5
4
3
2
1
0

EEDR

MSB
LSB
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
0
0
0
0
0
0
0
0