Professional Documents
Culture Documents
Instructor: Dr. Tariq Javid Ali Mughal Office Hours: 01:20 – 03:05pm (Monday, Tuesday)
tariq.javid@hamdard.edu.pk Tel: 021- 36440128
Objectives:
This course aims to provide students an introduction to microprocessor and microcontroller based system design. It covers
basic and fundamental concepts related to Intel microprocessor and AVR microcontroller architecture, assembly language
and C programming, and interfacing techniques. A comprehensive practical coverage of related topics and projects will
enable students to develop sufficient understanding to take advanced courses in computer hardware/software design and
design useful applications and projects.
Contents:
Introduction to microprocessors and microcontrollers, Microprocessor architecture: programming model and instruction set,
Real-mode memory addressing and basic data-addressing modes, Assembly language program development with focus on
interfacing, Memory devices and interfacing techniques, bus cycle and bus timings, Memory and I/O read and write cycles,
Interrupts, basic I/O interfacing, system design and development concepts.
Learning Outcomes:
Mapping of CLOs and PLOs
Sr. No
Course Learning Outcomes PLOs Blooms Taxonomy
Recommended Book:
The Intel Microprocessors: Architecture, Programming, and Interfacing
Barry B. Brey
ISBN: 978-0-13-502645-8, Publisher: Pearson Education, Edition Number: 8
Reference Books:
Make: AVR Programming: Learning to Write Software for Hardware
Elliot Williams
ISBN: 978-1-449-35578-4, Publisher: Maker Media, Inc.
Course Breakdown
Session No. Topics
1 Introduction to microprocessor, history, and applications
2 Microprocessor tasks in a computer system
3 Microprocessor architecture, programming model, syntax of an assembly language instruction
4 FLAG register, block diagrams: computer system, bus structure, 8086 microprocessor interal
5 Basic data addressing modes with MOV instruction
6 Real mode memory addressing
7 Introduction to assembly language programming with examples using EMU8086 emulator
8 Stack memory, PUSH and POP instructions
9 Data movement instructions, XCHG and XLAT instructions
10 Arithmetic and Logical Operations
11 Continued
12 Continued
13 Continued
14 BCD and ASCII arithmetic, basic logic instructions
15 Continued
16 Program Branching and Control Instructions
17 Continued
18 Continued
19 Introduction to interrupts
20 Machine control and miscellaneous instructions
21 Hardware Specifications of 8086/8088
22 Continued
23 Introduction to 8284A Clock generator
24 Memory devices, types and Memory interface of microprocessors
25 Address decoding using NAND gate
26 Address decoding using Decoder ICs
27 Continued
28 An introduction to I/Os
29 I/O port address decoding, the programmable peripheral interface 8255
30 8255 continued
FACULTY OF ENGINEERING SCIENCE AND TECHNOLOGY
31 8254 programmable interval timer
32 Direct memory access and DMA Controller
33 The 8279 programmable keyboard/display interface
34 16550 programmable communication interface,
35 Analog-to-digital (ADC) and digital-to- analog converters (DAC)
36 Basic interrupt processing, hardware interrupts
37 8259A programmable interrupt controller,
38 Introduction to the Microcontrollers
39 The AVR microcontroller family
40 Basic Features of AVR
41 Instruction Set Summary of AVR
42 Continued
43 Code Conversion (Assembly to HEX)
44 Code Conversion (HEX to Assembly)
45 Continued
46 Example Programs and Projects
47 Continued
48 Recap
Lab Practical
Lab No Topics
1 To Give an Overview of Number Systems and ASCII Code
2 To Introduce Microprocessor System and Assembly Language Programming
3 Use Assembly Language to Program the Microcontroller
4 To Introduce Code Vision AVR C Compiler to Program the Microcontroller
5 To Interface Seven Segment with Microcontroller
6 To Interface Liquid Crystal Display (LCD) with Microcontroller
7 To use Microcontroller Timers for Event Count; Pulse and Delay Generation
8 To Program the Serial Port for Asynchronous Communication
9 To Study Interrupt Programming for Event Detection
10 To Interface DC Motor with Microcontroller
11 To Interface Stepper Motor with Microcontroller
12 To Interface Analog to Digital Converter (ADC) for Real World Measurements
13 To Interface Keypad with Microcontroller for User Input
14 To Generate PWM Waveform using Timer