



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
Information about the autumn examinations 2009/2010 for the microprocessor systems engineering ii module (ee206.ii). The exam code, module code, exam name, instructions, and questions related to the aduc831 microcontroller. Candidates are required to answer question 1 compulsorily and any two other questions, each carrying 30 marks. The questions cover topics such as aduc831 instructions, pin functions, adc resolution, program memory space, and assembly language programming.
Typology: Exams
1 / 6
This page cannot be seen from the preview
Don't miss anything!
Autumn Examinations 2009/ Exam Code(s) 2 BP121, 2 BN121, 2BEE Exam(s) Second University Examination in Electronic and Computer Eng. Second University Examination in Electronic Engineering Second University Examination in Sports and Exercise Eng. Module Code(s) EE206.ii Module(s) Microprocessor Systems Engineering II Paper No. 1 Repeat Paper Special Paper External Examiner(s) Prof. G.W. Irwin Internal Examiner(s) Prof. G. Ó Laighin Dr. J.G. Breslin Instructions: 1. Answer QUESTION 1 AND ANY TWO OTHER QUESTIONS. Question 1 is COMPULSORY and carries 40 marks. Choose TWO questions from Questions 2, 3 and 4, each of which carries 3 0 marks.
Question 1 is COMPULSORY All questions relate to implementation on the ADuC831 microcontroller Question 1 (a) What type of operations are RET and DJNZ instructions considered to be? (i) Arithmetic (ii) Data (iii) Boolean (iv) Logical (v) Branch and control (vi) None of the above [3 marks] (b) Indicate the pin number on the ADuC831 that port 3 bit 1 uses, and indicate what other function can be implemented using this pin. [3 marks] (c) What is the least significant bit resolution for a 12-bit ADC using Vref = 2.5 V? (Include calculations in your answer.) [3 marks] (d) Calculate the amount of program memory space occupied by each instruction in the following code snippet. CLR A MOVC A, @A+DPTR PUSH A MOV A, #04 2 H NOP NOP [3 marks] (e) An ADuC831 uses an external crystal oscillator with a periodic frequency of 11. MHz. How many counts of the internal ADuC831 timer (in 16-bit mode) are required to measure a time interval of 10 ms? How is this implemented in assembly? [3 marks] [Continued on next page]
Answer any TWO questions from Questions 2, 3 and 4 Question 2 (a) How many channels and at what resolution does the analogue-to-digital converter (ADC) on the ADuC831 support? [3 marks] (b) Draw a detailed block diagram representation of a successive approximation ADC (SAR). Describe all signals and buses, and the operation of each element. [ 4 marks] (c) Write a short description of how multitasking can be achieved on the ADuC831. [4 marks] (d) If an external interrupt 0 (IE0) and a timer 0 overflow interrupt (TF0) occur at exactly the same time, explain which IRQ will be serviced by its associated ISR first. [3 marks] (e) Using a flowchart, describe a keypad polling strategy for the 4 × 4 keypad of Figure 2.1, which is directly interfaced to an ADuC8 31 microprocessor. [ 7 marks] Figure 2. (f) Write an ADuC831 assembly program to set pin 5 of port 3 when the ‘F’ key is pressed. Follow the strategy submitted in your answer to part (e). [ 9 marks] [ 3 0 marks in total]
Question 3 (a) Sketch a diagram of a system incorporating an ADuC831 and a Hitachi HD LCD. Include all pin numbers and signal names and indicate their functions. [5 marks] (b) Sketch the LCD data write-access timing diagram. Indicate the point on the timing diagram where data is transferred to the LCD. [4 marks] (c) Explain the function of the Hitachi HD47780 LCD device busy flag and its behaviour during the transfer of a data byte from the ADuC831 to the LCD device. [4 marks] For parts (d) to (g), you should assume that: An LCD 8-bit interface is used and the LCD has been initialised for 8-bit operation. The default LCD control signal levels are RS=0, RW=0 and EN=1. (d) Write an ADuC831 assembly code subroutine (named checkLCDBusy) which, when executed, continues to poll the LCD busy flag until the busy flag is deasserted. Define and use suitable ADuC831 program variable names. [4 marks] (e) Write an ADuC831 assembly code subroutine (named writeByteToLCD) which, when executed, transfers a single data byte to the LCD and then calls the subroutine checkLCDBusy. Assume that the data value is stored in the accumulator. [4 marks] (f) Write an ADuC831 assembly code subroutine (writeStringToLCD) which, when executed, transfers a string of message characters to the LCD. This program should call the subroutine writeByteToLCD. [4 marks] (g) Use the ADuC831 DB directive method to define the message string “Galway City”. Write a program segment which uses the writeStringToLCD subroutine to output this string to the LCD. Include handling of a string delimiter character. [5 marks] [ 3 0 marks in total]