[Muhammad Ali Mazidi, Sarmad Naimi, Sepehr Naimi] (BookFi.org)

781

description

school work document

Transcript of [Muhammad Ali Mazidi, Sarmad Naimi, Sepehr Naimi] (BookFi.org)

  • HomeBrief ContentsContentsPreface0 Introduction to Computing0.1 Numbering and Coding Systems0.2 Digital Primer0.3 Semiconductor Memory0.4 CPU ArchitectureProblemsAnswers to Review Questions

    1 The AVR Microcontroller: History and Features1.1 Microcontrollers and Embedded Processors1.2 Overview of the AVR FamilyProblemsAnswers to Review Questions

    2 AVR Architecture and Assembly Language Programming2.1 The General Purpose Registers in the AVR2.2 The AVR Data Memory2.3 Using Instructions with the Data Memory2.4 AVR Status Register2.5 AVR Data Format and Directives2.6 Introduction to AVR Assembly Programming2.7 Assembling an AVR Program2.8 The Program Counter and Program ROM Space in the AVR2.9 RISC Architecture in the AVR2.10 Viewing Registers and Memory with AVR Studio IDEProblemsAnswers to Review Questions

    3 Branch, Call, and Time Delay Loop3.1 Branch Instructions and Looping3.2 Call Instructions and Stack3.3 AVR Time Delay and Instruction PiplineProblemsAnswers to Review Questions

    4 AVR I/O Port Programming4.1 I/O Port Programming in AVR4.2 I/O Bit Manipulation ProgrammingProblemsAnswers to Review Questions

    5 Arithmetic, Logic Instructions, and Programs5.1 Arithmetic Instructions5.2 Signed Number Concepts and Arithmetic Operations5.3 Logic and Compare Instructions5.4 Rotate and Shift Instructions and Data Serialization5.5 BCD and ASCII ConversionProblemsAnswers to Review Questions

    6 AVR Advanced Assembly Language Programming6.1 Introducing some more Assembler Directives6.2 Register and Direct Addressing Modes6.3 Register Indirect Addressing Mode6.4 Look-Up Table and Table Processing6.5 Bit-Addressability6.6 Accessing EEPROM in AVR6.7 Checksum and ASCII Subroutines6.8 MacrosProblemsAnswers to Review Questions

    7 AVR Programming in C7.1 Data Types and Time Delays in C7.2 I/O Programming in C7.3 Logic Operations in C7.4 Data Conversion Programs in C7.5 Data Serialization in C7.6 Memory Allocation in CProblemsAnswers to Review Questions

    8 AVR Hardware Connection, Hex File, and Flash Loaders8.1 ATMEGA32 Pin Connection8.2 AVR Fuse Bits8.3 Explaining the Hex File For AVR8.4 AVR Programming and Trainer BoardProblemsAnswers to Review Questions

    9 AVR Timer Programming in Assembly and C9.1 Programming Timers 0, 1, and 2Timer0 ProgrammingTimer2 ProgrammingTimer1 Programming

    9.2 Counter Programming9.3 Programming Timers in CProblemsAnswers to Review Questions

    10 AVR Interrupt Programming in Assembly and C10.1 AVR Interrupts10.2 Programming Timer Interrupts10.3 Programming External Hardware Interrupts10.4 Interrupt Priority in the AVR10.5 Interrupt Programming in CProblemsAnswers to Review Questions

    11 AVR Serial Port Programming in Assembly and C11.1 Basics of Serial Communication11.2 ATMega32 Connection to RS23211.3 AVR Serial Port Programming in Assembly11.4 AVR Serial Port Programming in CProblemsAnswers to Review Questions

    12 LCD and Keyboard Interfacing12.1 LCD Interfacing12.2 Keyboard InterfacingProblemsAnswers to Review Questions

    13 ADC, DAC, and Sensor Interfacing13.1 ADC Characteristics13.2 ADC Programming in the AVR13.3 Sensor Interfacing and SignalConditioning 13.4 DAC InterfacingProblemsAnswers to Review Questions

    14 Relay, Optoisolator, and Stepper Motor Interfacing with AVR14.1 Relays and Optoisolators14.2 Stepper Motor InterfacingProblemsAnswers to Review Questions

    15 Input Capture and Wave Generation in AVR15.1 Wave Generation using 8-Bit TimersGenerating waves using Timer2

    15.2 Wave Generation using Timer115.3 Input Capture Programming15.4 C ProgrammingProblemsAnswers to Review Questions

    16 PWM Programming and DC Motor Control in AVR16.1 DC Motor Interfacing and PWM16.2 PWM Modes in 8-Bit TimersFast PWM modePhase correct PWM mode programming of Timer08-Bit PWM Programming in C

    16.3 PWM Modes in Timer1Fast PWM ModePhase correct PWM mode16-Bit PWM Programming in C

    16.4 DC Motor Control using PWMProblemsAnswers to Review Questions

    17 SPI Protocol and MAX7221 Display Interfacing17.1 SPI Bus Protocol17.2 SPI Programming in AVR17.3 MAX7221 Interfacing and ProgrammingProblemsAnswers to Review Questions

    18 I2C Protocol and DS1307 RTC Interfacing18.1 I2C Bus Protocol18.2 TWI (I2C) in the AVR18.3 AVR TWI Programming in Assembly and CTWIMaster Operating Mode TWISlave Operating Mode

    18.4 DS1307 RTC Interfacing and Programming18.5 TWI Programming with Checking of Status RegisterMaster Transmitter ModeMaster Receiver ModeSlave Transmitter ModeSlave Receiver Mode

    ProblemsAnswers to Review Questions

    A AVR Instructions ExplainedA.1 Instruction SummaryA.2 AVR Instructions FormatABCDEFIJLMNOPRSTW

    A.3 AVR Register Summary

    B Basics of Wire WrappingC IC Interfacing and System Design IssuesC.1 Overview of IC TechnologyC.2 AVR I/O Port Structure and InterfacingC.3 System Design Issues

    D Flowcharts and PseudocodeE AVR Primer for 8051 ProgrammersF ASCII CodesG Assemblers, Development Resources, and SuppliersH Data SheetsIndex