Sie sind auf Seite 1von 10

Microprocessor and Interfacing L,T,P,J,C

Subject Code:
CSE2006 2,0,2,4,4
Preamble This course is an introductory course to understand the working of the
processor. To introduce students to assembly language programming
and to explain how the peripherals are connected to the processor. This
will serve as foundation for the advanced studies in the area of
Hardware design or Embedded System Design.

Objective of the course


 Introduction to fundamentals of 8086
 Ability to use peripherals for product design, problem solving
 learn to use of tools such as assembler(MASM, EMU8086)
 Design product for automation at Home, Industry.

Expected Outcome After successfully completing the course the student should be able to

1) Describe the basic architecture of a stored -program computer.


2) Identify the addressing modes of a sample microprocessor
3)Write assembly language programs for the given processor
4)Describe a typical I/O interface
5) Design the circuit/prototype using COTS hardware for various
applications
Module Topics L Hrs SLO
1 INTRODUCTION TO 8086 MICROPROCESSOR
Introduction to 8086, Pin diagram, Architecture, addressing mode 6 2
and Instruction set
2 INTRODUCTION TO ALP
Tools- Assembler Directives, Editor, assembler, debugger,
simulator and emulator. E.g., ALP Programs-Arithmetic 5 5,9,17
Operations and Number System Conversions, Programs using
Loops, If then else, for loop structures
3 Advanced ALP
interrupt programming using DOS BIOS function calls, File 2 5,9,17
Management
4 INTRODUCTION TO PERIPHERAL INTERFACING-I 5 2,5
PPI 8255, Timer – 8253,Interrupt controller-8259
5 INTRODUCTION TO PERIPHERAL INTERFACING-II
IC 8251 UART, Data converters (A/D and D/A Converter), seven 4 5,9,17
segment display and keyboard interfacing
6 CO-PROCESSOR 4 2,9
Introduction to 8087, Architecture, Instruction set and ALP
Programming
7 INTRODUCTION TO ARDUINO BOARDS
Introduction to Microcontroller- Quark –SOC processor,
programming, Arduino Boards using GPIO (LED,LCD, Keypad, 2 2,9
Motor control and sensor), System design application and case
study.
8 Recent Trends:
Architecture of one of the advanced processors such as Multicore, 2 2,9
Snapdraggon, ARM processor in ipad
Lab Experiments areas 5,6,9,17
30
1 Arithmetic operations 8/16 bit using different addressing modes.
2 (a)Finding the factorial of an 8 /16 bit number.
3 (a)Solving nCr and nPr
(b) Compute nCr and nPr using recursive procedure. Assume that
‘n’ and ‘r’ are non-negative integers.
3 Fibonacci series
4 Sorting in ascending and descending order
5 (a)Search a given number or a word in an array of given numbers.
(b) Search a key element in a list of ‘n’ 16-bit numbers using the
Binary search algorithm.
6 To find the smallest and biggest numbers in a given array.
7 ALP using number system conversions
8 (a) String operations(String length, reverse, comparison,
concatenation, palindrome)
9 Password checking
10 Convert a 16-bit binary value (assumed to be an unsigned integer) to
BCD and display it from left to right and right to left for specified
number of times .
12 Read the current time from the system and display it in the
standard format on the screen.
13 Program to simulate a Decimal Up-counter to display 00-99.
14 Read a pair of input co-ordinates in BCD and move the cursor to
the specified location on the screen.
15 Stepper motor interface using 8086/ Intel Galileo Board
16. Seven segment LED DISPLAY using 8086/Intel Arduino Board
Indicative list of experiments:
1. The bating strike rate of a batsman in an IPL series for 12 matches is
12h,14h,18h,20h,10h,11h,15h,24h,12h,10h,8h and 16h. Write a
procedure to calculate the average strike rate of the batsman.
2. Compute the factorial of a positive integer ‘n’ using recursive
procedure.
3. Write an ALP to find number of password phrase possible using 4
alphabets and 2 numbers. The alphabet and number should not be
repeated.
4. Tulip flower petals are arranged in Fibonacci pattern from outer layer.
Write an ALP to find numbers of petals available at the 5th layer of a
Tulip.
5. For a decoration, 100 petals of Tulip are required. Tulip has petals
arranged in Fibonacci number and has petals up to 5th Fibonacci level.
Write an ALP to find number of Tulip flowers required for the
decoration.
6. VIT university is planning to admit 10 new Ph.D candidates for the
SCSE, but VIT received 15 applications and their marks out of 100
are: 30,24,12,70,45,67,34,20,33,88,34,69,54,90 and 50. Write an ALP
to select top 10 candidates.

