You are on page 1of 19

BIRLA INSTITUTE OF TECHNOLOGY AND SCIENCE

DESIGN ASSIGNMENT

MICROPROCESSORS AND INTERFACING

PREPARED BY:
INDERDEEP SINGH 2016A7PS0041P
KARVE ANIRUDDHA GIRISH 2016A7PS0042P
SHUBHAM JAIN 2016A7PS0043P
LAKSH RAJESHNANWANI 2016A7PS0044P
1. PROBLEM STATEMENT

P19: System to be Designed: Chocolate Vending System


Description: This automatic machine vends three different
types of chocolates.
Perk: Rs. 5
Five-Star: Rs.10
Dairy Milk: Rs.20

The currency has to be User Interface:


given in terms of 5 Rupee
coin. A weight sensor is
used to detect whether the
coin is an Rs5 coin or not.
There are three buttons
available for the selection
of the chocolate. After the
chocolate has been selected
user has to put the correct
currency into the coin slot.
When the user has
dropped the entire
amount into the slot, the
machine dispenses the
correct chocolate.
LED s are used as indicators
to show if any of the
chocolates being vended are
not available.
2. ASSUMPTIONS

1. There are three separate trays for 3 chocolates (perk, five star
and dairy milk).
2. Each tray has storage capacity of 10 chocolates.
3. The five rupees coin used with only one type whose
specification as follows:

Denomination Metal Weight Shape Size

Cupro-
Five Rupees 6.0 g Circular 23 mm
Nickel

5. The user can order 1 type and 1 chocolate at a time by pushing


required Switch. Any coins inserted before pressing switch will not
be considered.

rupees coin(s) in coin slot as per cost of chocolate with some time
interval (if more than one coin is required for purchasing the
chocolate).
7. The user does not put in anything other than Indian currency

rupee coins from passing in (as they have a radius larger than that
of 5 rupee coins).
8. Pressure transducer MPX4115 is used for checking the coin
validity.
9. At the bottom of each chocolate tray LDR used for sensing if the
tray is empty. If all chocolate of a particular tray are sold then
bottom, a relay is connected to push the
chocolate. Green LEDs indicate successful dispensing of chocolate.

3. SYSTEM DESIGN

3.1 LIST OF COMPONENTS USED

1 Modules
Quantity References Value Description
1 M1 MPX4115 Integrate Silicon Pressure Transducer
for Absolute Pressure

24 Integrated Circuits
Quantity References Value Description
1 U1 8086 16 bit Microprocessor
3 U2-U4 74LS373 Octal D-Type Transparent Latches with
3-State Outputs
2 U5-U6 74LS245 Otal Bus Transceivers With Tristate
Outputs
2 U7-U8 2732 32K (4Kx8) EPROM
3 U9,U14,U18 NOT Simple Digital Inverter
2 U10-U11 6116 16K (2Kx8) Static RAM
1 U12 74LS138 3-Line to 8-Line Decoder / De-
multiplexers
2 U13,U22 8255A Programmable Peripheral Interface with
24 I/O Lines
6 U15-U17,U19- OR Simple 2 input OR Gate
U21
1 U23 OPAMP Ideal operational amplifier (OPAMP)
1 U24 ADC0808 8-bit Microprocessor Compatible ADC
With 8-Channel Multiplexer

6 Diodes
Quantity References Value Description
3 D1-D3 LED-GREEN Animated LED model (Green)
3 D4-D6 LED-RED Animated LED model (Red)
9 Miscellaneous
Quantity References Value
3 LDR1-LDR3 LDR Light Dependent Register (LDR) generic
model
3 RL1-RL3 12V Animated Relay model
3 SW1-SW3 SW-SPDT Interactive SPDT Switch (Latched
Action)

3.2 MEMORY INTERFACING

