0% found this document useful (0 votes)
7 views5 pages

Embedded

This document outlines the examination details for a Bachelor's degree in Applied Computing/Software Development, specifically for the Embedded Systems course. It includes instructions for the exam, compulsory and optional questions covering topics such as embedded systems programming, bitwise operations, and serial communication. The exam is scheduled for December 2022 and consists of multiple questions that require coding and theoretical explanations.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
7 views5 pages

Embedded

This document outlines the examination details for a Bachelor's degree in Applied Computing/Software Development, specifically for the Embedded Systems course. It includes instructions for the exam, compulsory and optional questions covering topics such as embedded systems programming, bitwise operations, and serial communication. The exam is scheduled for December 2022 and consists of multiple questions that require coding and theoretical explanations.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 5

UNIVERSITY EXAMINATIONS: 2022/2023

EXAMINATION FOR BACHELORS DEGREE IN APPLIED


COMPUTING/SOFTWARE DEVELOPMENT
BAC 3203/ BSD 3205: EMBEDDED SYSTEMS
FULL TIME/ PART TIME
ORDINARY EXAMINATION
DATE: DECEMBER, 2022 TIME: 2 HOURS

INSTRUCTIONS: Question One Is Compulsory, Choose Two Other Questions

QUESTION ONE (20 marks) Compulsory


a) Consider the following embedded system with a dial that can set A3..A0 to binary 0 to 9,
and a 7-segment display (Wikipedia: 7-Segment Display) connected to B6..B0 as shown:

Below is a (partial) RIM C program that appropriately sets the display for the given dial
position:
#include "RIMS.h"

void main()
{
while (1) {
switch( A )
{
case 0 : B = 0x77; break; // 0111 0111 (0)
case 1 : B = 0x24; break; // 0010 0100 (1)
case 2 : B = 0x5D; break; // 0101 1101 (2)
//...
case 9 : B = 0x6F; break; // 0110 1111 (9)
default: B = 0x5B; break; // 0101 1011 (E for Error)
}
}
}

i) What B_ outputs should be set to 1 for case 3? List in ascending order separated
by spaces, e.g., B0 B2 ... [5 marks]
ii) To what should B be set for case 3? B = ____; Use uppercase letters for the hex
literal. [5 marks]
b) State and explain the results of the following bitwise operation. [10 marks]
i) 00001111 & 10101010
ii) 00001111 | 10101010
iii) 00001111 ^ 10101010
iv) ~00001111
v) Give a statement that sets B's bits to the opposite of A's bits, so if A is
11110000, B will be 00001111. End with ;

QUESTION TW0 (15 marks)


A parking lot has eight parking spaces, each with a sensor connected to input A. Write a program
that sets B to the number of occupied spaces, by counting the number of 1s using the GetBit()
function. [15 marks]

QESTION THREE (15 marks)


Given the following timing diagram and the light on/off SM, determine the value of B0 at
the specified times. [15 marks]
i) 0 s [3 marks]
ii) 1 s [3 marks]
iii) 2 s [3 marks]
iv) 3 s [3 marks]
v) 4 s [3 marks]

QUESTION FOUR (15 marks)


a) Explain and give an example of an embedded system [5 marks]
b) Consider the following schematic diagram for a serial communication
Two Arduino boards are used. The Arduino Uno on the left is the sender and the Arduino
Mega on the right is the receiver. We use the Mega to make it easier to display debugging
information on the computer. The Arduinos are connected together using digitals 0 and 1
(RX and TX) on the Uno and digitals 16 and 17 (RX2 and TX2) on Mega. The receiver
on one needs to be connected to the transmit on the other and vice versa. The Arduinos
also need to have a common reference between the two, this is done by running a ground
wire. The first step in creating a serial communication system is to package the string to
be communicated. In general a packet is comprised of some start byte, a payload (the data
you wish to send), and a checksum to validate your data. Here, the packet is: [0x53]
+[counter value]+[static value]+ [checksum]. The sender code is shown below that
increments our counter and send our packet.
Write the Receiver code for the above send information. [10 marks]

You might also like