Sunteți pe pagina 1din 45

Capitolul 1

Automate programabile cu prelucrare pe bit (APB)


1.1. Introducere
Problemele de automatizare discontinu au fost tratate pe baza logicii cu relee
electromagnetice , folosindu-se limbajul logicii releelor . Utilizarea circuitelor cu semiconductoare
a marcat nlocuirea releelor folosind logica static asincron bazat pe interconectarea elementelor
logice ca pori logice , numrtoare , temporizatoare , registre de deplasare , etc .
O caracteristic important a numeroase sisteme de comand , indiferent dac sunt realizate
cu relee sau cu circuite tranzistorizate , const n aceea c ele comand elemente ca relee , bobine ,
electrovalve , contactoare , lmpi , etc i c semnalele de intrare ce se prelucreaz provin de la
limitatoare de curs , butoane cu revenire , detectoare diverse . Att intrrile n sistemul de comand
al unei automatizri , ct i ieirile ce controleaz elementele de execuie din procesul tehnologic
automatizat , transfer semnale binare corespunztoare celor dou stri logice posibile notate prin
0 i 1 . Blocul de comand , la ndeplinirea funciei sale , realizeaz legtura ntre anumite
intrri i ieiri printr-o logic de tipul :
Dac limitatorul de curs L este acionat i contactul K este nchis , atunci motorul M va fi
pornit .
ntr-o comand prelucrrile necesare asupra informaiilor receptate , impun interconectarea
unor elemente logice pe baza unei sinteze logice . Astfel , fiecare aplicaie necesit un bloc de
comand specific realizat n logic cablat , care nglobeaz mult manoper .
Pentru eliminarea acestui neajuns major s-au creat blocuri de comand programabile ce pot
deservi o larg categorie de aplicaii , caracterizate prin flexibilitate i numite automate
programabile. Automatele programabile au o mare capacitate de prelucrare logic , se programeaz
uor i sunt adaptate automatizrilor discontinui .
Comanda unei automatizri se poate face i cu sisteme de calcul puternice , dar acestea sunt
scumpe i necesit personal de nalt calificare .
Astfel , a aprut necesitatea unor blocuri de comand care s opereze la un moment dat cu o
singur intrare , sau o singura ieire , numite automate programabile cu prelucrare pe bit (APB) .
Avnd o arhitectur intern simplificat i un set de instruciuni redus , un APB realizeaz
prelucrri simple de date , n principal logice , fiind ns capabil s controleze un numr mare de
intrri i ieiri de un bit asociate procesului controlat , ntr-o siguran funcional ridicat .
Un APB este realizat n jurul unei magistrale la care se conecteaz intrrile i ieirile prin
circuite de interfa , unitatea central de operare (CPU) i memoria , fapt ce sugereaz structura
unui sistem de calcul , de care se deosebete ns prin setul redus de instruciuni .
La un APB execuia programului utilizator este ciclic , fapt ce a determinat renunarea
funcionrii n ntreruperi . Derularea ciclic rapid a unui program liniar (fr salturi napoi) ,
permite sesizarea evenimentelor dintr-un proces lent la puin timp dup ce apar , fr riscul pierderii
de informaie sau alterare a procesului comandat .

1.2. Componentele unui APB


1.2.1. Procesorul MC 14500B
Arhitectura intern a acestui procesor este dat n fig.1-1.2 , iar repartizarea funciilor pe
terminale n fig.2-1.2 .
nceputul perioadei de tact coincide cu frontul cztor al tactului , cnd instruciunea avnd
codificarea binar I3 I2 I1 I0 este memorat n registrul de instruciuni (=Instruction Register) i
decodificat de circuitul decodor (=Decoder) . Pe frontul cresctor de la jumtatea perioadei de tact,
1

sub comanda semnalelor de la ieirile circuitului decodor , se efectueaz instruciunea de executat ,


n unitatea logic (=Logic Unit) , rezultatul fiind generat n registrul rezultat (RR) , avnd rolul de
registru acumulator de un bit , a crui stare RR sau RR este transferat pe magistrala de date
(DATA =Data Bus) de un bit .

Fig.1-1.2 Arhitectura intern MC 14500 B (=MMC 4500)

Fig.2-1.2 Circuitul MC 14500 B, funcii la terminale (Top View)


La scriere (emisie) , linia DATA funcioneaz ca ieire i este activat pe o perioad a tactului
CLOCK , iar ieirea WRITE trece n starea 1 n prima jumtate a tactului cnd X1 =0 .
2

Registrele IEN (=Input Enable) i OEN (=Output Enable) condiioneaz accesul datelor de
intrare i respectiv de ieire pe linia bidirecional DATA , ncrcarea acestor registre fcndu-se
prin instruciunile cu simbolizrile IEN i respectiv OEN .
Atunci cnd ambele registre , IEN i OEN , sunt n starea 1 , datele de intrare i de ieire
circul neafectate conform instruciunilor efectuate . Starea 0 a registrului IEN determin n
permanen starea 0 ca dat citit , indiferent de nivelul logic al intrrii ce apare pe linia DATA .
Dac registrul OEN are starea 0 , procesorul nu execut nici o operaie de scriere , linia DATA
rmnnd n nalt impedan , iar ieirea WRITE n starea 0 .
La iniializarea prin RST=1 , registrele IEN ,OEN i RR sunt puse n starea 0 , ncrcarea
lor fcndu-se pe linia DATA la frontul cresctor al tactului CLOCK de la terminalul X1 .
O instruciune este efectuat ntr-un ciclu de main cu durata unei perioade de tact , fiind
preluat n registrul de instruciuni pe frontul cztor de la nceputul perioadei de tact i executat
pe frontul cresctor de la mijlocul perioadei de tact.
Validarea ncrcrii registrelor IEN i OEN este realizat de blocul de control (=CONTROL)
prin semnalele EI (=Enable Input) i EO (=Enable Output) emise n urma decodrii instruciunii ce
se execut . n funcie de instruciunea efectuat , blocul CONTROL activeaz semnalele de
comand FLF , FLO , RTN i JMP ce rmn active (n starea 1) pe ntreaga perioad a tactului .
Microprocesorul MC 14500 B are ncorporat un generator de tact (=OSC) a crui frecvena se
stabilete cu un grup R , C extern conectat ca n fig.1 .
Cnd intrarea de resetare este RST=1 , oscilatorul se blocheaz n starea X1 =1 . La revenirea
n starea RST=0 amorsarea oscilaiilor are loc n circa 100 ns . Pentru folosirea unui tact extern ,
acesta se aplic la intrarea X1 , iar intrarea X 2 se conecteaz la mas . Tactul extern trebuie s fie
de nivel TTL .
La scriere (emisie) , linia DATA funcioneaz ca ieire i e activat pe o perioad a tactului
CLOCK , iar ieirea WRITE trece n starea 1 n prima jumtate a tactului cnd X1 =0 .
Registrul de validare intrare IEN (=Input Enable) i registrul de validare ieire OEN
(=Output Enable) condiioneaz accesul datelor de intrare i respectiv de ieire pe linia
bidirecional DATA , ncrcarea acestor registre fcndu-se prin instruciunile cu simbolizrile IEN
i respectiv OEN .
Atunci cnd ambele registre , IEN i OEN , sunt n starea 1 , datele de intrare i de ieire
circul neafectate conform instruciunilor efectuate . Starea 0 a registrului IEN determin n
permanen starea 0 ca dat citit indiferent de nivelul logic al intrrii ce apare pe linia DATA .
Dac registrul OEN are starea 0 procesorul nu execut nici o operaie de scriere , linia DATA
rmnnd n nalt impedan , iar ieirea WRITE fiind n starea 0 .
La iniializare , cnd RST=1 , registrele IEN ,OEN i RR sunt puse n starea 0 , ncrcarea
lor fcndu-se pe linia DATA la frontul cresctor al tactului X1 .Deci , instruciunile se ncarc pe
frontul cztor i se execut pe cel cresctor al semnalului de CLOCK de la terminalul X1 .
Validarea ncrcrii registrelor IEN i OEN este realizat de blocul CONTROL prin semnalele
IE i respectiv OE emise n urma decodrii instruciunii ce se execut . n funcie de instruciunea
efectuat , blocul CONTROL activeaz semnalele de comand FLF , FLO , RTN i JMP ce rmn
active (n starea 1) pe ntreaga perioad a tactului n care se execut instruciunea.
Microprocesorul MC 14500 B are ncorporat un generator de tact (OSC) a crui frecvena se
stabilete cu un grup R , C extern conectat ca n fig.1-1.2 .
Cnd intrarea de resetare este RST=1 , oscilatorul se blocheaz n starea X1 =1 . La revenirea
n starea RST=0 , amorsarea oscilaiilor are loc n circa 100 ns . Pentru folosirea unui tact extern ,
acesta se aplic la intrarea X1 , iar intrarea X 2 se conecteaz la mas . Tactul extern trebuie s fie
de nivel TTL .
Setul de instruciuni al acestui microprocesor de un bit conine 16 instruciuni , ce sunt
prezentate n tabelul urmtor :
3

