Dr. Farid Farahmand: Sonoma State University

EE 310/310L : Microprocessors and System Design - Using PIC Microcontrollers
Instructor: Dr. Farid Farahmand
Spring 2019

    Lecture/Lab:Thursday & Tues. 9:00 am-11:50 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 For specific asignments please see Canvas
1/22 Read the syllabus carefully Start Reading Chapter 1; Alway see Canvas for specific asignments!
1/24

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/28
1/31
2/5
  • Quiz 1 - Homework 1 & Lectures
  • Read the Syllabus carefully to learn how to submit your assignments / Review the Lab Template
  • Attend the lecture series/Tech Talks for Extra Credit
  • In class (ICL-0) : Modify the program in Appendix F
2/7
2/12
2/14
  • Continue with PIC instrucitons.
  • Learn about MIPS - how useful is it? (see the MIPS Example)
 
2/19
  • 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.
  • Quiz 3 (Chapter 2 & 3 - see review questions - assembly commands, features of PIC, Status register, simple programs)
2/21
  • In class (ICL-2) Write a program: simple calculator adding & subtracting. Do the flow chart.
  • Go over Lab 2 and make sure you know how to do the assisgnment. Pay attention to details!
2/25
  • More on Loops and Timing, & assembly commands - FSR and RAM pointers, Branch Arguments,
 
  • Submit: Lab 2
  • Article 2 is due - submit through Canvas
  • In class: Write a program to save your name in program memory starting 0x100 - Must show!
2/27
  • Loops - continued
 
  • Quiz 4 (Directives / Logic & Math commands / MIPS / Indirect addressing / FSR / Program example)
3/5
3/7
3/12
  • 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/15 Midterm Exam (Review Questions) Midterm Exam  
3/18-22 Spring Break Spring Break Spring Break
3/26  
3/28
  • 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)
4/2
  • In class: Write a C program to blink number 1 on your 7 segment.
  • Submt First_C_Lab
4/4 Chapter 10 - Interrupts in PIC
Summary of Interrupt Registers in PIC
4/9 Chapter 12 - Analog to Digital Converters / Op-amps / Digital to Analog converters/
4/11 Cont. with Chapter 12  
4/16  

 

  • Submit an abstract for your project Read Course Syllabus for more information about the abstract for final project.
  • Quiz - In class program / C - Book (Chapters 1-4 & 6) & Interrupts
4/18
4/22    
  • Submit Lab 9 - ADC and Random Number Generation
4/25
  • In class: Examine signal timing
  • Quiz / Opamps / ADC / LCD
5/2  
5/4 Chapter 11 / WDT/Clocks / Reset
  • Article 4 is due - submit through Canvas
5/9
  • EWork on your projects!
  • Quiz / Review questions for serial communication / In class program (LCD & USART)
  ONLY IF TIME PERMITS
5/11

Final

Project Presentation - Review/ Read the Course Syllabus Carefully for Project Guidelines - See Canvas for more information - This is how the presentation is evaluated

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.  

****Submit Lab 11 - TMR0 & CCP ****

In order to be able to take the final exam you are required to bring a snapshot of your Canvas 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

Textbooks: Index