



Study with the several resources on Docsity
Earn points by helping other students or get them with a premium plan
Prepare for your exams
Study with the several resources on Docsity
Earn points to download
Earn points by helping other students or get them with a premium plan
Community
Ask the community for help and clear up your study doubts
Discover the best universities in your country according to Docsity users
Free resources
Download our free guides on studying techniques, anxiety management strategies, and thesis advice from Docsity tutors
The instructions and questions for the microprocessor systems engineering ii (ee206.ii) exam held in semester two of the academic year 2011-2012. The exam covers topics related to the aduc831 microconverter, including addressing memory locations, adc resolution, conditional branching instructions, and interrupt handling. Candidates are required to answer question 1 compulsorily and any two other questions, with each question carrying different marks.
Typology: Exams
1 / 5
This page cannot be seen from the preview
Don't miss anything!
Semester Two Examinations 2011-
Exam Code(s) 2BLE, 2BP, 2BEI, 2BEE
Exam(s) Second Year Electrical and Electronic Engineering Second Year Electronic and Computer Engineering Second Year Engineering Innovation - Electronic Second Year Sports and Exercise Engineering
Module Code(s) EE206.ii Module(s) Microprocessor Systems Engineering II
Paper No. 1
External Examiner(s) Prof. G.W. Irwin
Internal Examiner(s) Prof. G. Ó Laighin Dr. J.G. Breslin
Instructions: (^) Answer Question 1 and Any Two Other Questions
Question 1 is compulsory and carries 30 marks Question 2, 3 and 4 carry 20 marks each
Candidates should note that marks may be lost if answers are not presented in a neat and legible format. Include rough-work calculations. Provide adequate information in your answers to illustrate your understanding. All programs should be well structured and include clear comments to clarify the solution method and program structure. State any assumptions made in your answers.
Duration 2 hours No. of Pages 5 pages (including cover page)
Discipline(s) Electrical & Electronic Engineering
Requirements : Handout HD44780 instruction set (2 pages) ADuC831 microconverter quick reference guide (2 pages) ADuC831 microconverter datasheet (pp. 2, 18-24, 55-58)
Question 1
(a) Distinguish between the direct and indirect methods for addressing memory locations on an ADuC831, giving an example using each method. [5 marks]
(b) What is the least significant bit resolution for a 12-bit ADC using VREF = 2.5 V? (Include calculations in your answer.) [5 marks]
(c) Explain the main differences between the LJMP, SJMP and AJMP conditional branching instructions. [5 marks]
(d) Calculate the amount of program memory space occupied by each instruction in the following code snippet. [5 marks]
MOV A, R NOP CLR C SUBB A, R EXIT: NOP
(e) Explain why we often refer to the ADuC831 as having 1 MIPS performance when the crystal frequency is typically 11.059 MHz, and explain how 3 MIPS could be achieved. [5 marks]
(f) Write short ADuC831 assembly language program segments to implement each of the two conditional operations listed below. (Make sure to incorporate the appropriate EQU statements in your code.) [5 marks]
IF X1 = 5 THEN Y = Y + 2 ELSE Y = 0 IF X < 3 then Y = Z * 4
Question 3 (Please refer to the HD44780 handout where appropriate for this question.)
(a) Explain the function of the Hitachi HD44780 LCD device busy flag and its behaviour during the transfer of a data byte from an ADuC831 to the LCD device. [5 marks]
(b) Assume that some ASCII characters are stored on an ADuC831 in the internal RAM locations 30H to 7FH. The [partial] assembly language program shown below will continually display these characters on an HD44780 LCD device, 16 characters at a time. Explain the function of each line of code below, and write the missing OUT function that will output the data on the bus. [15 marks]
MAIN: ACALL INIT MOV COUNT, # STRT: MOV PTR, #30H NEXT: MOV A, @PTR ACALL DISP INC PTR DJNZ COUNT, TEST MOV COUNT, # ACALL NEW TEST: CJNE PTR, #80H, NEXT SJMP STRT INIT: MOV A, #38H ACALL WAIT CLR RS ACALL OUT MOV A, #0EH ACALL WAIT CLR RS ACALL OUT NEW: MOV A, #01H ACALL WAIT CLR RS ACALL OUT MOV A, #80H ACALL WAIT CLR RS ACALL OUT RET DISP: ACALL WAIT SETB RS ACALL OUT RET WAIT: CLR RS SETB RW SETB DBUS. SETB E CLR E JB DBUS.7, WAIT RET
Question 4
(a) For the Arduino microcontroller, write a sketch that turns on and off the onboard LED (pin 13) to transmit the Morse code for ‘MSE’, i.e. ‘dash dash shortgap dot dot dot shortgap dot’, assuming that a unit is of one second duration, and Morse code is composed of the following five elements:
(b) The 4×4 keypad shown in Figure 2 is directly interfaced to an ADuC microprocessor. Write the code for a key press polling function that avoids having to hard code each of the sixteen key press scenarios, by assigning temporary key values in a numeric sequence and using a lookup function pattern to re-assign these temporary values to the actual key values. [11 marks]
Figure 2: Matrix keypad