Dr. Farid Farahmand: Sonoma State University

ES 310: Microprocessors and System Design
Instructor: Dr. Farid Farahmand
Spring 2014

    Lecture: Mon. & Wed. 2:00-4:30 pm, Salazar 2008
    Laboratory: Wed. 7:00-8:45 pm, Salazar 2005
    Office Hours: click here
    Office: Salazar 2010
    Phone: (707) 664-3491
    Email: farid dot farahmand at sonoma dot edu

Course Description: The primary goal of this course is to give you the fundamental skills needed to understand, use, and design microcontroller-based systems. This includes the following: (1) What is a microcontroller? (2) What can it do (and not do)? (3) How does one design (and program) a microcontroller-based system? The course focuses on 8-bit PIC architecture. You will be using PIC18F46J50 chip.


Lecture Topics and Schedule
Day Lecture Reading Material Assignment/Activity Due
1/13 Read the syllabus carefully Start Reading Chapter 1;  

Sign up for ES 310 Download Piazza - Piazza app is available for smartphone / Bring a folder with your name on it! / Make sure you order the Textbooks / Submit Statement of Ethics / Review the web page!

Make sure you have the following:

  1. A writable CD
  2. A Folder for all the assignments.
  3. Arrange to have your own LAPTOP; Apple owners may experience extra challanges!
1/20 MLK Day No Class
  • Chapter 2 / Architecture, Opcodes, Memory Structure, ALU, Stack and Pointers, PIC Controllers, IDE Simulator
  • Read Appendix F - Complete up to F.1.5 - Must show blinking LED! sd
  • Quiz (Chapter 1, architecture, Eng. Notations, Microcontrollers)/
  • Quiz (addition or 2's complement, number conversions, Chapter 2)/
  • Lab 1 - Learn about PIC - Learning about PIC architecture and the simulator.
  • In class: Start Practice Lab A & B Practicing pointer values and registers.
  • Article is due - submit through Piazza


In Direct Addressing Examples, Memory Management
  • In class: Save CheckCarry code into your project directory - Find its errors (if any) and compile it.
2/24 More on loops and assembly commands (chapter 5)  
  • Quiz /
  • Submit Lab 4 (Parts III) / Use the check list
2/26 Understanding software time delay - Getting your Demo Board to work!  
  • Article is due - submit through Piazza
  • Start Lab 5 - Getting your Demo Board to work!
  • Package Types
  • Lab5 Discussion
  • Chapter 6 - See notes
  • Quiz /
  • Complete Lab 5 - Submit the lab; make sure you answer all the Pre-Lab questions.
  • In class: Finding the Max.
3/5   In class: Taking the Average
3/10 Midterm Up to chapter 8 (no Tables) Midterm Midterm Up to chapter 8 (no Table
3/12   Nothing due!
3/17-21 Spring Break No Class No Class
  • Chapter 9 - I/O Ports, Display devices, Input Devices
  • Sensors devices and actuators (analog and digital)
  • Submit Lab 6 - Must demonstrate in class!
  • In class: Read Program Example 9.5; Modify your LED Blinking program such that it stops blinking when the SW is pressed!
3/26 See the links below about C-Programing
  • Article is due - submit through Piazza
3/31 Cesar Chavez Day No Class No Class
4/2 C- Programing - Continue YouTube: How to use the Stimulus in MPLAB X
  • Submit Lab 7 - Must demonstrate in class.
  • Start Lab 8 - C Programing
4/7 Chapter 10 - Interrupts in PIC
Summary of Interrupt Registers in PIC  
4/9 Chapter 12 - Analog to Digital Converters / Opamps / Digital to Analog converters/ Quiz / Submit Lab 8 - C Programing
4/16 Chapter 13 ( USART Interface. See your notes) / A practical guide to USART   Submit Lab 9 - ADC and Random Number Generation

Chapter 13 ( SPI and I2C Interfaces. See your notes) /SPI & I2C Interface

  Submit an abstract for your project Read Course Syllabus for more information about the abstract for final project.
4/23 Chapter 11 / WDT/Clocks / Reset   Quiz / Submit Lab 10 - C Programing
4/28 Chapter 11 - Continue   Review your CD - make sure you have everything!
4/30 Review/ Read the Course Syllabus Carefully for Project Guidelines / Submit your final CD / No late submisison is allowed.

POST your slides on (something like) a tri-folding board. You can buy a hard board and turn it into a tri-folding board (buy one from Dollar Store for $1

  • Article is due - submit through Piazza
5/5 Final Exam / Submit class evaluation form /   In order to be able to take the final exam you are required to bring a snapshot of your Moodle indicating that you have completed the class evaluations.
Quiz /

Make sure you read lab rules!

Laboratory Topics and Schedule
Day Lab Reading Material Assignment/Activity Due
1/15 Syllabus / Lab Policies!   Watch Matlab Tutorial Video - Read the Matlab Tutorial Manual / Submit the form / Check your boxes

Please refer to these links for more information on different topics.

Support Documents, Resources, and Links
Lecture Related ((supplementary material):) General

Chapter 1:

Chapter 2------------------------

C- Programing ------------------------



Important Background Information


Link to previous versions of this class:

  1. Spring 2012 - Using PIC DEMO Board / MPLAB & C18 Compiler / PicKit2
  2. Spring 2010 - Using PIC DEMO Board / MPLAB & C18 Compiler / PicKit2
  3. Spring 2009 - Using PIC DEMO Board / MPLAB & C18 Compiler ()/ PicKit2