Programmable Peripheral Devices
Programmable Peripheral Devices
1 0 0 1 1 0 0 0
Group A Group B
Mode Selection Port C (Lower)
00 = Mode 0 0 = OUTPUT
Port A Port B
1 = INPUT 0 = OUTPUT
Port C (Upper) Mode Selection
1 = INPUT 0 = Mode 0
0 0 1 0 0 0 1 1 = 23 H
0 0 1 0 0 0 1 1 = 23 H
MOV A, #98H
MOV DPTR, #0023H
MOVX @DPTR, A
Ex. 2: Write initialization instruction for the 8255A to set
up Port A as an o/p port in Mode 0, Port B as o/p in mode
1 for interrupt I/O, Port C (upper) as o/p in Mode 0.
1 0 0 0 0 1 0 0
Group A Group B
Mode Selection Port C (Lower)
00 = Mode 0 0 = Don’t care
Port A Port B
0 = OUTPUT 0 = OUTPUT
Port C (Upper) Mode Selection
0 = OUTPUT 1 = Mode 1
A7 A6 A5 A4 A3 A2 A1 A0
0 0 0 0 0 0 1 1 = 03 H
MOV A, #84H
MOV DPTR, #0003H
MOVX @DPTR, A
Ex 3. Write the BSR control word of 8255 to set bits PC7.
D7 D6 D5 D4 D3 D2 D1 D0
0 0 0 0 1 1 1 1
Don’t care
1/0
Select a bit
1 1 1 = PC7
Ex 4: Set Counter 0 of 8254 timer in Mode 1
D7 D6 D5 D4 D3 D2 D1 D0
Control Word 0 0 1 1 0 0 1 0
Register
= 32 H
A7 A6 A5 A4 A3 A2 A1 A0
Address of
Control Word 1 0 0 0 0 0 1 1 = 83 H
Register
MOV A, #32 H
MOV DPTR, #0083 H
MOVX @DPTR, A
Ex 5: Generate a square wave of 1ms period using 8254
timer. The input frequency is 2MHz
D7 D6 D5 D4 D3 D2 D1 D0
Control Word 0 0 1 1 0 1 1 0 = 37 H
A7 A6 A5 A4 A3 A2 A1 A0
CWR 1 0 0 0 0 0 1 1 = 83 H
Counter 0 1 0 0 0 0 0 0 0 = 80 H