• Out-of-Stock
Programming AVR circuits for practitioners
search
  • Programming AVR circuits for practitioners
ID: 234687

Elliot Williams

Retired
 

Free shipping

free shipping in Poland for all orders over 500 PLN

 

Same day shipping

If your payment will be credited to our account by 11:00

 

14 days for return

Each consumer can return the purchased goods within 14 days

AVR programming for enthusiasts!

  • Respond immediately to as many external events as the AVR system has pins.
  • Build an inexpensive step detector.
  • Design electronics controlling DC motors and stepper motors as well as other elements with high power consumption.
  • Prepare a talking voltmeter in which the sound samples are stored in the nonvolatile memory of the microcontroller.
  • Use the SPI and I2C protocols.


The modern world of electronics is conquered by the Arduino system. It is supported by convenience and simple creation of quite advanced projects. However, if you require the highest performance, real-time or multi-tasking response, it's worth taking the next step and getting to know Atmel's AVR systems. It sounds inviting?

Perfectly! We give you a book in your hand that will allow you to get to know the exciting world of these systems. In the following chapters, you will learn to use their potential to write your own C language programs and communicate with the outside world. In addition, you'll learn how to use serial communications, digital inputs and hardware interrupts. Finally, in the section devoted to advanced issues, you'll see how to use switches and the I2C protocol and control the engines. This book will be useful for all electronics enthusiasts who want to discover the potential of AVR circuits.

Thanks to this book:

  • you will complete the necessary tools
  • you will learn to program AVR systems
  • you will use Arduino for AVR programming
  • you will use hardware interrupts
  • you will use the AVR system in advanced projects


Take advantage of the potential of AVR chips!

Table of Contents

Introduction (11) PART I. BASIS 1. Introduction (19)

  • What is a microcontroller? General image (19)
    • Computer in one system ... (19)
    • ... really a small computer (20)
    • What can microcontrollers do? (21)
  • Equipment: general image (21)
    • Core: processor, memory and input-output systems (23)
    • Peripheral systems: making life easier (25)

2. AVR programming (29)

  • AVR Programming (29)
    • Tool chain (29)
  • Software tools (32)
    • Configuration on Linux (33)
    • Windows configuration (33)
    • Mac configuration (34)
    • Arduino module configuration (34)
    • Make program and makefile files (34)
  • AVR and Arduino (35)
    • Advantages of the Arduino platform (35)
    • Disadvantages of the Arduino platform (35)
    • Arduino: hardware or software? And this and this! (37)
    • Arduino to AVR (37)
    • Arduino is AVR programmer (40)
  • Other hardware programmers (42)
    • My favorite programmers (42)
  • We start with: flashing LEDs (43)
    • Connections (44)
    • ISP connectors (46)
    • AVRDUDE program (48)
    • Configuring makefiles (51)
    • Flash memory (53)
    • Troubleshooting (53)

3. Digital outputs (55)

  • blinkLED version 2.0 (56)
    • Structure of the C language code for AVR (57)
    • Hardware registers (57)
    • Summary of the blinkLED program (60)
  • Light toy (61)
    • Building the system (61)
    • Nice patterns: toy code (65)
    • Experiment! (67)

4. Manipulations on bits (69)

  • Working with the code: Cylon eyes (70)
  • Manipulating bits and Cylon eyes (71)
    • Bitwise shifting (71)
  • Advanced bit manipulation: more than Cylon eyes (74)
    • Turning bits on an OR operator (76)
    • Switching bits with the XOR operator (78)
    • Turning off bits with AND and NOT operators (79)
  • Performances (81)
  • Summary (83)

5. Serial entry and exit (85)

  • Serial communication (85)
  • Implementing serial communication in the AVR system: a loopback project (88)
    • Configuration: AVR system (88)
    • Configuration: computer (90)
    • Configuration: USB-serial adapter (90)
    • Checking the whole: testing the loop (91)
    • Troubleshooting Serial Connections (94)
  • Configuring the USART module: details (94)
  • Bodies from the AVR system (99)
    • Music from a microcontroller (101)
    • Music library (103)
    • Code (104)
    • Super details (106)
  • Summary (108)

6. Digital inputs (109)

  • Buttons, switches, etc. (109)
    • Configuration of inputs: DDR, PORT and PIN registers (111)
    • Interpreting key presses (113)
  • Change of state (115)
  • Eliminating reflections (116)
  • Example of a code that supports reflections (118)
  • Music box (120)
    • Program code (120)
  • Button for the boss (122)
    • Scripts for a desktop computer (123)
    • Extensions (126)

7. Analog-to-digital converter - part 1. (129)

  • Overview of AVR components (130)
  • Light meter (133)
    • Scheme (133)
    • Program code (137)
    • AC converter initialization (140)
    • Extensions (141)
  • Slow oscilloscope (141)
    • Code for the AVR system (143)
    • Computer code (145)
    • Similarities (147)
  • Night lighting and multiplexer (147)
    • Multiplexer (147)
    • Configuring the multiplexer bits (148)
    • Scheme (149)
    • Code (150)
  • Summary (151)

