System Design Example

You might also like

Download as pdf or txt
Download as pdf or txt
You are on page 1of 21

System Design Example

Design a System that senses the


temperature in a room at intervals of
2 minutes and display the average room
temperature in 0C on two, 7-segment
LED displays.
ATS2000A

PIN SIGNAL Input/ Scale Description


Output Factor
1 +V INPUT N/A Voltage referenced to the COM
terminal
(+5Vdc min to +30Vdc max )
2 T10 OUTPUT 10.0mV/° Temperature Signal
F

3 T20 OUTPUT 19.6mV/° Temperature Signal (scaled for 8-


F bit ADC)

4 COM INPUT N/A Common (power supply & ADC


common
ADC CLK
1.25 MHz
5 MHz CLK0 OUT0
Count = 4d
5V GATE0
mode3
100 Hz
OUT1 CLK1 5 MHz
5V GATE1 Count = 50000d
mode2
2 minutes
CLK2 OUT2
Count =12000d
5V GATE2
mode2 TIMER INT
CLK IN0
IN1
IN2
Temp
DB0 – IN3 sensors
PB0 –PB7 DB7 IN4
IN5
IN6
PC0 AD0 IN7
PC1 AD1
PC2 AD2 VREF+ 5V
INTR EOC VREF- 0V
PC3 Vcc Supply
OE
PC4 GND
SOC
PC5 ALE

ADC 0808
INT IR0 Timer

INTA IR1 ADC

8259
CAS0
CAS1
CAS2
SP/EN

5V
D0
LT a
RBO
RBI
h
5V
PA0 A
PA1 B D0
C Vcc
PA2 D 5V LT a
RBO
PA3 GND RBI
5V h
7447 5V
PA4 A
PA5 B
C Vcc
PA6 D 5V
PA7 GND
5V
7447
I/O Memory Interfacing-
8255, 8254 & 8259
Memory mapped/ IO mapped ? 80 10000000
How many addresses? 82 10000010
84 10000100
Address
86 10000110
80 - 86H -8255 88 10001000
88H - 8EH – 8254 8A 10001010
90H – 92H - 8259 8C 10001100
8E 10001110
Incremental Addressing
90 10010000
92 10010010
94 10010100
96 10010110
Memory Interfacing
How much memory ?
ROM/RAM?
RAM – minimum 2k chip- 4k
ROM – minimum 2k chip – 4k + 4k
ROM1 00000H
RAM 01000H
ROM2 FF000H
Step 9: Software

Main

Branch to end
of IVT

Initialize 8255,
8254,8259

A
A

Step 9: Software EC=1

Select ADC Channel

Start Conversion
for sensor

Wait for
done=1

N All
sensors
Read, done=0 ISR1 ISR2
Y
Find average, Enable conversion Read ADC
EC=0 EC=1 Done=1

B IRET IRET
A

Step 9: Software EC=1

B
Select ADC Channel

Start Conversion Convert to oC


for sensor
Display Temp
Wait for
Int
A
All
N sensors
read
Y
Find average,
Disable conversion

B
I/O Memory Interfacing-
8255, 8254 & 8259
Memory mapped/ IO mapped ? 80 10000000
How many addresses? 82 10000010
84 10000100
Address
86 10000110
80 - 86H -8255 88 10001000
88H - 8EH – 8254 8A 10001010
90H – 92H - 8259 8C 10001100
8E 10001110
Incremental Addressing
90 10010000
92 10010010
94 10010100
96 10010110
D0
LT a
RBO
RBI
h
5V
PA0 A
PA1 B D0
C Vcc
PA2 D 5V LT a
RBO
PA3 GND RBI
5V h
7447 5V
PA4 A
PA5 B
C Vcc
PA6 D 5V
PA7 GND
5V
7447
CLK IN0
IN1
IN2
Temp
DB0 – IN3 sensors
PB0 –PB7 DB7 IN4
IN5
IN6
PC0 AD0 IN7
PC1 AD1
PC2 AD2 VREF+ 5V
INTR EOC VREF- 0V
PC3 Vcc Supply
OE
PC4 GND
SOC
PC5 ALE

ADC 0808
Initializing 8255
i8255: mov al,10000010b
out 86H , al

PortA (A0-A7) –output(output)


PortB- input(input- ADC datalines)
PortC-output (8259- OE,SOC,ALE, AD0-AD2)
ADC CLK
1.25 MHz
5 MHz CLK0 OUT0
Count = 4d
5V GATE0
mode3
100 Hz
OUT1 CLK1 5 MHz
5V GATE1 Count = 50000d
mode2
2 minutes
CLK2 OUT2
Count =12000d
5V GATE2
mode2 TIMER INT
Initializing 8254
i8254: mov al,00110100b
out 8EH , al
mov al,01110110b
out 8EH , al
mov al,10110110b
out 8EH ,al
Initializing 8254
mov al,4
out 88H , al
Count = 4d
mov al,0
out 88H , al Count = 50000d
mov al,50h Count =12000d
out 8AH , al
mov al,0C3h
out 8AH , al
mov al,0e0h
out 8CH ,al
mov al,2eh
out 8CH , al
ICW1

ICW2

Cascade?

ICW3

ICW4?

ICW4

Ready to accept Interrupts


Initialising 8259
I8259: mov al,0000 0011b
out 90h,al
mov al,1000 0000b
out 92h,al
mov al,0000 0011b
out 92h,al

You might also like