The 8086 based system uses 2Kx8 Static RAM 2 chips of 2K size
each and 4Kx8 ROM 2 chips of 4K size each. Both RAM and ROM
are organized into even and odd banks to facilitate both byte sized
and word sized data transfers.
Read Only Memory (ROM):-
Starting address 00000H
Ending address 01FFFH
Even bank begins at 00000H and ends at 01FFEH
Odd bank begins at 00001H and ends at 01FFFH

Static Random Access Memory (RAM):-


Starting address 02000H
Ending address 02FFFH
Even bank begins at 02000H and ends at 02FFEH
Odd bank begins at 02001H and ends at 02FFFH
Address Map for Memory
Memory A19 A18 A17 A16 A15 A14 A13 A12 A11 A10 A09 A08 A07 A06 A05 A04 A03 A02 A01 A00 HEX
Chip ADD
ROM 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00000H
(4Kx8)
0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 01FFFH
RAM 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 02000H
(2Kx8)
0 0 0 0 0 0 1 0 1 1 1 1 1 1 1 1 1 1 1 1
02FFFH

1.3 I/O INTERFACING

IO Chip A7 A6 A5 A4 A3 A2 A1 A0 HEX ADD


8255A 0 0 0 0 0 0 0 0 00H
Chip-1
0 0 0 0 0 1 1 0
06H
8255A 0 0 0 0 1 0 0 0 08H
Chip-2 0 0 0 0 1 1 1 0
0EH
PORT and Control Register Address of 8022 (PPI):

--- 8255A Chip-1) ---


00h 0000 0000 =PortA1
01h 0000 0001 =--
02h 0000 0010 =PortB1
03h 0000 0011 =--
04h 0000 0100 =PortC1
05h 0000 0101 =--
06h 0000 0110 =CR1

--- 8255A Chip-2) ---


08h 0000 1000 =PortA2
09h 0000 1001 =--
0ah 0000 1010 =PortB2
0bh 0000 1011 =--
0ch 0000 1100 =PortC2
0dh 0000 1101 =--
0eh 0000 1110 =CR2

8255 (Chip-1) Connection:


Port Port Mode Input / Connected to
Output
Address

A 00H 0 Output PA0: Perk Tray Empty Status LED

PA1: Five Star Tray Empty Status LED

PA2: Dairy Milk Empty Status LED

B 02H 0 Input PB0: Perk Chocolate Selection Push Button

PB1: Five Star Chocolate Selection Push Button


PB2: Dairy Milk Chocolate Selection Push Button

C Lower 04H 0 Output PC0: Pert Chocolate Dispensing Relay Control

PC1: Five Star Chocolate Dispensing Relay Control

PC2: Dairy Milk Chocolate Dispensing

Relay Control

C Upper 04H 0 Output ---

Control 06H 0 ---- ---


Word

8255 (Chip-2) Connection:


Port Port Mode Input / Connected to
Output
Address

A 08H 0 Input ADC0808 Output Data Lines (D0-D7)

B 0AH 0 Input PB0: EOC of ADC

C Lower 0CH 0 Output PC0: Start of Conversion to ADC

PC1: ALE Signal to ADC

PC2: ADD A, Address line of ADC

PC3: ADD B, Address line of ADC

PC4: ADD C, Address line of ADC

C Upper 0CH 0 Output ---

Control 0EH 0 ---- ---


Word

ADC0808
The ADC0808 is a multi-channel 8-bit A/D converter. The Vref+ = 5V
and Vref- = 0V is being supplied to the A/D converter and hence the
resolution of the A/D is 19.6mV for every increment in the digital
output. It is used to digitize the analog output of the relevant sensor
(based on the tank selected).

ADC Address ADC Conversion


Inputs take place for
C B A
0 0 0 Precursor Transducer
for 5 rupees coin
0 0 1 Perk LDR1
0 1 0 Five Star LDR2
0 1 1 Dairy Milk LDR3

Pressure Transducer: It converts pressure into an analog signal.


Here, it is used to convert the pressure created by the weight of a
coin to an analog signal.