Codificare
Hexa Binar
0
0000
1
0001
2
0010
3
0011
4
0100
5
0101
6
0110
7
0111

Mnemonic

Descriere sintetic

NOPO
LD
LDC
AND
ANDC
OR
ORC
XNOR

FLO _||_
RR DATA
RR DATA
RR DATA RR
RR DATA RR
RR DATA +RR
RR DATA +RR
RR DATA RR

DATA RR
DATA RR
IEN DATA
OEN DATA
JMP _||_
RTN _||_

8
9
A
B
C
D

1000
1001
1010
1100
1101
1110

STO
STOC
IEN
OEN
JMP
RTN

1110

SKZ

1111

NOPF

FLF

_||_

Comentarii
Activeaz semnalul FLO
ncarc RR cu DATA
ncarc RR cu DATA
SI logic ntre RR i DATA
SI logic ntre RR i DATA
SAU logic ntre RR i DATA
SAU logic ntre RR i DATA
SAU EXCLUSIV NEGAT ntre
RR i DATA
Stocheaz RR
Stocheaz RR
ncarc DATA n registrul IEN
ncarc DATA n registrul OEN
Activeaz semnalul JMP
Activeaz semnalul RTN i
ignor instruciunea urmtoare
Dac RR=0 ignor instruciunea
ce urmeaz
Activeaz semnalul FLF

Mnemonicile instruciunilor implementate microprocesorului MC 14500 B au urmtoarele


specificaii :
Mnemonic
NOPO
LD
LDC
AND
ANDC
OR
ORC
XNOR
STO
STOC
IEN
OEN
JMP
RTN
SKZ
NOPF

Semnificaie
No operation and activate FLO output
Load register RR
Load and complement register RR
Logical AND operation
Logical AND with complemented DATA
Logical OR
Logical OR with complemented DATA
Exclusive OR and complement
Store register RR
Store complemented register RR
Load input enable register
Load output enable register
Activate JMP output (JMP=jump)
Activate RTN output (RTN=return)
Skip next instrucion if RR=0
No operation and activate FLF output

Modul de transferare a datelor ntr-un APB cu microprocesor MC 14500 B este exemplificat


n fig.3-1.2 unde Ii { I0 , I1,..., In } este adresa unui bit de intrare n sistem , iar
Oi { O0 , O1,..., O k } este adresa unui bit de ieire din sistem .
n sistemul de prelucrare pe bit din fig.3 instruciunile de intrare-ieire opereaz astfel :
4

Simbolizare
Ii
LD
LDC I i
AND I i
ANDC I i
OR
ORC

Ii
Ii

XNOR I i
IEN
OEN
STO
STOC

Ii
Ii
Oi
Oi

Descriere sintetic
RR ( I i )
RR ( I i )
RR RR
RR RR
RR RR+
RR RR+

(Ii )
(Ii )
(Ii )
(Ii )

RR RR ( I i )
IEN ( I i )
OEN ( I i )
(O i ) RR
(O i ) RR

Fig.3-1.2 Transferul datelor ntr-un APB cu microprocesor MC 14500 B


n descrierea sintetic a instruciunilor , (Ii ) reprezint starea logic de la intrarea cu adresa
Ii , iar (Oi ) reprezint starea logic de la ieirea cu adresa Oi .
Arhitectura unui APB , ce evideniaz modul de adresare a locaiilor de intrare , ieire i de
memorie este prezentat n fig.4-1.2 .
Prin magistrala de date DATA , n mrime de un bit , citirea datelor de intrare se face cu
multiplexoare P 14151 , iar generarea comenzilor pe ieirile automatului se face cu
demultiplexoare P 14113 .
Programul de control al aplicaiei se afl scris n memoria program , fiind parcurs ciclic n
ordinea cresctoare a numerelor de adres generate cu circuite numrtoare de program pe patru bii
P 14104 . Prin cascadarea a trei circuite P 14104 pot fi adresate 212 22 210 4K 4096 locaii
ale memoriei program . Automatul programabil poate fi prevzut cu o memorie RAM avnd locaii
n mrime de un bit i cu circuite temporizatoare .
5

Fig.4-1.2 Structura APB realizat cu MMC4500


Numrtorul de program genereaz doar adresele de explorare a memoriei program de tip
ROM , n timp ce adresarea celorlalte locaii ale sistemului se face prin numere de adres indicate n
instruciuni. Codificarea unei instruciuni are mrimea unei locaii din memoria program i este
compus din dou cmpuri de bii : cmpul instruciune format din patru bii i cmpul de adres a
crui mrime depinde de complexitatea sistemului (fig.5-1.2) .

Fig.5-1.2 Structura unei locaii din memoria program

1.2.2. Numrtorul de program P 14104


Funcionarea circuitului numrtor de program (Program Counter) P 14104 , a crui
arhitectur intern , funcii pe terminale i tabel de adevr sunt prezentate n fig.6-1.2 , este
controlat de microprocesor cu semnalele de comand FLO , FLF , JMP , RTN .
Circuitul P 14104 este un numrtor binar pe patru bii , cu posibilitatea de extindere a
capacitii de numrare prin cascadare cu alt numrtor de program , prin terminalele c n i c n 4 .
Astfel se pot obine numrtoare de program pe multiplu de patru bii .
Punerea n zero a numrtoarelor de program P 14104 se face prin comanda de resetare
RST=1 .
Microprocesorul , prin semnalele aplicate la terminalele RT i JS ale numrtorului de
program determin funcionarea acestuia n urmtoarele ce realizeaz sarcinile de numrtor
sincron , de apel , de revenire , de salt i de iniializare .
6

Fig.6a-1.2 Arhitectur intern P 14104

Fig.6b-1.2 Funcii la terminale P 14104 (Top View)

RST

cn

RT

JT

0
0
0
0
0
1

0
1

0
0
0
1
1

0
0
1
0
1

Funcie
Descriere
NO OPERATION
INCREMENT
SUBROUTINE CALL
RETURN FROM SUBROUTINE
JUMP
RESET

Simbol
NOP
INC
CALL
RTN
JMP
RST

Fig.6c-1.2 Tabel de adevr P 14104


7

a) Funcia de numrtor sincron de patru bii cu transport prin terminalele c n i c n 4 este


realizat prin comenzile RT=JS=0 aplicate circuitului de microprocesor .
Registrul numrtor de program , notat PC , va fi ncrcat astfel :
(O3O2O1O0 ) (O3O 2O1O0 ) n-1 cn
iar ieirea de transport c n 4 va fi trecut n starea 1 cnd
O3 O2 O1 O0 c n 1
b) Funcia de apel realizat sub comenzile JS=1 i RT=0 generate de microprocesor , const
n salvarea coninutului registrului PC ntr-unul din registrele RT0 , RT1 , ocupate n aceast ordine
i ncrcarea apoi n registrul PC a cuvntului din patru bii aplicat la intrrile I3 I2 I1I0 , operaii
descrise sintetic prin
RTi PC , adic (R i3R i2R1 R i0 ) n (O3O 2O1O0 ) n 1 cu i=0,1 ;

PC I3 I2 I1I0 , adic (O3O2O1O0 )n (I3I2I1I1)n-1 ;


n cazul a dou apeluri efectuate la momentele t n i t n p , coninutul registrelor PC i RTi =

R i3R i2 R1i R i0 (i=0,1) se modific astfel :


tn

RT0 PCn-1 ; (R 30R 02R10R 00 ) n (O3O 2O1O0 ) n 1


PC I3I 2I1I0 ; (O3O 2O1O0 ) n (I3I 2I1I0 ) n-1

0 0 0 0
RT PC
0
n-1 ; (R 3 R 2 R1 R 0 ) n p (O3O 2O1O0 ) n-1

t n p : RT1 PCn p-1 ; (R13R12R11R10 )n p (O3O 2O1O0 )n p-1

PC I3I 2I1I0 ; (O3O 2O1O0 ) n p (I3I 2I1I0 ) n p-1

c) Funcia de revenire este realizat sub comenzile JS=0 i RT=1 , generate de


microprocesor i const n ncrcarea registrului PC cu ultima adres salvat n registrele RTi ,
i=0,1 . Registrele RT0 i RT1 , constituind o stiv cu dou nivele , sunt selectate cu un bistabil T cu
rol de indicator de stiv situat n blocul de control CTRL . Modificarea strii bistabilului indicator
de stiv T se realizeaz n instruciunile CALL i RTN pe frontul cztor al tactului X1 .
Sarcina de revenire este descris sintetic astfel :

PC RTi ; (O3O 2O1O 0 ) n (R 3i R i2R1i R i0 ) n-1


