Free all Books and documents: Beginning Microcontrollers with the MSP430

Beginning Microcontrollers with the MSP430

.
1 Introduction 1
1.1 Why Microcontrollers? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.2 What Hardware do I need? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.2.1 EZ430-F2013 USB Stick Development Tool . . . . . . . . . . . . . . . . 2
1.2.2 EZ430-RF2500 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.2.3 Experimenter Boards . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
1.2.4 FET Debugger . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
1.2.5 Custom Hardware . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
2 Getting Started 7
2.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
2.2 Running a Project using IAR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
2.3 Running a Project using CCS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
3 Microcontroller Basics 11
3.1 Data Types and Numeric Representation . . . . . . . . . . . . . . . . . . . . . . . 11
3.2 Hexadecimal for MSP430 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
3.2.1 Conversion of Numbers . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
3.3 Digital Operations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
3.4 Manipulating Module Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
3.4.1 XOR Operator . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
3.5 ASCII . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
3.6 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
4 Beginning Programming for MSP430 23
5 MSP430 Clocks 27
5.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
5.2 Internal Oscillators . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
5.3 External Crystals . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
5.4 Clock Sources . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
5.5 Clock Signals . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
5.6 Basic Clock Module In EZ430-RF2500 . . . . . . . . . . . . . . . . . . . . . . . 31
5.7 Considerations for using clocks . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
6 General Purpose Input Output - GPIO 35
6.0.1 Pin Multiplexing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
6.1 Switches . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
6.1.1 Debouncing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
6.2 LEDs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
6.3 Bit banging . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
7 Flash Memory 41
7.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
7.2 Flash and Memory Organization . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
7.3 Looking at the Flash . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
7.4 Programming the Flash . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
7.4.1 Configuring the Flash . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
7.4.2 Reading the Flash . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
7.4.3 Writing to Flash . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
7.4.4 Finalizing Flash Access . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
7.5 Flash Programming from the RAM . . . . . . . . . . . . . . . . . . . . . . . . . . 49
7.6 The Linker and Flash . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
7.7 Using the Flash for data storage . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
7.8 More Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
8 Timers 57
8.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
8.2 Setting up the clock . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
8.3 Timer Modes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
8.4 Accuracy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
9 Interrupts and Low Power Modes 59
9.1 Interrupts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
9.2 Low Power Modes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
9.2.1 Exiting Low Power Modes . . . . . . . . . . . . . . . . . . . . . . . . . . 67
10 Analog to Digital Converters - ADCs 69
10.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
10.2 ADC Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70
10.2.1 ADC Resolution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70
10.2.2 ADC Sampling Frequency . . . . . . . . . . . . . . . . . . . . . . . . . . 71
10.3 ADC Example - Temperature and Voltage . . . . . . . . . . . . . . . . . . . . . . 72
10.3.1 ADC Clock . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
10.3.2 ADC Modes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
11 Digital Interfaces 75
11.1 Serial Peripheral Interface (SPI) . . . . . . . . . . . . . . . . . . . . . . . . . . . 76
11.1.1 Configuring SPI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
11.1.2 Using SPI for Communications . . . . . . . . . . . . . . . . . . . . . . . 79
12 UART 81
12.1 Hardware Connection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81
12.1.1 UART connectivity on the MSP430F1611 . . . . . . . . . . . . . . . . . . 81
12.1.2 UART connectivity on the MSP430F2274 . . . . . . . . . . . . . . . . . . 82
12.2 Using UART . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82
12.3 Configuring the UART . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83
12.3.1 Selecting the UART Function for Pins . . . . . . . . . . . . . . . . . . . . 84
12.3.2 Enabling UART RX and TX . . . . . . . . . . . . . . . . . . . . . . . . . 84
12.3.3 Select the character format . . . . . . . . . . . . . . . . . . . . . . . . . . 84
12.3.4 Selecting A Clock . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85
12.3.5 Setting the Baud Rate Generator . . . . . . . . . . . . . . . . . . . . . . . 86
12.3.6 Enabling the Module . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87
12.3.7 Enabling Interrupts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87
12.4 Configuring the Host Computer . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88
12.5 Sending and Receiving Information with the UART . . . . . . . . . . . . . . . . . 88
12.5.1 Sending Bytes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88
12.5.2 ASCII . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89
12.6 Sending Multiple bytes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89
12.6.1 Sending Strings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90
12.7 Receiving Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91
12.8 Framing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93
12.9 Future Additions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95
13 Wireless Communications with CC2500 97
13.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97
13.2 SPI Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98


DOWNLOAD: http://www.glitovsky.com/Tutorialv0_3.pdf

0 comments:

Post a Comment

Related Posts Plugin for WordPress, Blogger...