8088 Assembly: Creating Sawtooth Function & Setting Up 8255 for Data Transmission, Exams of Microprocessors

An engineering school honor code assignment for creating a sawtooth function using 8088 assembly language and setting up an 8255 for data transmission. The assignment includes instructions for writing commented procedures for sampling a/d channels, outputting voltage on d/a channels, configuring the 8255, and receiving data from a black box. The document also includes diagrams for connecting the 8253 and 8255 to the 8088.

Typology: Exams

Pre 2010

Uploaded on 09/02/2009

koofers-user-3z2
koofers-user-3z2 🇺🇸

10 documents

1 / 3

Toggle sidebar

This page cannot be seen from the preview

Don't miss anything!

bg1
El E 485 Test 3 Fall 1999
This in an Engineering School Honor Code assignment.
References Section: The following references are allowed if they do not have
any “illegal” information—the A86/D86 reference manual, handout on 8088
instructions, handout on 8255 and 8253 control words, handout on 8255 modes.
1) (30 points)
Assume that:
the procedure Get_AD will sample the A/D channel whose number is stored
in the AL register and return with an 8-bit number in the AL register. A/D
inputs are calibrated with an LSB of 10 millivolts.
the procedure Send_DA will output a voltage on the D/A channel whose
number is stored in the AL register. The voltage output is proportional to
the number stored in the AH register, and is calibrated with an LSB of 20
millivolts.
the procedure StepTime will delay for the number of milliseconds stored in the
DX register
the black box shown has two analog voltage outputs, DeltaV and Vmax.
Write a commented 8088 assembly language procedure, Sawtooth, that will
create 5,000 cycles of a sawtooth function as shown below on D/A channel 1.
The step size is determined by DeltaV from the black box and the amplitude
is limited by Vmax from the black box. The duration of each step should be
about 1 millisecond.
Vmax
DeltaV
A/D Channel 3
A/D Channel 6
0
Vmax
DeltaV
pf3

Partial preview of the text

Download 8088 Assembly: Creating Sawtooth Function & Setting Up 8255 for Data Transmission and more Exams Microprocessors in PDF only on Docsity!

El E 485 Test 3 Fall 1999 This in an Engineering School Honor Code assignment. References Section : The following references are allowed if they do not have any “illegal” information—the A86/D86 reference manual, handout on 8088 instructions, handout on 8255 and 8253 control words, handout on 8255 modes.

  1. (30 points) Assume that: the procedure Get_AD will sample the A/D channel whose number is stored in the AL register and return with an 8-bit number in the AL register. A/D inputs are calibrated with an LSB of 10 millivolts. the procedure Send_DA will output a voltage on the D/A channel whose number is stored in the AL register. The voltage output is proportional to the number stored in the AH register, and is calibrated with an LSB of 20 millivolts. the procedure StepTime will delay for the number of milliseconds stored in the DX register the black box shown has two analog voltage outputs, DeltaV and Vmax. Write a commented 8088 assembly language procedure, Sawtooth , that will create 5,000 cycles of a sawtooth function as shown below on D/A channel 1. The step size is determined by DeltaV from the black box and the amplitude is limited by Vmax from the black box. The duration of each step should be about 1 millisecond. Vmax DeltaV A/D Channel 3 A/D Channel 6 0 Vmax DeltaV
  1. (30 points) Shown below are a black box that will transmit data and an external 8255 that can be accessed using the labels Stat2, Port2A, Port2B, and Port2C. The pin assignments for Mode 1 of the 8255 are: INPUT OUTPUT PC7 I/O OBFA PC6 I/O ACKA PC5 IBFA I/O PC4 STBA I/O PC3 INTRA INTRA PC2 STBB ACKB PC1 IBFB OBFB PC0 INTRB INTRB The black box shown below will begin transmitting data when it receives a narrow high pulse on its StartTX line. The first byte transmitted gives the number of bytes of data that will follow. (That is, if the first byte transmitted is the number N, then N more bytes of data will follow.) Every time the black box outputs data, it will cause a negative edge on its NewData line. The next byte of data will not be sent until the black box receives a negative edge on its SendData line. Draw the connections between the 8255 and the black box and: A) (15 points) Write a commented 8088 procedure, SetUp8255M1 , that will configure the 8255 with Port A as Mode1 output and Port B and Mode 1 input. Use the Bit Set/ Reset feature to send a narrow high pulse to the StartTX line of the black box. B) (15 points) Write a commented 8088 procedure, GetTX , that will receive data from the black box and store them in array INDATA ( GetTx should set up INDATA). For part b, assume that the procedure SetUP8255M1 has already been written, and simply "call" SetUP8255M1 to begin the transmission. PA PA PB PB PC A0 PC D7-D Reset A CS WR RD 8255
  1. (15 points) StartTx SendData NewData Data 8