Relay: The main operation of a relay comes in places where only


a low-power signal can be used to control a circuit. It is also used
in places where only one signal can be used to control a lot of
circuits.

LDR: LDRs or Light Dependent Resistors are very useful


especially in light/dark sensor circuits. When the LED is turned
on, the resistance of the LDR falls, allowing current to pass
through it.
SPDT Switch: The single pole double throw switch is the one in
which there are three terminals(say A,B,C) in which the middle
one is the common terminal and is usually connected to one of
the supply lines. Thus, when the switch is flipped to one side, two
of the three terminals come in contact (say C,B), and when the
switch is flipped to the other side, the other combination--A,C
comes in contact with each other.
LED: LED takes in a digital input signal and glows if it is 1 and the
LED is in common cathode configuration. It glows for 0 in
common anode configuration.

4. ALGORITHM
1. Press Push button for Chocolate selection
2. If Selected Chocolate tray is not empty than
NoOfCoins = 0
goto step 3
Else
goto step 1.
3. Wait for Inserting five rupees coin in coin slot.
4. Check the weight of inserted five rupees coin.
If valid coin inserted then
goto step 5
Else
goto step 3.
5. NoOfCoins++
6. If (NoOfCoins = Required Coins for selected Chocolate) then
Goto step 7
Else
Goto step 3
7. On the relay of selected tray and Dispense chocolate.
8. If selected try is now empty then
Glow selected try empty tray LED
9. Go to step 1
5. Flow Chart
6. ASSEMBLY CODE
;
; we are using short name for different chocolates
; tray button, tray status and chocolate cost
; -------------------------------------------------------------------
; Full Name/Description Short Name Used
; -------------------------------------------------------------------
; perk chocolate tray button ptb
; five star chocolate tray button ftb
; dairy milk chocolate tray button dtb
;
; perk tray empty status ptes
; five star tray empty status ftes
; dairy milk tray empty status dtes
;
; perk chocolate cost pcc
; five star chocolate cost fcc
; dairy milk chocolate cost dcc
;

.model small
.data
; Chocolate tray button pressing status variable
ptb 1 db (0) ; initially button not pressed
ftb 1 db (0) ; initially button not pressed
dtb 1 db (0) ; initially button not pressed

pushButton 1 db (0) ; Bit2-Dairy Milk, Bit1-Five Star, Bit0-Perk

; Chocolate tray empty status variable


ptes 1 db (0) ; initially not empty
ftes 1 db (0) ; initially not empty
dtes 1 db (0) ; initially not empty

; Chocolate cost in term of number of 5 rupees coins


pcc EQU 1 ; cost Rs 5 , so 1 coin required
fcc EQU 2 ; cost Rs 10 , so 2 coins required
dcc EQU 4 ; cost Rs 20 , so 4 coins required

; defining address of ports for first 8255A (CHIP-1)


PORTA1 EQU 00H
PORTB1 EQU 02H
PORTC1 EQU 04H
CR1 EQU 06H

; defining address of ports for second 8255A (CHIP-2)


POERA1 EQU 08H
PORTB2 EQU 0AH
PORTC2 EQU 0CH
CR2 EQU 0EH

ValidCoin db, 00H ; initially set not valid coin

.code
.startup
MOV AX, 0000H
MOV DS,AX ;initializing data segment to 0000H

MOV AX, 0800H


MOV SS,AX ;initializing stack segment to 0800H

; initializing control word for first 8255A CHIP-1


MOV DX, CR1 ; address of Control Register 1
MOV AL, 10000010B ; PortA, PortC output and PortB input mode 0
OUT DX, AL

; initializing control word for second 8255A CHIP-2


MOV DX, CR2 ; address of Control Register 2
MOV AL, 10010010B ; portA, PortB input and PortC output mode 0
OUT DX, AL
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; MAIN PROGRAM
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