7. Find the shortest word from the given words “Windowsxp”,


“RedhatLinux” and “AppleMacOs” and print the word in reverse
order.
8. Read your name from the keyboard and display it at a
specified location on the screen in front of the message “What is your
name”? You must clear the entire screen before display.
9. ‘A chain is only’? is the first string. Append the second string ‘as
strong as its weakest link’ with the first string and replace character ‘a’
with ‘z’.
10. For security reasons, the bank accepts the username of a new internet
user with a characteristic such that the reverse of the user name should
not match with original, if so ‘OK’ message is displayed otherwise
“Retype username “message is displayed. Write an ALP for the above
scenario.
11. Assume an optical document scanner. The Optical sensor is controlled
by the stepper motor. While scanning the optical sensor has to move
slowly from left to right and has to move back to the left. Write an
ALP to control the optical sensor while scanning.
12. Assume that 1st of May is Friday, you are planning to take a leave on
Friday of 6th week from 1st May. Find the date of leave and display all
the dates of Friday till 6th weeks.
13. Write an ALP to switch the simulate Traffic Light using input output
peripherals interfaced to 8086 microprocessor/ GPIO of Intel Arduino
Board.
Sample Project # Generally a team project [5 to 10 members] 60 [Non 5,6,9,17
# Assessment on a continuous basis with a min of 3 reviews. Contact
hrs]
Projects may be given as group projects

Sample project titles:


1. Water Level/ Flood Control system using microprocessor/arduino -
GPIO
2. Elevator Control System
5, 9
3. Home Automation System using arduino GPIO
4. Efficient water supply to the plants using Moisture sensor( Intel
Galileo Arduino Board)
5. Security system Intel Arduino Galileo Board(Burglar Alarm system)
6. Arduino based obstacle detection system for disabled people.
7. Pill Remainder for elderly people using arduino
8. People counter using Arduino in an auditorium

Text Books
1. A.K. Ray and K.M. Bhurchandi Advanced Microprocessors and Peripherals, third
Edition, Tata McGraw Hill, 2012.
2. Barry B Bray , The Intel Micro processor 8086/8088, 80186,80286, 80386 and 80486-
Arcitecture, programming and interfacing, PHI, 8th Edition,2009

Reference Books

1. Douglas V. Hall, SSSP Rao” Microprocessors and Interfacing Programming and


Hardware”. Tata McGraw Hill, Third edition, 2012.
2. Mohamed Rafiquazzaman, “Microprocessor and Microcomputer based system design,”
Universal Book stall, New Delhi, Second edition, 1995
3. K Uday Kumar, B S Umashankar, Advanced Micro processors & IBM-PC Assembly
Language Programming, Tata McGraw Hill, 2002.
4. Massimo Banzi,”Getting Started with Arduino “, First Edition, pub. O'Reilly,2008’
Microprocessor and Interfacing
Knowledge areas that contain topics and learning outcomes covered in the course

Knowledge Area Total Hours of Coverage

CS: AR(Architecture) / CE: CAO(Computer 28


Architecture and Organization)

CS: HCI (Human computer Interaction) 2

Body of Knowledge coverage

KA Knowledge Unit Topics Covered Hours

CE:CAO0 History and  Indicate some important topic areas such as 2


CE:CAO6 overview of system organization and architecture,
CE:CAO3 computer memory, interfacing, microprocessors
architecture and CAO0
organization
 Mention a typical CPU and sketch its
Processor systems organization CAO0
design
 The CPU interface: clock, control, data and
address buses (CAO6)

 Main memory organization and its


characteristics and performance (CAO3)

CE:CAO1 Fundamentals of  Instruction formats (CAO1) 4


CS:AR computer
architecture  The fetch/execute cycle; instruction
decoding and execution (CAO1)
Assembly Level  Registers and register files (CAO1)
Machine
Organization  Instruction types and addressing modes
(CAO1)

 Control unit; instruction fetch, decode, and


execution AR

 Instruction sets and types (data


manipulation, control, I/O) AR

 Instruction formats AR

 Addressing modes AR

CE:CAO1 Fundamentals of  Programming in assembly language CAO1 7


CS:AR computer
architecture  I/O techniques and interrupts CAO1

Assembly level  Subroutine call and return mechanisms


