Syllabus

Course description and objectives

(Prerequisites: Grade of C or better in ECE 3714, CSE 1384, and credit or registration in CSE 2383). Three hour lecture. Three hour laboratory. Minimum competency requirements must be met. Architecture of microprocessor-based systems. Study of microprocessor operation, assembly language, arithmetic operations, and interfacing.

Mode of delivery: face-to-face with lecture and labs (F2F sections) or asynchronous lecture and lab (distance sections)

Learning objectives: after successfully completing this course, the students will be able to:

  1. Translate C code snippets to PIC24 assembly language

  2. Write C programs that perform hardware interfacing tasks for the PIC24.

  3. Build a single board microcontroller system that contains a PIC24, a serial EEPROM, an 8-bit digital-to-analog converter, and an asynchronous serial interface .

  4. Explain the protocols used in I2C, SPI, and asynchronous serial communication and use peripherals that have these interfaces

Course materials

  • Interacting with the PIC24 Family in Assembly and C by Bryan Jones (this e-book is accessed through the Canvas page under resources).

  • Zybooks: C Programming (this e-book is accessed through the Canvas page under resources)

Methods of evaluation and standards of achievement

Minimum competency requirements

The following requirements must be met in order to achieve a D grade or higher in this course, regardless of your performance in all other aspects of the course.

  • You MUST get 2 questions out of 6 correct across the two practicums. A student would meet this requirement if they got 2 out of 3 correct on either practicum, or 1 out of 3 correct on both practicums. This is to ensure students fully understand the lab exercises, instead of relying on partners or teaching assistants.

Grade composition

Assuming the minimum competency requirements are satisfied, grades are determined by:

  • 3 tests: 45% (test 1: 15%, test 2: 15%, test 3: 15%)

  • Homework/quizzes: 10%

  • Final (NOT optional; can replace the lowest test grade): 15%

  • Laboratory assignments: 30%

Letter grade assignment

A: ≥90

B: <90 - 80

C: <80 - 70

D: <70 - 60

F: <60

The final exam will be administered according to the University exam schedule:

  • Section 01: Friday, Dec 2, 2022, 8:00 AM - 11:00 AM

  • Section 02: Friday, Dec 2, 2022, 12:00 PM - 3:00 PM

All regrade requests must be made within one week of receipt of the returned grade. All grades are posted on Canvas. Note that the overall grade shown on Canvas may not be accurate until all grades (including the final exam) have been entered.

Attendance

As stated in Academic Operating Policy 12.09, “A policy should include, but is not limited to, how the instructor defines class attendance, particularly as it pertains to in-class responsibilities that go beyond the student’s mere presence in the classroom, how attendance relates to student learning outcomes, the extent of credit or penalty, how excused and unexcused absences are measured, and how all absences are recorded.”

Attendance policy for face-to-face instruction

This course is a face-to-face instructional class. Please refer to Academic Operating Policy 12.09 regarding attendance expectations and accommodations.

If you attend the class but forget to bring your student ID card, forget to scan your ID card, etc., you will be counted as absent. To apply for an excused absence browse to the Dean of Students website then click or "Submit Absence(s) Verification" or bring your documents to the Dean of Students (dos@msstate.edu) for verification purposes. After the documents are verified by the Dean of Students, submit the verified document to your instructor.

Attendance Policy for distance instruction

Distance students are expected to “attend” every class meeting by watching assigned lecture videos and reading assigned material. Both lecture and lab meetings are asynchronous, which means you can “attend” (e.g., watch videos) at a time convenient for your weekly schedule. However, you must attend class and turn in assignments according to the weekly class schedule and assignment due dates.

Tests

Tests are given outside class hours, to provide additional time for students to work on the problems. They take place in the Simrall Computer Lab; see the class schedule for dates. Each test is 2 hours. If you cannot make the test date, e-mail the instructor at least one week in advance to schedule an alternate time. The final will take place in the classroom. The time and date are given in the MSU exam schedule. You are expected to use calculators on all tests and the final. You may bring a one-page, double-sided page of notes to all tests and the final exam. The notes can be either printed or handwritten.

