Introduction |
|
ix | |
|
Chapter 1 Digital Systems |
|
|
1 | (28) |
|
|
1 | (10) |
|
|
1 | (1) |
|
|
2 | (1) |
|
|
2 | (1) |
|
|
2 | (1) |
|
|
2 | (1) |
|
|
2 | (1) |
|
|
3 | (1) |
|
Converting Base 2 to Base 10 |
|
|
3 | (1) |
|
Converting Base 10 to Base 2 |
|
|
4 | (1) |
|
Converting Base 2 to Base 16 |
|
|
5 | (1) |
|
Converting Base 16 to Base 2 |
|
|
5 | (1) |
|
Converting Base 10 to Base 16 |
|
|
5 | (1) |
|
|
6 | (1) |
|
Base 2: Adding and Subtracting |
|
|
7 | (1) |
|
Base 2: Signed and Unsigned Numbers |
|
|
8 | (2) |
|
|
10 | (1) |
|
Base 16: Addition and Subtraction |
|
|
10 | (1) |
|
|
11 | (18) |
|
|
12 | (7) |
|
Programmable Logic Devices |
|
|
19 | (1) |
|
|
19 | (2) |
|
|
21 | (1) |
|
Current and Voltage Limitations |
|
|
21 | (1) |
|
|
22 | (1) |
|
Resistors, SIPs, and DIPs |
|
|
23 | (1) |
|
|
24 | (1) |
|
|
25 | (1) |
|
|
26 | (3) |
|
Chapter 2 AVR Programming |
|
|
29 | (138) |
|
Microcomputer Architecture |
|
|
29 | (2) |
|
The AVR Family of Microcontrollers |
|
|
31 | (11) |
|
|
31 | (8) |
|
|
39 | (3) |
|
|
42 | (6) |
|
|
42 | (5) |
|
|
47 | (1) |
|
|
48 | (42) |
|
A First Program in Assembly |
|
|
49 | (4) |
|
AVR Studio Assembler Notes |
|
|
53 | (1) |
|
|
54 | (7) |
|
|
61 | (4) |
|
|
65 | (3) |
|
|
68 | (1) |
|
|
68 | (5) |
|
|
73 | (1) |
|
|
74 | (3) |
|
|
77 | (3) |
|
|
80 | (8) |
|
Passing Values to Subroutines |
|
|
88 | (2) |
|
|
90 | (69) |
|
|
91 | (7) |
|
|
98 | (2) |
|
|
100 | (13) |
|
Analog to Digital Conversion |
|
|
113 | (13) |
|
|
126 | (7) |
|
Serial Peripheral Interface (SPI) |
|
|
133 | (5) |
|
SPI Software Implementation |
|
|
138 | (5) |
|
|
143 | (1) |
|
Changing the Speed of the ATmega328 |
|
|
144 | (1) |
|
|
145 | (8) |
|
|
153 | (5) |
|
EEPROM on the ATmega328 in C |
|
|
158 | (1) |
|
Programming Language Summary |
|
|
159 | (8) |
|
|
159 | (2) |
|
|
161 | (3) |
|
|
164 | (1) |
|
|
165 | (2) |
|
Chapter 3 Hardware Interfacing |
|
|
167 | (50) |
|
|
167 | (21) |
|
|
168 | (1) |
|
|
168 | (1) |
|
|
169 | (1) |
|
|
170 | (1) |
|
|
171 | (1) |
|
|
171 | (1) |
|
|
172 | (1) |
|
|
173 | (1) |
|
|
174 | (4) |
|
|
178 | (2) |
|
|
180 | (2) |
|
|
182 | (2) |
|
|
184 | (1) |
|
|
184 | (1) |
|
|
185 | (3) |
|
|
188 | (17) |
|
Text Screens Using Parallel Data |
|
|
188 | (3) |
|
Graphics Screens Using Parallel Data |
|
|
191 | (9) |
|
Text and Graphics Screens Using SPI |
|
|
200 | (5) |
|
|
205 | (3) |
|
|
208 | (9) |
|
|
208 | (2) |
|
Full-Bridge or H-Bridge Motor Driver |
|
|
210 | (1) |
|
|
210 | (5) |
|
|
215 | (2) |
|
Chapter 4 Projects Using the AVR |
|
|
217 | (46) |
|
|
218 | (5) |
|
|
218 | (1) |
|
|
219 | (1) |
|
|
220 | (3) |
|
|
223 | (3) |
|
|
226 | (1) |
|
|
227 | (2) |
|
Morse Code Transmitter Using a Touch Pad |
|
|
229 | (5) |
|
Speed Measurement Using the Timer |
|
|
234 | (1) |
|
GPS Reporting Latitude, Longitude, and Time |
|
|
235 | (4) |
|
|
239 | (1) |
|
|
240 | (2) |
|
Sketch Pad Using a Graphics LCD and Potentiometer |
|
|
242 | (2) |
|
Sketch Pad Using a Graphics LCD and Touch Pad |
|
|
244 | (2) |
|
Tic-Tac-Toe Using a Graphics LCD |
|
|
246 | (1) |
|
Controlling a Servo Motor |
|
|
247 | (3) |
|
The Useless Machine Using a Servo |
|
|
250 | (1) |
|
Sun Locator Using a Servo |
|
|
251 | (4) |
|
Servo with Timer Interrupt Example |
|
|
255 | (2) |
|
Mass Balance Using a Stepper |
|
|
257 | (1) |
|
Combination Lock Opener Using a Stepper |
|
|
258 | (1) |
|
Sleep Mode with Interrupt |
|
|
259 | (4) |
Index |
|
263 | |