Documente Academic
Documente Profesional
Documente Cultură
Automatizari Proiect-Teorie
Automatizari Proiect-Teorie
2
INTRODUCERE.......................................................................................................................................................2
SISTEME DE ACIONARE ELECTRIC. GENERALITI..............................................................................2
LANURI CINEMATICE........................................................................................................................................2
Caracteristicile lanurilor cinematice....................................................................................................................3
Asocierea lanurilor cinematice.............................................................................................................................5
MAINI ELECTRICE..............................................................................................................................................7
ACIONRI CU MAINI SINCRONE..................................................................................................................8
Generaliti............................................................................................................................................................8
MOTORUL SINCRON.............................................................................................................................................9
Pornirea motorului sincron....................................................................................................................................9
Frnarea motorului sincron.................................................................................................................................10
Motoare sincrone speciale...................................................................................................................................10
Motoare sincrone reactive (MSR).......................................................................................................................10
Motoarele pas cu pas (MPP)...............................................................................................................................11
ACIONRI CU MAINI ASINCRONE.............................................................................................................12
Generaliti..............................................................................................................................................................12
MOTORUL ASINCRON........................................................................................................................................12
Pornirea motorului asincron trifazat....................................................................................................................12
Pornirea motorului asincron monofazat..............................................................................................................13
ACIONRI CU MOTOARE DE CURENT CONTINUU..................................................................................13
DESCRIEREA I FUNCIUONAREA MOTORULUI DE CC...........................................................................14
Ecuaiile de funcionare.......................................................................................................................................14
Caracteristicile de funcionare ale motorului de curent continuu.......................................................................15
A. Motorul cu excitaie n derivaie................................................................................................................15
Motorul cu excitaie serie........................................................................................................................................18
La acest motor nfurarea rotoric este n serie cu nfurarea de excitaie, (fig. 1.5)..................................18
Motorul cu excitaie mixt......................................................................................................................................18
Pornirea motoarelor de curent continuu..................................................................................................................19
Regimul de frnare la motorul de curent continuu..............................................................................................21
Regimul de frnare la motorul de curent continuu cu excitaie n derivaie...................................................21
Frnarea cu recuperare....................................................................................................................................22
Frnarea n contracurent..................................................................................................................................22
Frnarea dinamic...........................................................................................................................................23
Regimul de frnare la motorul de curent continuu cu excitaie serie..................................................................23
Frnarea cu recuperare de energie...................................................................................................................23
Frnarea dinamic...........................................................................................................................................23
Frnarea n contracurent..................................................................................................................................24
REGLARE A TURAIEI MOTORULUI DE CURENT CONTINUU.................................................................25
Reglajul turaiei mcc cu excitaie derivaie.............................................................................................................25
Reglajul turaiei motorului de curent continuu cu excitaie serie.......................................................................27
Sisteme de reglare a vitezei m.c.c. alimentate prin impulsuri.............................................................................29
PROIECTUL TEHNIC...........................................................................................................................................32
Generaliti..............................................................................................................................................................32
Prile componente ale schemei..............................................................................................................................33
Microcontroller PIC16F874....................................................................................................................................35
ALGORITMUL DE PROGRAMARE...................................................................................................................59
Schema algoritmului...........................................................................................................................................59
LANURI CINEMATICE
n lanului cinematic. schemele cinematice structurale mecanismele care realizeaz
funcii identice, dar sunt de naturi diferite se reprezint prin acelai simbol convenional.
Schema fluxului cinematic este o reprezentare intuitiv a modului de transmitere a
micrii prin mecanismele
x e xi i
xi n s
unde:
vav viteza de avans
ns turaia urubului
psc pasul urubului conductor
v av n s p sc
;
i
v av ns p sc
p sc
ns
ns
xi n1
x e n2
n2
n1
xek
i1 i2 i3 i 4 ik ;
xi1
y
iT e
yi
iT
Notm:
Rezult:
iC i1 i2 ;
iT iC i R i D
iR i3 i4 ;
i D i5 ik
unde:
iT raport total de transfer
iC raport constant
iR - raport reglabil
iD raport dimensional
Ecuaia de transfer a lanului cinematic:
y e yi .i T yi .i C .i R .i D
ye1
y e1 y e min y e max
yi1
y i1 y i min y i max
yi max
yi min
CR
i T max
iT min
CR
sau
i R max
i R min
Dou sau mai multe lanuri cinematice sunt asociate sau legate n serie (fig.6) atunci
cnd, prin intermediul unui mecanism C, se transmite mrimea de ieire y e1 dintr-un lan
cinematic sub form de mrime de intrare yi2 n lanul cinematic urmtor.
Datorit raportului de transfer iC al mecanismului C de legtur, ntre cele dou mrimi exist
y i2
iC
relaia:
y e1
b) Asocierea paralel:
Dou sau mai multe lanuri cinematice sunt asociate n paralel (fig.7) atunci cnd ntre
mrimile de ieire trebuie s existe anumite relaii, sau cnd ntre mrimile de intrare exist
anumite relaii.
Lanurile cinematice asociate n paralel se pot subgrupa, n ceea ce privete legtura
dintre mrimile de ieire, ca fiind:
lanuri cinematice cu legtur condiionat cinematic (fig.7.a) lanuri cinematice care
asigur micarea de rotaie i de translaie pentru obinerea directoarei elicoidale, ale cror
viteze s satisfac raportul vT / vA = tg.
lanuri cinematice cu legtur necondiionat cinematic lanuri cinematice care
asigur viteza de achiere i de avans, ntre care nu exist o condiionare ca n cazul
precedent.
n figura 7.b este prezentat o variant de asociere n paralel rezult din considerente
economice.
Asocierea mixt:
MAINI ELECTRICE
Prin main electric se nelege o main, n general, rotativ, care transform puterea
mecanic n putere electric sau invers. Mainile electrice se mpart n maini de curent
continuu i maini de curent alternativ, dup felul energiei electrice ce ia parte n conversia
electromecanic realizat de main.
Orice main electric este reversibil din punct de vedere al conversiei energiei
realizate; ea poate funciona fie ca generator, fie ca motor. Prin generator electric se nelege o
main electric, care transform puterea mecanic n putere electric. Prin motor electric se
definete o main electric care transform puterea electrica n putere mecanic. Unele
maini pot funciona si ca frna electric i n aceast situaie maina primete att putere
mecanic ct i putere electric, pe care le transform n timp n cldur, realiznd n acelai
timp un cuplu electromecanic realizat la arbore.
Mainile de curent alternativ se mpart n doua mari clase: sincrone si asincrone.
Maina sincron se caracterizeaz prin faptul c n regim permanent frecvena curentului
schimbat cu reeaua de curent alternativ se afla n raport constant cu viteza unghiular de
rotaie a mainii, indiferent de gradul de ncrcare al mainii. Maina asincron se
Figura 9. Schema electric a indusului i diagramele fazoriale pentru maina sincron cu poli apareni
MOTORUL SINCRON
Pornirea motorului sincron
Motoarele sincrone nu dezvolt cuplu de pornire. Metodele de pornire sunt:
a) cu motor auxiliar;
b) n asincron;
c) prin convertor de frecven.
Ca motor auxiliar se poate utiliza fie un MCC fie un MAS.
Pornirea n asincron se poate face dac maina are n tlpile polare o nfurare n
scurtcircuit.
11
Generaliti
Mainile asincrone (MAS) trifazate, numite i maini de inducie, au o larg utilizare
n sistemele de acionare electric (SAE) datorit urmtoarelor avantaje: construcie simpl i
robust, siguran n exploatare, pre de cost sczut, alimentare direct de la reea.
Dezavantajele lor sunt: modificarea vitezei se face greoi cu investiii ridicate, absorb
putere reactiv, prin urmare duc la scderea factorului de putere.
Cea mai rspndit este MAS cu rotorul n scurtcircuit, cellalt tip constructiv l
reprezint maina asincron cu inele (MASI). Dac la MASI se include n rezistena fazei
rotorice i rezistena reostatului exterior, atunci ecuaiile ce descriu funcionarea obin o form
unic.
Ca i n cazul transformatorului, pentru ca mrimile rotorice s poat fi comparate
direct cu cele statorice, maina real se nlocuiete cu o main echivalent.
Maina echivalent are att n stator ct i n rotor acelai numr de faze, de nfurri
i de spire ale nfurrilor i este echivalent energetic cu maina real. n plus are rotor
imobil, deci frecvena din rotor este egal cu frecvena din stator, iar pentru c i tensiunea
electromotoare din stator este egal cu tensiunea electromotoare din rotor cele dou nfurri
pot fi conectate galvanic ntre ele.
MOTORUL ASINCRON
Pornirea motorului asincron trifazat
La pornirea motoarelor asincrone trebuie s se asigure urmtoarele condiii:
- Cuplul electromagnetic la pornire s fie suficient de mare pentru a se realiza pornirea
n gol sau n sarcin n funcie de condiiile de funcionare ale mainii.
- Curentul de pornire al mainii s nu depeasc valoarea limit admisibil
determinat de reeaua de alimentare pentru a se evita cderile mari de tensiune din reea, care
provoac deranjamente n funcionarea altor consumatori. Curenii mari de pornire n primarul
mainii provoac nclziri ale nfurrii, precum i scderea randamentului energetic n
perioada de pornire.
- Durata procesului de pornire s fie ct mai scurt, pentru a nu se produce nclziri
nsemnate ale nfurrii primare.
Pornirea motoarelor asincrone poate avea loc direct prin cuplarea mainii direct la o
reea trifazat avnd tensiunea i frecvena nominal, sau indirect, maina fiind cuplat mai
nti la o tensiune redus, care n decursul pornirii este mrit treptat pn la valoarea
nominal.
La alegerea metodei de pornire, trebuie s se in seama de condiiile impuse de
reeaua de alimentare i de mecanismul acionat de motor.
Cuplarea direct a mainii la reea este aplicat la mainile asincrone cu rotorul
bobinat la care pornirea se efectueaz cu ajutorul unui reostat conectat n rotor, precum i la
mainile asincrone cu rotorul n colivie n cazul n care reeaua de alimentare este suficient de
puternic nct ocurile de curent la pornire s nu prezinte importan, iar mecanismul
acionat poate s suporte ocul de cuplu electromagnetic.
Cuplarea indirect a mainii asincrone n perioada pornirii este aplicat la motoarele
asincrone cu colivie n rotor, alimentate de la reele electrice relative slabe.
12
Ip
In
Ip = f(t)
13
Mp
Mn
i Mp =f(t)
a) cu excitaie n derivaie;
b) - cu excitaie serie;
c) - cu excitaie mixt;
PC poli auxiliari, IC nfurare de compensaie; Exd - nfurare de excitaie derivaie.
Exs - nfurare de excitaie serie; Re reostate de excitaie; Rp-reostat de pornire.
n figura 14 sunt indicate schemele electrice ale motoarelor de curent continuu cu
excitaie derivaie (separat), serie i mixt.
Regimurile de funcionare tranzitorii i permanente ale motorului de curent continuu
sunt determinate de ecuaiile referitoare la: tensiunea la borne, tensiunea electromotoare,
cuplul electromagnetic, ecuaia cuplurilor i fluxul magnetic de excitaie.
14
UA = RAIA + LA
E = -Ken
M = KI
M - Mr = J
diA
dt
-E
(1)
d
dt
= f(I, ie) ,
n care:
Mr = Mr + Mm + MFe - reprezint cuplul rezistent total ce se opune antrenrii
rotorului compus din cuplul rezistent Mr, dat n general grafic sau analitic, cuplul datorat
frecrilor n lagre i frecrii vscoase cu aerul i cuplul corespunztor pierderilor n fier.
n regim staionar de funcionare, cnd mrimile electrice i mecanice obin valori
constante, ecuaiile de funcionare devin:
UA = RAIA E
M = Mr
(2)
Prin eliminarea variabilei E ntre primele dou ecuaii ele sistemului (1) se obine
ecuaia caracteristicii turaie-curent.
n
UA R AIA
UA
R I
(1 A A
Ke
Ke
UA
(3)
M
(4)
Ke KeK 2
Explicarea relaiei fluxului magnetic n cazul diferitelor tipuri de motoare conduce la
ecuaii particularizate ale caracteristicilor.
Aceste ecuaii sunt parametrice, deci pot fi modificate prin aciunea direct n scopul
obinerii caracteristicilor artificiale necesare regimurilor tranzitorii (pornirea, reglarea vitezei,
frnare) urmate de funcionarea stabil a motorului pe caracteristica natural.
n
15
V = k + RaI
(5)
(6)
n care: p este numrul de perechi de poli, N numrul total de conductoare pe periferia
mainii, a numrul de ci de curent, fluxul considerat constant la curentul de excitaie Ie
constant, I curentul rotoric, - viteza rotoric i Ra- rezistena nfurrii rotorice. n cazul
= const, se poate scrie k = K, unde K este denumit constanta electromagnetic a
mainii. Momentul electromagnetic al mainii este proporional cu curentul rotoric:
M = kI = KI.
(7)
(8)
care este o variaie liniar i constituie ecuaia caracteristicii mecanice naturale a motorului de
curent continuu cu excitaie derivaie prezentat sub forma f(I), respectiv = f (M). n aceste
relaii s-a notat:
(9)
Dac se intercaleaz o rezisten Rx n serie cu rezistena rotoric Ra, se obin caracteristicile
mecanice artificiale, sub forma:
(10)
16
dac V1 > VN ,
VN)/K > 0,
dac V2 < VN ,
VN)/K < 0.
17
18
UA R AIA
(11)
Ke( d s )
Aceast expresie ilustreaz diversitatea caracteristicilor ce pot fi obinute, cuprinse
ntre caracteristicile motorului serie i caracteristicile motorului derivaie. Caracteristica
mecanic este semimoale, scznd cu creterea cuplului la solenaii de acelai semn
(compund) i crescnd la solenaii opuse ale nfurrilor de excitaie (anticompund).
n figura 19 s-au reprezentat sintetic urmtoarele caracteristici mecanice: 1 - motor cu
excitaie mixt; 2 motorul serie; 3 motorul derivaie
n
3
2
M
19
UA = RAIA + Ken
UA = RAIA + LA
diA
dt
+ Ken
n care:
LA, RA, reprezint parametrii electrici ai ntregului circuit al rotorului.
20
21
Figura 21. Regimurile de funcionare n cele patru cadrane a) i funcionarea n regim de motor la: b)
mecanism de ridicare-coborre i c) mecanismul de translaie
1. Frnare cu recuperare
2. Frnare n contracurent
3. Frnare reostatic
Frnarea cu recuperare
Se presupune c vehiculul coboar n sens direct pn la > 0, iar curentul prin
indus i modific sensul de circulaie:
IA
UA - EA
K ( 0 )
0
RA
RA
IA < 0
M = KIA < 0
n consecin cuplul electromagnetic i schimb sensul iar efectul este de frnare.
La frnarea n sens direct P = EAIA < 0, deci este cedat n reea, iar motorul de curent
continuu funcioneaz n regim de generator.
La mecanismul de ridicare-coborre frnarea cu recuperare se realizeaz la coborrea
greutii. Dac se inverseaz sensul (polaritatea) tensiunii de alimentare a indusului rezult
UA - EA
'
0.
i au sensurile inverse, deci I A
RA
Prin urmare curentul din indus IA are sens invers, deci M = KI A < 0 are sens invers.
Regimul de funcionare este de motor cu sens invers.
Frnarea n contracurent
Cuplul rezistent opus de mecanismele de lucru la arborele motorului poate fi de dou
tipuri:
a) potenial (de exemplu: mecanismul de ridicare - coborre)
b) reactiv (de exemplu: mecanismul de translaie).
22
UA - EA
K
RA RF
RA RF
23
R A R Fd
IA
k
Frnarea n contracurent
Are modaliti diferite de realizare, dup cum sarcina este de tip potenial sau rezistiv.
a) Pentru sarcini reactive la frnarea n contracurent se schimb bornele de alimentare ale
indusului, iar sensul fluxului de excitaie se menine neschimbat. Rezistena RF conectat n
serie cu indusul va limita curentul de frnare. Caracteristica mecanic are ecuaia:
U R A R Fd
I AF
k
k
b) Pentru sarcini poteniale: rezistena de frnare este: RF > RF0. Rezistena de frnare limit
este rezistena pentru care caracteristica mecanic intersecteaz axa cuplului la M=M R.
Ecuaia caracteristicii mecanice este:
U RA RF
2 2
k
k
24
M
n
25
Figura 22. Caracteristicile mecanice ale motorului de curent continuu cu excitaie derivaie pentru diferite
rezistene Rp nseriate n rotor la tensiune i flux constant.
b) Metoda de reglaj cu variaia fluxului este mai avantajoas sub toate aspectele, dat
fiind c reglajul se face n circuitul de excitaie unde trece cam a zecea parte din curentul
motorului. Reglajul se face n sensul creterii turaiei, dar aceasta nu poate depii 1,6 2 ori
turaia nominal, fiind posibil distrugerea motorului. Caracteristicile mecanice sunt acelea
din fig. 2.2.
Figura 23. Caracteristicile mecanice ale motorului de curent continuu cu excitaie derivaie obinute prin
scderea curentului statoric pentru tensiunea U constant i fr rezistene nseriate rotorului
26
Figura 25. Caracteristicile mecanice ale motorului de curent continuu cu excitaie serie obinute
introducnd rezistene n circuitul rotoric
b) Reglarea tensiunii de alimentare a motoarelor serie se face prin legarea lor n serie
sau n paralel la reea sau prin alimentarea acestora de la o surs de tensiune reglabil.
Intervalul de reglaj i fineea n aceast situaie nu sunt prea bune, ns economicitatea i
stabilitatea reglajului sunt bune. Caracteristicile mecanice sunt prezentate n fig 26.
27
28
Aceast metod are economicitate mai mare dar se sporete pericolul atingerii unor
turaii prea mari, (fig.28).
29
30
31
PROIECTUL TEHNIC
Generaliti
n figura 31 este prezentat schema de principiu a standului. Acest circuit pstreaz
constant viteza unui motor de curent continuu cu ajutorul unui microcontraller PIC16F874,
chiar dac sarcina acestuia variaz. n circuit, pe lng motorul principal M1, se mai folosete
un motor M2 pe post de generator, care are rolul de a detecta viteza de rotaie a lui M1.
Figura 31. Pstrarea constant a vitezei unui motor de curent continuu cu ajutorul microcontrolerului
PIC16F874.
32
Acesta este circuitul care controleaz tensiunea de intrare n PIC, tensiune creat de
rotirea motorului M2. Aceast tensiune este convertit de un convertor A/D. Modificarea
tensiunii se face PWM de CCP (capture, compare, PWM) i ajut la controlul funcionrii
motorului.
Tensiunea de intrare n microcontroller se modific proporional cu numrul de rotaii
fcute de motor.
Microcontrollerul controleaz curentul electric transmis motorului, astfel dac
tensiunea de intrare este mare, PIC-ul scade curentul transmis motorului, acesta scade
numrul de rotaii pn se ajunge la viteza dorit. Dac tensiunea de intrare este mic, PIC-ul
crete curentul trimis motorului i astfel crete numrul de rotaii ale motorului i se menine
constant viteza la valoarea dorit.
Dioda D1 are un rol protector pentru PIC, mai ales n momentul cnd tensiunea de
intrare este mare. Din poteniometrul VR1 se poate modifica numrul de rotaii ale motorului
astfel dac poteniometrul este n poziia 1 tensiunea de intrare va deveni minim, iar PIC-ul
crete curentul transmis motorului pentru a-i pstra constant viteza, dar de fapt prin creterea
curentului transmis motorului el mrete numrul de rotaii i astfel mrete viteza motorului
principal. Dac poteniometrul este n poziia 3 tensiunea de intrare va fi maxim, iar PIC-ul
va scade curentul transmis motorului avnd acelai scop de a pstra viteza constant, dar de
fapt prin micorarea curentului transmis motorului el scade numrul de rotaii i astfel se
micoreaz viteza.
33
Funcia PWM este folosit pentru controlarea funcionrii motorului n circuit, control
care se face n funcie de curentul electric. PWM poate s schimbe durata pulsului de ieire
din CCP1 n funcie de date. Cnd timpul nivelului H al pulsului este scurt, timpul nivelului L
devine lung n tranzistorul 2, adic valoarea curentului electric transmis motorului crete. n
sens invers, cnd timpul nivelului H este mare, timpul de deschidere al tranzistorului 2 devine
scurt i valoarea curentului transmis motorului scade, (fig.33).
Durata pulsului din CCP1 este controlat n tensiune n funcie de tensiunea circuitului
de intrare. Cnd valoarea tensiunii de intrare este mai mare dect valoarea comparat, timpul
nivelului H este mai mare i astfel numrul de rotaii ale motorului este micorat. Cnd
valoarea tensiunii de intrare este mai mic dect valoarea comparat, timpul nivelului H este
mic i astfel crete numrul de rotaii ale motorului.
Dac valoarea curentului din motor este mare exist gravitatea ca motorul s nu mai
poat detecta viteza. De aceea se pune n circuit un rezistor legat n serie pentru micorarea
curentului electric.
34
Acest regulator cu trei terminale este folosit pentru operarea tensiunii de intrare n
microcontroller. Aproximativ 70 mA sunt consumai cnd toate ledurile sunt aprinse, adic
motorul funcioneaz la turaie maxim.
Microcontroller PIC16F874
Descriere general
PIC 16F8XX este un grup n familia microcontrollerelor PIC16CXXX, caracterizat
prin costuri reduse, performane nalte, structur de tip CMOS i operare static. Toate aceste
microcontrollere folosesc arhitectura de tip RISC (Reduced Instruction Set Computing).
35
36
Numele
pinului
Pin
capsul
13
Tipul
pinulu
i
I
Descriere
Tipul
Buffer
-ului
ST\CM
OS
-
OSC2\CLKO
UT
14
MCLR
ST
RA0/AN0
I/O
TTL
RA1/AN1
I/O
RA2/AN2/VR
EF-
I/O
RA3/AN3/VR
EF+
I/O
RA4/TOCK1
I/O
RA5/AN4
I/O
RB0/INT
RB1
RB2
RB3/PGM
RB4
33
34
35
36
37
I/O
I/O
I/O
I/O
I/O
RB5
38
I/O
RB6/PGC
39
I/O
RB7/PGD
40
I/O
RC0/T1OSO/ 15
T1CKI
RC1/1OSI/CC 16
P2
I/O
RC2/CCP1
17
I/O
RC3/SCK/SC
18
I/O
OSC1\CLKIN
I/O
Intrarea oscilatorului
Ieirea oscilatorului
37
L
RC4/SDI/SD
A
RC5/SDO
RC6/TX/CK
38
39
Organizarea memoriei
Memoria acestui microcontroller este mprit n dou pri:
40
memoria program
memoria de date
Fiecare din aceste blocuri de memorie are propriul su bus. Acest lucru permite aducerea ntrun singur ciclu a instruciunilor respectiv datelor din memorie.
Memoria de date se mparte n:
regitri cu funcii speciale (SFR)
memoria RAM general
memoria EEPROM
Organizarea memoriei program (FLASH)
PIC16F874 are un PC (program counter) de 13 bii, capabili s adreseze 8kx14
spaii de memorie program (0000h 1FFFh),
Vectorul de reset este 0000h i vectorul de ntreruperi este 0004h.
Observaie: Adresa instruciunilor de salt (GOTO, CALL) este codificat pe 11 bii. Ceilali 2
bii trebuie setai manual (dac este cazul) n registrul PCLATH.
41
RP1
RP0
0
0
1
1
Banc
0
1
0
1
0
1
2
3
Primele locaii din fiecare banc sunt rezervate regitrilor cu funcii speciale (SFR):
00h 1Fh pentru bancul 0
(32octei)
80h 9Fh pentru bancul 1
(32octei)
100h 10Fh pentru bancul 2
(16octei)
180h 18Fh pentru bancul 3
(16octei)
Ei sunt folosii de PC i periferice pentru a controla diferite operaii.
Restul memoriei de date este alocat regitrilor de uz general:
20h 7Fh pentru bancul 0
(96octei)
A0h EFh pentru bancul 1
(80octei)
110h 16Fh pentru bancul 2
(96octei)
190h 1EFh pentru bancul 3
(96octei)
Regitri din memoria de date sunt implementai fizic ca memorie RAM statica
(bistabili).
42
43
44
1Dh
CCP2C
ON
1Eh ADRES
H
1Fh ADCO
N0
Bancul 1
80h
INDF
81h
82h
83h
84h
85h
86h
87h
88h
89h
8Ah
OPTIO
N
_REG
PCL
STATU
S
FSR
TRISA
TRISB
TRISC
TRISD
TRISE
CCP2X
CCP2Y
CCP2
M0
ADCS
1
ADCS
0
CHS2
CHS1
ADO
N
CHS0
GO
DC
prin
8Ch
PCLAT
H
INTCO
N
PIE1
8Dh
PIE2
8Eh
8Fh
90h
91h
PCON
SSPCO
N2
PR2
SSPAD
D
SSPSTA
T
TXSTA
SPBRG
-
POR
BOR
PEN
RSEN
SEN
SMP
R/W
UA
BF
8bh
92h
93h
94h
95h
96h
97h
98h
99h
9Ah
9Bh
9Ch
9Dh
GIE
PEIE
T0IE
INTE
RBIE
T0IF
INTIF
RBIF
PSPIE
ADIE
RCIE
TXIE
SSPIE
EEIE
BCLI
E
-
CCP1I
E
-
TMR2
IE
-
TMR1
IE
CCP2I
E
CKE
D/A
9Eh
ADRES
L
9Fh ADCO
N1
Bancul 2
100h INDF
101h
102h
103h
TMR0
PCL
STATU
S
FSR
PORTB
PCLAT
H
INTCO
N
EEDAT
A
EEADR
104h
105h
106h
107h
108h
109h
10A
h
10B
h
10C
h
10D
h
10E EEDAT
h
H
10Fh EEADR
H
Bancul 3
180h INDF
181h
182h
183h
184h
185h
186h
187h
188h
189h
18A
h
18B
h
18C
OPTIO
N
_REG
PCL
STATU
S
FSR
TRISB
PCLAT
H
INTCO
N
EECON
PCFG
3
PCFG
2
PCFG
1
PCFG
0
PEIE
T0IE
INTE
RBIE
T0IF
INTIF
RBIF
DC
PEIE
T0IE
INTE
RBIE
T0IF
INTIF
RBIF
EEPG
WRE
WRE
WR
RD
46
h
1
D
RR
N
18D EECON Registru control EEPROM (nu este un registru fizic)
h
2
18E Registru neimplementat fizic
h
18Fh Registru neimplementat fizic
Memoria EEPROM
Microcontroller-ul PIC16F874 are 256B de memorie reprogramabil electric
(EEPROM). Aceast memorie este necesar atunci cnd se dorete pstrarea unor valori i
dup ce cip-ul nu mai este alimentat, ns are urmtoarele dezavantaje:
- memoria nu este direct adresabil, fiind nevoie a se lucra indirect, prin ase regitri
din SFR (EECON1, EECON2, EEDATA, EEADR, EEDATH, EEADRH).
- are o laten mult mai mare dect memoria RAM
Registrul EEDATA pstreaz 8 bii de date pentru citire / scriere, iar registrul EEADR
pstreaz adresa de la locaia EEPROM ului. La scrierea unui cuvnt n memorie se terge
automat locaia i se scrie noua dat (se va terge nainte de scriere), iar timpul de scriere este
controlat de un timer.
Registrul EECON1 este registru de control cu cinci bii mai puini semnificativi,
implementai fizic, iar cei mai semnificativi trei bii, nu exist, fiind citii ca zero.
Registrul EECON2 nu este un registru fizic. El este utilizat exclusiv n secvene de scriere a
memoriei de date EEPROM
Adres Nume
Bit 7
Bit 6 Bit 5 Bit 4
Bit 3
Bit 2
Bit 1 Bit 0
a
18Bh
INTCON GIE
PEIE T0IE INTE RBIE
T0IF
INTIF RBIF
18Ch
EECON1 EEPGD WRERR WREN WR
RD
18Dh
EECON2 Registru control EEPROM (nu este un registru fizic)
10Ch
EEDATA Registrul de date EEPROM (cei mai puin semnificativi 8 bii)
10Dh
EEADR
Registrul de adrese EEPROM (cei mai puin semnificativi 8 bii)
10Eh
EEDATH Registrul de date EEPROM (cei mai semnificativi 6
bii)
10Fh
EEADRH Registrul de adrese EEPROM (cei mai
semnificativi 5 bii)
0Dh
PIR2
EEIF BCLIF CCP2IF
8Dh
PIE2
EEIE BCLIE CCP2IE
Citirea memoriei de date EEPROM
Pentru a citi o locaie a memoriei de date EEPROM, utilizatorul trebuie s scrie adresa
n registrul EEADR i apoi s seteze pe 1 bitul RD (EECON1<0>) (RD=1 iniializarea
citirii n EEPROM). EEDATA va pstra valoarea pn la o nou citire sau pn este scris de
ctre utilizator (de-a lungul operaiei de scriere).
Exemplu:
BCF
STATUS, RP0
BSF
STATUS, RP1 ;bancul 2 de regitri
MOVLW
adresa
;adresa de la care citesc
MOVWF
EEADR
BSF
STATUS, RP0 ;bancul 3 de regitri
BCF
EECON1, EEPGD
BSF
EECON1, RD
;pornesc operaia de citire din EEPROM
BCF
STATUS, RP0 ;bancul 2 de regitri
MOVF
EEDATA, w
47
48
RA4/TOCK1
I/O
ST
RA5/AN4
I/O
TTL
Bit 6
Bit 5
Bit 4
Bit 3
Bit 2
Bit 1
Bit 0
Portul A
Direcia datelor prin portul A (intrare/ieire)
PCFG3
PCFG2 PCFG1 PCFG0
Exemplu:
CLRF
PORTA; iniializarea portului A
BSF
STATUS, RP0; selectm bancul 1
MOVLW
0X0F; w 00001111
MOVWF
TRISA ; setm RA<3 :0> ca fiind intrri i RA<5 :4>; ca fiind ieire.
ntotdeauna TRISA< 7: 5 > sunt ;citite ca fiind pe zero.
PORT B
PORTB este un port bidirecional pe 8 bii. Registrul corespunztor direciei datelor
este TRISB. Un 1 pe oricare din biii registrului TRISB, pune ieirea corespunztoare n
modul de lucru de nalt impedan, setnd bitul ca bit de intrare. Intrarea este de nivel TTL,
iar ieirea de tip CMOS. Biii RB4 RB7 pot genera ntreruperi la schimbarea strii.
Funcionarea portului B:
Numele
Pin
Tip pin Tip
Descriere
pinului
Buffer
RB0/INT 33
I/O
ST/TTL
Poate fi folosit ca ntrerupere extern
RB1
34
I/O
TTL
RB2
35
I/O
TTL
RB3/PGM 36
I/O
TTL
RB4
37
I/O
TTL
Genereaz o ntrerupere la schimbarea valorii
RB5
38
I/O
TTL
Genereaz o ntrerupere la schimbarea valorii
RB6/PGC 39
I/O
ST/TTL
Pin de ceas pentru programarea serial a
microcontroller-ului.
Genereaz o ntrerupere la schimbarea valorii
RB7/PGD 40
I/O
ST/TTL
Pin de date pentru programarea serial a
microcontroller-ului.
Genereaz o ntrerupere la schimbarea valorii
Regitri asociai portului B:
Adres Nume
Bit 7 Bit 6
Bit 5 Bit 4 Bit 3 Bit 2
Bit 1
Bit 0
a
06h
PORTB Portul B
86h
TRISB
Direcia datelor prin portul B (intrare/ieire)
81h
OPTION RBPU INTEDG TOCS TOSE PSA PS2
PS1
PS0
_REG
PORT C
49
PORTC este un port bidirecional pe 8 bii. Registrul corespunztor direciei datelor este
TRISC. Un 1 pe oricare din biii registrului TRISC, pune ieirea corespunztoare n modul de
lucru de nalt impedan, setnd bitul ca bit de intrare.
Funcionarea portului C:
Numele pinului
Pin Tip
pin
RC0/T1OSO/T1CKI 15 I/O
Tip
Buffer
ST
RC1/1OSI/CCP2
16
I/O
ST
RC2/CCP1
17
I/O
ST
RC3/SCK/SCL
18
I/O
ST
RC4/SDI/SDA
23
I/O
ST
RC5/SDO
RC6/TX/CK
24
25
I/O
I/O
ST
ST
RC7/RX/DT
26
I/O
ST
Descriere
Intrare de ceas pentru TIMER1 sau ieirea
oscilatorului TIMER1
Ieirea oscilatorului TIMER1, intrarea de
captur 2, ieirea de comparare 2 sau ieirea
PWM 2
Intrarea de captur 1, ieirea de comparare 1 sau
ieirea PWM 1
Intrare/Ieire de ceas pentru portul serial SPI
sau I 2C
Intrare de date pentru SPI sau intrare/ieire de
date pentru I 2C
Ieire de date pentru SPI
Transmisie asincrona USART sau ceas pentru
modul sincron
Recepie asincrona USART sau date pentru
modul sincron
Bit 1
Bit 0
PORT D
PORTD este un port bidirecional pe 8 bii. Registrul corespunztor direciei datelor este
TRISD. Un 1 pe oricare din biii registrului TRISD, pune ieirea corespunztoare n modul de
lucru de nalt impedan, setnd bitul ca bit de intrare. Portul D poate fi folosit i ca port
paralel.
Funcionarea portului D:
Numele
Pin
Tip pin Tip Buffer Descriere
pinului
RD0/PSP0 19
I/O
ST/TTL
Bit 0 de date pentru portul paralel
RD1/PSP1 20
I/O
ST/TTL
Bit 1 de date pentru portul paralel
RD2/PSP2 21
I/O
ST/TTL
Bit 2 de date pentru portul paralel
RD3/PSP3 22
I/O
ST/TTL
Bit 3 de date pentru portul paralel
RD4/PSP4 27
I/O
ST/TTL
Bit 4 de date pentru portul paralel
RD5/PSP5 28
I/O
ST/TTL
Bit 5 de date pentru portul paralel
RD6/PSP6 29
I/O
ST/TTL
Bit 6 de date pentru portul paralel
RD7/PSP7 30
I/O
ST/TTL
Bit 7 de date pentru portul paralel
Regitri asociai portului D:
Adres Nume
Bit 7 Bit 6
Bit 5
Bit 4
50
Bit 3
Bit 2
Bit 1
Bit 0
a
08h
88h
89h
PORTD Portul D
TRISD Direcia datelor prin portul D (intrare/ieire)
TRISE IBF OBF IBOV PSPMODE -
PORT E
PORTE este un port bidirecional pe 3 bii. Registrul corespunztor direciei datelor este
TRISE. Un 1 pe oricare din biii registrului TRISE, pune ieirea corespunztoare n modul de
lucru de nalt impedan, setnd bitul ca bit de intrare. Portul E poate fi folosit i ca port de
control atunci cnd portul D este folosit ca port paralel.
Funcionarea portului E:
Numele pinului Pin
Tip pin
RE 0 / RD / AN 5
I/O
Tip
Buffer
ST/TTL
RE1 / WR / AN 6
I/O
ST/TTL
RE 2 / CS / AN 7
10
I/O
ST/TTL
Descriere
Controlul citirii pentru PSP (portul paralel)
Poate fi folosit i ca intrare analogica
(canalul5)
Controlul scrierii pentru PSP (portul
paralel)
Poate fi folosit i ca intrare analogica
(canalul6)
CS (cip select) pentru PSP (portul paralel)
Poate fi folosit i ca intrare analogica
(canalul7)
ADCON1 ADFM -
Timer-e
PIC16F874 are 3 timer-e:
Bit 2
Bit 1
Bit 0
Portul E
Direcia datelor prin portul
E (I/O)
PCFG3 PCFG2 PCFG1 PCFG0
Timer0
Timer1
Timer2
Timer0
numrtor \ cronometru pe 8 bii (registrul TMR0)
poate fi scris i citit
asociat cu un divizor programabil pe 8 bii (1 - 256)
sursa de tact intern (CLKOUT sau WDT) sau extern (oscilator extern)
genereaz o ntrerupere la trecerea de la FFh la 00h
atunci cnd se lucreaz cu un oscilator extern se poate selecta tranziia pe front
pozitiv sau pe front negativ
Regitri asociai cronometrului Timer0:
51
Adres
a
0Bh
81h
Nume
Bit 7
Bit 6
Bit 5
Bit 4
Bit 3
Bit 2
Bit 1
Bit 0
T0IF
PS2
INTIF
PS1
RBIF
PS0
01h
Timer1
numrtor \ cronometru pe 16 bii (TMR1H i TMR1L)
poate fi scris i citit
asociat cu un divizor programabil (1,2,4,8)
sursa de tact intern (fosc/4) sau extern (oscilator extern conectat la RC1,RC2)
poate genera o ntrerupere la trecerea de la FFFFh la 0000h
Regitri asociai cronometrului Timer1:
Adresa Nume
Bit 7
Bit 6
Bit 5
Bit 4
Bit 3
Bit 2
Bit 1
0Bh
INTCON GIE
PEIE T0IE
INTE RBIE T0IF
INTIF
0Ch
PIR1
PSPIF ADIF RCIF TXIF SSPIF CCP1IF TMR2IF
8Ch
PIE1
PSPIE ADIE RCIE TXIE SSPIE CCP1IE TMR2IE
0Eh
TMR1L
Cei mai puin semnificativi 8 bii ai registrului TIMER1
0Fh
TMR1H Cei mai semnificativi 8 bii ai registrului TIMER1
10h
T1CON
- - T1CKPS1 T1CKPS0 T1OSCEN T1SYNC TMR1CS
Bit 0
RBIF
TMR1IF
TMR1IE
TMR1ON
Timer2
cronometru pe 8 bii (registrul TMR2)
poate fi scris i citit
asociat cu un divizor programabil (1,4,16)
sursa de tact intern (fosc/4)
poate fi folosit ca baz de timp pentru modulul PWM
asociat cu un registru care i stabilete perioada de resetare (PR2)
poate genera o ntrerupere la 116 perioade
Regitri asociai cronometrului Timer2:
Adresa Nume
Bit 7
Bit 6
Bit 5
0Bh
INTCO GIE
PEIE
T0IE
N
0Ch
PIR1
PSPIF ADIF
RCIF
8Ch
PIE1
PSPIE
11h
12h
TMR2
T2CO
N
PR2
92h
ADIE
RCIE
52
Bit 4
INTE
Bit 3
RBIE
Bit 2
T0IF
Bit 1
Bit 0
INTIF RBIF
TXIF
SSPIF
TXIE
SSPIE
CCP1
IF
CCP1
IE
TMR
2IF
TMR
2IE
TMR1
IF
TMR1
IE
TOUT
PS1
TOUT
PS0
TMR
2ON
T2CP
S1
T2CP
S0
PWM = Pulse Width Modulation (modularea impulsurilor n durat). Microcontrollerul genereaz o tensiune dreptunghiular a crei valoare medie este proporional cu factorul
de umplere
Umed =5V Fu
PIC16F874 are doua module PWM identice. Tensiunea de ieire poate avea o rezoluie
de pana la 10 bii.
53
avea aceeai
Bit 0
RBIF
TMR1
IF
TMR1
IE
T2CP
S0
CCP2I
E
CCP2I
F
16h
17h
1Bh
1Ch
1Dh
87h
CCPR
1H
CCP1
CON
CCPR
2L
CCPR
2H
CCP2
CON
TRIS
C
(MSB)
CCP1
M1
CCP1
M0
CCP2
M1
CCP2
M0
(MSB)
54
Bit 2
Bit 1
Bit 0
T0IF
INTIF
RBIF
CCP1I
F
FERR
TMR2
IF
OERR
TMR1
IF
RX9D
Bit 4
Bit 3
INTE
RBI T0IF
E
SSPI CCP1I
TXIF
55
Bit 2
Bit 1
Bit 0
INTIF
RBIF
TMR2
TMR1
18h
1Ah
8Ch
98h
99h
RCST
A
RCRE
G
PIE1
TXST
A
SPBR
G
F
F
SSP RX9 SREN CREN
EN
Registrul de recepie USART
PSPI ADI RCIE
E
E
CSR TX9 TXEN
C
Generator baud rate
F
-
F
FERR
TXI SSPIE
E
SYN C
IF
RX9D
Bit 3
Bit 2
Eroare
%
0
0,17
0,17
6,99
8,51
8,51
8,51
0,17
0,17
0,16
0,16
3,55
6,29
8,51
ntreruperi
PIC16F874 are 14 surse de ntrerupere:
ntrerupere extern (RB0/INT)
ntrerupere Timer0
ntrerupere Timer1
ntrerupere Timer2
ntrerupere la schimbarea valorii de intrare (PORTB<7:4>)
56
IF
OERR
Bit 1
Bit 0
PIE1
8Dh
PIE2
81h
OPTI
ON
_REG
PSPI
E
-
ADI
E
RBPU
INT
EDG
RCIE
TXIE
EEIE
TOCS
TOSE
Bit 3
Bit 2
Bit 1
Bit 0
RBI
E
SSPI
F
BCL
IF
SSPI
E
BCL
IE
PSA
T0IF
INTIF
RBIF
CCP1I
F
-
TMR2
IF
-
CCP1I
E
-
TMR2
IE
-
PS2
PS1
TMR1
IF
CCP2I
F
TMR1
IE
CCP2I
E
PS0
Schema bloc
57
Oscilatorul
Tipuri de oscilatoare
PIC16F874 poate lucra n patru moduri diferite, de oscilaie:
LP LOW POWER CRISTAL
XT CRYSTAL / RESONATOR
HS HIGH SPEED CRYSTAL / RESONATOR
RS RESISTOR / CAPACITOR
Selectarea unuia din cele patru moduri se face prin setarea celor doi bii de
configuraie FOSC1 i FOSC2 .
Figura 45.
Figura 46.
Setul de instruciuni
Microcontroller-ul PIC16F874 poate fi programat folosind un set de 35
de instruciuni (limbaj de asamblare). Fiecare instruciune este codificat pe 14
bii.
Cele 35 de instruciuni se mpart n 3 categorii:
instruciuni la nivel de octet (byte)
instruciuni la nivel de bit
instruciuni literale i de control
58
Instruciunea
Descriere
Instruciuni la nivel de octet
ADDWF
f,d
w + f d (destinaie)
ANDWF
f,d
w & f d (destinaie)
CLRF
f
terge f
CLRW
terge acumulatorul (w)
COMF
f,d
Complementul lui f d (destinaie)
DECF
f,d
f -1 d (destinaie)
DECFSZ
f,d
f -1 d (destinaie) daca nu rezult 0
INCF
f,d
f +1 d (destinaie)
INCFSZ
f,d
f +1 d (destinaie) daca nu rezult 0
IORWF
f,d
w sau f d (destinaie)
MOVF
f,d
f d (destinaie)
MOVWF
f
wf
NOP
f,d
Nici o operaie (ntrziere)
RLF
f,d
Rotete spre stnga registrul f d (destinaie)
RRF
f,d
Rotete spre dreapta registrul f d (destinaie)
SUBWF
f,d
f w d (destinaie)
SWAPF
f,d
f<3;0> d<7;4> i f<7;4> d<3;0>
XORWF
f,d
w sau exclusiv f d (destinaie)
Instruciuni la nivel de bit
BCF
f,b
terge bitul b al registrului f
(0 f<b> )
BSF
f,b
Seteaz bitul b al registrului f (1 f<b> )
BTFSC
f,b
Sare o instruciune dac f<b>=0
BTFSS
f,b
Sare o instruciune dac f<b>=1
Instruciuni literale i de control
ADDLW
k
w+kw
ANDLW
k
w&f w
CALL
k
Cheam subrutina k
CLRWDT
terge watchdog timer
GOTO
k
Salt necondiionat la k
IORLW
k
w sau k w
MOVLW
k
kw
RETFIE
Revenire din ntrerupere
RETLW
k
Revenire din ntrerupere i k w
RETURN
Revenire din subrutin
SLEEP
Standby
SUBLW
k
kw w
XORLW
k
w sau exclusiv k w
d=0 destinaia este w
d=1 destinaia este f
59
ALGORITMUL DE PROGRAMARE
Schema algoritmului
60
Selectarea bank urilor de memorie se realizeaz prin selectarea biilor RP0 i RP1
din registrul STATUS. Chiar dac specificarea bank urilor n registrul STATUS este realizat
corect mesajul de specificare a bank lui este afiat.
Definirea etichetelor
n programul nostru sunt definite trei etichete: speed (vitez); change (schimbare);
led.
Prima etichet speed este valoarea de referin a vitezei. Este controlat de valoarea
obinut din conversia analog numeric a tensiunii date de circuitul de intrare.
Eticheta change memoreaz rezultatul comparrii tensiunii circuitului de intrare cu
tensiune de control a motorului (tensiunea de referin). n funcie de aceast valoare se
modific valoarea registrului CCPR1 (registru care controleaz funcia PWM).
Compararea dintre semnalul circuitului de intrare i cel de referin se realizeaz la
fiecare 10 ms.
Cnd se sesizeaz o diferen ntre valoarea tensiunii de control i cea de intrare,
valoarea care a fost specificat de change este adunat sau sczut din valoarea ciclului
PWM.
Variabila led are rolul de a afia n binar valoarea vitezei de rotaie a motorului i de a
te ine la curent cu funcionarea motorului.
Program start
Instruciunea este executat de la adresa 0 din memoria program cnd pic ul este
alimentat cu tensiune. Cnd apare o ntrerupere procesul ncepe de la adresa 4. Fiecare salt n
program se face cu instruciunea goto.
Procesul de iniializare
Procesul de iniializare se realizeaz la pornire
Iniializarea porturilor A, B i C
Se folosete primul pin din portul A ca intrare analogic (RA0). Ceilali pini sunt setai
ca ieiri pentru a evita influena altor porturi de intrare.
Portul B este setat ca ieire pentru controlul ledurilor.
Portul C este setat ca ieire pentru realizarea comparrii dintre valoarea tensiunii de
intrare i valoarea de referin.
Iniializarea conversiei A/D
Deoarece frecvena este de 10 MHz dat de rezonator, rezult c frecvena
convertorului A/D este setat la 10 MHz/32.
Un canal de intrare este setat la AN0. rezultatul conversiei este setat la stnga pentru a
lua cei mai semnificativi 8 bii.
Iniializare PWM
Registrul CCP1 este folosit pentru modulul PWM. Acest registru pstreaz valoarea
dat de variabila change, adic valoarea care mrete sau micoreaz mrimea pulsului.
Iniializarea modului de comparare
Registrul CCP2 este folosit pentru comparare celor dou semnale i genereaz
ntreruperi periodice (o dat la 10 ms).
Iniializarea ntreruperilor
Datorit setrii bitului de validare a ntreruperii din registrul CCP2 este posibil
realizarea ntreruperii.
Se termin procesul de iniializare.
Procesul de ntrerupere
n momentul n care se realizeaz o ntrerupere se seteaz flegul de ntrerupere pe zero
pentru a nu mai putea intra o alt ntrerupere pn nu este terminat aceasta.
Se ateapt pn procesul de conversie A/D este complet. Conversia ncepe simultan
cu apariia ntreruperii.
61
62
;Reference = Detect ?
63
goto led_cont
;Yes. Jump to LED control
;--- control to fast speed --movlw change
;Set change value
subwf CCPR1L,f
;CCPR1L - Change value
btfsc STATUS,C
;Underflow ?
goto led_cont
;Jump to LED control
clrf CCPR1L
;Set fastest speed
;
LED control Process
led_cont
comf CCPR1L,w
;Complement CCPR1L bit
movwf led
;Save LED data
movlw b'00010000' ;Set compare data
subwf led,w
;LED - data
btfsc STATUS,C
;Under ?
goto led1
;No.
movlw b'00000000' ;Set LED control data
goto int_end
;Jump to interrupt end
led1 movlw b'00100000' ;Set compare data
subwf led,w
;LED - data
btfsc STATUS,C
;Under ?
goto led2
;No.
movlw b'00000001' ;Set LED control data
goto int_end
;Jump to interrupt end
led2 movlw b'01000000' ;Set compare data
subwf led,w
;LED - data
btfsc STATUS,C
;Under ?
goto led3
;No.
movlw b'00000011' ;Set LED control data
goto int_end
;Jump to interrupt end
led3 movlw b'01100000' ;Set compare data
subwf led,w
;LED - data
btfsc STATUS,C
;Under ?
goto led4
;No.
movlw b'00000111' ;Set LED control data
goto int_end
;Jump to interrupt end
led4 movlw b'10000000' ;Set compare data
subwf led,w
;LED - data
btfsc STATUS,C
;Under ?
goto led5
;No.
movlw b'00001111' ;Set LED control data
goto int_end
;Jump to interrupt end
led5 movlw b'10100000' ;Set compare data
subwf led,w
;LED - data
btfsc STATUS,C
;Under ?
goto led6
;No.
movlw b'00011111' ;Set LED control data
goto int_end
;Jump to interrupt end
led6 movlw b'11000000' ;Set compare data
subwf led,w
;LED - data
64
btfsc STATUS,C
;Under ?
goto led7
;No.
movlw b'00111111' ;Set LED control data
goto int_end
;Jump to interrupt end
led7 movlw b'11100000' ;Set compare data
subwf led,w
;LED - data
btfsc STATUS,C
;Under ?
goto led8
;No.
movlw b'01111111' ;Set LED control data
goto int_end
;Jump to interrupt end
led8 movlw b'11111111' ;Set LED control data
END of Interruption Process
int_end
movwf PORTB
;Set PROTB
retfie
;
65