Dac locaiile RT0 i RT1 ale stivei au fost ocupate la momentele t n i t n p , realizarea a
dou reveniri succesive la momentele t w i t w k decurge astfel :
tw

: PC RT1 ; (O3O 2O1O0 ) w (R13R12R11R10 ) n p

t w k : PC RT0 ; (O3O 2O1O 0 ) w k (R 30R 02R10R 00 ) n


Deci , modul de funcionare a stivei cu dou nivele este de tipul ultimul intrat-primul ieit,
notat LIFO (Last In First Out).
Funcia de salt este realizat sub comenzile JS=1 i RT=1 generate de microprocesor i const
n ncrcarea registrului PC cu adresa I3 I2 I1I0 aplicat circuitului , operaie descris sintetic astfel :
PC I3I2I1I0 ; (O3O 2O1O0 )n (I3I 2I1I0 ) n-1
Funcia de iniializare comandat prin RST=1 const n anularea registrului PC :
O3 O 2 O1 O0 c n 4 0 .
Observaie
Funciile de apel i de revenire , simbolizate CALL i respectiv RTN , s-au implementat doar
circuitului P 14104 i lipsesc circuitului PC 14104 .
8

1.2.3. Circuitul multiplexor P 14151


Repartizarea funciilor pe terminale i arhitectura intern pentru circuitul P 14151 folosit ntrun APB pentru intrare de date , sunt prezentate n fig.7-1.2 .

Fig.7a-1.2 Funcii pe terminale P 14151 (Top View)

Fig.7b-1.2 Arhitectur intern P 14151


La acest circuit ieirea Q urmrete starea logic a intrrii Ii validate prin A 2 A1A 0 i , cnd
S 0 . Dac intrarea de selecie este pus n starea S 1 , atunci ieirea Q trece n starea de nalt
impedan .

1.2.3. Circuitul demultiplexor P 14113


Acest circuit , ale crui arhitectur intern , funcii pe terminale i tabel de adevr sunt date
n fig.8-1.2 , realizeaz pe frontul cresctor al tactului X1 , trecerea ieirii Qi a bistabilului i adresat
9

prin A 2 A1A 0 i n starea logic aplicat la intrarea D .


Prin comanda RST=1 circuitul este adus n starea :
Q 0 Q1 ... Q 7 0 .

Fig.8a-1.2 Arhitectur intern P 14113

RST CLK ADDRESSED OUTPUT OTHER OUTPUTS


1
0
0
0

0
0
UNCHANGED
01 Qi D , i A 2 A1A0
1
UNCHANGED

0
UNCHANGED
UNCHANGED
UNCHANGED

Fig.8b-1.2 Tabela de adevr P 14113

Fig.8c-1.2

Funciile pe terminale ale circuitului P 14113 (Top View)

1.3. Realizarea programelor pentru un APB


10

Un APB realizeaz n principal operaii logice . Prin programul unei aplicaii se testeaz o
serie de intrri i ieiri n vederea emiterii unor comenzi . Orice instruciune logic efectuat n
program realizeaz implicit testarea unei intrri , n timp ce testarea unei ieiri se poate realiza fie
printr-o intrare la care-i conectat ieirea , fie prin locaia de memorie RAM ce conine copia ieirii.
Ansamblul locaiilor de memorie n care se copie ieirile automatului formeaz memoria imagine
de ieire .
n cazul unui APB cu memorie imagine de ieire , o operaie de ieire const n transferul unei
stri logice att pe ieirea adresat , ct i n locaia corespunztoare din memoria imagine de ieire .
n scopul simplificrii programrii , o intrare a automatului va fi pus n 0 , sau n 1 , iar
alta va fi conectat la terminalul RR al microprocesorului n vederea testrii rapide a registrului
rezultat RR .
O intrare pus n 0 sau n 1 va fi notat I L (ori I LOW ), respectiv I H (ori I HIGH ), intrarea
conectat la registrul RR se va nota I RR , iar intrarea conectat la ieirea Oi va avea notaia I O i .
Adresa locaiei din memoria imagine de ieire alocat ieirii Oi va fi notat M Oi .
n vederea protejrii la perturbaii pe intrri , se prevede automatului o memorie imagine de
intrare din care , pe durata unui ciclu program , se citesc mrimile de intrare ncrcate la nceputul
ciclului , ce rmn astfel nemodificate n ciclul program n execuie . Adresa locaiei din memoria
imagine de intrare , asociat intrrii de adres I K va fi notat M IK .

1.3.1. Prelucrarea logic a datelor


O comand cu relee electromagnetice , realiznd prelucrri logice de date poate fi uor
nlocuit cu un APB .
ntr-o logic cu relee un contact normal deschis este reprezentat spre stnga , semnificnd un
semnal activ n 1 , n timp ce un contact normal nchis este reprezentat spre dreapta semnificnd
un semnal logic activ n 0 .
Modul de conectare a unui releu electromagnetic pentru a realiza transferul strii normale sau
complementare a unui semnal , este reprezentat n fig.1-1.3 .

a) Transferul strii complementate

b) Transferul strii normale

Fig.1-1.3 Transferul de semnal cu un releu electromagnetic


Schemele de comand cu relee se folosesc n aplicaiile foarte simple , ce impun un pre redus
al schemei de comand.
Releele asigur o bun separare galvanic , iar tehnologiile actuale de realizare le asigur
dimensiuni reduse i fiabilitate ridicat.
Modul de nlocuire cu un program APB a unei logici cu relee , este artat n exemplele
urmtoare , n care , pentru fiecare schem de comand , s-a determinat funcia logic a schemei de
comand.
Exemplul 1
S se realizeze programul APB pentru urmtoarea schem de comand cu relee :
11

Rezolvare
Schema de comand cu relee materializeaz funcia logic de comand
O1 I1 ,
realizat cu urmtorul program APB :
Etichet : Simbolizare ; Descriere sintetic
COM 1 : LDC
I1 ; RR (I1)
O1 ; (O1 ) RR (I1 )
STO
Exemplul 2
S se realizeze programul APB pentru urmtoarea schem de comand cu relee :

Rezolvare
Schema de comand cu relee materializeaz funcia logic de comand
O1 I1 I 2 I3 ,
realizat cu urmtorul program APB :
Etichet : Simbolizare ; Descriere sintetic
COM 2 : LD
I1 ; RR (I1 )
I 2 ; RR RR (I 2 ) (I1 ) (I 2 )
AND
ANDC I3 ;
STO

O1 ;

RR RR (I3 ) (I1) (I 2 )
(I 3 )
(O1) RR (I1) (I 2 ) (I3 )

Exemplul 3
S se realizeze programul APB pentru urmtoarea schem de comand cu relee :

12

Rezolvare
Schema de comand cu relee materializeaz urmtoarele funcii logice de comand
O1 I1 I2

O2 I3 IOK E I3 IOK I1 I 2
O3 O 2
realizate cu urmtorul program APB :
Etichet : Simbolizare ;
COM 3 : LD
I1 ;
ORC I2 ;

Descriere sintetic
RR (I1)

RR RR (I 2 ) (I1) (I 2 )

STO

O1 ;

(O1) RR (I1) (I 2 )

OR

I3 ;

RR RR (I3 ) (I1) (I 2 ) (I3 )

ORC

IO K ;

RR RR (IO K ) (I1 ) (I 2 ) (I3 ) (IO K )

STO

O2 ;

(O 2 ) RR (I1 ) (I 2 ) (I3 ) (I O K )

STOC O3 ;

(O3 ) RR (O 2 )

Exemplul 4
S se realizeze programul APB pentru urmtoarea schem de comand cu relee :

Rezolvare
Schema de comand cu relee materializeaz funcia logic de comand
O i I1 I 2 M O K I P ,
realizat cu urmtorul program APB :

13

Etichet : Simbolizare
COM 4 : LD
I1
ANDC I 2

; Descriere sintetic
; RR (I1 )
; RR RR (I 2 ) (I1 ) (I 2 )

STO

MOm ;

LD
AND

MOK ;

OR

MOm ;

RR RR (M O m ) (M O K ) (I P ) (I1 ) (I 2 )

STO

Oi

(Oi ) RR (M O K ) ( I P ) (I1 ) ( I 2 )

STO

M Oi ;

IP

(M O m ) RR (I1 ) (I 2 )
RR (M O K )

RR RR (I P ) ( M O K ) (I P )

;
;

(M Oi ) RR (Oi ) (M OK ) (I P ) (I1) (I 2 )

Exemplul 5
S se realizeze programul APB pentru urmtoarea schem de comand cu relee :

Rezolvare
Schema de comand cu relee materializeaz urmtoarele funcii logice de comand
O1 O 2 I1 I 2 M O K

O 3 O 4 I1 I 2 M O K O1

realizate cu urmtorul program APB :


Etichet : Simbolizare
; Descriere sintetic
COM 5 : LD
I1 RR (I1 )
;
I2
AND
; RR RR (I 2 ) ( I1 ) (I 2 )
MOK ;
RR RR (M O K ) (I1 ) (I 2 ) (M O K )
AND
O1 ; (O1 ) RR (I1 ) (I 2 ) (M O K )
STO
STO
STO

