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

Adc and Dac

Expriment 12

Uploaded by

lukuman seethi
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
84 views5 pages

Adc and Dac

Expriment 12

Uploaded by

lukuman seethi
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 5

8086 ADC PROGRAM:

ADDRESS LABEL OPCODE MNEMONICS COMMENTS


1000 BA 26 FF MOV DX,FF26H OUT IT IN CONTROL REG

1003 B0 90 MOV AL,90H CWR FOR PORT A AS I/P PORT B


AND PORT C AS O/P
1005 EE OUT DX,AL MOVE THE CONTROL WORD
CNTR.REG
1006 BA 24 FF MOV DX,FF24H PORT C IS ENABLED FOR WR

1009 B0 FF MOV AL,FFH START OF CONVERSION

100B EE OUT DX,AL MOVE THE CONTROL WORD


CNTR.REG
100C B0 00 MOV AL,00H 00 VALUE MOVES TO AL

100E EE OUT DX,AL MOVE THE CONTROL WORD


CNTR.REG
100F B0 FF MOV AL,FFH FF VALUE MOVES TO AL

1011 EE OUT DX,AL MOVE THE CONTROL WORD


CNTR.REG
1012 E8 EB 00 CALL 1100H DELAY ROUTINE

1015 BA 20 FF MOV DX,FF20H PORTA AS I/P

1018 EC IN AL,DX READ THE ADC VALUE

1019 CC INT 3 BREAK POINT


DELAY SUBROUTINE:

ADDRESS LABEL OPCODE MNEMONICS COMMENTS


1100 B9 FF FF MOV CX,FFFFH DELAY COUNT

1103 L1 90 NOP NO OPERATION

1104 90 NOP NO OPERATION

1105 49 DEC CX DECREMENT CX

1106 75 FB JNE 1103H(L1) ZF=0,THEN GO TO 1103H

1108 C3 RET RETURN TO MAIN PROGRAM

FORMULAE:

255 x INPUT VOLTAGE


= DECIMAL VALUE, CONVERT TO HEX (DIGITAL VALUE)
(+5V)MAX VOLTAGE

EXAMPLE:

255 x 2.5 V
=127.5 (CONVERT THIS O/P VALUE TO HEX)
5V
=7F 80(DIGITAL VALUE)

OUTPUT EXAMPLE VALUES:

INPUT VALUE
OUTPUT DIGITAL VALUE
(V)
00 00
1.25 40
2.5 80
3.75 C0
5.0 FF
8086 DAC PROGRAM:

BASIC SIMPLE PROGRAM

ADDRESS LABEL OPCODE MNEMONICS COMMENTS


1000 BA 26 FF MOV DX,FF26H CWR FOR ALL PORT O/P

1003 B0 80 MOV AL,80H OUT IT IN CONTROL REG

1005 EE OUT DX,AL MOVE THE CONTROL WORD


CNTR.REG
1006 BA 22 FF MOV DX,FF22H OUT PORT B

1009 B0 FF MOV AL,80H GIVEN I/P DATA

100B EE OUT DX,AL MOVE THE CONTROL WORD


CNTR.REG
100C CC INT 3 BREAK POINT

FORMULAE:

255 x INPUT VOLTAGE


= DECIMAL VALUE, CONVERT TO HEX (DIGITAL VALUE)
(+5V)MAX VOLTAGE
EXAMPLE:

255 x 2.5 V
=127.5 (CONVERT THIS O/P VALUE TO HEX)
5V
=7F 80(DIGITAL VALUE)

OUTPUT EXAMPLE VALUES:

OUTPUT VALUE
INPUT DIGITAL VALUE
(V)
00 00
40 1.25
80 2.5
C0 3.75
FF 5.0
INTERFACING USING TIMER TO GENERATE SQUARE WAVE

I/O Address for 8253/8254:


Counter0 -> FF10H
Counter1 -> FF12H
Counter2 -> FF14H
Control reg -> FF16H
Program:
ADDRES LABEL OP CODE MNEMONICS COMMENT
S
0100 B0 B7 MOV AL,B7H ;timer initialised with
counter 2 in mode 3
0102 BA 16 FF MOV DX,FF16H ;control port address in
dx
0105 EE OUT DX,AL ;send the data to the
timer
0106 B0 02 MOV AL,02H ;load lsb count in the al
0108 BA 10 FF MOV DX,FF10H ;port address in dx
010B EE OUT DX,AL ;output the al contents
to clk2
010C B0 00 MOV AL,00H ;load msb count in the
al
010E BA 10 FF MOV DX,FF10H
0111 EE OUT DX,AL ;output the al content
to clk2
0112 CC INT 3 ;break point

You might also like