TRON06042 2019 Embedded Programming 201
This Module covers the basic programming for a microcontroller using the C programming language. Topics include: Reading and writing to ports, interrupt service routines, using hardware timers, serial port and other communications port programming.
Learning Outcomes
On completion of this module the learner will/should be able to;
Differentiate between C for microcontrollers and C for desktop computers.
Develop programs to access hardware on a microcontroller
Develop Interrupt Service Routines for event driven programs.
Appreciate resource constraints of Embedded Systems.
Determine the correct code to interface with specific hardware external to the microcontroller.
Teaching and Learning Strategies
This module will be taught by a flipped classroom asynchronous model whereby the students will have short instructional videos that they can watch at their own pace. They will then attempt increasingly challenging problems with tutor support.
Module Assessment Strategies
Two open book assessments will be undertaken by the students under controlled circumstances totalling 50% of the marks. The students will be given a previously unseen assignment that is based on the programming problems they have been working. They can use their previously written code or textbooks and online resources but they are not permitted to communicate in any way.
The students will be given 25% of the assessment marks for various single attempt quizzes throughout the semester. The questions will be based on questions from formative quizzes that they have previously seen.
Finally, the students will be given a 25% assignment that will be larger and more challenging than what they are assessed on in the open book assessments. This assignment is done at the students own pace in time for a final deadline. It will be based on all the material for the semester.
Repeat Assessments
A repeat assessment open book assessment covering all of the course content can be set. However, it should be at the discretion of the course board as to whether the student may have to re-attend for the module as this is a 100% CA.
Indicative Syllabus
Cross Compilers, debuggers, Emulators, Simulators.
Specific differences between Microcontroller C and Desktop C.
Reading and writing to ports.
Interrupt Services Routines.
External Interrupts
Hardware Timers.
Serial Port and other communication mechanisms.
Resource issues, Look up tables, Integer Vs Floating Point.
Coursework & Assessment Breakdown
Coursework Assessment
Title | Type | Form | Percent | Week | Learning Outcomes Assessed | |
---|---|---|---|---|---|---|
1 | Practical Evaluation Practical Exercises | Formative | Assignment | 0 % | OnGoing | 1,2,3,4,5 |
2 | Practical Evaluation Practical Exam | Coursework Assessment | Practical Evaluation | 25 % | Week 5 | 2,3 |
3 | Practical Evaluation Practical Exam | Coursework Assessment | Practical Evaluation | 25 % | Week 9 | 2,3,4 |
4 | Programming Assignment | Project | Assignment | 25 % | Week 12 | 2,3,4,5 |
5 | Multiple Choice Quizes | Coursework Assessment | Multiple Choice/Short Answer Test | 25 % | OnGoing | 1,2,3,4,5 |
6 | Formative Quizzes | Coursework Assessment | Multiple Choice/Short Answer Test | 0 % | OnGoing |
Full Time Mode Workload
Type | Location | Description | Hours | Frequency | Avg Workload |
---|---|---|---|---|---|
Practical / Laboratory | Computer Laboratory | Practical | 4 | Weekly | 4.00 |
Independent Learning | Not Specified | Independent Learning | 3 | Weekly | 3.00 |
Online Learning Mode Workload
Type | Location | Description | Hours | Frequency | Avg Workload |
---|---|---|---|---|---|
Practical / Laboratory | Online | Online Lab | 1 | Weekly | 1.00 |
Independent Learning | Not Specified | Independent Learning | 6 | Weekly | 6.00 |
Required & Recommended Book List
2014-09-19 Embedded C Programming: Techniques and Applications of C and PIC MCUS Newnes
ISBN 0128013141 ISBN-13 9780128013144
2017-12-07 Programming PIC Microcontrollers with XC8 Apress
ISBN 9781484232729 ISBN-13 9781484232729
Module Resources
C How to Program: Sixth Edition by Paul Deitel & Harvey Deitel. ISBN 978-0-13-705966-9
Practical C Programming: 3rd Edition by Steve Oualline. ISBN 1-56592-306-5
The C Programming Language: Second edition by Brian W. Kernighan & Dennis M. Ritchie ISBN 0-13-110362-8
Embedded C: by Michael J. Pont ISBN 0-201-79523-X
The 8051 Microcontroller: Third Edition by I. Scott Mackenzie ISBN 0-13-780008-8
EdSim51's Guide to the 8051: by James Rogers ISBN 978-1442141803
MPLABx IDE
IT Sligo C Coding Standard.
ACM Software Engineering Code of Ethics.
None