MSP430 Microcontroller Basics

By

John Davies, Glasgow University, UK

John Davies, Glasgow University, UK

The MSP430 microcontroller family offers ultra-low power mixed signal, 16-bit architecture that is perfect for wireless low-power industrial and portable medical applications. This book begins with an overview of embedded systems and microcontrollers followed by a comprehensive in-depth look at the MSP430. The coverage included a tour of the microcontroller's architecture and functionality along with a review of the development environment. Start using the MSP430 armed with a complete understanding of the microcontroller and what you need to get the microcontroller up and running!

Audience

Book information

Published: August 2008

Imprint: NEWNES

ISBN: 978-0-7506-8276-3

Table of 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