mainLoop: CALL DisplayEmptyLED ; check empty status of all tray from LDR &
; display empty status LED
CALL ReadPushButton ; read Push Button status of all chocolates

; check perk button & tray empty status


MOV AL, ptb ; pert button status examine
CMP AL, 01H ; 00H-not pressed, 01H-pressed
JNZ nextMain1
MOV AL, ptes ; pert tray empty status examine
CMP AL, 00H ; 00H-not empty, 01H-empty
JNZ mainLoop
MOV CX, pcc ; number of coin require for perk

; check five star button & tray empty status


nextMain1: MOV AL, ftb ; five star button status examine
CMP AL, 01H ; 00H-not pressed, 01H-pressed
JNZ nextMain2
MOV AL, ftes ; five star tray empty status examine
CMP AL, 00H ; 00H-not empty, 01H-empty
JNZ mainLoop
MOV CX, fcc ; number of coin require for five star

; check dairy milk button & tray empty status


nextMain2: MOV AL, dtb ; dairy milk button status examine
CMP AL, 01H ; 00H-not pressed, 01H-pressed
JNZ coinLoop
MOV AL, dtes ; dairy milk tray empty status examine
CMP AL, 00H ; 00H-not empty, 01H-empty
JNZ mainLoop
MOV CX, dcc ; number of coin require for dairy milk

; check number of valid coin inserted to dispense chocolate


coinLoop: CALL ReadCoinInsertion
MOV AL, ValidCoin
CMP AL, 01H ; 00H-not valid coin, 01H-valid coin
JNZ coinLoop ; not valid get more valid required coins
MOV ValidCoin, 00H ; set not valid coin for next coin reading
DEC CX
JNZ coinLoop ; valid and get more required coins

CALL DispenseChocolate ; dispense demanded chocolate

JMP mainLoop ; infinite loop for next customer response

;;
;; --------------- S U B R O U T I N E S------------------------------------
;;

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; Procedure to examine chocolate tray empty status by LDR inputs through ADC
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
EmptyStatus PROC NEAR USES AX, DX
PUSHF
;
; get status of LDR1 (perk tray)
;
MOV DX, PORTC2
MOV AL, 00000111B ; Bit(32)-LDR1, Bit(1)-START, Bit(0)-ALE
OUT DX, AL
; Check EOC Status of ADC
MOV DX, PORTB2
JmpEOCp: IN AL, DX
AND AL, 01H
JZ JmpEOCp
; read digitally converted data from PORTA2
MOV DX, PORTA2
MOV AL, DX
CMP AL, 00H
JNZ emptyP
MOV ptes, 00h ; perk tray not empty
JMP nexTryF
emptyP: MOV ptes, 01H ; perk tray empty

nexTryF: ;
; get status of LDR2 (five star tray)
;
MOV DX, PORTC2
MOV AL, 00001011B ; Bit(32)-LDR2, Bit(1)-START, Bit(0)-ALE
OUT DX, AL
; Check EOC Status of ADC
MOV DX, PORTB2
JmpEOCf: IN AL, DX
AND AL, 01H
JZ JmpEOCf
; read digitally converted data from PORTA2
MOV DX, PORTA2
MOV AL, DX
CMP AL, 00H
JNZ emptyF
MOV ftes, 00h ; five star tray not empty
JMP nexTryD
emptyF: MOV ftes, 01H ; five star tray empty

nexTryD: ;
; get status of LDR3 (dairy milk tray)
;
MOV DX, PORTC2
MOV AL, 00001111B ; Bit(32)-LDR3, Bit(1)-START, Bit(0)-ALE
OUT DX, AL
; Check EOC Status of ADC
MOV DX, PORTB2
JmpEOCd: IN AL, DX
AND AL, 01H
JZ JmpEOCd
; read digitally converted data from PORTA2
MOV DX, PORTA2
MOV AL, DX
CMP AL, 00H
JNZ emptyD
MOV dtes, 00h ; dairy milk tray not empty
JMP nextRET
emptyD: MOV dtes, 01H ; dairy milk tray empty