Bonus Project Policy

If you connect a new device to your PIC, such as an accelerometer, gyro, humidity sensor, MP3 player, etc., you can receive up to 50 bonus points to be added to one of test grades (approximate to 6 points on the final grade). See the bonus project page for more information.

Expectations for the classroom and communication

The following policies for course communication apply for all students:

  • You are required to check your MSU email account regularly. This is considered an official means of communication by MSU for distance education students.

  • The course materials will be accessed through Canvas.

  • All class announcements will be posted on the Canvas website.

  • Assignment submissions will utilize Canvas unless otherwise specified by the instructor.

  • You are required to have access to a computer that connects to the internet.

  • Students should not discuss specific exam questions.

  • Students are encouraged to discuss homework together in a group, but the assignment should be completed individually.

The following policies for course communication apply to students enrolled in distance sections:

  • Faculty office hours will be hosted in WebEx. Students can join using a computer or smartphone app.

  • Students can correspond with each other via the general course discussion board. Please note that collaboration on individual assignments is not acceptable.

  • Students should expect to log in to Canvas no less than 3 times per week to access course information, lectures, and updates.

Outline

Lecture topics (45 contact hours)

  1. Review of number systems (binary, decimal, hexadecimal) (2 hours)

  2. Refresher on digital logic (1 hours)

  3. Introduction to stored program machines (2 hours)

  4. Modification of a primitive microcontroller using simulation tools (3 hours)

  5. PIC24 assembly language (10 hours)

    1. Introduction

    2. Processor architecture

    3. Basic addressing forms

    4. Data movement instructions

    5. Instructions which operate on 8- and 16-bit data

    6. Basic control flow instructions

    7. Extended precision and signed operations

    8. Control flow for extended precision and signed operations

  6. Assembly language structures (2 hours)

    1. Pointers and arrays

    2. Combined addressing modes for pointer usage

  7. Stacks in Assembly (2 hours)

    1. Use in subroutines

    2. Parameter passing conventions

  8. PIC24 hardware introduction (3 hours)

  9. Basic interfacing with a PC over a serial connection (1 hours)

  10. PIC24 general purpose digital I/O configuration (2 hours)

  11. Interrupts (6 hours)

    1. Interrupt service routines

    2. Introduction to timers

  12. Asynchronous serial I/O (3 hours)

    1. UART peripheral

    2. RS-232 protocol

  13. Synchronous serial I/O (5 hours)

    1. SPI bus

    2. I2C bus

  14. Data converters (3 hours)

    1. Covering analog to digital

    2. Digital to analog conversion

Laboratory topics (30 contact hours)

  1. PIC24 assembly language (9 hours)

    1. Processor architecture

    2. Basic addressing forms

    3. Data movement instructions

    4. Instructions which operate on 8- and 16-bit data

    5. Basic control flow instructions

    6. Extended precision and signed operations

    7. Control flow for extended precision and signed operations

  2. Assembly language structures (3 hours)

    1. Pointers and arrays

    2. Combined addressing modes for pointer usage

  3. Stacks in Assembly (3 hours)

    1. Use in subroutines

    2. Parameter passing conventions

  4. PIC24 general purpose digital I/O configuration (3 hours)

  5. Tasks (3 hours)

  6. Timers (3 hours)

  7. Synchronous serial I/O (3 hours)

  8. Data converters (3 hours)

Minimum technology requirements

All students must provide laptops which meet the Bagley College of Engineering's computer specifications. In addition, all students must have Internet access.

Distance students will also need:

  • Webcam and microphone (computer or smartphone) to upload video responses to assignments or participate in virtual meetings / office hours.

  • Video recording and editing software (Camtasia is available to download free from MSU ITS)

