A
ACD (Analog Comparator Disable bit),
46
ACI (Analog Comparator Interrupt flag),
46
ACIC (Analog Comparator Input Capture Enable bit),
47
ACISO/ACIS1 (Analog Comparator Interrupt Mode Select bits),
47
ACO (Analog Comparator Output),
43,
46
ACSR (Analog Comparator Control and Status register),
46
ADD (Add without Carry),
72
Addressing modes, memory,
63–71
ADIW (Add Immediate to Word),
72
ALU (arithmetic logic unit),
12–14
ANDI (Logical AND with Immediate),
73
Architectural overview,
9–13
AVR microcontrollers based on new RISC,
reduced-instruction-set computer (RISC),
ASR (Arithmetic Shift Right),
73
programming duty cycles,
189–95
programming timer periods,
189–95
security enhancement in data transmission by CRe,
215–18
pulse-width modulation (PWM),
231–34
serial communication with internal UART,
235–37
serial data exchange with SPI,
241
Assembler source code, editing,
134–39
AT90S1200, assembler programs for,
180–228
programming duty cycles,
189–95
programming timer periods,
189–95
security enhancement in data transmission by CRC,
215–18
AT90S8515, assembler programs for,
228–61
pulse-width modulation (PWM),
231–34
serial communication with internal UART,
235–37
serial data exchange with SPI,
241
AT90S8515, serial communication for,
266–72
application notes and software,
301–3
editing assembler source code,
134–39
AVR development board from,
169–71
Options> AVR Options menu,
140
Options > Simulator Options menu,
146
assembler example programs,
179–261
microcontrollers based on new RISC architecture,
Pascal from E-Lab computers,
155–65
PWM (pulse-width modulation),
266–72
serial communication for AT90S8515,
266–72
AVR development board from Atmel,
169–71
Tools > Program Device menu,
170
AVR embedded workbench, EWA90 demo of,
153–55
B
PWM (pulse-width modulation),
266–72
serial communication for AT90S8515,
266–72
BCLR (Bit Clear in SREG),
73
BLD (Bit Load from T flag in SREG),
74
BRBC (Branch If Bit in SREG Is Cleared),
74
BRBS (Branch If Bit in SREG Is Set),
74
BRCC (Branch If Carry Is Cleared),
75
BRCS (Branch If Carry Is Set),
75
BREQ (Branch If Equal),
75–76
BRGE (Branch If Greater or Equal [Signed]),
76
BRHC (Branch If Half Carry Flag Is Cleared),
76–77
BRHS (Branch If Half Carry Flag Is Set),
77
BRID (Branch If Global Interrupt Is Disabled),
77
BRIE (Branch If Global Interrupt Is Enabled),
77–78
BRLO (Branch If Lower),
78
BRLT (Branch If Less Than [Signed]),
78–79
BRMI (Branch If Minus),
79
BRNE (Branch If Not Equal),
79–80
BRPL (Branch If Plus),
80
BRSH (Branch If Same or Higher [Unsigned]),
80–81
BRTC (Branch If T Flag Is Cleared),
81
BRTS (Branch If T Flag Is Set),
81
BRVC (Branch If Overflow Flag Is Cleared),
82
BRVS (Branch If Overflow Flag Is Set),
82
BSET (Bit Set in SREG),
82
BST (Bit Store from Bit in Register to T Flag),
83
C
CALL (Long Call to a Subroutine),
83
CBI (Clear Bit in I/O Register),
83–84
CBR (Clear Bits in Register),
84
CLC (Clear Carry Flag),
84
CLH (Clear Half Carry Flag),
84
CLI (Clear Global Interrupt Flag),
85
CLN (Clear Negative Flag),
85
Clock/counter, real-time,
CLS (Clear Sign Flag),
86
CLV (Clear Overflow Flag),
86
CLZ (Clear Zero Flag),
86
COM (One’s Complement),
87
Converter, decimal-to-Hex-to-ASCII,
299–300
CPC (Compare with Carry),
87
CPI (Compare with Immediate),
87–88
CPSE (Compare Skip If Equal),
88
CPU (central processing unit), ,
12
CRC (cyclic redundancy check), security enhancement in data transmission by,
215–18
CWA90 debugger/simulator, IAR,
151–53
Cycles, programming duty,
189–95
I
I/O (input and/or output),
access to external SRAM,
54–56
CWA90 debugger/simulator,
151–53
embedded workbench EWA90,
146–51
CWA90 debugger/simulator,
151–53
EWA90 demo of AVR embedded
macro-assembler for time-critical
summary of available AVR tools,
148
ICALL (Indirect Call to Subroutine),
89
ICFl (Input Capture Flag 1),
28
IN (Load an I/O Port to Register),
90
CLI (Clear Global Interrupt Flag),
85
CLV (Clear Overflow Flag),
86
ADD (Add without Carry),
72
ADIW (Add Immediate to Word),
72
ANDI (Logical AND with Immediate),
73
ASR (Arithmetic Shift Right),
73
BCLR (Bit Clear in SREG),
73
BLD (Bit Load from T flag in SREG),
74
BRBC (Branch If Bit in SREG Is Cleared),
74
BRBS (Branch If Bit in SREG Is Set),
74
BRCC (Branch If Carry Is Cleared),
75
BRCS (Branch If Carry Is Set),
75
BREQ (Branch If Equal),
75–76
BRGE (Branch If Greater or Equal [Signed]),
76
BRHC (Branch If Half Carry Flag Is Cleared),
76–77
BRHS (Branch If Half Carry Flag Is Set),
77
BRID (Branch If Global Interrupt Is Disabled),
77
BRIE (Branch If Global Interrupt Is Enabled),
77–78
BRLO (Branch If Lower),
78
BRLT (Branch If Less Than [Signed]),
78–79
BRMI (Branch If Minus),
79
BRNE (Branch If Not Equal),
79–80
BRPL (Branch If Plus),
80
BRSH (Branch If Same or Higher [Unsigned]),
80–81
BRTC (Branch 1fT Flag Is Cleared),
81
BRTS (Branch If T Flag Is Set),
81
BRVC (Branch If Overflow Flag Is Cleared),
82
BRVS (Branch If Overflow Flag Is Set),
82
BSET (Bit Set in SREG),
82
BST (Bit Store from Bit in Register to T Flag),
83
CALL (Long Call to a Subroutine),
83
CBI (Clear Bit in I/O Register),
83–84
CBR (Clear Bits in Register),
84
CLC (Clear Carry Flag),
84
CLH (Clear Half Carry Flag),
84
CLN (Clear Negative Flag),
85
CLS (Clear Sign Flag),
86
CLZ (Clear Zero Flag),
86
COM (One’s Complement),
87
CPC (Compare with Carry),
87
CPI (Compare with Immediate),
87–88
CPSE (Compare Skip If Equal),
88
ICALL (Indirect Call to Subroutine),
89
IN (Load an I/O Port to Register),
90
LD (Load Indirect from SRAM to Register Using Index X),
91
LD (Load Indirect from SRAM to Register Using Index Y),
91–92
LD (Load Indirect from SRAM to Register Using Index Z),
92–93
LDS (Load Direct from SRAM),
94
LPM (Load Program Memory),
94
LSL (Logical Shift Left),
94–95
LSR (Logical Shift Right),
95
NEG (Two’s-Complement),
96
ORI (Logical OR with Immediate),
97
OUT (Store Register to I/O Port),
97
POP (Pop Register from Stack),
98
PUSH (Push Register on Stack),
98
RCALL (Relative Call to Subroutine),
98–99
RET (Return from Subroutine),
99
RETI (Return from Interrupt),
99
RJMP (Relative Jump),
100
ROL (Rotate Left through Carry),
100
ROR (Rotate Right through Carry),
100–101
SBC (Subtract with Carry),
101
SBCI (Subtract Immediate with Carry),
101
SBI (Set Bit in I/O Register),
101–2
SBIC (Skip If Bit in I/O Register Is Cleared),
102
SBIS (Skip If Bit in I/O Register Is Set),
102
SBIW (Subtract Immediate from Word),
102–3
SBR (Set Bits in Register),
103
SBRC (Skip If Bit in Register Is Cleared),
103
SBRS (Skip If Bit in Register Is Set),
104
SEC (Set Carry Flag),
104
SEH (Set Half Carry Flag),
104
SEI (Set Global Interrupt Flag),
105
SEN (Set Negative Flag),
105
SER (Set All Bits in Register),
105
SES (Set Signed Flag),
106
SEV (Set Overflow Flag),
106
SEZ (Set Zero Flag),
106–7
ST (Store Indirect from Register to SRAM Using Index X),
107–8
ST (Store Indirect from Register to SRAM Using Index Y),
108
ST (Store Indirect from Register to SRAM Using Index Z),
109
STS (Store Direct to SRAM),
109–10
SUB (Subtract without Carry),
110
SUBI (Subtract Immediate),
110
TST (Test for Zero or Minus),
111
WDR (Watchdog Reset),
111
Intel Hex file format, 8 -Bit,
297
Interface, serial peripheral,
32–37
Internal architecture defined,
ISP starter kit from Equinox,
171–73
P
Parallel port programmer BAIFB,
175–76
PC (program counter),
12,
70
PDIP (plastic dual inline package),
Periods, programming timer,
189–95
SPI (serial peripheral interface),
32–37
DART (universal asynchronous receiver and transmitter),
37–43
PLCC (plastic J-Ieaded chip carrier),
PonyProg, serial port programmer,
176–77
POP (Pop Register from Stack),
98
Prescaler, Timer/Counter,
21
downloadable flash program memory,
14
EEPROM data memory,
17–21
general purpose register file,
16
Programmer and evaluation boards,
168–77
AVR development board from Atmel,
169–71
ISP starter kit from Equinox,
171–73
parallel port programmer BA1FB,
175–76
serial port programmer PonyProg,
176–77
SIMMSTICK from Silicon Studio,
173–75
for AT90S8515, assembler,
228–61
assembler programs for AT90S8515,
228–61
example programs in AVR assembler,
179–261
Pull-down resistor defined,
Pull-up resistor defined,
PUSH (Push Register on Stack),
98
S
SBC (Subtract with Carry),
101
SBCI (Subtract Immediate with Carry),
101
SBI (Set Bit in I/O Register),
101–2
SBIC (Skip If Bit in I/O Register Is Cleared),
102
SBIS (Skip If Bit in I/O Register Is Set),
102
SBIW (Subtract Immediate from Word),
102–3
SBR (Set Bits in Register),
103
SBRC (Skip If Bit in Register Is Cleared),
103
SBRS (Skip If Bit in Register Is Set),
104
Schematics of SIMMSTICK Modules,
277–79
SEC (Set Carry Flag),
104
Security enhancement in data transmission by CRC,
215–18
SEH (Set Half Carry Flag),
104
SEI (Set Global Interrupt Flag),
105
SEN (Set Negative Flag),
105
SER (Set All Bits in Register),
105
Serial data exchange with SPI,
241
Serial port programmer PonyProg,
176–77
SES (Set Signed Flag),
106
SEV (Set Overflow Flag),
106
SEZ (Set Zero Flag),
106–7
16-Bit Timer/Counter,
24–31
Atmel’s application,
301–3
SOIC (small-outline integrated circuit),
Source code, editing assembler,
134–39
SPCR (SPI Control register),
34
SPDR (SPI Data register),
33,
36
SPI (Serial Peripheral Interface), ,
32–37
serial data exchange with,
241
SPIE (SPI Interrupt Enable bit),
34
SPIF (SPI Interrupt flag),
33,
241
SPRx (SPI Clock Rate Select bits),
36
SPSR (SPI Status register),
33–34
SRAM (static random-access memory),
12
access to external,
54–56
indirect addressing,
65–69
SRE (External SRAM Enable bit),
52–53
SREG (status register),
12
(Store Indirect from Register to SRAM Using Index X),
107–8
(Store Indirect from Register to SRAM Using Index Y),
108
(Store Indirect from Register to SRAM Using Index Z),
109
STS (Store Direct to SRAM),
109–10
SUB (Subtract without Carry),
110
SUBI (Subtract Immediate),
110
T
TCCRIB (Timer/Counter1 control register),
25
EEPROM (electrical erasable and programmable read-only memory) defined,
EPROM (electrical programmable read-only memory) defined,
internal architecture defined,
LSB (least significant bit),
MSB (most significant bit),
OTP-ROM (one-time programmable EPROM) defined,
PDIP (plastic dual inline package),
PLCC (plastic J-Ieaded chip carrier),
pull-down resistor defined,
pull-up resistor defined,
RAM (random access memory) defined,
real-time clock/counter defined,
SOIC (small-outline integrated circuit),
Tests, microcontroller,
265–66
TIFR (Timer/Counter Interrupt Flag register),
23,
27
Time-critical routines,
150–51
Timer periods, programming,
189–95
Timer/CounterO, 8 -bit,
21–24
Timer/Counterl, 16 -Bit,
24–31
Timer/Counterl in PWM mode,
29–31
Timer/counter prescaler,
21
TIMSK (Timer Interrupt Mask register),
47
TIMSK (Timer/Counter Interrupt Mask register),
23,
28
Tools > Program Device menu,
170
Transmission, data,
37–39
TST (Test for Zero or Minus),
111
TXC (TX Complete flag),
38
TXCIE (TX Complete Interrupt Enable bit),
42
TXEN (Transmitter Enable bit),
43