M O1 ;

(M O1 ) RR (I1 ) (I 2 ) (M O K )

O2

(O 2 ) RR ( I1 ) (I 2 ) (M O K )

STO
STOC

MO2 ;

STOC

M O3 ;

STOC

O4

STOC

MO4 ;

O3

(M O 2 ) RR (I1 ) (I 2 ) (M O K )

(O 3 ) RR (I1 ) (I 2 ) (M O K )
(M O 3 ) RR (I1 ) (I 2 ) (M O K )

(O 4 ) RR ( I1 ) (I 2 ) (M O K )
(M O 4 ) RR (I1 ) (I 2 ) (M O K )

Exemplul 6
S se realizeze programul APB pentru urmtoarea schem de comand cu relee :
14

Rezolvare
Schema de comand cu relee materializeaz urmtoarea funcie logic de comand

Oi (I 7 I1 ) I 2 (I 5 I 6 ) (I 3 I 4 M O K )
realizat cu urmtorul program APB :
Etichet : Simbolizare ;
COM 6 : LDC
I1
;
I7
OR
;
I2
ANDC
;
STO M O m ;
I5
LD
;
I6
OR
;
AND M O m ;

Descriere sintetic
RR (I1 )
RR RR ( I 7 ) ( I1 ) ( I 7 )

RR RR (I 2 ) (I 2 ) [(I1 ) (I7 )]

(M O m ) RR ( I 2 ) [( I1 ) (I 7 )]
RR (I5 )
RR RR (I6 ) ( I5 ) ( I 6 )

