Problem Based Learning
Course: Microprocessor Programming (314321)
Course Outcome (CO)
CO1-Analyze the functional block diagram of 8086 microprocessor.
CO2-Use program development tools and assembler directives.
CO3- Use instructions in different addressing modes.
CO4- Develop an assembly language program for a given task using assembler
CO5-Use procedures and macros to develop an assembly language program for a given
problem.
At the beginning of the semester, students will form groups, with each group being assigned a
specific project based on the problem statement. Throughout the semester, students will work
on this project alongside their regular practical assignments.
Problem statements:
1. In a small store, you need to create a simple billing system where the total cost of items
purchased by a customer needs to be calculated. Each item has a price, and the customer can
buy multiple quantities of each item. After entering the quantities and prices, the system will
calculate the total amount due for the purchase, apply a discount if applicable, and print out
the final bill.
. Problem Requirements:
The price of each item is a 16-bit number.
The quantity purchased of each item is also a 16-bit number.
Multiply the price of each item by the quantity to get the total cost for that item.
Sum up the total cost for all items to get the total bill.
Apply a discount of 10% on the total bill if it exceeds a certain threshold (e.g., $100).
Arithmetic Operations Involved:
1. Multiplication of price and quantity for each item to get the total cost of that item.
2. Addition of all item totals to calculate the overall total bill.
3. Subtraction to apply a discount (if the total exceeds the threshold).
4. Division to calculate the discount percentage
2. Consider a system where an 8086-based microprocessor is interfacing with a device that
collects temperature sensor data into memory locations. The data might need to be
periodically transferred to another location for analysis or further processing like to find
average temperature of a day or to know maximum temperature of a day. Suppose the data to
be transferred is stored in one memory block (e.g., address 7000H) and needs to be copied to
another memory block (e.g., at address 8000H), and this transfer should happen automatically
after some fixed time interval. The system should execute the block transfer in an efficient
manner, without requiring manually copy each byte individually. Instead, the 8086
microprocessor’s block transfer instructions should be used to move the data. So transfer data
from 7000H to 8000H using string instruction
3. In word processing software, a common feature is a spell checker that identifies misspelled
words by comparing them with a predefined dictionary of correct words. Implement a
program to check spelling of word by comparing with predefined spelling. Use string
comparison instruction to find to give the output as entered word is correctly spelled or not.
4. In a manufacturing plant, a production line operates with a machine that produces a
specific number of parts every day. For instance, on the first day, the machine produces 5
parts, on the second day it produces 09 parts, on the third day 13 parts, and so on.
The goal is to calculate the total number of parts produced by the machine over a certain
number of days (N days). This sum will help the plant manager estimate the production
output over time and plan for material procurement, staffing, and logistics
5. In Agriculture system, Humidity readings are taken from five different humidity sensors
distributed across different sections of the farm. Each sensor gives a 16-bit humidity value,
and you need to find the highest humidity among these readings for monitoring and control
purposes. Write a program for the 8086 microprocessor to find the smallest number out of
five 16-bit humidity readings from multiple sensors. The numbers are stored in memory, and
the program must output the smallest humidity.
6. There is Sensor network that records temperatures at different times of the day in each
room. These readings are stored in memory as an array. Task is to sort these temperature
readings in ascending order so that a report can show the rooms with the coldest temperatures
to the warmest in a systematic way.
7. Design and implement a cipher technique based on the reversal of strings to generate
encrypted (cipher) text from plain text. The encryption technique should involve reversing
each word in the input text to produce the corresponding cipher text. The decryption process
should allow the reversal of the cipher text back to the original plain text.
Mapping of problem statements with experiments
Sr. Problem Statement Mapping of CO
No Experiments with
application
1 In a small store, you need to create a simple billing 3,4,7,8 All CO’s
system where the total cost of items purchased by a
customer needs to be calculated. Each item has a price,
and the customer can buy multiple quantities of each
item. After entering the quantities and prices, the
system will calculate the total amount due for the
purchase, apply a discount if applicable, and print out
the final bill.
2 Consider a system where an 8086-based 5 All CO’s
microprocessor is interfacing with a device that collects
temperature sensor data into memory locations. The
data might need to be periodically transferred to
another location for analysis or further processing like
to find average temperature of a day or to know
maximum temperature of a day. Suppose the data to be
transferred is stored in one memory block (e.g., address
7000H) and needs to be copied to another memory
block (e.g., at address 8000H), and this transfer should
happen automatically after some fixed time interval.
The system should execute the block transfer in an
efficient manner, without requiring manually copy each
byte individually. Instead, the 8086 microprocessor’s
block transfer instructions should be used to move the
data. So transfer data from 7000H to 8000H using
string instruction
3 In word processing software, a common feature is a 6 All CO’s
spell checker that identifies misspelled words by
comparing them with a predefined dictionary of correct
words. Implement a program to check spelling of word
by comparing with predefined spelling. Use string
comparison instruction to find to give the output as
entered word is correctly spelled or not
4 In a manufacturing plant, a production line operates 9 All CO’s
with a machine that produces a specific number of parts
every day. The output increases each day. For instance,
on the first day, the machine produces 5 parts, on the
second day it produces 09 parts, on the third day 13
parts, and so on.
The goal is to calculate the total number of parts
produced by the machine over a certain number of days
(N days). This sum will help the plant manager
estimate the production output over time and plan for
material procurement, staffing, and logistics
5 In Agriculture system, Humidity readings are taken 10 All CO’s
from five different humidity sensors distributed across
different sections of the farm. Each sensor gives a 16-
bit humidity value, and you need to find the lowest
humidity among these readings for monitoring and
control purposes. Write a program for the 8086
microprocessor to find the smallest number out of five
16-bit humidity readings from multiple sensors. The
numbers are stored in memory, and the program must
output the smallest humidity.
6 There is Sensor network that records temperatures at 11 All CO’s
different times of the day in each room. These readings
are stored in memory as an array. Task is to sort these
temperature readings in ascending order so that a report
can show the rooms with the coldest temperatures to
the warmest in a systematic way
7 . Design and implement a cipher technique based on 12 All CO’s
the reversal of strings to generate encrypted (cipher)
text from plain text. The encryption technique should
involve reversing each word in the input text to
produce the corresponding cipher text. The decryption
process should allow the reversal of the cipher text
back to the original plain text