MSP430 Microcontroller Basics book cover

MSP430 Microcontroller Basics

The MSP430 is a simple 16-bit microcontroller with a compact and economical CPU containing only 27 instructions and 16 registers. It offers other advantages which make it suitable for low power applications: a rich variety of peripherals for analog input and output; rapid processing wake up time; the treatment of data and address on equal footing.Introduction to the MSP430 combines a tutorial approach with a description of the CPU and main peripherals. The tutorial builds from a basic program for lighting LEDs to the use of a timer. It uses the C programming language from the start but programs are also developed in assembly language to show how a program interacts with the hardware. To demonstrate the special features of the MSP430 full coverage is given to the instruction set, sigma-delta analog-digital converters and timers. Finally, the book gives an introduction to the MSP430 which extends the architecture to address more memory and which provides a bridge to the ARM 7 processor.Contents:1.Embedded electronic systems and microcontrollers; 2. Texas MSP430; 3. Development; 4. A simple tour of the MSP430; 5. Architecture of the MSP430; 6.Functions, interrupts and low-power modes; 7.Digital input, output and displays; 8. Timers; 9. Mixed-signal systems: Analog input and output; 10. Communication; 11. The future: MSP430X; Appendices.

Audience
Professional embedded systems engineers, hobbyists and engineering undergraduates.

Paperback,

Published: September 2015

Imprint: Newnes

ISBN: 978-0-08-098326-4

Contents

  • 1. Embedded electronic systems and microcontrollers1.1. What (and where) are embedded systems?1.2. Facilities needed1.3. Small microcontrollers1.4. Anatomy of a typical small microcontroller1.5. Memory1.6. Software1.7. Where does the MSP430 fit?2. Texas MSP4302.1. The outside view-pinout2.2. The inside view-functional block diagram2.3. Memory2.4. Central processing unit2.5. Memory-mapped input and output2.6. Clock generator2.7 Exceptions: Interrupts and resets2.8. Where to find further information3. Development3.1. Development environment3.2. The C programming language3.3. Assembly language3.4. Access to microcontroller for programming and debugging3.5. Demonstration boards3.6. Hardware3.7. Equipment4. A simple tour of the MSP4304.1. First program on a conventional desktop computer4.2. Light LEDs in C4.3. Light LEDs in assembly language4.4. Read input from a switch4.5. Automatic control: flashing light by software delay4.6. Automatic control: Use of subroutines4.7. Automatic control: Flashing light by polling Timer_A4.8. Header files and issues that have been brushed under the carpet5. Architecture of the MSP4305.1. Central processing unit5.2. Addressing modes5.3 Constant generator and emulated instructions5.4. Instruction set5.5. Examples5.6. Reflections on the CPU instruction set5.7. Reset5.8. Clock system6. Functions, interrupts and low-power modes6.1. Functions and subroutines6.2. What happens when a subroutine is called?6.3. Storage for local variables6.4. Passing parameters to a subroutine and returning a result6.5. Mixing C and assembly language6.6. Interrupts6.7. What happens when an interrupt is requested?6.8. Interrupt service routines6.9. Issues associated with interrupts6.10. Low-power modes of operation7. Digital input, output and displays7.1. Digital input and output: parallel ports7.2. Digital inputs7.3. Switch debounce7.4. Digital outputs7.5. Interface between 3 V and 5 V systems7.6. Driving heavier loads7.7. Liquid crystal displays7.8. Driving an LCD from a MSP430x4xx7.9. Simple applications of the LCD8. Timers8.1. Watchdog timer8.2. Basic timer18.3. Timer_A8.4. Measurement in Capture mode8.5. Output in Continuous mode8.6. Output in Up mode: Edge-aligned pulse-width modulation8.7. Output in Up/Down mode: Centered pulse-width modulation8.8. Operation of Timer_A in Sampling mode8.9. Timer_B8.10. What timer where?8.11. Setting the real-time clock: State machines9. Mixed-signal systems: Analog input and output9.1. Comparator_A9.2. Analog-to-digital conversion: general issues9.3. Analog-to-digital conversion: successive approximation9.4. The ADC10 successive-approximiation ADC9.5. Basic operation of the ADC109.6. More advanced operation of the ADC109.7. The ADC12 successive-approximation ADC9.8. Analog-to-digital conversion: sigma-delta9.9. The SD16_A sigma-delta ADC9.10. Operation of SD16_A9.11. Signal conditioning and operational amplifiers9.12. Digital-to-analog conversion10. Communication10.1. Communication peripherals in the MSP43010.2. Serial peripheral interface (SPI)10.3. SPI with the USI10.4. SPI with the USCI10.5. A thermometer using SPI in mode 3 with the F2013 as master10.6. A thermometer using SPI in mode 0 with the FG4618 as master10.7. Inter-integrated circuit (I2C) bus10.8. A simple I2C master with the USCI_B0 on a FG461810.9. A simple I2c slave with the USI on a F201310.10. State machines for I2C communication10.11. A thermometer using I2C with the F2013 as master10.12. Asynchronous serial communication10.13. Asynchronous communication with the USCI_A10.14. A software UART using Timer_A10.15. Other types of communication11. The future: MSP430X11.1. Architecture of the MSP430X11.2. Instruction set of the MSP430X11.3. Where next?11.4. ConclusionA. Kickstarting the MSP430A.1. Introduction to EW430A.2. Developing a project in CA.3. Debugging with the simulatorA.4. Debugging with the emulatorA.5. Developing a project in assembly languageA.6. Tips for using EW430A.7. Tips for specific development kits

Advertisement

advert image