powered by
Center for Curriculum and Transfer Articulation
Microcontrollers
Course: ELT241

First Term: 2002 Spring
Lecture   4 Credit(s)   3 Period(s)   2.4 Load  
Subject Type: Occupational
Load Formula: S


Description: General microcomputer architecture including program flow, data flow, and functional operation of subunits; number systems and data codes; basic digital circuits and devices; specific microprocessor architecture; problem solving concepts using pseudo code; assembly language programming concepts including iteration and select structures, arithmetic and logical operations, arrays and indexing; addressing modes; subroutines and macros; input/output operations; debugging and documenting programs



MCCCD Official Course Competencies
1. Differentiate between different types of computers, listing applications for each. (I)
2. Describe the general components of a computer system. (I)
3. Describe the evolution of at least one family of microprocessors, and draw a block diagram of a microprocessor. (I)
4. Perform arithmetic operations using computer-related number systems. (II)
5. Convert data between specified number systems. (II)
6. Describe the functional operation of basic digital circuits and devices. (III)
7. List the subunits of a specific microprocessor and explain their functional operation. (IV)
8. Use pseudocode to solve and document programming problems. (V)
9. Explain the assembler process of converting a source assembly program into machine language. (VI)
10. Employ all types of assembler statements in the writing of an assembly language program. (VI)
11. Explain and employ the program development cycle. (VI)
12. Write an assembly language program that handles hardware and software interrupts. (VI)
13. Use program debugger features to troubleshoot assembly language programs. (VII)
14. Write assembly language programs that utilize iteration and decision constructs, arithmetic and logical operation, various addressing modes, subroutines, and arrays. (VIII-XII)
15. Write an assembly language program that employs one or more macros. (XIII)
16. Write an assembly language program that drives an input/output device such as a printer, monitor, or other device. (XIV)
17. Describe assembly language instruction format. (VI)
18. Describe the sequence of an instruction control flow. (VI)
19. Describe types of assembly language instructions. (VI)
20. Describe the features of assemblers. (VII)
21. Write and debug assembly language programs using multiple addressing modes. (VII)
MCCCD Official Course Competencies must be coordinated with the content outline so that each major point in the outline serves one or more competencies. MCCCD faculty retains authority in determining the pedagogical approach, methodology, content sequencing, and assessment metrics for student work. Please see individual course syllabi for additional information, including specific course requirements.
 
MCCCD Official Course Outline
I. Introduction to computers, microcomputers, and microprocessors
   A. Types of computers
      1. Mainframes
      2. Minicomputers
      3. Microcomputers
   B. Applications of computers
   C. General computer architecture
      1. Memory
      2. Central processing unit
      3. Input/output
      4. Busses
      5. Hardware, software, firmware
   D. Microprocessor evolution and types
      1. INTEL 80XXX family
      2. Motorola 68XXX family
   E. Microprocessor internal architecture
II. Number systems and data codes
   A. Number systems
      1. Decimal
      2. Binary
      3. Hexadecimal
      4. Octal
   B. Binary coded decimal (BCD) codes
   C. Number conversions between number systems
   D. Arithmetic operations on decimal, binary, hexadecimal, octal, BCD numbers
      1. Addition and subtraction
      2. Multiplication and division
III. Basic digital circuits and devices
   A. Inverting and non-inverting buffers
   B. Logic gates
      1. AND
      2. OR
      3. Exclusive OR
   C. Programmable logic devices
      1. Programmable logic array (PLA)
      2. Field programmable logic array (FPLA)
      3. Programmable array logic (PAL)
   D. Storage devices
      1. Latches
      2. Flip-flops
      3. Registers
      4. Counters
   E. Memories
      1. RAMs
      2. ROMs
   F. Arithmetic logic units
IV. Specific microprocessor architecture
   A. Pinouts
   B. Clock circuitry
   C. Address and data bus connections
   D. Control bus connections
   E. Reset or restart
   F. Bus timing
   G. Direct memory access (DMA)
   H. Interrupt structures
   I. Instruction timing
V. Problem solving concepts
   A. Analysis of problem statements
   B. Pseudocode concepts
   C. Pseudocode program solutions
VI. Assembly language programming concepts
   A. Assembler process overview
   B. Types of statements
      1. Instructions
      2. Directives
      3. Macros
      4. Comments
   C. Program segments
      1. Data segment
      2. Code segment
      3. Stack segment
   D. Assembly language program development cycle
      1. Define problem
      2. Design a pseudocode solution
      3. Code pseudocode solution into assembly language
      4. Develop document as program is developed
      5. Assemble, link, test, debug
      6. Complete documentation
      7. Implement and modify as required
   E. Interrupts
      1. Overview
      2. Hardware interrupts
      3. Software interrupts
   F. Sample problem
      1. Problem statement
      2. Pseudocode solution
      3. Assembly language solution
VII. Using a program debugger
   A. Program debugger definition
   B. Features
      1. Breakpoints
      2. Tracepoints
      3. Watchpoints
   C. Running programs with a debugger
      1. Examine and deposit commands
      2. Getting into and out of a debugger
   D. Sample problem
      1. Problem statement
      2. Pseudocode solution
      3. Assembly language solution
VIII. Program logic and control instructions
   A. Program structures
      1. Sequence
      2. Iteration
      3. Decision
   B. Comparison instructions
   C. Jumps instructions
      1. Conditional
      2. Unconditional
   D. Sample problem
      1. Problem statement
      2. Pseudocode solution
      3. Assembly language solution
IX. Arithmetic and logical operations
   A. Negative numbers
   B. Arithmetic instructions
      1. Add and subtract
      2. Increment and decrement
      3. Multiply and divide
      4. Logical instructions
      5. Shift and rotate
   C. Sample problem
      1. Problem statement
      2. Pseudocode solution
      3. Assembly language solution
X. Addressing modes
   A. Immediate
   B. Direct
   C. Indirect
   D. Based mode
   E. Indexed
   F. Extended
   G. Sample problem
      1. Problem statement
      2. Pseudocode solution
      3. Assembly language solution
XI. Arrays
   A. The need for arrays
   B. Sample problem
      1. Problem statement
      2. Pseudocode solution
      3. Assembly language solution
XII. Subroutines
   A. Types
   B. Passing arguments
   C. Returning arguments
   D. Sample problem
      1. Problem statement
      2. Pseudocode solution
      3. Assembly language solution
XIII. Macros
   A. Macro concept
   B. Macros without arguments
   C. Passing arguments to macros
   D. Sample problem
      1. Problem statement
      2. Pseudocode solution
      3. Assembly language solution
XIV. Input/output
   A. Terminal
   B. Printer
   C. Sample problem
      1. Problem statement
      2. Pseudocode solution
      3. Assembly language solution
 
MCCCD Governing Board Approval Date:  5/22/2001

All information published is subject to change without notice. Every effort has been made to ensure the accuracy of information presented, but based on the dynamic nature of the curricular process, course and program information is subject to change in order to reflect the most current information available.