CET 453 - Microprocessors

This course taught the inner workings of the modern microprocessor or in reality, the modern microcontroller. The course started with an overview of the modern microcontroller, the internal parts such as the Central Processing unit, the Arithmetic Logic Unit, Instruction Decoder, etc. All the internal registers and peripherals were explored.

Then the course did a basic review of all types of binary arithmetic such as adding and subtracting, 2's complement, 1's complement etc. and converting between binary hexadecimal and decimal. this would be good practice as this would be used over and over when writing in assembly language.

The course then started to explore the assembly language of the Texas Instruments MSP430 microcontroller. All assembly language commands, register operations, program counter and stack pointer operations, flags and types of memory were taught.

Our book and development tool

We learned how to write simple programs in the assembly language for the MSP430. We learned commands such as MOV, CMP, RRA, RRAC, SUB, SUBC, and many, many others. We learned all forms of indexing modes for src and dst such as indexed, absolute, register, and many more.

We learned about setting up the stack, popping and pushing values from the stack, jump commands, calling sub-routines and much more. Interrupts and timer operations were discussed. Initializing and incrementing registers were learned, using registers to hold compare values were explored.

IAR Workbench debugging tool

We purchased the eZ430-F2013 Development Tool from Texas Instruments which is a fully functional MSP430 - F2013 microcontroller mounted on a removable section of a USB interface board. This kit will allow the user to write and embed software into the chip and then allow the programmed chip to be removed from the USB interface. We used the IAR Workbench debugging software to write and implement code for our device and did fifteen different labs which had problems to be debugged and code to figure out. This allowed us to learn our software well.

Our eZ430-F2013 Development Tool

700 page user's manual

Flowchart for program written in Microsoft Visio

code written in Notepad

We made different flowcharts to plan our code and submitted these. We then wrote our code and debugged it using the IAR software. Mine was a bit more complex than others as I was using this software to control the solenoids for my senior project. I had to make two subroutines to control the on time of two different solenoids which i would control with a transistorized circuit that I also designed and built. I also made an interrupt service routine that would make the timer A increment two different registers that I would use to time their on time. This code is shown above and worked rather well.

In the end this course was a crash course in the workings of the modern microcontroller and was a crash course in writing assembly code for the TI MSP430. While future uses of microcontrollers may use different chips and commands, this course was good to explain the overall uses and advantages to using microcontrollers and gave me the basic knowledge I needed to make decisions on using these devices.