RR RR (M O m ) (I 2 ) [ (I1 ) (I7 ) ] [ (I5 (I6 ) ]

STO

MOm ;

(M O m ) RR (I 2 ) [ (I1 ) (I 7 ) ] [ (I5 (I 6 ) ]

LD
OR
;
OR

I3

RR (I3 )

;
I4

MOK ;

AND M O m ;

RR RR (I 4 ) (I3 ) (I 4 )

RR RR (M O K ) (I3 ) (I 4 ) (M O K )
RR RR (M O m ) [ (I3 ) (I 4 )
(M O K )] (I 2 ) [ (I1) (I7 ) ] [ (I5 (I 6 ) ]

STO

Oi

(Oi ) RR [ (I3 ) (I 4 )

(M O K )] (I 2 ) [ (I1) (I7 ) ] [ (I5 (I 6 ) ]

STO

M Oi ;

(M Oi ) RR [ (I3 ) (I 4 )
(M O K )] (I 2 ) [ (I1) (I7 ) ] [ (I5 (I 6 ) ]
15

Exemplul 7
S se realizeze programul APB pentru urmtoarea schem de comand cu relee :

Rezolvare
Schema de comand cu relee materializeaz urmtoarea funcie logic de comand
O1 I7 M O2 M OK I6 I 4 I5 I 2 I3 I1 I7 (MO 2 MO K ) I6 (I 4 I5 ) (I 2 I3
I1)
realizat cu urmtorul program APB :
Etichet : Simbolizare
; Descriere sintetic
MO2 ;
COM 7 : LD
RR (M O 2 )
MOK ;
OR
I7
AND
;
I6
ANDC
;
STO M O m ;

LD

RR RR ( M O K ) (M O 2 ) ( M O K )
RR RR (I 7 ) (I 7 ) [ (M O 2 ) (M O K ) ]
RR RR (I 6 ) (I 6 ) ( I 7 ) [ (M O 2 ) (M O K ) ]

(M O m ) RR (I6 ) (I7 ) [ (M O 2 ) (M O K ) ]

I5

RR (I5 )

I4

RR RR (I 4 ) (I5 ) (I 4 )

;
ORC
;
AND

MOm ;

RR RR (M O m ) [ (I5 ) (I 4 ) ] (I7 ) (I6 ) [(M O 2 ) (M O K )]

STO

MOm ;

(M O m ) RR [ (I5 ) (I4 ) ] (I7 ) (I6 ) [(M O 2 ) (M O K )]

LDC

I2

RR (I 2 )

ORC

I3

RR RR ( I3 ) ( I 2 ) ( I3 )

OR

I1

RR RR (I1 ) (I 2 ) (I3 ) (I1 )

AND

MOm ;

RR RR ( M O m ) [ (I5 ) (I 4 ) ] ( I 7 ) ( I 6 ) [(M O 2 )
(M O K ) ] [ (I 2 ) (I3 ) (I1 ) ]

STO
;

O1

STO

M O1 ;

(O1) RR [ (I5 ) (I 4 ) ] ( I7 ) (I6 ) [(M O 2 )


(M O K ) ] [ (I 2 ) (I3 ) (I1 ) ]

(M O1 ) RR [ (I5 ) (I 4 ) ] ( I 7 ) (I 6 ) [(M O 2 )
(M O K ) ] [ (I 2 ) (I3 ) (I1 ) ]
16

Exemplul 8
S se realizeze programul APB pentru urmtoarea schem de comand cu relee :

Rezolvare
Schema de comand cu relee materializeaz urmtoarele funcii logice de comand
O1 I 2 I1

O 2 O1 M O K

,
realizate cu urmtorul program APB :
O3 I 4 I3 O1 I 4 I3 O1

Etichet : Simbolizare
COM 8 : LD
I2
I1
ORC

; Descriere sintetic
; RR (I 2 )
; RR RR ( I 2 ) (I 2 ) (I1 )
; (O1 ) RR ( I 2 ) ( I1 )

STO

O1

STO

M O1 ;

(M O1 ) RR (I 2 ) (I1 )

ANDC M O K ;

RR RR (M O K ) (I 2 ) (I1 ) (M O K )

STO

O2

STO

MO2

(M O 2 ) RR (I1 ) (I 2 ) (M O K )

LDC

I4

RR (I 4 )

ANDC

I3

RR RR (I3 ) (I 4 ) (I3 )

AND

M O1

RR RR ( M O1 ) ( I 4 ) ( I3 ) (I 2 ) ( I1 )

STO

O3

STO

M O3

(O 2 ) RR ( I1 ) (I 2 ) (M O K )

(O3 ) RR (I 4 ) (I3 ) (I 2 ) ( I1 )

(M O 3 ) RR (I 4 ) (I3 ) (I 2 ) (I1 )

1.3.2. Validarea intrrilor i ieirilor unui APB


n modul de operare secvenial , dup efectuarea instruciunilor din seciunea combinaional
a unui program este necesar ca , n funcie de rezultatul logic al evalurilor fcute prin prelucrare
logic , s se execute doar o parte a instruciunilor din seciunea secvenial asociat . Aceasta
presupune realizarea unor salturi peste anumite secvene de instruciuni ale programului , sau
inhibarea unor semnale de la ieirea APB la parcurgerea unor secvene de instruciuni .
La un APB , modul secvenial de operare impune ca setul de instruciuni s cuprind fie
instruciuni de salt , ce s ntrerup adresarea normal a memoriei program , fie instruciuni de
validare i inhibare a intrrilor i ieirilor automatului , caz n care se execut toate instruciunile
dintr-un program .
17

Prin instruciuni ce valideaz , ori inhib intrri i ieiri ale automatului , se poate determina
ca o secven de program , dei executat , s nu aib efect asupra ieirilor din automat , situaie
echivalent cu un salt peste secvena de program , numit pseudo-salt .
Pseudo-saltul peste o secven dintr-un program poate fi realizat inhibnd pe durata secvenei
fie intrrile , prin instruciunea cu mnemonicul IEN , fie ieirile , prin instruciunea cu mnemonicul
OEN .
Punerea rapid n 0 sau 1 a bistabilelor IEN i OEN prin transferul strii logice de pe
orice intrare de adres Ii cu instruciunile
IEN

Ii

i respectiv
OEN

Ii ,

impune ca automatul s aib fie o intrare conectat la bistabilul RR al microprocesorului a crei


adres este notat I RR , fie o intrare pus n 0 sau 1 i avnd adresa notat I L , respectiv I H .
ntr-un program , pseudosaltul peste o secven de instruciuni impune ca secvena s nceap
cu punerea n 0 a bistabilului IEN ori OEN folosit i s se ncheie cu repunerea n 1 a acestui
bistabil pentru a nu se afecta continuarea programului.
Folosirea pseudosaltului face ca timpul de ciclu TC i cel de reacie TR s fie constante i
apreciate din faza de programare ( TR.max 2 TC ).
Modul de utilizare a bistabilelor IEN i OEN n realizarea unui pseudosalt este artat n
urmtoarele exemple :
Exemplul 1
S se realizeze programul APB pentru urmtoarea schem de comand cu relee :

Rezolvare
Programul APB ce realizeaz funcia de comand a schemei cu relee prin folosirea pseudosaltului are urmtoarea form :
Etichet :
AUTO 1 :

Simbolizare
I5
LD
I4
AND
O10
STO
IEN
LD
STO

I7

I1
O2 ;

;
;
;
;

Descriere sintetic
Comand pe ieirea O10

;
;

Pseudosalt condiionat de starea logic a intrrii I 7


Comand pe ieirea O 2 dac I 7 1 i lips comand dac
I7 0

18

Etichet :

Simbolizare
I 40
LD
I51
AND
ANDC I 2
O3
STO

;
;

Descriere sintetic
Comand pe ieirea O 3 dac I 7 1 i lips comand dac

;
;
;

I7 0

ORC
IEN

I RR ;
I RR ;

Repunere n 1 a bistabilului IEN folosind intrarea I RR ,


la sfritul secvenei implicat n pseudosalt

LD
OR
AND
STO

I9

Comand pe ieirea O1

I8
I3

O1

;
;
;
;

Exemplul 2
S se realizeze programul APB pentru comanda descris prin urmtoarea organigram :

Rezolvare
Programul folosind pseudo-salt are urmtoarea form :
Etichet :
AUTO 2 :

Simbolizare
;
I1 ;
LD
OEN I RR ;
STO O1 ;
STO O 7 ;

Descriere sintetic
Condiionare pseudosalt de starea logic a intrrii I1 prin
I RR

Comenzi pe ieirile O1 i O 7 dac I 7 1 i lips comenzi


dac I 7 0

LDC
OEN

I RR ;
I RR ;

Complementarea strii bistabilului OEN

STO
STO

O5

O9

;
;

Comenzi pe ieirile O5 i O9 dac I 7 0 i lips comenzi


dac I 7 1

ORC
OEN

I RR ;
I RR ;

Se pune bistabilul OEN n 1 prin I RR pentru a nu afecta


continuarea programului .

STO

O 40 ;

Comand ieire O 40

19

1.3.3. Ramificaiile ntr-un program


n vederea economiei de memorie i de timp n efectuarea unei sarcini se prevd unui automat
programabil instruciuni de ramificare (salt , apel i revenire) necondiionat i condiionat .

1.3.3.1. Saltul necondiionat


O operaie de salt necondiionat este realizat cu instruciunea simbolizat prin
JMP addr
descris sintetic prin
PC addr = coninutul cmpului de adres al instruciunii de salt ,
i care semnific transferul n registrul numrtor de program PC a numrului addr aflat n cmpul
de adres din locaia memoriei program destinat acestei instruciuni .
n aplicaiile controlate cu APB se recomand numai saltul nainte , excepie fcnd saltul la
prima adres a programului , realizat la sfritul unui ciclu program si care determin reluarea
programului . Efectuarea n program doar de salturi nainte , permite controlul relurii corecte a
programului cu un circuit de supraveghere ce msoar timpul n care se execut un ciclu program
numit temporizator de supraveghere (Watchdog Timer) . Astfel , dac durata unui ciclu program
depete valoarea programat n Watchdog Timer , nseamn c procesorul a pierdut controlul
aplicaiei i ca urmare toate comenzile emise de automat sunt anulate prin punerea ieirilor
automatului n 0 , iar execuia progarmului este abandonat .
La un APB cu procesor MMC 4500 , ca instruciune de salt de iniializare , ce s fac saltul la
adresa 000 ce conine prima instruciune din program , poate fi folosit una din instruciunile
NOPO
NOPF ,
n condiia conectrii semnalului FLO , respectiv FLF , la terminalul RST al numrtorului de
program P 14104 .
ntr-un astfel de APB , n care se pot executa doar ramificri prin salt , semnalul JMP , emis de
microprocesor la execuia unei instruciuni de salt
JMP addr ,
se va aplica terminalelor RT i JS ale numrtorului de program , iar prin conectarea semnalului
RST al numrtorului de program , instruciunea de revenire , cu simbolizarea
RTN ,
devine instruciune de iniializare .

1.3.3.2. Saltul condiionat


ntr-un APB , neexistnd bistabile de condiie , un salt poate fi condiionat doar de starea 0 a
registrului RR prin implementarea instruciunii
SKZ (Skip if Zero) ,
ce semnific ignorarea urmtoarei instruciuni din program dac RR=0 .
Aceast instruciune urmat de una de salt constituie secvena de program ce realizeaz saltul
condiionat de starea RR=1 , n timp ce dac aceast secven e precedat de o instruciune de
complementare a registrului RR , se obine un salt condiionat de starea RR=0 . Rezult c un salt
condiionat de starea 0 , respectiv 1 , a intrrii de adres I k a automatului , impune transferul strii
( I k ) , respectiv (I k ) , n registrul RR , urmat de secvena de salt condiionat de starea RR=0 .
Exemplu
Etichet :

Simbolizare ;
.
ORC I k ;

Descriere sintetic
RR RR (I k )
20

SKZ
;
JMP TIME ;
STO Oi ;
AND I m ;
.

Dac RR=1 salt la adresa TIME , iar dac RR=0 continu cu


instruciunea STO O i

LDC I RR ;
SKZ
;
JMP FIRE ;
.
Ii ;
LD
SKZ
;
JMP STOP ;
I0 ;
LD
.

Dac RR=0 salt la adresa FIRE , iar dac RR=1


instruciunea urmtoare

LDC I p ;
SKZ
;
JMP READ ;
Ii ;
LD
....

Dac ( I p ) 0 salt la adresa READ , iar dac (I p ) 1 continu


cu instruciunea LD Ii

RR RR (I m )

continu cu

Dac ( Ii ) 1 salt la STOP , iar dac (Ii ) 0 continu cu


instruciunea LD I 0

1.3.3.3. Apelul necondiionat


Microprocesorul P 14500 nu are o instruciune de apel distinct . Ramificarea prin apel ,
impunnd comanda numrtorului de program cu semnalele RT=0 i JS=1 , poate fi realizat cu una
din instruciunile
NOPO
NOPF ,
folosind semnalul FLO , respectiv FLF , al microprocesorului . Astfel , sarcinile de salt , apel i
revenire sunt realizate prin instruciuni distincte de circuitul numrtor de program comandat
printr-o logic suplimentar artat n fig.2-1.3 .

RT JS Funcie
Mnemonic
1
0 Revenire RTN
0
1 Apel
NOPF
1
1 Salt
JMP

Fig.2-1.3

Comanda funciilor de salt , apel i revenire

1.3.3.4. Apelul condiionat


Ca i operaia de salt i cea de apel poate fi condiionat de starea registrului rezultat RR , ntrun APB cu microprocesor P 14500 . Astfel apelul condiionat de starea RR=1 se realizeaz cu o
secven format dintr-o instruciune
SKZ
urmat de o instruciune de apel necondiionat , n timp ce dac aceast secvena este precedat de o
instruciune de complementare a registrului RR se obine un apel condiionat de starea RR=0 .
21

Un apel poate fi condiionat de starea 0 sau 1 , a unei intrri Ik a automatului , dac secvena
de apel condiionat de RR=0 , este precedat de transferul n RR a strii (Ii ) , respectiv (I k ) .
Exemplu
Etichet :

Simbolizare
.
XNOR Ik

Descriere sintetic

RR RR (I k )
Dac RR=1 apeleaz PULS Dac RR=0 continu cu
instruciunea LD Ii

SKZ
;
NOPF PULS ;
Ii
LD
;
I0
AND
;
.
I RR ;
LDC
SKZ
;
NOPF FORCE ;
O1 ;
STO
.
Ii ;
LD
SKZ
;
NOPF OFF ;
In
LDC
;
....
Ir
LDC
;
SKZ
;
NOPF PASS ;
IO K ;
LD
.

RR RR (I0 )
Dac RR=0 apeleaz FORCE Dac RR=1 continu cu
instruciunea STO O1

Dac (Ii ) 1 apeleaz OFF Dac (Ii ) 0 continu cu


instruciunea LDC In

Dac (Ir ) 0 apeleaz PASS Dac (Ir ) 1 continu cu


instruciunea LD IOK

1.3.3.5. Revenire necondiionat


ntr-un APB cu microprocesor P 14500 , revenirea necondiionat dintr-o subrutin se
realizeaz comandnd circuitul numrtor de program cu RT=1 i JS=0 printr-o logic de comand
la care se aplic impulsul RTN generat de microprocesor cnd efectueaz instruciunea de revenire
RTN
de la sfritul subrutinei .
Sub comenzile RT=1 i JS=0 , ultima adres salvat n stiv este depus n registrul numrtor
de adrese .

1.3.3.6. Revenire condiionat


Ca i operaiile de salt i de apel , operaia de revenire poate fi condiionat de starea
registrului rezultat RR . Astfel , revenirea condiionat de starea RR=1 se realizeaz cu o secven
format dintr-o instruciune
SKZ
urmat de o instruciune de revenire necondiionat , n timp ce dac aceast secven este precedat
de o instruciune de complementare a registrului RR se obine o revenire condiionat de starea
22

RR=0 .
O revenire poate fi condiionat de starea 0 sau 1 , a unei intrri a automatului , cu adresa Ik
dac secvena de revenire condiionat de starea RR=1 este precedat de transferul n RR a strii
(I k ) , respectiv (Ik ) .
Exemplu
Etichet : Simbolizare ;
....
NOPO
SKZ
RTN
LD

Descriere sintetic
;
;
;
;

MOK

ANDC M I i
....
LDC
;
SKZ
RTN
NOPF
.
LD
SKZ
RTN
STO
.
LDC
SKZ
RTN
LD
.

;
I RR

Dac RR=1 revenire


Dac RR=0 , atunci se continu cu
instruciunea LD M O K
RR RR (M I i )

Dac RR=0 revenire


Dac RR=1 se continu cu instruciunea
NOPF

;
;

MOK ;

Dac (M I k ) 1 revenire
(MI k ) 0
Dac
continu
instruciunea
STO M O K

MIr

Dac (M I r ) 0 revenire

M Ik ;

;
;

M IP

;
;
;
;

cu

Dac (M I r ) 1 continu cu instruciunea


LD M I P

1.3.4. Ramificarea n programare


O aplicaie complex rezult din reunirea mai multor sarcini distincte , fiecare descris cu un
subprogram . Ca urmare , programul aplicaiei va fi unul de gestionare a subprogramelor , fapt ce
implic utilizarea instruciunilor de ramificare .
Un exemplu n acest sens l constituie realizarea cu un APB a funciilor unor circuite integrate
digitale ca numrtoare , registre de deplasare , sumatoare , decodoare , etc . Funcia realizat de un
asemenea circuit poate necesita incrementarea i decrementarea unui numr binar , operaii ce vor
trebui realizate numai cu instruciunile logice ale setului de instruciuni care nu conine i
instruciuni aritmetice .
Din analiza operaiei de numrare se observ c modificarea unui bit S j1 are loc ntr-o
incrementare numai dac bitul S j trece din 1 n 0 , iar ntr-o decrementare numai dac bitul
S j trece din 0 n 1 .

23

Asociind numrrii un bit M F ca fanion ce s indice prin M F 1 incrementarea i prin


M F 0 decrementarea , rezult c ntr-o numrare bitul S j1 se va modifica numai dac
Sj MF 1

, sau S j M F 0 ,
modificrile ncetnd de la bitul S k pentru care
Sk M F 0 , sau Sk M F 1 .
Fie cazul numrtorului cu incrementare , decrementare i ncrcare a crui schem este
reprezentat n fig. 11 , n care notaiile folosite au urmtoarele semnificaii :
- I = intrarea impulsului de incrementare care acioneaz pe frontul cresctor;
- I = intrarea impulsului de decrementare ce acioneaz pe front cresctor;
- IS = intrarea de comand a ncrcrii numrtorului cu data I D I C I B I A de intrare ,
comand realizat pe frontul cresctor a impulsului;
- I D , I C , I B , I A = intrri la care se aplic dat de ncrcat;
- Q D , Q C , Q B , Q A = ieiri de emisie a coninutului numrtorului;
- O 0 = ieire ce indic prin starea 1 anularea numrtorului i care blocheaz intrarea
I ;
- O F = ieire ce indic ncrcarea maxim a numrtorului ( Q DQ C Q BQ A 1111 ) i care
blocheaz intrarea I .

Fig.3-1.3 - Circuit de numrare cu incrementare , decrementare i ncrcare


Funcionarea acestui circuit este realizat n APB cu intrrile i ieirile avnd aceleai notaii
ca n fig.3-1.3 .
Organigrama prezentat n fig.4-1.3 evideniaz realizarea funciilor circuitului prin
ndeplinirea urmtoarelor sarcini : detectare front setare cu ncrcare numrtor , test blocare
incrementare , test blocare decrementare , detectare front impuls incrementare , detectare front
impuls decrementare , numrare reversibil , testare golire numrtor , testare umplere numrtor .

24

Fig.4-1.3
Etichet :
COUNT :

Simbolizare
;
IS ;
LD
SKZ
;
JMP
TESTS ;

Organigram numrtor reversibil

Descriere sintetic
Test Is =0 1 (prin comparare a strii curente IS
cu cea anterioar aflat n locaia MS )

25

Etichet :
LOOPS :
TESTS :

FILL :

ENDI+

BLOCI+ :

LOOP+ :
PULS+ :

ENDI- :

BLOCI- :

LOOP- :
PULS- :

Simbolizare
;
MS ;
STO
JMP ENDI+ ;
XNOR MS ;
SKZ
;
JMP LOOPS;
STOC M S ;
LD
STO
LD
STO
LD
STO
LD
STO
LD
SKZ ;
JMP
LD
SKZ ;
JMP
STO
JMP
XNOR
SKZ ;
JMP
STOC
LD
STOC
JMP
LD
SKZ ;
JMP
LD
SKZ ;
JMP
STO
JMP

IA
OA
IB
OB

XNOR
SKZ ;
JMP
STOC
LD
STO

M-

MODIFY : LDC
STO

IC
OC

ID
OD
IO F

Descriere sintetic

(sau LD MS ) ; MS IS anterior

ncrcare numrtor

;
;
;
;
;
;
;
;

ENDI- ;
I
;
PLUS+ ;
M ;
ENDI- ;
M ;

O F 1 test de la ENDI -

Test I 0 1

(sau LD M ); M I anterior , M C 1 indicnd


incrementare

LOOP+ ;
M ;
I LOW ;
MC ;
MODIFY;
IO0 ;

O0 1

TEST0 ;
I;

Test I - 0 1

salt la TEST0

PULS- ;
M;
TEST0 ;
M C 0 indicnd decrementare

LOOP- ;
;
I LOW ;
MC ;
IO A ;

M-

OA

M C =0 pentru a indica decrementare

;
26

Etichet :

TEST0 :

TESTF :

CARRY :

Simbolizare
;
NOPF CARRY;
IO B ;
LDC

Descriere sintetic
NOPF CARRY este instruciunea de apel CALL CARRY

OB

STO
NOPF
LDC

;
CARRY;
IO C ;

STO
NOPF
LDC

OC

;
CARRY;
IO D ;

STO
NOPF
LDC

OD

ANDC

IO D

STO

O0

LD

IO A

AND

IO B

AND

IO C

AND

IO D

;
CARRY ;
IO A ;
ANDC IO B ;
ANDC IO C ;

Generare semnal golire O 0

;
;
Generare semnal umplere O F

OF
STO
;
JMP
COUNT ;
XNOR M C
; Subprogram de transport a modificarii ctre bitul de pondere
SKZ
; imediat superioar
JMP
TEST0 ;
RTN
;

n cazul numrrii n cod BCD se impune evitarea strilor interzise . De aceea naintea unei
numrri se verific coninutul numrtorului , incrementarea cifrei 9 fiind nlocuit cu trecerea la
cifra 0 , iar decrementarea cifrei 0 fiind nlocuit cu trecerea la cifra 9 .
Astfel , ntr-o operaie de incrementare se introduce secvena :
Etichet : Simbolizare ; Descriere sintetic
INCDG0 : LDC IO
; Afecteaz RR=0 dac DIGITO conine cifra 9=1001 B
A
ORC IO D ;
SKZ ;
Se reia incrementarea dac DIGITO 9
JMP INCR ;
STO O A ; Se pune DIGITO din 9 n 0
STO O D ;
INCDG1 : .
iar ntr-o operaie de decrementare se introduce secvena :
Etichet

: Simbolizare ;

Descriere sintetic
27

DECDG0 : LD
OR
OR

Afecteaz RR=0 dac DIGITO conine cifra 0=0000 B

IO A ;
IO B ;
IO C ;
IO D ;

OR
SKZ ;
Se reia decrementarea dac DIGITO 0
JMP INCR;
Se pune DIGITO din 0 n 9
STOC O A ;
STOC OD ;
DECDG1 : ....
ntr-o numrare reversibil , alegerea unei secvene de incrementare ori decrementare se face
dup coninutul fanionului M F care prin 1 indic incrementarea , iar prin 0 decrementarea :
Etichet

: Simbolizare
; Descriere sintetic
n caz de incrementare salt la INCDG0 , iar pentru
LD M F ;
decrementare continu de la DECDG0
SKZ ;
JMP INCDG0 ;
DECDG1 : LD IO ;
A
.

1.3.5. Temporizrile ntr-un APB


Un APB trebuie prevzut i cu posibiliti de temporizare . Pentru ca o temporizare s poat fi
realizat prin program , cu o etap de numrare ntr-un ciclu program , e necesar ca timpul de ciclu
s fie constant i ca urmare programul s nu utilizeze instruciuni de salt .
Temporizarea se realizeaz astfel , ncrcnd valoarea a temporizrii n numrtor i
realiznd cte o decrementare pe ciclu program pn la anularea coninutului numrtorului . Cu
alte cuvinte ntre dou decrementri succesive se efectueaz m instruciuni , iar dac fiecare
instruciune este efectuat ntr-un timp t i rezult c numrtorul trebuie ncrcat cu numrul
A

m t i TC

TC =ciclu program

precizia temporizrii fiind m t i .


Decrementarea numrului binar
A a n a n 1 K a1a 0
implic operaia :

R A - 1 a n a n -1 a1a 0 -0 0

01

echivalent n complement faa de 2 cu adunarea

R a n a n -1 a1a 0
1 1
1 0
0 1

0 1

n care transportul de la rangul n este neglijat .


S s n s n -1 s1s 0 dintre operanzii A a n a n -1 a1a 0
n general n suma
,
B b n b n -1 b1b 0 i bitul de transport c 0 , bitul de rang k se determin , pentru B 11 11
, cu relaiile :

28

s k a k c k -1 (a k 1) c k -1 (a k b k ) c k -1
c k a k c k -1
c k -1 c k

Organigram pentru o temporizare prin numrare cu decrementare este prezentat n fig.5-1.3.

Fig.5-1.3 Organigrama la temporizare prin decrementare i organizarea memoriei RAM


n determinarea bitului de rang k al rezultatului dintr-o decrementare , folosind relaiile :
(M a k ) (M a k ) (M ck-1 ) s k
(M ck-1 ) (M a k ) (M ck-1 ) ck
(M ck-1 ) c k = (M ck )
se obine urmtoarea secven de program :

29

Etichet :
DCRk :

Simbolizare ;
Ma k ;
LD
M c k-1 ;
OR
STO

Mc k

LDC

Ma k

XNOR M c k-1 ;
I RR ;
LDC
Ma k ;
STO
LD

Mc k

STO
.

M c k-1 ;

Descriere sintetic
(M c k ) ck a k c k 1 ,
unde
+ = OR

(Ma k ) sk a k ck 1

(M c k-1 ) c k = (M c k )

Temporizrile realizate hardware utilizeaz circuite specializate prevzute sistemului , fiecare


temporizator avnd intrarea de declanare conectat la o ieire din automat , iar ieirea conectat la
o intrare a automatului , situaie prezentat n fig.6-1.3 . Un APB , prin magistrala intern , semnale
de comand i ieiri ale sale poate controla un temporizator numeric .

Fig.6-1.3

Zona de temporizare a unui automat

Temporizatorul poate fi de tip analogic realizat spre exemplu cu circuitul integrat CDB 4121
n conexiunea prezentat n fig.7a-1.3 , durata temporizrii fiind determinat cu relaia :
R i C ln 2 0,7 R i C .
n funcie de poziia sau pe care se afl comutatorul K , formele de und dup care se
stabilete programul de temporizare sunt prezentate n fig.7b-1.3 , respectiv fig.7c-1.3 .

30

a) Schem electric temporizator

b) Ieire temporizatorul avnd comutatorul n poziia

c) Ieire temporizator avnd comutatorul n poziia


Fig.7-1.3 Temporizator monostabil cu circuitul CDB 4121
Un temporizator numeric poate fi obinut cu circuite de numrare reversibil . Astfel de
temporizatoare permit realizarea att a temporizrilor , ct i numrare unor evenimente . n astfel
de temporizatoare pot fi utilizate circuitele integrate CDB 4190 CDB 4193 .
Un temporizator cu numrare prin decrementare , ce folosete dou numrtoare CDB 4192 ,
este prezentat n fig.8-1.3
31

a) Schem electric

b) Forme de und
Fig.8-1.3 Temporizator prin numrare cu circuite CDB 4192
Iniial are loc resetarea numrtorului sub comanda RESET=1 care , prin starea Q 0 a
bistabilului D , inhib poarta AND ce nu mai transfer impulsuri la intrarea CDOWN 0 . Sub
0 0 0 , iar poarta
comanda LOAD=0 , cele dou numrtoare sunt ncrcate cu data I1D I1C I1BI1A I0D IC
I BI A
AND este validat prin Q 1 , astfel ncepnd numrarea impulsurilor aplicate la intrarea
CDOWN 0 . Se numr frontul cresctor al fiecrui impuls , prin decrementare pn la anularea
numrtorului cnd semnalul B10 determin , prin bascularea bistabilului , inhibarea porii AND i
semnalarea sfritului numrrii prin Q=1 semnal testat prin intrarea din APB la care-i conectat .
Utilizarea de temporizatoare simplific programarea , putndu-se realiza diferite diagrame de
temporizare .