Cell phone usage

Per MSU's Academic Operating Policy 10.08, all cell phones and pagers must be turned off during class to avoid interruptions which prevent other students from concentrating on the material presented.

Disability resource center

Mississippi State University is committed to providing equitable access to learning opportunities for all students. The Disability Resource Center (01 Montgomery Hall) collaborates with students who have disabilities to arrange reasonable accommodations. If you have, or think you may have, a disability, please contact drc@saffairs.msstate.edu or 662-325-3335 to arrange a confidential discussion regarding equitable access and reasonable accommodations. Disabilities may include, but are not limited to, conditions related to mental health, chronic health, attention, learning, autism, brain injury, vision, hearing, mobility, speech, or intellectual disabilities. In the case of short-term disabilities (e.g., broken arm), students and instructors can often work to minimize barriers. If additional assistance is needed, please contact the Disability Resource Center.

Title IX

MSU is committed to complying with Title IX, a federal law that prohibits discrimination, including violence and harassment, based on sex. This means that MSU’s educational programs and activities must be free from sex discrimination, sexual harassment, and other forms of sexual misconduct. If you or someone you know has experienced sex discrimination, sexual violence and/or harassment by any member of the University community, you are encouraged to report the conduct to MSU's Director of Title IX/EEO Programs at 325-8124 or by e-mail to titleix@msstate.edu. Additional resources are available at http://www.msstate.edu/web/security/title9-12.pdf, or at http://students.msstate.edu/sexualmisconduct.

Student honor code

Mississippi State University has an approved Honor Code that applies to all students. The code is as follows:

"As a Mississippi State University student I will conduct myself with honor and integrity at all times. I will not lie, cheat, or steal, nor will I accept the actions of those who do."

Upon accepting admission to Mississippi State University, a student immediately assumes a commitment to uphold the Honor Code, to accept responsibility for learning, and to follow the philosophy and rules of the Honor Code. Students will be required to state their commitment on examinations, research papers, and other academic work. Ignorance of the rules does not exclude any member of the MSU community from the requirements or the processes of the Honor Code. For additional information please visit the MSU Honor code website.

Students are encouraged to find and work in study groups to complete homework assignments, discuss lab assignments, and prepare for tests. In a group, students may share portions of a solution to an assignment, discuss their approach, and make solution suggestions to others in the group. However, the solution for each problem must be determined only by that student, rather than a copy of others' efforts. If you COPY ANOTHER STUDENT'S WORK, or ALLOW ANOTHER STUDENT TO COPY YOUR WORK, then you are guilty of academic dishonesty.

Copyright

Copyrighted materials within the course are only for the use of students enrolled in the course for purposes associated with this course and may not be retained or further disseminated.

Course materials must not be posted on any website or added to any database without the instructor’s written permission. Do not distribute test problems, homework, or any other materials. Do not post course materials on websites such as chegg.com, slader.com, etc. Violations of this policy will be referred to the Honor Court.

University safety statement

Mississippi State University values the safety of all campus community members. Students are encouraged to register for Maroon Alert texts and to download the Everbridge App. Visit the Personal Information section in Banner on your mystate portal to register. To report suspicious activity or to request a courtesy escort via Safe Walk, call University Police at 662-325-2121, or in case of emergency, call 911. For more information regarding safety and to view available training resources, including helpful videos, visit ready.msstate.edu.

Continuity of instruction

In the event that face-to-face classes are suspended due to the pandemic or its effects, the instructor will continue instruction in a manner that best supports the course content and student engagement. In this event, all instructors will notify all students of the change via their university email address (the official vehicle for communication with students). At that time, they will provide details about how instruction and communication will continue, how academic integrity will be ensured, and what students may expect during the time that face-to-face classes are suspended. If a student becomes unable to continue class participation, the student should contact their instructor and advisor for guidance.

Lab policy

In Lab 0, the lab TAs will review a short summary of the lab policies given below.

