Electronic Components Datasheet Search
Selected language     English  ▼
Part Name
         Description


ATTINY2313 Datasheet(PDF) 86 Page - ATMEL Corporation

Part No. ATTINY2313
Description  8-bit AVR Microcontroller with 2K Bytes In-System Programmable Flash
Download  211 Pages
Scroll/Zoom Zoom In 100% Zoom Out
Maker  ATMEL [ATMEL Corporation]
Homepage  http://www.atmel.com
Logo 

 86 page
background image
86
ATtiny2313/V
2543C–AVR–12/03
Accessing 16-bit
Registers
The TCNT1, OCR1A/B, and ICR1 are 16-bit registers that can be accessed by the AVR
CPU via the 8-bit data bus. The 16-bit register must be byte accessed using two read or
write operations. Each 16-bit timer has a single 8-bit register for temporary storing of the
high byte of the 16-bit access. The same temporary register is shared between all 16-bit
registers within each 16-bit timer. Accessing the low byte triggers the 16-bit read or write
operation. When the low byte of a 16-bit register is written by the CPU, the high byte
stored in the temporary register, and the low byte written are both copied into the 16-bit
register in the same clock cycle. When the low byte of a 16-bit register is read by the
CPU, the high byte of the 16-bit register is copied into the temporary register in the
same clock cycle as the low byte is read.
Not all 16-bit accesses uses the temporary register for the high byte. Reading the
OCR1A/B 16-bit registers does not involve using the temporary register.
To do a 16-bit write, the high byte must be written before the low byte. For a 16-bit read,
the low byte must be read before the high byte.
The following code examples show how to access the 16-bit timer registers assuming
that no interrupts updates the temporary register. The same principle can be used
directly for accessing the OCR1A/B and ICR1 Registers. Note that when using “C”, the
compiler handles the 16-bit access.
Note:
1. The example code assumes that the part specific header file is included.
For I/O Registers located in extended I/O map, “IN”, “OUT”, “SBIS”, “SBIC”, “CBI”,
and “SBI” instructions must be replaced with instructions that allow access to
extended I/O. Typically “LDS” and “STS” combined with “SBRS”, “SBRC”, “SBR”, and
“CBR”.
The assembly code example returns the TCNT1 value in the r17:r16 register pair.
It is important to notice that accessing 16-bit registers are atomic operations. If an inter-
rupt occurs between the two instructions accessing the 16-bit register, and the interrupt
code updates the temporary register by accessing the same or any other of the 16-bit
timer registers, then the result of the access outside the interrupt will be corrupted.
Assembly Code Examples(1)
...
; Set TCNT
1 to 0x01FF
ldi r17,0x01
ldi r16,0xFF
out TCNT
1H,r17
out TCNT
1L,r16
; Read TCNT
1 into r17:r16
in
r16,TCNT
1L
in
r17,TCNT
1H
...
C Code Examples(1)
unsigned int i;
...
/* Set TCNT
1 to 0x01FF */
TCNT
1 = 0x1FF;
/* Read TCNT
1 into i */
i = TCNT
1;
...




Html Pages

1  2  3  4  5  6  7  8  9  10  11  12  13  14  15  16  17  18  19  20  21  22  23  24  25  26  27  28  29  30  31  32  33  34  35  36  37  38  39  40  41  42  43  44  45  46  47  48  49  50  51  52  53  54  55  56  57  58  59  60  61  62  63  64  65  66  67  68  69  70  71  72  73  74  75  76  77  78  79  80  81  82  83  84  85  86  87  88  89  90  91  92  93  94  95  96  97  98  99  100   ...More


Datasheet Download



Related Electronics Part Number

Part NumberComponents DescriptionHtml ViewManufacturer
AT90S44338-Bit AVR Microcontroller with 4K Bytes of In-System Programmable Flash 1 2 3 4 5 MoreATMEL Corporation
ATTINY138-bit AVR Microcontroller with 1K Bytes In-System Programmable Flash 1 2 3 4 5 MoreATMEL Corporation
ATMEGA165P8-bit AVR Microcontroller with 16K Bytes In-System Programmable Flash 1 2 3 4 5 MoreATMEL Corporation
ATMEGA85158-bit AVR Microcontroller with 8K Bytes In-System Programmable Flash 1 2 3 4 5 MoreATMEL Corporation
ATMEGA328-bit AVR Microcontroller with 32K Bytes In-System Programmable Flash 1 2 3 4 5 MoreATMEL Corporation
ATMEGA168-bit AVR Microcontroller with 16K Bytes In-System Programmable Flash 1 2 3 4 5 MoreATMEL Corporation
AT90S85158-Bit Microcontroller with 8K bytes In-System Programmable Flash 1 2 3 4 5 MoreATMEL Corporation
ATTINY258-bit Microcontroller with 2/4/8K Bytes In-System Programmable Flash 1 2 3 4 5 MoreATMEL Corporation
AT90S85158-Bit Microcontroller with 8K bytes In-System Programmable Flash 1 2 3 4 5 MoreATMEL Corporation

Link URL

Does ALLDATASHEET help your business so far?  [ DONATE ]  

About Alldatasheet   |   Advertisement   |   Datasheet Upload   |   Contact us   |   Privacy Policy   |   Bookmark   |   Link Exchange   |   Manufacturer List
All Rights Reserved© Alldatasheet.com 2003 - 2017    


Mirror Sites
English : Alldatasheet.com  , Alldatasheet.net  |   Chinese : Alldatasheetcn.com  |   German : Alldatasheetde.com  |   Japanese : Alldatasheet.jp  |   Russian : Alldatasheetru.com
Korean : Alldatasheet.co.kr   |   Spanish : Alldatasheet.es  |   French : Alldatasheet.fr  |   Italian : Alldatasheetit.com  |   Portuguese : Alldatasheetpt.com  |   Polish : Alldatasheet.pl