nextRET: POPF
RET
EmptyStatus ENDP

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; Procedure for display Empty tray indicator RED LED
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
DisplayEmptyLED PROC NEAR USES AX, DX
PUSHF
CALL EmptyStatus ; read & Store the status of all tray LDRs

; preparing PORTA1 first 3 LSB bits for display


; Accordingly various tray LDRs status
MOV AL, 00H
OR AL, dtes ; get dairy milk tray empty status
ROL AL, 01H ; move dairy tray bit status left
OR AL, ftes ; get five star tray empty status
ROL AL, 01H ; move dairy and five star tray status left
OR AL, ptes ; get perk tray empty status

MOV DX, PORTA1 ; load address of PORTA1


OUT DX, AL ; display empty status of all try

POPF
RET
DisplayEmptyLED ENDP

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; Procedure for Reading Push button pressing status
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
ReadPushButton PROC NEAR USES AX, DX
PUSHF

MOV DX, PORTB1 ; load address of PORTB1


IN AL, DX ; get status of all push button
MOV pushButton, AL ; Store pushbutton status as
; Bit(2)-Dairy Milk, Bit(1)-Five Star, Bit(0)-Perk
AND AL, 01H
JZ nextBit1
MOV ptb, 01H ; pert demand button pressed
nextBit1: MOV AL, pushButton ; reload all button status
ROR AL, 01H
AND AL, 01H
JZ nextBit2
MOV ftb, 01H ; five star demand button pressed
nextBit2: MOV AL, pushButton ; reload all button status
ROR AL, 02H
AND AL, 01H
JZ nextBit3
MOV dtb, 01H ; dairy milk demand button pressed
nextBit3: POPF
RET
ReadPushButton ENDP

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; Procedure for Checking Inserted 5 Rupees Coin Validity
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
ReadCoinInsertion PROC NEAR USES AX, DX
PUSHF

MOV DX, PORTC2


MOV AL, 00000011B ; Bit(2)-Pressure Transducer(PT),
; Bit(1)-START, Bit(0)-ALE
OUT DX, AL
; Check EOC Status of ADC
MOV DX, PORTB2
JmpEocPT: IN AL, DX
AND AL, 01H
JZ JmpEocPT
; read digitally converted data from PORTA2
MOV DX, PORTA2
MOV AL, DX
CMP AL, 80H ; Digital equivalent value of 6 gm coin
; (pressure-->analog signal-->digital value)
JNZ nextVC
MOV ValidCoin, 01h ; inserted coin is valid
JMP retRCI
nextVC: MOV ValidCoin, 00h ; inserted coin is not valid
retRCI: POPF
RET
ReadCoinInsertion ENDP
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; Procedure for Dispensing Chocolate
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
DispenseChocolate PROC NEAR USES AX, DX
PUSHF
MOV AL, 00H
CMP ptb, 01H
JNZ nextDC1
OR AL,01H ; set Bit(0)
nextDC1: CMP ftb, 01H
JNZ nextDC2
OR AL, 02H ; set Bit(1)
nextDC2: CMP dtb, 01H
JNZ nextDC3
OR AL, 04H ; set Bit(2)
nextDC3: MOV DX, PORTC1
OUT DX, AL ; operate demanded tray relay and dispense chocolate
POPF
RET
DispenseChocolate ENDP

.exit
end
A B C D

D4 Tray Empy Staus Indicated by LEDs