Lab reports

Grading policy

Part of the 'Lab Performance' component is oral quizzing by the TA during lab check offs - if your circuit functions but you cannot answer the TA's questions about the circuit, do not expect to get much credit.

TAs are supposed to have lab reports graded a week after they are submitted. If this does not occur, please contact the course instructor or the TA coordinator.

Format

When writing, be careful to avoid common grammar errors. Lab 0 does not require a lab report. The rest of the labs require only a brief lab report. The first page should contain the lab exercise name, your name and netID, the course and section name, and the TA name in successive lines as in the sample formal lab report title page. Note: An abstract is not needed. The rest of the lab report should follow directions and answer questions given in the last section, titled "Report," of the instructions for that lab. No other information is necessary in the lab report. See, for example, the sample brief lab report.

Due date

A lab report is due at the lab time for the next time your section meets. In some cases, you might have a holiday between between when you perform a lab and when the next lab meets, which would mean that you would have more than one week to do the lab report.

Some of the labs require you to demo your finished program to the TA. This can be done during the current lab session or before the lab session in which the report is due -- you will need to have your files ready to show the TA when he asks for a demonstration of your work. You CANNOT use part of the lab time of the current session to complete previous lab work.

You are encouraged to enter the lab at any time that another lab is not in session to complete your work if you did not finish it during the normal lab time. You can also use your home PC for completing your lab work as well.

Late submission/late checkoff policy

  1. 15 points will be subtracted per day that a lab report is submitted late. The electronic submission directory has time/date information on each file so we can verify when a lab report was submitted. After 1 week (7 days), a lab grade is automatically assigned a 0.

  2. Late checkoffs are 15 points per day.

You will not be double penalized - the maximum late penalty is 15 points for either a late report submission or late checkoff. If you turn in your report on time and choose for the TA not to "check off" at lab time, then you have one week to show the TA your checkoffs with a 15 point per day penalty. If you do not turn in your report on time, you will be deducted 15 points per day your report is late. If you turn in your report late, and you still have not shown the TA the checkoffs then you will continue to lose 15 points per day.

Lab attendance and portable PC

You are expected to attend every lab and stay until you have completed the lab or the time expires. This is to force you to make some progress on the lab during the lab period while you have TA access. If you do not complete the lab during the lab period, then it must be completed before the next lab meeting.

If you are late more than 15 minutes to lab then you forfeit the prelab points. If your prelab is not ready to be checked off when you walk in the lab door, you forfeit the prelab points.

You must bring your portable PC to use for lab exercises.

Lab practicum

The course includes two practicums. Practicum policies are:

  • You must use your own board to attend practicum.

  • Your cell phone must be turned off (not silenced, turned off!) and remain out of sight for the duration of the practicum. If you are observed interacting with your cell phone during the practicum, you automatically receive a 0 grade and will be asked to leave the room.

  • You may ask the TA questions concerning clarification of the problem statement, but the TA cannot provide assistance in solving the problem except to help with a C syntax error.

  • Your PIC24 microcontroller board is expected to be working order with all peripherals used in previous labs present (DAC, EEPROM, serial interface, potentiometer).

  • The practicum is open notes, open book, open laptop. You may use old labs, and web resources. You may NOT receive assistance from another person during the practicum, or provide assistance to another person. You may not talk to other people in the lab during the practicum - the practicum is a test environment. Any violation of these rules will be considered academic dishonesty and will be treated in accordance with University policy.

  • When you have the practicum solution ready for checkoff, the TA will check your result, and you will be graded per the instructions included with the practicum. You must be ready to have your practicum checked off 30 minutes before the end of the lab period.

  • After the practicum, turn in your practicum handout to the TA, submit your code and any requested screen shots as lab report #12 (practicum 1) or #13 (practicum 2). If do not turn in your practicum handout or do not submit your code/screenshots, then you will receive a 0 grade.

See also some helpful practicum advice.