Dr. Farid Farahmand: Sonoma State University

EE 310/310L: Microprocessors and System Design
Instructor: Dr. Farid Farahmand
Spring 2017

    Lecture/Lab:Tues. 9:00 am-11:40 am/ Thur. 8:00 am-10:40 am
    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/24 Read the syllabus carefully Start Reading Chapter 1;  
1/26

Sign up for EE 310 in 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 Folder for all the assignments.
  2. Arrange to have your own LAPTOP; Apple owners may experience extra challanges!
  3. If you are using a MAC have a visrual-box
1/31
2/2
2/7
  • Chapter 2 - Architecture, Opcodes, Memory Structure, ALU, Stack and Pointers, PIC Controllers, IDE Simulator
  • Introducing Oshon Soft Simulator IDE
  • Review the Diigo Class Links
 
  • Read Appendix F (in Piazza)- up to F.1.5 - become familiar with how to blink an LED!
  • Answer these questions: Chapter 1- Questions
  • Read about RISC & CISC architectures and solve the last problem (videos are aviilable on Piazza)
  • Read the Syllabus carefully to learn how to submit your assignments
  • In class (ICL-0) : Modify the program in Appendix F
2/9
  • Quiz 1B; If you did not do well in the first quiz do the quiz again on Moodle (Thursday 8-8 pm)/ read **sample questions**
  • Show your working ICL-0
2/14
2/16
  • Continue with PIC instrucitons.
  • Learn about MIPS - how useful is it? (see the MIPS Example)
 
2/21
  • In class (ICL-2) : Save CheckCarry code into your project directory - Find its errors (if any) and compile it. Add F1 + F1. Show the results.
2/23
  • In class (ICL-2) Write a program: Add 78 + F1. Show the results. Hex Calculator
  • Go over Lab 2 and make sure you know how to do the assisgnment. Pay attention to details!
  • Quiz 3 (Chapter 2 & 3 - see review questions - assembly commands, features of PIC, Status register, simple programs)
2/28  
  • Submit: Lab 2
  • Article 2 is due - submit through Piazza
  • In class: Write a program to save your name in program memory starting 0x100 - Must show!
3/2
  • Division operation in assembly
  • Package Types
  • Chapter 6 - See notes
  • Quiz 4 (Directives / Logic & Math commands / MIPS / Indirect addressing / FSR / Program example)
  • In class (ICL-3): Taking the Min/Max & Average - Read the textbook for details. Pay attention to how we divide by 16!
3/7  
3/9
  • Quiz (write a program in class)
  • Install Mouser Software!
  • In class (ICL-4): Do the program in the slides. Answer the questions.
3/14-16 Spring Break Spring Break Spring Break
3/21
  • Submit and demostrate Lab 5
  • Quiz (Indirect addressing / Macro and subroutine . PC & Stack / Table Pointers / Programming Example)
  • In class: Read Program Example 9.5; Modify your LED Blinking program such that it stops blinking when the SW is pressed!
3/23 Midterm Exam (Review Questions) Midterm Exam  
3/28
  • Article 3 is due - submit through Piazza
  • Download MPLAB® XC8 Compiler
  • Submit Lab 6
  • In class: Using the Online compiler write a C program to generate the following sequences: 0,2,0,4,0,8,..0,128,0,2,0,4,0... (Example C programs)
3/30      
4/4
  • Quiz - In class program / C - Book (Chapters 1-4 & 6)
  • In class: Write a C program to blink number 1 on your 7 segment.
  • Submit Lab 7 - Must demonstrate in class.
4/6 Chapter 10 - Interrupts in PIC
Summary of Interrupt Registers in PIC
4/11 Chapter 12 - Analog to Digital Converters / Op-amps / Digital to Analog converters/
  • Quiz (Midterm Exam)
  • Submit Lab 8 - C Programing
4/13 Cont. with Chapter 12    
4/18 Chapter 13 ( USART Interface. See your notes) / A practical guide to USART

 

  • Quiz - In class program / C - Book (Chapters 1-4 & 6)/Interrupts / ADC / Op-Amps
  • Submit an abstract for your project Read Course Syllabus for more information about the abstract for final project.
4/20      
4/25     Submit Lab 9 - ADC and Random Number Generation
4/27

 

  • In class: Examine signal timing
5/2 Chapter 11 / WDT/Clocks / Reset

5/4 Continue with Chapter 11  
  • Quiz / Review questions for serial communication / In class program (LCD & USART)
  • Article 4 is due - submit through Piazza
5/9
   
  • Quiz / clocks and MSSP
5/11 Project Presentation - Review/ Read the Course Syllabus Carefully for Project Guidelines 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  
5/16 Final Exam / Submit class evaluation form / / Submit your final CD / No late submisison is allowed.   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.


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

Chapter 1:

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

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

 

 

 

Tools & Software:

Important Resources

 

Link to previous versions of this class (ABET):

  1. Spring 2016 - A part list was provided to students. Students were required to purchase their own parts. This can improve the quality of final projects.
  2. Fall 2015 - Many students experienced difficulties with C programing. Several interactive programing tools were included in the course so the students can practice. A separate section on C programming was also added to the course; we also added an eBook for students to review.
  3. Spring 2015 - Using PIC DEMO Board / MPLAB & C18 Compiler / PicKit2 / Chip Kit / More advanced sensros were used
  4. Spring 2014 - Using PIC DEMO Board / MPLAB & C18 Compiler / PicKit2 / Chip Kit
  5. Spring 2012 - Using PIC DEMO Board / MPLAB & C18 Compiler / PicKit2
  6. Spring 2010 - Using PIC DEMO Board / MPLAB & C18 Compiler / PicKit2
  7. Spring 2009 - Using PIC DEMO Board / MPLAB & C18 Compiler ()/ PicKit2