Semaf or o+I nt er r upc i onesPI C16F84A Semáf or omu mul t í f unc i ónc onPI C16F84A Empl eandoi nt er r upc i ones . Aut or :Lui sAl ber t oGui j ar r oRodr í guez
Des cr i pc i ón. En el si gui ent et ut or i al se most r ar a como mo el abor ar el fir mwar e par a un Se má má f o r omu l t i f u nc i ó ne mp mp l e an do e lPI C16F84A.Sibi en un Semá máf or opuede par ec era l gos i mpl el av e nt a j ad elc ód i goesques eempl ear anl asi nt er r upc i ones delmi c r oc ont r ol ador ,enes t ec as ol ai nt er r upc i ónex t er na( I NT)ques el oc al i z aen elbi tRB0delpuer t oByt ambi éns eut i l i z ar áunai nt er r upc i ónporc ambi odeni v el ( RB) ,enes t ec as ol aques el oc al i z aenel bi tRB4. Di c h ofi r mwa r es er e al i z a r ae nl e ng ua j eC c o ne lp r o gr a maMPL ma AByelt r a du c t o r CCS.Ad emá ss emo s t r ar al as i mu l a ci ó nd elf un c i o na mi mi e nt odelSe má máf o r oat r a v és d el pr og r a ma maI SI Sd ePr o t e us . I ni c i al ment ev amosai ndi c arc ual ess er ánl asf unc i onesquer eal i z ar ael mi c r o co nt r o l a do rp ar ae lf u nc i o na mi mi e nt od el Semáf o r od ep en di e nd od ee nqu e mo dodeop er a c i ó ns een c ue nt r eyqu eb ot ó ns epr e s i o ne . A. -Cuandos epr es i oneelbot ónde“ r es et ”elPI Cs er ei ni c i ar aas ues t adoi ni c i al def u nc i on ami ent oa ut omát i c oyej ec ut and ol af unc i ón1d el Semáf or o. B. -Ene lmo doa ut o má má t i c oe lSe má má f o r of u nc i o na r ac o mo mos un omb r el oi n di c a ,d e f o r maa ut omát i c a ,c o nc i er t ad ur a ci ó nd ee nc e nd i d oe nc ad ac o l ord elSe má má f o r o , e ne s t ec as o ,d oss ec ue nc i a sd et i empod i s t i n t a sypa r ac a mb mb i a rd eu naao t r as e deber ápr es i on are lbot ónde“ T empor i z ac i ón” .Lasdosdi f er ent ess ec uenc i ass e des c r i benac ont i nuac i ón. I . -Las ec uenc i a1s er ál as ec uenc i ai ni c i al ,esdec i r ,l aqueelmi c r oc ont r ol ador e j e c ut a r au na v e ze nc e nd i d oe lc i r c u i t o :l al u zv e r d eq ue da r ae nc e nd i d a6 s e gun do s ,5p ar p ad eo sd eu ns e gu nd oe nl al u za ma ma r i l l ayp orú l t i mol al uzr o j a q ue da r ae nc e nd i d ap or4s e gu nd os .Es t as e c ue nc i as er e pe t i r ámi e nt r a sn os e opr i mael bo t ónd e“ T empor i z ac i ón” . I I . -Alopr i mi relbot ónde“ T empor i z ac i ón”elSemaf or opas ar aal as ec uenc i a2:l a l u zv e r d ee nc e nd i d a4s e gu nd os ,4p ar p ad eo sd eu ns e gu nd oe nl al u za ma ma r i l l ay fi n a l me nt el al u zr o j ae nc e n di d a 6s e g un do s .De i g ua lf o r ma a l as e c u e nc i a
ant er i or est a se r epet i r á mi ent r as no se pr esi one de nuevo elbot ón de “ T empor i z ac i ón” ,del oc ont r ar i or egr es ar aal as ec uenc i a1. C. -Sis epr es i onae lbo t ón“ Aut o/ Manual ”mi ent r ass ees t áenelmodoaut omát i c o e lSe má f o r op as a r aa lmo doma nu ale ne lq uec a dal u z( v e r d e,a ma r i l l oyr o j o ) p er ma ne c er áe nc e nd i d ap ort i e mp oi n de fi ni d oyc a mb i a r ah as t aq ues epr e s i o nee l bo t óndet empor i z ac i ón,p as andodel av e r deal aamar i l l a( c onp ar padeo) ,del a amar i l l aal ar oj ayfinal ment er egr es ar ádel ar oj aal av er de. D. -Sis eo pr i med en ue v oe lb ot ó n“ Au t o / Ma nu al ”e ls e má f o r op as a r ad elmo do ma nu al a lmo doa ut omá t i c oej e c ut a ndol af u nc i ó n1 .
Mat er i al es . Enes t ec as oaf al t adeunmi c r oc ont r ol adorques eempl e aendi c hot ut or i alpar a l ae l a bo r a c i ó nd elSe má f o r o,s o l os eh ar ál as i mu l a c i ó n,p ar ae l l ov a mo sa nec es i t arl oss i gui ent espr ogr amas : •
MPLAB
•
T r a du c t o rCCSd el c o mp i l ad orPI CC
•
Si mul adorI SI Sdelpr ogr amaPROTEUS
I nt r oduc c i ón. Elmi c r oc ont r ol adorPI C16F84Ac u e nt ac o nd osp ue r t o s ,e lp ue r t oA d e 5b i t ( RA0 RA4 )ye lp ue r t oBd e8b i t s( RB0 RB7 ) ,l o sc ua l e spu ed ens e rp r o gr a ma do s c omoe nt r ad asoc omos a l i da s ,oi nc l u s i v epr og r a ma ra l g uno sb i t sdeu npu er t o c omoen t r a dayelr es t od eb i t sdee s emi s mop ue r t oc omos a l i d as .Pa r al l e v ara c a bo d i c ha p r og r a mac i ó nd ep ue r t oss er eq ui er ee s t i p ul ar l oe n elr e gi s t r od el p ue r t oqu es ede s eapr o gr a ma r . Ot r ac ar a c t e r í s t i c ad ee s t emi c r o c ont r o l a do resq uec ue nt ac o nu nae nt r a dad e i nt er r upc i ónex t er nayc onent r adasdei nt er r upc i ónporc ambi odeni v el . Ac ont i nuac i ónsemues t r andost abl as ,l apr i mer ac onl a des c r i pc i óndel puer t oB yl as e gu nd ac o nl o sr e gi s t r osa s oc i a do sa e s t e ,a mb ast a bl a sob t e ni da sd el a dat as heetdel mi c r oc ont r ol ador .
T ab l a1d ed es c r i p i o n
T ab l a2d ed es c r i p c i o n
Pr oc edi mi ent o. Ac o nt i n ua ci ónd emo st r a r áe lp r o c es op ar ac a pt ur are lp r o gr a mad elSemáf or o, v i nc ul arel t r aduc t oryc ompi l ar . Pr i mer oseabr eelpr ogr amaMPLAB yseabr eunanuevapági nadeledi t orde t e x t o se nMe núPr i n c i p al>FI L E>NEW,e ne s t ap ág i n ae nb l a nc oc a pt u r a r e mo s el s i gui ent ec ódi goel c ual c uent ac onc oment ar i osquel odes c r i ben. ?
001 002 003 004 005
#include <16f84a.h> //PIC a utilizar #fuses XT,N!"T,NPT$CT,NP%T //&rdenes 'ara el 'r&(ra)ad&r #use dela* +cl&c-4 //0e usaran retard&s t&)and& en cuenta ue la frecuenc //&scilad&r es de 42hz #use fast3i&+a //'ida entrada * salida
006 007
int 2&d&-1, Te)'-1, i-5
//"eclaracin de 7ariales del ti'& enter&
008 009 010 011 012 013 014 015 016 017 018 019 020 021 022 023 024 025 026 027 028 029 030 031 032 033 034 035 036 037 038 039 040 041 042 043 044 045 046 047 048 049 050 051 052
//Pr&t&ti'& de la funci&n ue c&nfi(urara l&s 'uert&s 7&id C&nfi(3Puert&s+7&id5 //9unci&nes de interru'ci&nes #INT3$XT //Para la interru'cin INT +: 7&id $XT3isr+7&id ; 2&d&5 if+2&d&--= ; 2&d&-15 Te)'-15 #INT3:
//Para la interru'cin : +:4
7&id :3isr+7&id ; if+in'ut+PIN3:4 ; Te)'5 if+2&d&--1 ?? Te)'--= ; Te)'-15 if+2&d&--@ ?? Te)'--4 ; Te)'-15 ///Pr&(ra)a 'rinci'al 7&id )ain+7&id ; C&nfi(3Puert&s+5//Ala)ad& a funci&n Bhile+true ; if+2&d&--1//2&d& aut&)atic& ; &ut'ut3l&B+PIN3@5 //led 7erde &ff &ut'ut3l&B+PIN315 //led a)arill& &ff &ut'ut3l&B+PIN35 //led r&D& &ff if+Te)'--1//Te)'&rizaci&n 1 ; &ut'ut3hi(h+PIN3@5 //led 7erde &n dela*3)s+65 &ut'ut3l&B+PIN3@5 //led r&D& &ff f&r+i-5i<-45i ; &ut'ut3hi(h+PIN315 //led a)arill& &n dela*3)s+E5 &ut'ut3l&B+PIN315 //led a)arill& &ff
053 054 055 056 057 058 059 060 061 062 063 064 065 066 067 068 069 070 071 072 073 074 075 076 077 078 079 080 081 082 083 084 085 086 087 088 089 090 091 092 093 094 095 096 097 098 099
dela*3)s+E5 &ut'ut3hi(h+PIN35//lrd r&D& &n dela*3)s+45 &ut'ut3l&B+PIN35 //led r&D& &ff if+Te)'--@//Te)'&rizaci&n @ ; &ut'ut3hi(h+PIN3@5 //led 7erde &n dela*3)s+45 &ut'ut3l&B+PIN3@5 //led r&D& &ff f&r+i-5i<-=5i ; &ut'ut3hi(h+PIN315 //led a)arill& &n dela*3)s+E5 &ut'ut3l&B+PIN315 //led a)arill& &ff dela*3)s+E5 &ut'ut3hi(h+PIN35//lrd r&D& &n dela*3)s+65 &ut'ut3l&B+PIN35 //led r&D& &ff if+2&d&--@//2&d& )anual ; Bhile+Te)'--1 ; &ut'ut3hi(h+PIN3@5 //led 7erde &n &ut'ut3l&B+PIN315 //led a)arill& &ff &ut'ut3l&B+PIN35 //led r&D& &ff Bhile+Te)'--@ ; &ut'ut3l&B+PIN3@5 //led 7erde &ff &ut'ut3hi(h+PIN315 //led a)arill& &n dela*3)s+E5 &ut'ut3l&B+PIN315 //led a)arill& &ff dela*3)s+E5 &ut'ut3l&B+PIN35 //led r&D& &ff Bhile+Te)'--= ; &ut'ut3l&B+PIN3@5 //led 7erde &ff &ut'ut3l&B+PIN315 //led a)arill& &ff &ut'ut3hi(h+PIN35 //led r&D& &n //ucle infinit& 7&id C&nfi(3Puert&s+7&id ; set3tris3+F985 //'&rt c&)& salidas+, 1 * @ ,las de)as desacti7adas set3tris3:+F995 enale3interru'ts+GA:A5 //t&das las interru'ci&nes acti7adas enale3interru'ts+INT3$XT5//Hailitand& interru'ci&n eFterna +: enale3interru'ts+INT3:5//Hailitand& interru'ci&nes de ca)i& de ni7el +:4:
100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116
eFt3int3ed(e+H3T3A5//0elecci&nand& flanc& de interru'ci&n eFterna &ut'ut3l&B+PIN3@5 //led 7erde &ff &ut'ut3l&B+PIN315 //led a)arill& &ff &ut'ut3l&B+PIN35 //led r&D& &ff 2&d&-15 Te)'-15
117 118 119 120 121 122 123 124 125 126
Un av e zc ap t u r a doe lc ó di g os eg ua r d ad el as i g ui e nt ef o r maFi l e àSa v eAs … ys e nombr ae lar c hi v oys es el ec c i onal ac ar pe t aenques ev aaguar dar ,es t ear c hi v o t endr áunae xt ens i ón. c . Ac o n t i n ua c i ó ns ev aa c o n s t r u i re lp r o y e c t o .MPL AB e su na p l a t a f o r ma d e pr o gr a mae nl ac u als epu ed er e al i z ard es d el ae di c i ó nd elc ód i g od ep r o gr a ma , l a sc o mp i l a c i ó nd elp r o gr ama ,l as i mu l a ci ónd elp r o gr a mayl ap r o gr a ma c i ónd el mi c r oc ont r ol ador ,t odoel l os i nnec es i dadder ec ur r i raot r opr ogr ama,par aut i l i z ar t o da sl a sh er r a mi e nt a sc o nl a sq uec u en t aMPL AB I DE e sn ec e s ar i ol ac r e ac i ó n deu nPr o y ec t oene lc uals ev i nc ul enl asdi f er ent esher r ami ent asamanej ar ,l os pas osas egui renl ac r eac i óndeunpr o y ec t os onl oss i gui ent es : De s dee lme núpr i n c i pa ls es e l e c ci o naPr o j ec t àPr oj ec tWi z a r d …, .Def o r mac a s i i n s t a nt án eaap ar ec e r ál av e nt a nad eb i e nv e ni d ad ela y uda nt ePr o j e c tWi z ar dd e MPLAB,de f or ma gener alson cuat r o pasos a segui ren l a cr eaci ón de un pr o y ec t o.
P as o1. -Sep r e s i o naNe x tyl av e n t a nac a mb i a r aau n ae nl aq uet e ne mo squ e el egi rel mi c r oc ont r ol adorques ev aaempl ear ,enes t ec as oDe v i c eàPI C1 6F84A,y d amo sc l i ce nNe x t . Pas o2. -Sel ec c i onarelc ompi l adoraus ar( l anguaget ool s ui t ) .Enl anue v av ent ana s edebenconfi gur arl oss i gui ent esas pec t os : a) Ene lr ec uadr oAc t i v eT o ol s ui ts ed ebes e l ec c i onarCCSCCompl i l er . b) Enelr e c uad r oT oo l s u i tCo nt en t ss ed ebec er c i o r a rq uec ad ap r o gr a mat en ga s ur ut ac or r ec t ament edi r ec c i onadaal ac ar pe t aPI CC c or r es pondi ent e,ennues t r o c as os ol os er ál as i gui ent e. Tool s ui tCont ent s
Loc at i on
CCSCCompi l er( c c s c . ex e)
C: \ Pr og r am Fi l es \ Pi c c \ CCSC. ex e
Un av e zt e r mi n ad oe s t epa s od amo sc l i ce nNe x t . Pa s o3 . -Enl an ue v av e n t a naq ueap ar e c es ede bei n gr e s are ln omb r ec o ne lq ue s ed es e an omb r a ra lp r o y ec t oyl ad i r e c c i ó ndo ndes ev aag ua r d ard i c h op r o y ec t o. Un av e zh ec h oe s t os ed ac l i ce nNe x t . Pas o4. -Enl anue v av e nt ana,d el l adoi z qui er dosedebendebus c ard osar c hi v os a) El ar c hi v oc onl aex t ens i ón. cd el c ódi goquec ap t ur amosp r e vi ament e. b)
Un ar ch i v o con ex t ensi ón . h que se l ocal i z a en C: \ Pr ogr am
Fi l es \ PI CC\ De vi c es \ 1 6F84A. h I nc or por adosl osdosar c hi v oss edac l i cenNex t . Ac o n t i n ua c i ó na pa r e c eu na v e n t a na i n di c a n do l a sp r o pi e da de sd eln ue v o pr o y ec t oqu es ees t ác r eand o,s is ec ompr obóquet odoes t ác or r ec t os edac l i cen Fi ni s h. Sil osp as o ss er e al i z ar on c o r r e c t amen t ea pa r e ce r ál av e nt a na Pr oj e c tc o ne l n omb r eq ue s el ed i oa lp r o y e c t o ,e s t ac o n t i e ne l o sa r c h i v o s. cy. hq ue s e l e c c i o na mo s . Ahor apr oc ed er emosac onfi gur arl asopc i onesdelpr o y ec t o( Bui l dOp t i ons ) .Ant es dei ni c i arc onl ac ompi l ac i ónys i mul ac i ón,esnec es ar i ov er i fi c arqueelc ompi l ador CCSCCo mp i l e r( n ues t r ot r a duc t o r )s een c ue nt r ec o r r e c t a me nt ec o nfi g ur a do ,p ar a el l os er eal i z al os i gui ent e,MenúPi nc i pal àPr oj ec t àBui l dOpt i ons àPr oj ec t .Alhac er e s t oa pa r e c er áu nan ue v av e n t a nad ec o nfi g ur a c i ó n,e ne s t as e l e c c i o na r e mo sl a p es t a ñaGe ner a l .Als e l ec c i o na re s t ap es t a ñaa par e c enu nas er i ed er e cu adr os ,
s o l ot e nd r e mo sq uec o nfi g ur a re lr e c ua dr od eI n c l u deSe ar c hPa t hi n gr e s an doe n es t el ar ut aC: \ Pr ogr am Fi l es \ PI CC\ De vi c es .Unav ezhec hoes t osedacl i cenOK. Elú l t i mop as oe nMPLAB esc omp i l are lp r o y ec t o ,es t os eh ac ed el as i gu i e nt e f or ma,MenúPr i nc i pal àPr oj ec t àBui l dAl l .Sit odos er eal i z óc or r ec t ament eynoha y er r or esenelc ódi go,l ac ompi l ac i óndelpr o yec t os el l ev ar áac aboc or r ec t ament e s oner r or es .
Si mul ac i ón. Par al l e v arac abol as i mul ac i óndel f unc i onami ent odel Semáf or oyv er i fi c arqueel pr ogr amaf unc i on ec omol odes eamospr i mer oesnec es ar i oc ons t r ui re lc i r c ui t o quesemuest r aacont i nuaci ónenelpr ogr amaI SI SdePROTEUS. Se má f o r oc o nPI C1 6F8 4Ae mp l e an doi n t e r r u pc i o ne s .
Di a gr a mades i mu l a c i ó nd el Se má f o r o
Sede ber ec o r da rq ueelc r i s t a le sd eun af r e c ue nc i ad e4 MHz .Unav e zc on s t r u i d o elc i r c ui t os ev ac ar garelar c hi v odepr ogr amaques i mul ar aelmi c r oc ont r ol ador .
Es t os ehac ed andodo bl ec l i cene lmi c r oc ont r ol adoryenl aopc i ónPr ogr am Fi l e s es el ec c i onaelar c hi v o. he xquees t ar áu bi c adoenl adi r ec c i ónenl aques ec r eó e lp r o y e c t oe nMPL AB,e s t ea r c h i v ot e nd r áe lmi s mon omb r eq uee lp r o y e c t op er o c o nu nat e r mi n ac i ó n. h ex .Dei g ua lf o r mae nl ao pc i ó nPr oc e s s orCl oc kFr e c uen c y e s c r i b i r e mo s4 MHz .Un av e zh ec h oes t oda mo sc l i ce nOK. Ah or as ep ue depr oc e de rad arPl a yal as i mu l a c i ó n,e s t os eh ac ed an doc l i cene l b ot ó n Pl a yu bi c a do e nl ap ar t ei n f e r i o ri z q ui e r d ad el av e n t a na d eI SI Sd e PROTEUS. Sit o do es t ác or r e ct oe lc i r c u i t od eb ef un c i on ard el a mi s maf o r ma e nq ue s e des c r i bi óal pr i nc i pi o. Ca beme nc i on arq uel ai n t er r u pc i ón ,c o mos un omb r el oi n di c a ,i n t e r r umpeal a f unc i ónques ees t éej ec ut ando,per oqueu nav e zques es al edel ai nt er r upc i óns e r eg r e s aalp un t od el af u nc i ó nq uei n t er r umpi ó,p orl oq ues ed ebed ee s pe r a ra quet er mi nees as ec uenc i apar av e re lc amb i oquepr o v oc ol ai nt er r upc i ón,enes t e c a s ol o st i e mp od ee nc e nd i d od ec a dal u zde lSe má f o r o .