Exemplul 1
S se activeze ieirea O1 dup secunde din momentul cnd I1 1 .
Aceast aplicaie are urmtoarea diagram de timp :

32

descris cu programul de mai jos :


Etichet :
TIMER1 :

Simbolizare
;
I1 ;
LD
ANDC IT 1 ;
IO1 ;
AND
STO
OEN

OT ;
I RR ;

LDC

IT 1

AND

IO T

ANDC

IO1 ;
I RR ;
OT ;
O1 ;
I RR ;
I RR ;

OEN
STOC
STO
XNOR
OEN

Descriere sintetic
Declanare temporizator prin ieirea O T
dac I1 IT 1 IO 1 1 = test ncepere
temporizare ; IT 1 =la ieire temporizator
Ieiri validate pentru dac I1 IT 1 IO 1

Dac IT 1 IO T IO1

1 valideaz O1 =1 i
anuleaz comand temporizator , adic face
testul logic de sfrit al temporizrii

Valideaz ieirile prin OEN=1

Exemplul 2
S se dezactiveze ieirea O 2 dup secunde de la trecerea n 0 a intrrii I 2 .
Diagrama de timp i programul acestei temporizri sunt date mai jos .
Etichet : Simbolizare
; Descriere sintetic
TIMER2 : LDC I 2 ;
Declanare temporizator prin ieirea O T dac
IT 2 = I2 IO IT 1 = test ncepere temporizare
AND IO 2 ;
2
2
ANDC IT 2 ; la ieire temporizator
STO
OEN