D[0..15]
VCC
U1 AD[0..15] U2 U13 Perk Tray Empty Chocolat Selection Switchs V1
A[0..15] U12
21 AD0 3 2 A0 D0 34 4 LED-RED
22
RESET AD[0..15] AD[0..15]
AD1 4
D0 Q0
5 A1 A3 1 15 D1 33
D0 PA0
3 SW1
INTA 24
READY A[16..19] AD[16..19]
AD2 7
D1 Q1
6 A2 A4 2
A Y0
14 D2 32
D1 PA1
2 D5 PERK
INTA/QS1 D2 Q2 B Y1 D2 PA2
INT 18 25 ALE AD3 8 9 A3 A5 3 13 D3 31 1
INTR ALE/QS0 D3 Q3 C Y2 D3 PA3
31 34 AD4 13 12 A4 12 D4 30 40 Five Star Tray Empy SW-SPDT
HOLD/GT1 BHE BHE D4 Q4 Y3 D4 PA4
30 27 DT/R AD5 14 15 A5 11 D5 29 39 LED-RED
23
HLDA/GT0 DT/R/S1
26 DEN AD6 17
D5 Q5
16 A6 A6 6
Y4
10 D6 28
D5 PA5
38 SW2
17
TEST DEN/S2
32 AD7 18
D6 Q6
19 A7 4
E1 Y5
9 D7 27
D6 PA6
37 D6 Five-Star
NMI RD RD D7 Q7 M/IO E2 Y6 D7 PA7
33 29 5 7
MN/MX WR/LOCK WR E3 Y7
19 28 1 RD 5 18 Dairy Milk Tray Empty SW-SPDT
CLK CLK M/IO/S0 M/IO OE RD PB0
ALE 11 74LS138 WR 36 19 LED-RED
8086
LE
(3 to 8 decoder) A1 9
WR PB1
20 SW3
0 A0 PB2
74LS373 VCC A2 8 21 Dairy Milk
SW2 35
A1 PB3
22
RESET RESET PB4
23 RL1(NC) SW-SPDT
RESET PB5
6 24
U3 CS PB6
25
RL1 RL2 RL3
SW-SPDT-MOM PB7
U7 AD8 3 2 A8 12V 12V 12V
A[0..15] D0 Q0
A13 A1 8 9 D0 AD9 4 5 A9 14
U15 A0 D0 D1 Q1 PC0
A13 A2 7 10 D1 AD10 7 6 A10 15
A1 D1 D2 Q2 PC1
U9 A3 6 11 D2 AD11 8 9 A11 A1 16
A2 D2 D3 Q3 PC2
A4 5 13 D3 AD12 13 12 A12 17
A3 D3 D4 Q4 PC3
A5 4 14 D4 AD13 14 15 A13 A2 13
M/IO A4 D4 D5 Q5 PC4
A6 3 15 D5 AD14 17 16 A14 12
A5 D5 D6 Q6 PC5
OR A7 2 16 D6 AD15 18 19 A15 11
NOT A6 D6 D7 Q7 PC6
A8 1 17 D7 10
A7 D7 PC7
A9 23 1
A8 OE
A10 22 ALE 11
A9 LE
A11 19 8255A PPI (Chip-1) Perk Chocolat Dispensed Five Satr Chocolat Dispensed Dairy Milk Chocolat Dispensed
U16 A10
A12 21
A11
74LS373 D1 D2 D3
LED-GREEN LED-GREEN LED-GREEN
ROM(EVEN) 18

DEN
CE AD[16..19]
A0 20
RD OE/VPP U4 A[16..19]

DT/R
<------- Chocolat Dispensing Slot ------>
U14 OR 2732 (4Kx8 EPROM) AD16 3
D0 Q0
2 A16
AD17 4 5 A17

