Table of contents
Introduction (9)
- Equipment (10)
- Examples (11)
- Abbreviations of units (12)
Chapter 20: Slowing down, that is when delays are necessary (13)
- Delays and XMEGA (18)
- Use of timers to implement delays (20)
Chapter 21 Combination of code C and assembler (23)
- ABI (25)
- Key word asm (27)
- Types of operands (29)
- Access to ports IO (30)
- Access to multi-byte data (31)
- Access to indicators (32)
- List of modified registers (32)
- Repeated use of an assembly insert (33)
- .S files (34)
- Use of assembler registers (34)
- Assembler Directives (40)
- Calling the C language function from an assembler (41)
Chapter 22 Alphanumeric LCD Displays (43)
- Alphanumeric display support (45)
- Library functions (50)
- Defining your own characters (56)
- Transactional LCD handling (58)
Chapter 23 SPI and USART SPI interface (71)
- SPI operating modes (74)
- SPI interface configuration (75)
- USART configuration in SPI mode (76)
- DataFLASH memories (77)
- Organisation of memory (77)
- SPI memory interface (79)
- Access to memory (81)
- Instructions (81)
- Memory identification register (87)
- Memory reading commands (88)
- Buffer read and write commands (89)
- Transfer commands between memory and buffer (91)
- Special registers (94)
- Transactional access to SPI (95)
- We're linking DMA with SPI (96)
- Call-backs (callbacks) (98)
- Transactions (103)
- Power supply (109)
Chapter 24 We build a file system (111)
- The simplest file system (111)
- Memory initialization (119)
- FAT/FAT32 file system (128)
- FAT operation (131)
- Prototypes from diskio.h (136)
- Demonstration (139)
- PetitFS Library (144)
- PetitFS configuration (149)
Chapter 25: Even more memory, i.e. SD, SDHC and company cards (151)
- A little bit about the card structure (152)
- Card Modes (153)
- Card loading (154)
- Communication (156)
- SPI operating mode (157)
- Format of the Protocol (157)
- Differences between cards (160)
- Card initialization (161)
- Special registers of cards (169)
- Sector write and read operations (173)
- Reading operations (173)
- Recording operations (176)
- Checksum (178)
- Potential problems (179)
- FATFS on the card (180)
Chapter 26 Debugger (183)
- Debugger configuration (185)
- Project configuration for debugging (186)
- Hardware debugger (187)
- Software debugger (simulator) (190)
- Traps (197)
- Tracking points (203)
- Conditional traps (205)
- Memory preview (207)
- Call stack preview (209)
- Determination of simulation time (209)
- Disassembler window (210)
- Variable preview window (211)
- ASSERT macrodefinition (214)
- Breaks during debugging (218)
- _delay_xx and simulator (219)
Chapter 27 Analogue-to-digital converter (221)
- Pipeline vs. cyclic transmitter (222)
- Reference voltage (223)
- Pin configuration IO (225)
- Input multiplexer (226)
- Signal amplification system (227)
- What's LSB? (228)
- ADC calibration (229)
- Measurement (231)
- Transducer resolution (231)
- Transmitter modes (231)
- Measurement result (236)
- Offset calibration (237)
- Measurement of supply voltage and microcontroller temperature (239)
- Reduction of energy consumption (242)
- ADC Prescaler (243)
- Triggering conversion using an event system (245)
- EVCTRL register in XMEGA with ADC without stream (248)
- Comparison register (249)
- Thermometer LM35 (250)
- We are building a thermometer with an alarm (251)
- Continuous conversion mode (252)
- Input sweep (253)
- Interruptions (254)
- Use of DMA for the transfer of results (254)
- Oversampling (258)
- Averaging (259)
- Decymation and interpolation (259)
- Interpolation and decimation in XMEGA (260)
- How to increase the precision of measurements? (260)
- We're building a datalogger (261)
- Thermistors as temperature meters (262)
- Datalogger program (265)
Chapter 28 Analogue Comparator (279)
- Comparator - some theory (279)
- Propagation time (281)
- Hysteresis (281)
- XMEGA analog comparators (282)
- Input multiplexers (283)
- Window compactor (284)
- Interruptions (286)
- Starting the comparator (287)
- Comparator status record (287)
- Comparator as oscillator (287)
- Thermostat using comparators (290)
Chapter 29 DAC (293)
- Output buffering (294)
- Reference voltage (295)
- Clocking (296)
- Events (297)
- Use of DMA (298)
- 8-bit sampling (300)
- Two-channel mode (301)
- Generating two runs simultaneously (301)
- Economical version (304)
- Other conversion triggers (305)
- Energy-saving mode (306)
- DAC calibration (306)
Chapter 30 Monochrome graphic displays (309)
- LCD connection to microcontroller (311)
- Design and functions of the controller ST7565R (313)
- Controller special functions (319)
- Image inversion and testing (319)
- Rotating the image (319)
- Contrast adjustment (321)
- Number of the first line displayed (321)
- Fonts (322)
- Small optimization (330)
- Double caching (332)
- Start address of image display (333)
- Menu (335)
- Menu based on pictograms (342)
Chapter 31 Data files - how to add them to the project? (349)
- Binary file compilation (350)
- Combining object files with the project (352)
- Access to binary data (356)
- The classic way to access data (358)
- Access to data using address spaces (359)
Chapter 32 External memory bus (361)
- Memory connection (362)
- IO port configuration (362)
- Assignment of EIB interface signals to IO ports (363)
- 4-port configuration (364)
- SRAM (366)
- SRAM in LPC mode (371)
- SDRAM memory (372)
- CS signal configuration (377)
- Determination of base address and memory size (377)
- SRAM mode selection signal control (379)
- SDRAM mode selection signal control (379)
- Example of SDRAM configuration (381)
- Clock configuration (383)
- Access to memory from language level C (384)
- Access to memory below 64 kB (384)
- Access to memory above 64 kB (386)
Chapter 33 Video generation (391)
- VGA video generation (393)
- VGA plug and signal conversion (396)
- Monochrome text mode VGA (397)
- Monochrome VGA graphics mode (407)
- Generation of composite signal (409)
- PAL standard (410)
- Monochrome text mode (413)
- Monochrome graphic mode (416)
- Creating overlays (OSD) (417)
- Time to color (424)
- Colour coding (425)
- Digital to analogue converter (426)
- Composite image generator (426)
- Use of EuroSCART (428)
- Color picture on TV (430)
Chapter 34 Let the music play (439)
- Sound file formats (440)
- Sampling rate (441)
- File format (442)
- Sound treatment (443)
- Audacity Programme (443)
- SoX Programme (445)
- Amplifier (446)
- We play music using DAC (447)
- Another way to double buffer (457)
- PWM sound generation (461)
- PWM - some theory (461)
- PWM signal filtering (468)
- Play audio with 8-bit PWM (472)
- HiRes and PWM extension with higher resolution (477)
- Audio compression (480)
- Non-linear sampling (480)
- ADPCM compression (482)
- IMA ADPCM compression (482)
- Speech recording with ADPCM compression (486)
- Dialogic ADPCM algorithm (492)
Chapter 35. How about mp3? (495)
- Coprocessor mp3 (496)
- Connections to XMEGA (496)
- Access to system registers (499)
- Wav file format (500)
- GPIOR registers (502)
- System tests (502)
- Basic communication with the coprocessor (504)
- System records VS1003B (508)
- Operating mode register (508)
- System status register (510)
- Bass control register (510)
- Register SCI_CLOCKF (511)
- Time register of the work (512)
- Audio format register (512)
- RAM access logs (513)
- Plug-in address register (513)
- Volume control register (513)
- Playing music (513)
- We play music using DMA (518)
- Digital tape recorder (528)
- VS100XX as tape recorder (529)
- Own plugs (535)
- DTMF as an example of its own plug (535)
- We build our own plug (541)
- Creating an array with the resulting code (543)
- Plug design (544)
- Own application, i.e. DTMF decoder (548)
Chapter 36 Fusebits and lockbits (557)
- Fusebits (558)
- Fusebit JTAGEN (558)
- Fusebit RSTDISBL (559)
- Fusebit BOOTRST (559)
- Fusebits SUT (559)
- Fusebit TOSCSEL (559)
- Power failure detection system (559)
- Watchdog (560)
- Fusebit EESAVE (561)
- Lockbits (561)
- Processor manufacturing reference number (563)
- Series number (563)
- Wafer number (563)
- Position on wafer (564)
- Other configuration bytes (564)
- User reference number (565)
- Access to data from the user application (568)
- Fuse- and lockbit configuration in AVR-libc (570)
- Lockbits in AVR-libc (570)
- Fusebits in AVR-libc (571)
Appendix A. List of chapters of the book "AVR. Practical projects'. (573)
Scorch (575)
|