OT ;
I RR ;

IT 2 ;
ANDC IOT ;
AND IO 2 ;
LDC

OEN
STO

Ieiri validate pentru scriere dac I2 IO 2 IT 2


Emite comanda O 2 =1 dac IT 2 IO T IO 2
logic de sfrit al temporizrii

1
1 =test

I RR ;
O2 ;

33

Etichet

: Simbolizare
; Descriere sintetic
XNOR I RR ; Valideaz ieirile prin OEN=1
I RR ;
OEN

Folosirea ca temporizatoare a interfeelor de programare a intervalelor de timp se crete


capacitatea de temporizare i se obin mai multe moduri de funcionare . Conectarea ntr-un APB a
interfeei PIT 8253 este dat n fig.9-1.3 .

Fig.9-1.3

Conectarea PIT 8253 ntr-un APB

Pentru automatul din fig.9-1.3 circuitele MUX , DEMUX , PIT 8253 nu trebuie selectate
simultan . Prin magistrala sistemului , dup necesitate , se transfer numere de adres sau date .
Semnalele generate de microprocesorul MMC 4500 pe instruciuni sunt date n fig.10-1.3 .

34

Fig.10-1.3

Semnale la efectuare de instruciuni


35

1.4. Structuri de APB


1.4.1. Generaliti
Orice APB este conine o unitate central logic (LU= Logic Unit) care poate fi realizat att
prin sintez logic , ct i n form integrat ca microprocesor specializat .
Unitatea central trebuie s realizeze funcionarea sincronizat a circuitelor sistemului pe
care-l controleaz , n vederea accesului la memoria program de unde extrage instruciunile prin a
cror decodare execut sarcinile prevzute instruciunii , sarcini care implic accesul la zona de
intrare I pentru testarea unor parametri i a zonei de ieire O , n vederea lansrii comenzilor .
Unitile centrale logice pot fi realizate prin sintez logic n tehnica de acumulator sau n
tehnica microprogramat .

1.4.2. Unitate logic n tehnica de acumulator


Unui APB i se implementeaz un set redus de instruciuni ce s permit transferuri de date n
zonele de intrare I (=Input) , de iesire O (=Output) , de memorie M (=Memory) , de temporizare T
(=Timer) , efectuarea de operaii exclusiv logice i realizarea unor ramificri . Unitatea logic UL n
tehnic de acumulator conine un bistabil cu rol de registru acumulator , notat A , care va prelua
starea logic de la ieirea unui automat combinaional AC . Automatul combinaional are ca
semnale de intrare strile logice ale operanzilor i strile semnalelor de control intern generate la
decodificarea unei instruciuni , fiind sintetizat pentru a realiza funciile instruciunilor
implementate .
O unitate logic ce permite pentru bistabilul acumulator A tergerea , resetarea , validarea prin
tact i transferul strilor Q A sau Q A pe linia DATA , are structura din fig.1-1.4 .

