Apr 23, 2024  
2020-2021 Course Catalog 
    
2020-2021 Course Catalog [ARCHIVED CATALOG]

Add to Portfolio (opens a new window)

ELT 622 - Microcontrollers

Credits: 3
Lecture Hours: 3
Lab Hours: 0
Practicum Hours: 0
Work Experience: 0
Course Type: Voc/Tech
This course covers two major areas of microcomputers and microcontrollers. The first is an investigation of the specific architecture of microcontrollers and fundamental microcomputer hardware. The second area is software and studies-specific c language and assembly language instructions for common routines and program structures.
Corequisite: ELT 623  
Competencies
  1. Relate a microcomputer and microcontroller
    1. Define a microcomputer and a microcontroller
    2. State how the microcomputer and microcontroller have evolved
    3. Identify examples of microcomputer and microcontroller applications
    4. Draw an overall fundamental block diagram of a basic microcomputer
    5. State the purpose of each microcomputer block
    6. List the three common computer buses and indicate them as being either uni-directional or bi-directional
    7. Describe the Computer Bus concept and the reason for its popular use
  2. Compare computer number systems
    1. Define bits, nybbles, bytes, words, double words
    2. Show numbers in decimal, binary, octal, and hexadecimal form
    3. Convert numbers between the following number systems: decimal, binary, octal, hexadecimal
  3. Generate standard flow charts for computer programs
    1. Draw the popular standard flow chart symbols
    2. Define the flow chart symbols
    3. Define the flow chart symbols
    4. Demonstrate proper flow chart techniques by drawing a flow chart of a computer program
    5. Describe the difference between high level and low level flow charting
  4. Contrast hand assembly and machine assembly of computer programs
    1. Write source programs using hand assembly
    2. Compile object code and list files using hand assembly
    3. Write source programs using a text editor
    4. Compile object codes and list files using a machine assembler
  5. Understand branch control group instructions for computer programs
    1. List the status flags, their bit position in the flag register, their functional meaning, and an example of common use
    2. Describe the microcontroller’s two-step decision making process
    3. Identify the Conditional Branch instructions and related flags
    4. Predict the outcome of a conditional branch decision making process relative to the value of the flag itself or based on the results of the math/logic computation
    5. Show how conditional branch instructions are used for generating time delays, loops, and nested loops
    6. Describe the difference between Jumps and Calls
    7. Describe the difference between routines and subroutines
    8. Describe Stack operation and Stack rules
    9. Illustrate Stack activity for Pushes, Pops, Calls and Rets
  6. Describe macros and subroutines for computer programs
    1. Describe how to make a subroutine transparent
    2. Define a macro
    3. Illustrate nested subroutines
    4. Show how a macro is used in a computer program
    5. Compare the advantages/disadvantages of using macros vs. subroutines
    6. Illustrate parameter passing methods for macros and subroutines
  7. Describe the basic structure and common syntax of a high-level programming language for microcontrollers such as C
    1. Identify variable types
    2. Contrast common looping structures in high-level programming such as while, do-while, and for loops.
    3. Demonstrate an understanding of the use of the three major decision-making structures in high-level programming language - if, if-else, and switch.
    4. Explain the purpose of pointers.
  8. Explain servicing I/O peripheral devices via polling
    1. Define polling and external flags
    2. Illustrate both hardware and software techniques for continuous polling and periodic polling
  9. Explain servicing I/O peripheral devices using interrupts
    1. Define a computer ‘Interrupt’
    2. Describe how the microcontrollers perform interrupt handling
    3. Describe the use of the restart instructions for interrupt handling
    4. Illustrate both hardware and software techniques for vectored interrupts, scanned/polled interrupts and daisy-chained interrupts
    5. Describe how to allow for “nested interrupts”
    6. Illustrate how to “mask” interrupts and set up “priority” interrupts
  10. Contrast external microcontroller communication methods
    1. Parallel (data bus)
    2. Balanced vs. unbalanced serial
    3. RS-232
    4. RS-485
    5. Misc. Serial: I2C, SPI, CAN



Add to Portfolio (opens a new window)