machine CAO1, AR
organization  Assembly/machine language programming
AR

CE:CAO4 Interfacing and  I/O fundamentals: handshaking, buffering, 7


CE:CAO6 communication I/O techniques: programmed I/O, interrupt-
driven I/O, DMA, (CAO4)
Processor systems
design  Interrupt structures: vectored and
prioritized, interrupt overhead, interrupts
CS:AR Assembly Level and re-entrant code (CAO4)
Machine  Basic parallel and serial interfaces (CAO6)
Organization
 Timers (CAO6)
Interfacing and  I/O and interrupt AR
Communication
 I/O fundamentals: handshaking, buffering,
programmed I/O, interrupt-driven I/O AR

 Interrupt structures: vectored and


prioritized, interrupt acknowledgment AR

CE:HCI1 Foundations of  Motivation: the importance of the human 2


CS:HCI human-computer interface in computer engineering; issues of
interaction small screens and larger screens, HCI1

User-centered  Principles of good human computer


design and testing interaction design in the context of
computer engineering; engineering
tradeoffs, HCI1
 Approaches to, and characteristics of, the
design process HCI

CE:CAO2 Computer  Representation of integers (positive and 8


arithmetic negative numbers)

 Significance of range, precision, and accuracy


in computer arithmetic

 Representation of real numbers (standards for


floating-point arithmetic)

 Algorithms for carrying out common floating-


point operations

 Converting between integer and real numbers


Multi-precision arithmetic

 Hardware and software implementation of


arithmetic unit

 The generation of higher order functions from


square roots to transcendental functions

Total hours 30
Where does the course fit in the curriculum?

This course is a
 Program core Course.
 Suitable from 3rd semester onwards.
 Knowledge of Fundamental Digital logic is prefferred

What is covered in the course?

This course is designed to cover Introduction to microprocessor and microcontroller. Various


peripheral devices that may be connected to microprocessor for input, output with other system
are covered here. Second module covers how to program the microprocessor using assembly
language. Intel 80x86 architecture is used in desktop computers. Peripheral device interface and
assembly language programming to interact with DOS is also covered here. Fourth module
covers to enable multiprocessing with numeric processor.
The last module is intended for encouraging project work in automation at home and at Industry.

What is the format of the course?


This Course is designed with 100 minutes of in-classroom sessions per week. Generally this
course will have the combination of lectures, in-class discussion, case studies, guest-lectures,
mandatory off-class reading material, assignments and quizzes.

How are students assessed?


 Students are assessed based on group activities, classroom discussion, assignments, quiz,
projects, continuous (CAT) assessment test, and final assessment test.

Session wise plan


Sl. Class Hour Lab Topic Covered levels of Text/ Remarks
No. Hour mastery Reference
Book
1 3 Introduction to Familiarity 1,2
8086, Pin
diagram,
Architecture,
2 3 4 addressing mode Usage 1, 2
and Instruction
set
3 1 1 Tools- Usage 1 LAB
Assembler Component
Directives,
Editor,
assembler,
debugger,
simulator and
emulator
4 3 5 . E.g., ALP Assessment 1,2 LAB
Programs- Component
Arithmetic
Operations and
Number System
Conversions,
5 1 4 Programs using Familiarity 1,2 LAB
Loops, If then Component
else, for loop
structures
6 2 2 interrupt Usage 1, LAB
programming Component
using DOS
BIOS function
calls, File
Management
7 3 2 PPI 8255, Familiarity 1 LAB
Timer – 8253 Component
8 2 0 Interrupt Usage 1
controller-8259,
9 2 2 IC 8251 UART, Usage 1
Data converters
(A/D and D/A
Converter),
10 2 2 seven segment Usage 1 LAB
display and Component
keyboard
interfacing
11 2 4 Introduction to Usage 1
8087,
Architecture,
12 2 Instruction set 1
and ALP
Programming
13 1 Introduction to Usage INTEL LAB
Microcontroller- Galileo Component
Quark –SOC Arduino
processor, Lab manual
14 1 4 Programming Assessment INTEL LAB
INTEL Galileo Galileo Component
Arduino Boards Arduino
Lab manual
using GPIO
(LED, LCD,
Keypad, Motor
control and
sensor), System
design
application and
case study.
15 2 Recent trends:
Architecture of
one of the
advanced
processors, such
as Multicore,
Snapdraggon,
ARM processor
in ipad.
30 Hours (2 30
Credit hours Hours
(2
Weeks Credit
schedule) hours /
week )