PART II. AVERAGE ADVANCED 8. Hardware interrupt (155)

  • External breaks: examples of using the button (157)
    • Example with an external break INT0 (158)
    • An example of interruption caused by a change in the state of a pin (163)
  • Capacitive sensor (165)
    • Sensor (167)
    • Program code (169)
    • Volatile and global variables (171)
  • System debugging (173)

9. Introduction to the hardware clock / meter (175)

  • Clocks and counters - what are they for? (175)
  • Test your reflexes (177)
  • Using the clock number 0 to correct 8-bit bodies (182)
  • AM radio (185)
    • Scheme (187)
    • Processor speed (187)
    • AM radio: program code (191)
  • Summary (195)

10. Pulse width modulation (197)

  • Bright and dark LEDs: PWM technique (198)
  • Power PWM solution (200)
  • Pulse modulation with counters (201)
    • Initializing counters for PWM mode (203)
  • Pulse width modulation on any pin (206)
    • An example of impulse modulation on any pin (206)
  • Termination: other possibilities for PWM and meter check lists (208)

11. Servo motor control (213)

  • Servomotors (214)
    • The Secret Life of Servomotors (215)
    • Scheme (216)
    • Program code (217)
  • Sundial with servomotor (220)
    • Building the clock (221)
    • Prepare the lasers! (223)
    • Program code (225)
    • Calibration of the solar clock servo (232)

12. Analog-to-digital converter - part 2. (237)

  • Voltmeter (238)
    • Scheme (239)
    • Program code (242)
  • Step detector (246)
    • Scheme (246)
    • Theory (251)
    • Exponentially weighted moving average (252)
    • Program code (255)
  • Summary (258)

PART III. ADVANCED TOPICS 13. Advanced tricks with PWM (263)

  • Direct digital synthesis (264)
  • Creating a sine wave (267)
  • Next step: mixing and volume (269)
    • Mixing (271)
    • Dynamic volume control (273)
  • Polling the USART port (276)
  • Envelope ADSR (276)
  • Supplementary files (277)

14. Switches (279)

  • Large current control: switches (280)
    • Bipolar transistors (281)
    • Field effect transistors (MOSFET) (283)
    • Field Power Transistors (284)
    • Relays (285)
    • Triacs and static relays (286)
    • Switches: summary (287)
  • DC motors (288)

15. Advanced motor control (295)

  • Reversing: H-bridges (296)
  • Program: spin the bridge (299)
    • H bridge only for experts (301)
  • H-bridge and pulse width modulation (302)
    • Character-to-module drive mode (303)
    • Lock-anti-phase drive mode (304)
    • Comparison of drive modes (305)
  • Stepper motors (307)
  • Types of stepper motors (308)
  • Full steps and half-flushes (308)
  • Identifying the stepper motor wires (311)
    • Too many wires! (312)
  • Double H-bridge: SN754410 (312)
  • Program code (315)
  • Acceleration control (318)
  • Microcircuits (320)

16. SPI (325)

  • How does the SPI protocol work? (326)
    • Bit exchange example (328)
    • Shift registers (328)
  • External EEPROM memory (331)
    • External memory (332)
  • Electrical connections of the example with the SPI protocol (334)
  • Demonstration program code (335)
    • Library header file (337)
    • Code of the library supporting the EEPROM SPI memory (339)
    • The initSPI () function (341)
    • SPI_tradeByte () function (342)
    • Auxiliary functions (343)
  • Summary (344)

17. I2C (347)

  • How does the I2C protocol work? (348)
  • Connections in an example project (352)
  • I2C Bus Service Library (353)
  • Thermometer with I2C interface (356)
  • Logging data using I2C and SPI protocols (359)
    • Indicators in the EEPROM memory (363)
    • Menus created by the serial port (363)
    • Main loop of the protocol thermometer (364)

18. Using program memory (367)

  • Using program memory (367)
    • Memory addresses (368)
    • Address operator: & (369)
  • Indicators (372)
    • Indicators at a glance (372)
    • Indicators as function parameters (376)
    • Summary (379)
    • Optional: dereferencing indicators (380)
  • Talking voltmeter (381)
    • Data structures in program memory and header file (382)
    • Audio playback and voltage reading: .c file (386)
  • Generating audio data (391)
    • Differential code / pulse modulation (391)
    • Two-bit DPCM sound encoding (391)
    • DPCM encoding: wave2DPCM.py program (394)

19. EEPROM (399)

  • Using EEPROM memory (400)
    • Saving data in memory (400)
    • Reading data from memory (405)
    • Saving and reading EEPROM memory (407)
    • Organization of data in the EEPROM memory (408)
  • Project: Vigenere code encoder (412)

20. Applications, farewell and encouragement (421)

  • AVR system: missing chapters (421)
    • Watchdog counter (421)
    • Energy saving (422)
    • External oscillators and other timing sources (422)
    • Startup programs (422)
    • Analog comparator (423)
  • Debugging (423)
  • Put down the book and create! (423)

Index (425)

234687

Other products in the same category (16)