Fig.1-1.4

Unitate logic n tehnic de acumulator

Arhitectura unui APB avnd unitatea central realizat prin sintez logic n tehnic de
acumulator este prezentat n fig.2-1.4 .

36

Fig.2-1.4

Structur sistem APB n tehnica de acumulator

Deoarece execuia unei instruciuni necesit efectuarea unor operaii ntr-o succesiune
determinat , timpul de efectuare a unei instruciuni , numit ciclu de main , s-a mprit n
37

intervale egale numite stri , n fiecare stare efectundu-se cte o operaie sub controlul unor
semnale de comand generate
Durata unei stri este fixat cu un generator de impulsuri . Astfel , operaiile necesare n
executarea unei instruciuni sunt comandate cu urmtoarele semnale , date n ordinea succesiunii
lor:
- T1 = comand ncrcarea registrului de instruciuni ;
- T2 = comand incremetarea registrului numrtor de program PC ;
- T3 = comand salvarea registrului PC n stiva SP
- T4 = comand ncrcarea paralel a registrului PC i a registrului index IX ;
- T5 = comand efectuarea operaiei n unitatea logic , rezultatul fiind memorat n registrul
acumulator A .
Formele de und a acestor semnale i circuitul care le genereaz sunt date n fig.3-1.4 . n
circuitul din fig.3b-1.4 , prin comanda MAN=0 se obine generarea permanent a ciclurilor de
funcionare , iar prin comanda MAN=1 se determin generarea unui singur ciclu n care se
efectueaz o singur instruciune .

a) Forme de und

b) Schem electric
Fig.3-1.4

Generator de stri

S-a considerat c automatul combinaional AC a fost sintetizat pentru efectuarea n unitatea


logic a instruciunilor logice i de transfer , instruciunile de ramificare fiind executate de celelalte
circuite ale APB sub controlul semnalelor de sincronizare extern emise dup decodarea
instruciunilor de executat .Instruciunile efectuate n automatul combinaional AC sunt :
38

Tip
LOGIC

Mnemonic Descriere sintetic


A A DATA
AND
ANDC

A A DATA

OR

A A DATA

ORC

A A DATA

XOR

A A DATA

NOT

AA

CLR

A0
A DATA

INTRARE : LD
LDC
IEIRE
: STO

A DATA

DATA A

STOC

Fig.4-1.4

DATA A

Schem unitate logic


39

Asociind fiecrei instruciuni logice , de intrare i de ieire un semnal distinct avnd aceeai
simbolizare ca a instruciunii , funcia logic de la ieirea automatului combinaional are expresia :
f LD DATA LDC DATA AND Q A DATA ANDC Q A DATA OR (Q A DATA )
ORC (Q A DATA ) XOR (A DATA ) NOT Q A

La intrrile automatului combinaional se aplic deci semnalele : Q A , Q A , DATA , DATA ,


LD , LDC , AND , ANDC , OR , ORC , XOR , NOT , emise n urma decodrii instruciunii de
executat .
Avnd n vedere funcia f realizat de automatul combinaional , unitatea logic poate fi
realizat ca n fig.4-1.4 .

1.5. Interfaarea automatelor cu prelucrare pe bit


Controlul unei aplicaii necesit testarea unor semnale logice la intrrile automatului i
emiterea unor semnale logice de comand pe ieirile automatului . Conectarea automatului cu
intrrile la senzorii , traductoarele i convertoarele analog-numerice (CAN) ale aplicaiei i cu
ieirile la elementele de acionare din aplicaie se face prin circuite de interfaare ce realizeaz att
separarea galvanic ntre aplicaie i automat , ct i adaptarea intrrilor i ieirilor automatului cu
elementele aplicaiei la care-s conectate . Separarea galvanic fa de aplicaie , protejeaz
automatul ca parte de comand ce opereaz la tensiuni i puteri reduse .
Separarea galvanic se poate realiza :
- electromecanic : prin relee , contactoare i electrovalve ;
- electromagnetic : prin transformatoare de impuls ;
- optoelectronic : prin elemente semiconductoare fotosensibile cum sunt optocuploarele .
Elementele de separare galvanic sunt prezentate n fig.1-1.5

a) Releu

b) Transformator impuls
Fig.1-1.5

Fig.2-1.5

c) Optocuplor

Modaliti de separare galvanic

Separare galvanic prin optocuplor i transformator de impuls


40

Fig.3-1.5

Separare galvanic prin releu

Separrile galvanice de tip electromecanic i electromagnetic introduc sarcini inductive ce


necesit protecie suplimentar la supratensiuni inductive de comutare .
Din exemplele prezentate rezult c separarea galvanic cu optocoplor impune existena n
circuitul de for a unei tensiuni suplimentare E C .
ntr-o serie de circuite cum sunt redresoarele comandate , contactoarele statice de curent
alternativ sau cicloconvertoarele , comanda fiecrui tiristor trebuie realizat pe durata unei
semialternane dintr-o tensiune alternativ de sincronizare generat cu nfurri ale
transformatorului de alimentare .
ntr-o comand numeric cu un automat , tensiunea alternativ de sincronizare trebuie
transformat ntr-un semnal rectangular ale crui impulsuri s indice fie o alternan , fie trecerile
prin zero ale tensiunii de sincronizare , semnalul rectangular de nivel TTL putnd fi testat printr-o
intrare a automatului .
Semnalul rectangular de sincronizare poate fi generat cu circuitele din fig.4.-1.5

a) Circuit sincronizare

b) Circuit sincronizare
Fig.4-1.5

Circuite de sincronizare

ntruct diodele i tranzistoarele au la deschidere o tensiune de prag u p , pentru circuitul din


fig.4a-1.5 , trecerea prin zero a tensiunii de sincronizare u a e marcat n semnalul rectangular de
sincronizare cu impulsuri pe a cror durat t i
2u p u a 2u p

41

iar pentru circuitul din fig. 4b-1.5 , n tensiunea rectangular de sincronizare , durata T a
altenanei pozitive difer de durata T a alternanei negative :
T T 2 t i
Deci , intervalul t i introduce o incertitudine n detectarea att a trecerilor prin zero , ct i a
alternantelor tensiunii de sincronizare u a . Reducerea intervalului de incertitudine t i la valori
neglijabile se obine prin creterea amplitudinii tensiunii de sincronizare u a i folosirea de
dispozitive semiconductoare cu tensiune redus de prag .

Fig.5-1.5

Forme de und pentru semnale de sencronizare

Pe baza consideraiilor prezentate , controlul cu un automat al unui redresor monofazat n


punte semicomandat se realizeaz ca n fig.6-1.5 .
Pentru redresorul monofazat n punte semicomandat , tensiunea rectangular de sincronizare
u sin , format cu tranzistorul TS din tensiunea sinusoidal u a , este testat prin intrarea I P a
automatului ce va comanda tiristoarele cu impulsurile generate cu oscilatorul de relaxare cu
tranzistorul unijonciune programabil T , ct timp ieirea O K a automatului este n starea logic
1. Prin ieirea O K se controleaz att durata comenzii tiristoarelor ct i momentul aplicrii
comenzii .
Tiristoarele sunt comandate simultan n fiecare alternan , dar va intra in conducie doar
tiristorul polarizat direct .
Intervalul de incertitudine t i , introdus la formarea tensiunii rectangulare de sincronizare ,
poate fi estimat i apoi compensat n programul de comand prin modificarea duratei unor
temporizri .

42

Fig.6-1.5

Redresor monofazat n punte semicomandat

Comanda cu un automat poate conduce la simplificarea controlului unei aplicaii . Astfel ,


comanda cu un automat a unui redresor trifazat cu tiristoare necesit doar o singur tensiune de
sincronizare fapt evideniat n fig.7-1.5 pentru redresorul trifazat n punte semicomandat .
Pentru circuitul din fig.7-1.5 , doar comanda tiristorului T1 este sincronizat cu tensiunea
u sin , tiristoarele T2 i T3 fiind comandate dup 120 i respectiv 240 , intervale msurate
precis prin temporizare . Fiecare tiristor este comandat prin cte un oscilator de relaxare cu
funcionare similar cu a oscilatorului de relaxare cu tranzistor unijonciune programabil .
n controlul cu un automat al unui variator de tensiune continu (numit i chopper) nu mai
sunt necesare tensiuni de sincronizare ci doar temporizri precise . Astfel , controlul chopperului cu
stingere forat din fig.8-1.5 se face cu cele dou tiristoare T1 i T2 comandate la intervale
precise de timp fiecare prion cte un generator autoblocat monostabil declanat cu un impuls scurt
pe ieirea automatului la care-i conectat .

43

Fig.7-1.5

Redresor trifazat n punte semicomandat

44

Fig.8-1.5

Chopper cu stingere forat

45

S-ar putea să vă placă și