Maricopa Community Colleges  ELT241   20002-20016 
Official Course Description:   MCCCD Approval:  12/14/99
ELT241      20002-20016 LEC
LAB
4 Credit(s)
0 Credit(s)
3 Period(s)
3 Period(s)
Microcontrollers
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 pseudocode; 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. Prerequisites: ELT131, ELT181
 
Go to Competencies    Go to Outline
 
MCCCD Official Course Competencies:
 
ELT241   20002-20016 Microcontrollers
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)
Go to Description    Go to top of Competencies
 
MCCCD Official Course Outline:
 
ELT241   20002-20016 Microcontrollers
    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
                              Go to Description    Go to top of Competencies    Go to top of Outline