ALE
NOT D1 Q1
A0 U8 AD18 7 6 A18
D2 Q2
A1 8 9 D8 AD19 8 9 A19 U24(VREF(+))
A0 D0 D3 Q3
A2 7 10 D9 13 12
U17 A1 D1 D4 Q4
A3 6 11 D10 14 15 5 Rupee Coin Inseting Slot
A2 D2 D5 Q5
A4 5 13 D11 17 16
A5 4
A3 D3
14 D12 18
D6 Q6
19 U24 M1
A4 D4 D7 Q7 MPX4115
BHE A6 3 15 D13 9 16
BHE A5 D5 OE VREF(-)
1 A7 2 16 D14 1 12
A6 D6 OE U22 VREF(+)
OR A8 1 17 D15 ALE 11
A7 D7 LE
A9 23 D0 34 4 17 22 100.0
A8 D0 PA0 OUT8 ALE
A10 22 74LS373 D2 D1 33 3 14 23
A9 D1 PA1 OUT7 ADD C
A11 19 D1 D2 32 2 15 24
A10 D2 PA2 OUT6 ADD B
A12 21 D0 D3 31 1 8 25
U19 A11 D3 PA3 OUT5 ADD A
D4 30 40 18
D[0..15] D4 PA4 OUT4
ROM (ODD) 18 D5 29 39 19 5
U18 CE AD[0..15] U5 D6
D5 PA5 OUT3 IN7 U23 1 2 3 4 5 6
20 28 38 20 4
OE/VPP D[0..7] D6 PA6 OUT2 IN6
AD0 2 18 D0 D7 27 37 21 3
M/IO A0 B0 D7 PA7 OUT1 IN5
2732 (4Kx8 EPROM) AD1 3 17 D1 2 M1(V+)
A1 B1 IN4
OR AD2 4 16 D2 5 18 EOC 7 1
NOT U10 A2 B2 RD RD PB0 EOC IN3
AD3 5 15 D3 36 19 28
A3 B3 WR WR PB1 IN2
A1 8 9 D0 AD4 6 14 D4 A1 9 20 6 27
A0 D0 A4 B4 A0 PB2 START IN1 OPAMP
A2 7 10 D1 AD5 7 13 D5 A2 8 21 10 26
U20 A1 D1 A5 B5 A1 PB3 CLOCK IN0
A3 6 11 D2 AD6 8 12 D6 35 22
A2 D2 A6 B6 RESET RESET PB4
A4 5 13 D3 AD7 9 11 D7 23 ADC0808
A3 D3 A7 B7 PB5
A5 4 14 D4 D3 6 24
A4 D4 CS PB6 CLK
A0 A6 D5 D4

SOC
3 15 19 25
A5 D5 CE PB7
A7 2 16 D6 1 D5
A6 D6 AB/BA
OR A8 1 17 D7 D6 14 ALE1
DEN

A7 D7 PC0
A0 A9 23 74LS245 D7 15
A8 PC1
A10 22 16
A9 U6 PC2
A11 19 17 LDR3(1)
A10 PC3
DT/R

AD8 2 18 D8 13
A0 B0 PC4
RAM(EVEN) 18 AD9 3 17 D9 12
CE A1 B1 PC5
20
OE
AD10 4
A2 B2
16 D10
PC6
11 LDR1 LDR2 LDR3
21 AD11 5 15 D11 10
WR WE A3 B3 PC7
AD12 6 14 D12
U21 A4 B4
6116 (2Kx8 Static RAM) AD13 7 13 D13
A5 B5
AD14 8 12 D14 8255A PPI (Chip-2)
U11 A6 B6
AD15 9 11 D15
2 BHE A1 8 9 D8
A7 B7
BHE A0 D0
A2 7 10 D9 19
A1 D1 CE
OR A3 6 11 D10 1
A2 D2 AB/BA

1.0

1.0

1.0
A4 5 13 D11
A3 D3
A5 4 14 D12 74LS245
A4 D4
A6 3 15 D13 LDR LDR LDR
A5 D5
A7 2 16 D14 Perk Try Empty Five Stary try Empty Dairy Milk Tray Empty
A6 D6
A8 1 17 D15
A7 D7
A9 23 <------- Tray Empty StatusChecking LDR ----------->
A8
A10 22
A9
A11 19
A10
RAM(ODD) 18
CE
20 CHOCOLATE VENDING SYSTEM
OE
21
WE
6116 (2Kx8 Static RAM)

You might also like