You are on page 1of 63

PASSWORD BASED DOOR LOCKING

1
ABSTRACT
Security is a prime concern in our ay!to!ay "i#e$ E%eryone &ants to 'e
as muc( secure as possi'"e$ An access contro" #or oors #orms a %ita" "in) in a
security c(ain$ T(e microcontro""er 'ase Door "oc)er is an access contro"
system t(at a""o&s on"y aut(ori*e persons to access a restricte area$ T(e
system is #u""y contro""e 'y t(e + 'it microcontro""er P+,C-1 &(ic( (as a
.K'ytes o# RO/ #or t(e pro0ram memory$
T(e system (as a Keypa 'y &(ic( t(e pass&or can 'e entere t(rou0(
it$ W(en t(e entere pass&or e1ua"s &it( t(e pass&or store in t(e memory
t(en t(e re"ay 0ets on an so t(at t(e oor is opene$ I# &e entere a &ron0
pass&or #or more t(an t(ree times t(en t(e 'u**er is on &(ic( 0i%es a 'eep
soun$
SOFTWARE 2 Embedded C
TOOLS 2 Small Device C Compiler & Keil uvision
TAR!ET DE"#CE 2 $%&' (icrocon)roller *AT$+S&,-
A..L#CAT#O/S 2 Access con)rol
AD"A/TA!ES 2 Ke0less door loc1in2 s0s)em
REFERE/CE 2 T3e $%&' micro con)roller and embedded s0s)ems b0
(a4idi
.
CONTENTS
C3APTER !1
1$ INTROD4CTION TO E/BEDDED S5STE/S
6
S$No Topic Name Pa0eNo
1$1 E/BEDDED S5STE/2
An embedded s0s)em is a special5purpose compu)er s0s)em desi2ned )o
per6orm one or a 6e7 dedica)ed 6unc)ions8 some)imes 7i)3 real5)ime compu)in2
cons)rain)s #) is usuall0 embedded as par) o6 a comple)e device includin2 3ard7are
and mec3anical par)s #n con)ras)8 a 2eneral5purpose compu)er8 suc3 as a personal
compu)er8 can do man0 di66eren) )as1s dependin2 on pro2rammin2 Embedded
s0s)ems 3ave become ver0 impor)an) )oda0 as )3e0 con)rol man0 o6 )3e common
devices 7e use
Since )3e embedded s0s)em is dedica)ed )o speci6ic )as1s8 desi2n en2ineers can
op)imi4e i)8 reducin2 )3e si4e and cos) o6 )3e produc)8 or increasin2 )3e reliabili)0 and
per6ormance Some embedded s0s)ems are mass5produced8 bene6i)in2 6rom
economies o6 scale
.30sicall08 embedded s0s)ems ran2e 6rom por)able devices suc3 as di2i)al
7a)c3es and (.9 pla0ers8 )o lar2e s)a)ionar0 ins)alla)ions li1e )ra66ic li23)s8 6ac)or0
con)rollers8 or )3e s0s)ems con)rollin2 nuclear po7er plan)s Comple:i)0 varies 6rom
lo78 7i)3 a sin2le microcon)roller c3ip8 )o ver0 3i23 7i)3 mul)iple uni)s8 perip3erals
and ne)7or1s moun)ed inside a lar2e c3assis or enclosure
#n 2eneral8 ;embedded s0s)em; is no) an e:ac)l0 de6ined )erm8 as man0
s0s)ems 3ave some elemen) o6 pro2rammabili)0 For e:ample8 <and3eld compu)ers
s3are some elemen)s 7i)3 embedded s0s)ems = suc3 as )3e opera)in2 s0s)ems and
microprocessors 73ic3 po7er )3em = bu) are no) )rul0 embedded s0s)ems8 because
)3e0 allo7 di66eren) applica)ions )o be loaded and perip3erals )o be connec)ed
An embedded s0s)em is some combina)ion o6 compu)er 3ard7are and
so6)7are8 ei)3er 6i:ed in capabili)0 or pro2rammable8 )3a) is speci6icall0 desi2ned 6or a
par)icular 1ind o6 applica)ion device #ndus)rial mac3ines8 au)omobiles8 medical
e>uipmen)8 cameras8 3ouse3old appliances8 airplanes8 vendin2 mac3ines8 and )o0s *as
7ell as )3e more obvious cellular p3one and .DA- are amon2 )3e m0riad possible
3os)s o6 an embedded s0s)em Embedded s0s)ems )3a) are pro2rammable are provided
7i)3 a pro2rammin2 in)er6ace8 and embedded s0s)ems pro2rammin2 is a speciali4ed
occupa)ion
Cer)ain opera)in2 s0s)ems or lan2ua2e pla)6orms are )ailored 6or )3e embedded
mar1e)8 suc3 as Embedded ?ava and Windo7s @. Embedded
<o7ever8 some lo75end consumer produc)s use ver0 ine:pensive
microprocessors and limi)ed s)ora2e8 7i)3 )3e applica)ion and opera)in2 s0s)em bo)3
par) o6 a sin2le pro2ram
T3e pro2ram is 7ri))en permanen)l0 in)o )3e s0s)emAs memor0 in )3is case8
ra)3er )3an bein2 loaded in)o RA( *random access memor0-8 as pro2rams on a
personal compu)er
7
1$. APPLICATIONS O8 E/BEDDED S5STE/2
We are livin2 in )3e Embedded World Bou are surrounded 7i)3 man0
embedded produc)s and 0our dail0 li6e lar2el0 depends on )3e proper 6unc)ionin2 o6
)3ese 2ad2e)s Television8 Radio8 CD pla0er o6 0our livin2 room8 Was3in2 (ac3ine or
(icro7ave Oven in 0our 1i)c3en8 Card readers8 Access Con)rollers8 .alm devices o6
0our 7or1 space enable 0ou )o do man0 o6 0our )as1s ver0 e66ec)ivel0 Apar) 6rom all
)3ese8 man0 con)rollers embedded in 0our car )a1e care o6 car opera)ions be)7een )3e
bumpers and mos) o6 )3e )imes 0ou )end )o i2nore all )3ese con)rollers
#n recen) da0s8 0ou are s3o7ered 7i)3 varie)0 o6 in6orma)ion abou) )3ese
embedded con)rollers in man0 places All 1inds o6 ma2a4ines and Cournals re2ularl0
dis3 ou) de)ails abou) la)es) )ec3nolo2ies8 ne7 devicesD 6as) applica)ions 73ic3 ma1e
0ou believe )3a) 0our basic survival is con)rolled b0 )3ese embedded produc)s /o7
0ou can a2ree )o )3e 6ac) )3a) )3ese embedded produc)s 3ave success6ull0 invaded in)o
our 7orld Bou mus) be 7onderin2 abou) )3ese embedded con)rollers or s0s)ems
W3a) is )3is Embedded S0s)emE
T3e compu)er 0ou use )o compose 0our mails8 or crea)e a documen) or anal04e
)3e da)abase is 1no7n as )3e s)andard des1)op compu)er T3ese des1)op compu)ers are
manu6ac)ured )o serve man0 purposes and applica)ions
Bou need )o ins)all )3e relevan) so6)7are )o 2e) )3e re>uired processin2
6acili)0 So8 )3ese des1)op compu)ers can do man0 )3in2s #n con)ras)8 embedded
con)rollers carr0ou) a speci6ic 7or1 6or 73ic3 )3e0 are desi2ned (os) o6 )3e )ime8
en2ineers desi2n )3ese embedded con)rollers 7i)3 a speci6ic 2oal in mind So )3ese
con)rollers canno) be used in an0 o)3er place
T3eore)icall08 an embedded con)roller is a combina)ion o6 a piece o6
microprocessor based 3ard7are and )3e sui)able so6)7are )o under)a1e a speci6ic )as1
T3ese da0s desi2ners 3ave man0 c3oices in microprocessorsFmicrocon)rollers
Especiall08 in $ bi) and 9, bi)8 )3e available varie)0 reall0 ma0 over73elm even an
e:perienced desi2ner Selec)in2 a ri23) microprocessor ma0 )urn ou) as a mos)
di66icul) 6irs) s)ep and i) is 2e))in2 complica)ed as ne7 devices con)inue )o pop5up ver0
o6)en
#n )3e $ bi) se2men)8 )3e mos) popular and used arc3i)ec)ure is #n)elAs $%9'
(ar1e) accep)ance o6 )3is par)icular 6amil0 3as driven man0 semiconduc)or
manu6ac)urers )o develop some)3in2 ne7 based on )3is par)icular arc3i)ec)ure
Even a6)er ,& 0ears o6 e:is)ence8 semiconduc)or manu6ac)urers s)ill come ou) 7i)3
some 1ind o6 device usin2 )3is $%9' core
1$6 /i"itary an aerospace so#t&are app"ications2
-
From in5orbi) embedded s0s)ems )o Cumbo Ce)s )o vi)al ba))le6ield ne)7or1s8
desi2ners o6 mission5cri)ical aerospace and de6ense s0s)ems re>uirin2 real5)ime
per6ormance8 scalabili)08 and 3i235availabili)0 6acili)ies consis)en)l0 )urn )o )3e L0n:
OSG RTOS and )3e L0n:OS5'H$ RTOS 6or so6)7are cer)i6ica)ion )o DO5'H$I
Ric3 in s0s)em resources and ne)7or1in2 services8 L0n: OS provides an o665)3e5
s3el6 so6)7are pla)6orm 7i)3 3ard real5)ime response bac1ed b0 po7er6ul dis)ribu)ed
compu)in2 *CORIA-8 3i23 reliabili)08 so6)7are cer)i6ica)ion8 and lon25)erm suppor)
op)ions
T3e L0n:OS5'H$ RTOS 6or so6)7are cer)i6ica)ion8 based on )3e RTCA DO5'H$I
s)andard8 assis)s developers in 2ainin2 cer)i6ica)ion 6or )3eir mission5 and sa6e)05
cri)ical s0s)ems Real5)ime s0s)ems pro2rammers 2e) a boos) 7i)3 Linu: Wor1sA DO5
'H$I RTOS )rainin2 coursesL0n:OS5'H$ is )3e 6irs) DO5'H$I and EJROCAEFED5
',I cer)i6iable8 .OS#@G5compa)ible RTOS solu)ion
1$7 Communications app"ications2
;Five5nines; availabili)08 Compac) .C# 3o) s7ap suppor)8 and 3ard real5)ime
response=L0n:OS delivers on )3ese 1e0 re>uiremen)s and more 6or )oda0As carrier5
class s0s)ems Scalable 1ernel con6i2ura)ions8 dis)ribu)ed compu)in2 capabili)ies8
in)e2ra)ed communica)ions s)ac1s8 and 6aul)5mana2emen) 6acili)ies ma1e L0n:OS )3e
ideal c3oice 6or companies loo1in2 6or a sin2le opera)in2 s0s)em 6or all embedded
)elecommunica)ions applica)ions=6rom comple: cen)ral con)rollers )o simple
lineF)run1 cards
L0nu: Wor1s ?umps)ar) 6or Communica)ions pac1a2e enables OE(s )o rapidl0
develop mission5cri)ical communica)ions e>uipmen)8 7i)3 pre5in)e2ra)ed8 s)a)e5o65)3e5
ar)8 da)a ne)7or1in2 and por)in2 so6)7are componen)s=includin2 source code 6or
eas0 cus)omi4a)ion T3e L0n: Cer)i6iable S)ac1 *LCS- is a secure TC.F#. pro)ocol
s)ac1 desi2ned especiall0 6or applica)ions 73ere s)andards cer)i6ica)ion is re>uired
1$- E"ectronics app"ications an consumer e%ices2
As )3e number o6 po7er6ul embedded processors in consumer devices con)inues
)o rise8 )3e IlueCa)G Linu:G opera)in2 s0s)em provides a 3i23l0 reliable and ro0al)05
6ree op)ion 6or s0s)ems desi2ners
And as )3e 7ireless appliance revolu)ion rolls on8 7eb5enabled navi2a)ion
s0s)ems8 radios8 personal communica)ion devices8 p3ones and .DAs all bene6i) 6rom
)3e cos)5e66ec)ive dependabili)08 proven s)abili)0 and 6ull produc) li6e5c0cle suppor)
9
oppor)uni)ies associa)ed 7i)3 IlueCa) embedded Linu: IlueCa) 3as )eamed up 7i)3
indus)r0 leaders )o ma1e i) easier )o build Linu: mobile p3ones 7i)3 ?ava in)e2ra)ion
For ma1ers o6 lo75cos) consumer elec)ronic devices 73o 7is3 )o in)e2ra)e )3e
L0n:OS real5)ime opera)in2 s0s)em in)o )3eir produc)s8 7e o66er special (SR.5based
pricin2 )o reduce ro0al)0 6ees )o a ne2li2ible por)ion o6 )3e deviceAs (SR.
1$9 Inustria" automation an process contro" so#t&are2
Desi2ners o6 indus)rial and process con)rol s0s)ems 1no7 6rom e:perience )3a)
L0nu:Wor1s opera)in2 s0s)ems provide )3e securi)0 and reliabili)0 )3a) )3eir indus)rial
applica)ions re>uire
From #SO +%%' cer)i6ica)ion )o 6aul)5)olerance8 .OS#@ con6ormance8 secure
par)i)ionin2 and 3i23 availabili)08 7eAve 2o) i) all Ta1e advan)a2e o6 our ,% 0ears o6
e:perience
1$: /ICROCONTROLLER ;ERS4S /ICROPROCESSOR2
W3a) is )3e di66erence be)7een a (icroprocessor and (icrocon)rollerE I0
microprocessor is mean) )3e 2eneral purpose (icroprocessors suc3 as #n)elAs @$K
6amil0 *$%$K8 $%,$K8 $%9$K8 $%L$K8 and )3e .en)ium- or (o)orolaAs K$%@% 6amil0
*K$%%%8 K$%'%8 K$%,%8 K$%9%8 K$%L%8 e)c- T3ese microprocessors con)ain no RA(8
no RO(8 and no #FO por)s on )3e c3ip i)sel6 For )3is reason8 )3e0 are commonl0
re6erred )o as 2eneral5purpose (icroprocessors
A s0s)em desi2ner usin2 a 2eneral5purpose microprocessor suc3 as )3e
.en)ium or )3e K$%L% mus) add RA(8 RO(8 #FO por)s8 and )imers e:)ernall0 )o ma1e
)3em 6unc)ional Al)3ou23 )3e addi)ion o6 e:)ernal RA(8 RO(8 and #FO por)s ma1es
)3ese s0s)ems bul1ier and muc3 more e:pensive8 )3e0 3ave )3e advan)a2e o6
versa)ili)0 suc3 )3a) )3e desi2ner can decide on )3e amoun) o6 RA(8 RO( and #FO
por)s needed )o 6i) )3e )as1 a) 3and T3is is no) )3e case 7i)3 (icrocon)rollers
A (icrocon)roller 3as a C.J *a microprocessor- in addi)ion )o a 6i:ed amoun)
o6 RA(8 RO(8 #FO por)s8 and a )imer all on a sin2le c3ip #n o)3er 7ords8 )3e
processor8 )3e RA(8 RO(8 #FO por)s and )3e )imer are all embedded )o2e)3er on one
c3ipD )3ere6ore8 )3e desi2ner canno) add an0 e:)ernal memor08 #FO por)s8 or )imer )o i)
T3e 6i:ed amoun) o6 on5c3ip RO(8 RA(8 and number o6 #FO por)s in
(icrocon)rollers ma1es )3em ideal 6or man0 applica)ions in 73ic3 cos) and space are
cri)ical
:
#n man0 applica)ions8 6or e:ample a T" remo)e con)rol8 )3ere is no need 6or
)3e compu)in2 po7er o6 a L$K or even an $%$K microprocessor T3ese applica)ions
mos) o6)en re>uire some #FO opera)ions )o read si2nals and )urn on and o66 cer)ain bi)s
1$+ /ICROCONTROLLERS 8OR E/BEDDED S5STE/S2
#n )3e Li)era)ure discussin2 microprocessors8 7e o6)en see )3e )erm Embedded
S0s)em (icroprocessors and (icrocon)rollers are 7idel0 used in embedded s0s)em
produc)s An embedded s0s)em produc) uses a microprocessor *or (icrocon)roller- )o
do one )as1 onl0 A prin)er is an e:ample o6 embedded s0s)em since )3e processor
inside i) per6orms one )as1 onl0D namel0 2e))in2 )3e da)a and prin)in2 i) Con)ras) )3is
7i)3 a .en)ium based .C A .C can be used 6or an0 number o6 applica)ions suc3 as
7ord processor8 prin)5server8 ban1 )eller )erminal8 "ideo 2ame8 ne)7or1 server8 or
#n)erne) )erminal So6)7are 6or a varie)0 o6 applica)ions can be loaded and run O6
course )3e reason a pc can per6orm m0riad )as1s is )3a) i) 3as RA( memor0 and an
opera)in2 s0s)em )3a) loads )3e applica)ion so6)7are in)o RA( memor0 and le)s )3e
C.J run i)
#n an Embedded s0s)em8 )3ere is onl0 one applica)ion so6)7are )3a) is )0picall0
burned in)o RO( An :$K .C con)ains or is connec)ed )o various embedded produc)s
suc3 as 1e0board8 prin)er8 modem8 dis1 con)roller8 sound card8 CD5RO( drives8
mouse8 and so on Eac3 one o6 )3ese perip3erals 3as a (icrocon)roller inside i) )3a)
per6orms onl0 one )as1 For e:ample8 inside ever0 mouse )3ere is a (icrocon)roller )o
per6orm )3e )as1 o6 6indin2 )3e mouse posi)ion and sendin2 i) )o )3e .C Table '5'
lis)s some embedded produc)s
C3APTER!.
+<-1= BLOCK DIAGRA/= PIN DESCRIPTION
.$1 +<-1 ARC3ITECT4RE2
+
T3e 2eneric $%&' arc3i)ec)ure suppor)s a <arvard arc3i)ec)ure8 73ic3
con)ains )7o separa)e buses 6or bo)3 pro2ram and da)a So8 i) 3as )7o
dis)inc)ive memor0 spaces o6 KLK @ $ si4e 6or bo)3 pro2rammed and da)a #) is
based on an $ bi) cen)ral processin2 uni) 7i)3 an $ bi) Accumula)or and
ano)3er $ bi) I re2is)er as main processin2 bloc1s O)3er por)ions o6 )3e
arc3i)ec)ure include 6e7 $ bi) and 'K bi) re2is)ers and $ bi) memor0
loca)ions
Eac3 $%&' device 3as some amoun) o6 da)a RA( buil) in )3e device 6or
in)ernal processin2 T3is area is used 6or s)ac1 opera)ions and )emporar0
s)ora2e o6 da)a
T3is bus arc3i)ec)ure is suppor)ed 7i)3 on5c3ip perip3eral 6unc)ions
li1e #FO por)s8 )imersFcoun)ers8 versa)ile serial communica)ion por) So i) is
clear )3a) )3is $%&' arc3i)ec)ure 7as desi2ned )o ca)er man0 real )ime
embedded needs
.$. 8EAT4RES O8 +<-1 ARC3ITECT4RE2
Op)imi4ed $ bi) C.J 6or con)rol applica)ions and e:)ensive Ioolean
processin2 capabili)ies
KLK .ro2ram (emor0 address space
KLK Da)a (emor0 address space
',$ b0)es o6 on c3ip Da)a (emor0
9, Ii5direc)ional and individuall0 addressable #FO lines
T7o 'K bi) )imerFcoun)ers
Full Duple: JART
K5source F &5vec)or in)errup) s)ruc)ure 7i)3 priori)0 levels
On c3ip cloc1 oscilla)or
/o7 7e ma0 be 7onderin2 abou) )3e non5men)ionin2 o6 memor0 space
mean) 6or )3e pro2ram s)ora2e8 )3e mos) impor)an) par) o6 an0 embedded
con)roller Ori2inall0 )3is $%&' arc3i)ec)ure 7as in)roduced 7i)3 on5c3ip8 one
)ime pro2rammable version o6 .ro2ram (emor0 o6 si4e LK @ $ #n)el
delivered all )3ese microcon)rollers *$%&'- 7i)3 users pro2ram 6used inside
)3e device T3e memor0 por)ion 7as mapped a) )3e lo7er end o6 )3e .ro2ram
(emor0 area Iu)8 a6)er 2e))in2 devices8 cus)omers couldn) c3an2e an0 )3in2
,
in )3eir pro2ram code8 73ic3 7as alread0 made available inside durin2
device 6abrica)ion
.$.$1 BLOCK DIAGRA/ O8 +<-1
,,' Iloc1 Dia2ram o6 )3e $%&' Core
So8 ver0 soon #n)el in)roduced )3e $%&' devices 7i)3 re5pro2rammable
)0pe o6 .ro2ram (emor0 usin2 buil)5in E.RO( o6 si4e LK @ $ Li1e a re2ular
E.RO(8 )3is memor0 can be re5pro2rammed man0 )imes La)er on #n)el s)ar)ed
manu6ac)urin2 )3ese $%9' devices 7i)3ou) an0 on c3ip .ro2ram (emor0
.$.$. /ICROCONTROLLER LOGIC S5/BOL
1<
,,, Iloc1 Dia2ram o6 )3e microcon)roller lo2ic s0mbol
.$.$6 ALE>PROG2 Address La)c3 Enable ou)pu) pulse 6or la)c3in2 )3e lo7 b0)e o6
)3e address durin2 accesses )o e:)ernal memor0 ALE is emi))ed a) a cons)an) ra)e o6
'FK o6 )3e oscilla)or 6re>uenc08 6or e:)ernal )imin2 or cloc1in2 purposes8 even 73en
)3ere are no accesses )o e:)ernal memor0 *<o7ever8 one ALE pulse is s1ipped durin2
eac3 access )o e:)ernal Da)a (emor0- T3is pin is also )3e pro2ram pulse inpu)
*.RO!- durin2 E.RO( pro2rammin2
.$.$7 PSEN 2 .ro2ram S)ore Enable is )3e read s)robe )o e:)ernal .ro2ram (emor0
W3en )3e device is e:ecu)in2 ou) o6 e:)ernal .ro2ram (emor08 .SE/ is ac)iva)ed
)7ice eac3 mac3ine c0cle *e:cep) )3a) )7o .SE/ ac)iva)ions are s1ipped durin2
accesses )o e:)ernal Da)a (emor0- .SE/ is no) ac)iva)ed 73en )3e device is
e:ecu)in2 ou) o6 in)ernal .ro2ram (emor0
.$.$- EA>;PP2 W3en EA is 3eld 3i23 )3e C.J e:ecu)es ou) o6 in)ernal .ro2ram
(emor0 *unless )3e .ro2ram Coun)er e:ceeds %FFF< in )3e $%C&'- <oldin2 EA lo7
6orces )3e C.J )o e:ecu)e ou) o6 e:)ernal memor0 re2ardless o6 )3e .ro2ram Coun)er
value #n )3e $%C9'8 EA mus) be e:)ernall0 7ired lo7 #n )3e E.RO( devices8 )3is
pin also receives )3e pro2rammin2 suppl0 vol)a2e *"..- durin2 E.RO(
pro2rammin2
.$.$9 ?TAL12 #npu) )o )3e inver)in2 oscilla)or ampli6ier
.$.$: ?TAL.2 Ou)pu) 6rom )3e inver)in2 oscilla)or ampli6ier
T3e $%&'s #FO por) s)ruc)ure is e:)remel0 versa)ile and 6le:ible
11
T3e device 3as 9, #FO pins con6i2ured as 6our ei23) bi) parallel por)s *.%8 .'8
., and .9- Eac3 pin can be used as an inpu) or as an ou)pu) under )3e
so6)7are con)rol T3ese #FO pins can be accessed direc)l0 b0 memor0
ins)ruc)ions durin2 pro2ram e:ecu)ion )o 2e) re>uired 6le:ibili)0
T3ese por) lines can be opera)ed in di66eren) modes and all )3e pins can
be made )o do man0 di66eren) )as1s apar) 6rom )3eir re2ular #FO 6unc)ion
e:ecu)ions #ns)ruc)ions8 73ic3 access e:)ernal memor08 use por) .% as a
mul)iple:ed addressFda)a bus A) )3e be2innin2 o6 an e:)ernal memor0
c0cle8 lo7 order $ bi)s o6 )3e address bus are ou)pu) on .% T3e same pins
)rans6er da)a b0)e a) )3e la)er s)a2e o6 )3e ins)ruc)ion e:ecu)ion
Also8 an0 ins)ruc)ion )3a) accesses e:)ernal .ro2ram (emor0 7ill
ou)pu) )3e 3i23er order b0)e on ., durin2 read c0cle Remainin2 por)s8 .' and
.9 are available 6or s)andard #FO 6unc)ions Iu) all )3e $ lines o6 .9 suppor)
special 6unc)ionsM T7o e:)ernal in)errup) lines8 )7o coun)er inpu)s8 serial por)s
)7o da)a lines and )7o )imin2 con)rol s)robe lines are desi2ned )o use .9 por)
lines W3en 0ou don) use )3ese special 6unc)ions8 0ou can use correspondin2
por) lines as a s)andard #FO Even 7i)3in a sin2le por)8 #FO opera)ions ma0 be
combined in man0 7a0s Di66eren) pins can be con6i2ured as inpu) or ou)pu)s
independen) o6 eac3 o)3er or )3e same pin can be used as an inpu) or as ou)pu)
a) di66eren) )imes Bou can com6or)abl0 combine #FO opera)ions and special
opera)ions 6or .or) 9 lines
All )3e .or) 9 pins are mul)i6unc)ional T3e0 are no) onl0 por) pins8 bu) also
serve )3e 6unc)ions o6 various special 6ea)ures as lis)ed belo7M
.or) .in Al)erna)e Func)ion
.9% R:D *serial inpu) por)-
.9' T:D *serial ou)pu) por)-
.$6 /E/OR5 ORGANISATION2
T3e al)erna)e 6unc)ions can onl0 be ac)iva)ed i6 )3e correspondin2 bi) la)c3 in
)3e por) SFR con)ains a ' O)3er7ise )3e por) pin remains a) %All $%C&' devices 3ave
separa)e address spaces 6or pro2ram and da)a memor08 as s3o7n in Fi2ures ' and ,
T3e lo2ical separa)ion o6 pro2ram and da)a memor0 allo7s )3e da)a memor0 )o be
accessed b0 $5bi) addresses8 73ic3 can be >uic1l0 s)ored and manipula)ed b0 an $5bi)
C.J /ever)3eless8 'K5bi) da)a memor0 addresses can also be 2enera)ed )3rou23 )3e
D.TR re2is)er
1.
.ro2ram memor0 *RO(8 E.RO(- can onl0 be read8 no) 7ri))en )o T3ere can
be up )o KL1 b0)es o6 pro2ram memor0 #n )3e $%C&'8 )3e lo7es) L1 b0)es o6 pro2ram
are on5c3ip #n )3e RO( less versions8 all pro2ram memor0 is e:)ernal T3e read
s)robe 6or e:)ernal pro2ram memor0 is )3e .SE/ *pro2ram s)ore enable- Da)a
(emor0 *RA(- occupies a separa)e address space 6rom .ro2ram (emor0 #n )3e
$%C&'8 )3e lo7es) ',$ b0)es o6 da)a memor0 are on5c3ip Jp )o KL1 b0)es o6 e:)ernal
RA( can be addressed in )3e e:)ernal Da)a (emor0 space #n )3e RO( less version8
)3e lo7es) ',$ b0)es are on5c3ip T3e C.J 2enera)es read and 7ri)e si2nals8 RD and
WR8 as needed durin2 e:)ernal Da)a (emor0 accesses
E:)ernal .ro2ram (emor0 and e:)ernal Da)a (emor0 ma0 be combined i6
desired b0 appl0in2 )3e RD and .SE/ si2nals )o )3e inpu)s o6 an A/D 2a)e and usin2
)3e ou)pu) o6 )3e 2a)e as )3e read s)robe )o )3e e:)ernal .ro2ramFDa)a memor0
.$7 BASIC REGISTERS2
A number o6 $%&, re2is)ers can be considered ;basic; "er0 li))le can be done
7i)3ou) )3em and a de)ailed e:plana)ion o6 eac3 one is 7arran)ed )o ma1e sure )3e
reader unders)ands )3ese re2is)ers be6ore 2e))in2 in)o more complica)ed areas o6
developmen)
.$7$1 T(e Accumu"ator2 #6 0ouAve 7or1ed 7i)3 an0 o)3er assembl0 lan2ua2e 0ou 7ill
be 6amiliar 7i)3 )3e concep) o6 an accumula)or re2is)er
T3e Accumula)or8 as i)s name su22es)s8 is used as a 2eneral re2is)er )o
accumula)e )3e resul)s o6 a lar2e number o6 ins)ruc)ions #) can 3old an $5bi) *'5b0)e-
value and is )3e mos) versa)ile re2is)er )3e $%&, 3as due )o )3e s3eer number o6
ins)ruc)ions )3a) ma1e use o6 )3e accumula)or (ore )3an 3al6 o6 )3e $%&,As ,&&
ins)ruc)ions manipula)e or use )3e Accumula)or in some 7a0 For e:ample8 i6 0ou
7an) )o add )3e number '% and ,%8 )3e resul)in2 9% 7ill be s)ored in )3e Accumula)or
Once 0ou 3ave a value in )3e Accumula)or 0ou ma0 con)inue processin2 )3e value or
0ou ma0 s)ore i) in ano)3er re2is)er or in memor0
.$7$. T(e @R@ Re0isters2 T3e ;R; re2is)ers are se)s o6 ei23) re2is)ers )3a) are named
R%8 R'8 )3rou23 RH T3ese re2is)ers are used as au:iliar0 re2is)ers in man0
opera)ions To con)inue 7i)3 )3e above e:ample8 per3aps 0ou are addin2 '% and ,%
T3e ori2inal number '% ma0 be s)ored in )3e Accumula)or 73ereas )3e value ,% ma0
be s)ored in8 sa08 re2is)er RL
To process )3e addi)ion 0ou 7ould e:ecu)e )3e commandM ADD A8 RLA6)er
e:ecu)in2 )3is ins)ruc)ion )3e Accumula)or 7ill con)ain )3e value 9% Bou ma0 )3in1
o6 )3e ;R; re2is)ers as ver0 impor)an) au:iliar08 or ;3elper;8 re2is)ers T3e
Accumula)or alone 7ould no) be ver0 use6ul i6 i) 7ere no) 6or )3ese ;R; re2is)ers
16
T3e ;R; re2is)ers are also used )o s)ore values )emporaril0 For e:ample8 le)s
sa0 0ou 7an) )o add )3e values in R' and R, )o2e)3er and )3en sub)rac) )3e values o6
R9 and RL One 7a0 )o do )3is 7ould beM
(O" A8 R9 D (ove )3e value o6 R9 )o accumula)or
ADD A8 RL D add )3e value o6 RL
(O" R&8 A D S)ore )3e resul) in R&
(O" A8 R' D (ove )3e value o6 R' )o Acc
ADD A8 R, D add )3e value o6 R, 7i)3 A
SJII A8 R& D Sub)rac) )3e R& *73ic3 3as R9NRL-
As 0ou can see8 7e used R& )o )emporaril0 3old )3e sum o6 R9 and RL O6
course8 )3is isnA) )3e mos) e66icien) 7a0 )o calcula)e *R'NR,- 5 *R9 NRL- bu) i) does
illus)ra)e )3e use o6 )3e ;R; re2is)ers as a 7a0 )o s)ore values )emporaril0
As men)ioned earlier8 )3ere are 6our se)s o6 ;R; re2is)ers5re2is)er ban1 %8 '8 ,8
and 9 W3en )3e $%&, is 6irs) po7ered up8 re2is)er ban1 % *addresses %%3 )3rou23 %H3-
is used b0 de6aul) #n )3is case8 6or e:ample8 RL is )3e same as #n)ernal RA( address
%L3 <o7ever8 0our pro2ram ma0 ins)ruc) )3e $%&, )o use one o6 )3e al)erna)e re2is)er
ban1sD ie8 re2is)er ban1s '8 ,8 or 9 #n )3is case8 RL 7ill no lon2er be )3e same as
#n)ernal RA( address %L3 For e:ample8 i6 0our pro2ram ins)ruc)s )3e $%&, )o use
re2is)er ban1 '8 re2is)er RL 7ill no7 be s0non0mous 7i)3 #n)ernal RA( address %C3
#6 0ou selec) re2is)er ban1 ,8 RL is s0non0mous 7i)3 'L38 and i6 0ou selec) re2is)er
ban1 9 i) is s0non0mous 7i)3 address 'C3
T3e concep) o6 re2is)er ban1s adds a 2rea) level o6 6le:ibili)0 )o )3e $%&,8
especiall0 73en dealin2 7i)3 in)errup)s *7eAll )al1 abou) in)errup)s la)er- <o7ever8
al7a0s remember )3a) )3e re2is)er ban1s reall0 reside in )3e 6irs) 9, b0)es o6 #n)ernal
RA(
.$7$6 T(e B Re0ister2 T3e ;I; re2is)er is ver0 similar )o )3e Accumula)or in )3e
sense )3a) i) ma0 3old an $5bi) *'5b0)e- value T3e ;I; re2is)er is onl0 used implici)l0
b0 )7o $%&, ins)ruc)ionsM (JL AI and D#" AI T3us8 i6 0ou 7an) )o >uic1l0 and
easil0 mul)ipl0 or divide A b0 ano)3er number8 0ou ma0 s)ore )3e o)3er number in ;I;
and ma1e use o6 )3ese )7o ins)ruc)ions
Aside 6rom )3e (JL and D#" ins)ruc)ions8 )3e ;I; re2is)er are o6)en used as
0e) ano)3er )emporar0 s)ora2e re2is)er muc3 li1e a nin)3 ;R; re2is)er
.$7$7T(e Pro0ram Counter2 T3e .ro2ram Coun)er *.C- is a ,5b0)e address )3a) )ells
)3e $%&, 73ere )3e ne:) ins)ruc)ion )o e:ecu)e is 6ound in memor0
17
W3en )3e $%&, is ini)iali4ed .C al7a0s s)ar)s a) %%%%3 and is incremen)ed
eac3 )ime an ins)ruc)ion is e:ecu)ed #) is impor)an) )o no)e )3a) .C isnA) al7a0s
incremen)ed b0 one Since some ins)ruc)ions are , or 9 b0)es in len2)3 )3e .C 7ill be
incremen)ed b0 , or 9 in )3ese cases
T3e .ro2ram Coun)er is special in )3a) )3ere is no 7a0 )o direc)l0 modi60 i)s
value T3a) is )o sa08 0ou canA) do some)3in2 li1e .CO,L9%3 On )3e o)3er 3and8 i6
0ou e:ecu)e L?(. ,L9%3 0ouAve e66ec)ivel0 accomplis3ed )3e same )3in2
#) is also in)eres)in2 )o no)e )3a) 73ile 0ou ma0 c3an2e )3e value o6 .C *b0
e:ecu)in2 a Cump ins)ruc)ion8 e)c- )3ere is no 7a0 )o read )3e value o6 .C T3a) is )o
sa08 )3ere is no 7a0 )o as1 )3e $%&, ;W3a) address are 0ou abou) )o e:ecu)eE; As i)
)urns ou)8 )3is is no) comple)el0 )rueM T3ere is one )ric1 )3a) ma0 be used )o de)ermine
)3e curren) value o6 .C T3is )ric1 7ill be covered in a la)er c3ap)er
.$7$-$ T(e Data Pointer2 T3e Da)a .oin)er *D.TR- is )3e $%&,Ps onl0 user5accessible
'K5bi) *,5b0)e- re2is)er T3e Accumula)or8 ;R; re2is)ers8 and ;I; re2is)er are all '5
b0)e values T3e .C Cus) described is a 'K5bi) value bu) isnA) direc)l0 user5accessible as
a 7or1in2 re2is)er
D.TR8 as )3e name su22es)s8 is used )o poin) )o da)a #) is used b0 a number o6
commands )3a) allo7 )3e $%&, )o access e:)ernal memor0 W3en )3e $%&, accesses
e:)ernal memor0 i) accesses )3e memor0 a) )3e address indica)ed b0 D.TR
W3ile D.TR is mos) o6)en used )o poin) )o da)a in e:)ernal memor0 or code
memor08 man0 developers )a1e advan)a2e o6 )3e 6ac) )3a) i)As )3e onl0 )rue 'K5bi)
re2is)er available #) is o6)en used )o s)ore ,5b0)e values )3a) 3ave no)3in2 )o do 7i)3
memor0 loca)ions
.$7$9 T(e Stac) Pointer2 T3e S)ac1 .oin)er8 li1e all re2is)ers e:cep) D.TR and .C8
ma0 3old an $5bi) *'5b0)e- value T3e S)ac1 .oin)er is used )o indica)e 73ere )3e ne:)
value )o be removed 6rom )3e s)ac1 s3ould be )a1en 6rom
W3en 0ou pus3 a value on)o )3e s)ac18 )3e $%&, 6irs) incremen)s )3e value o6
S. and )3en s)ores )3e value a) )3e resul)in2 memor0 loca)ion W3en 0ou pop a value
o66 )3e s)ac18 )3e $%&, re)urns )3e value 6rom )3e memor0 loca)ion indica)ed b0 S.
and )3en decremen)s )3e value o6 S.
T3is order o6 opera)ion is impor)an) W3en )3e $%&, is ini)iali4ed S. 7ill be
ini)iali4ed )o %H3 #6 0ou immedia)el0 pus3 a value on)o )3e s)ac18 )3e value 7ill be
s)ored in #n)ernal RA( address %$3 T3is ma1es sense )a1in2 in)o accoun) 73a) 7as
men)ioned )7o para2rap3s aboveM Firs) )3e $%&' 7ill incremen) )3e value o6 S. *6rom
%H3 )o %$3- and )3en 7ill s)ore )3e pus3ed value a) )3a) memor0 address *%$3-
1-
.$- ADDRESSING /ODES2
T3e addressin2 modes in )3e $%C&' ins)ruc)ion se) are as 6ollo7sM
.$-$1 Direct Aressin02 #n direc) addressin2 )3e operand is speci6ied b0 an $5bi)
address 6ield in )3e ins)ruc)ion Onl0 in)ernal Da)a RA( and SFRs can be direc)l0
addressed
.$-$. Inirect Aressin02 #n indirec) addressin2 )3e ins)ruc)ion speci6ies a re2is)er
73ic3 con)ains )3e address o6 )3e operand Io)3 in)ernal and e:)ernal RA( can be
indirec)l0 addressed T3e address re2is)er 6or $5bi) addresses can be R% or R' o6 )3e
selec)ed ban18 or )3e S)ac1 .oin)er T3e address re2is)er 6or 'K5bi) addresses can onl0
be )3e 'K5bi) Qda)a poin)erR re2is)er8 D.TR
.$-$6 Re0ister Instructions2 T3e re2is)er ban1s8 con)ainin2 re2is)ers R% )3rou23 RH8
can be accessed b0 cer)ain ins)ruc)ions 73ic3 carr0 a 95bi) re2is)er speci6ica)ion
7i)3in )3e opcode o6 )3e ins)ruc)ion #ns)ruc)ions )3a) access )3e re2is)ers )3is 7a0 are
code e66icien)8 since )3is mode elimina)es an address b0)e W3en )3e ins)ruc)ion is
e:ecu)ed8 one o6 )3e ei23) re2is)ers in )3e selec)ed ban1 is accessed One o6 6our ban1s
is selec)ed a) e:ecu)ion )ime b0 )3e )7o ban1 selec) bi)s in )3e .SW
.$-$7 Re0ister!Speci#ic Instructions2 Some ins)ruc)ions are speci6ic )o a cer)ain
re2is)er For e:ample8 some ins)ruc)ions al7a0s opera)e on )3e Accumula)or8 or Da)a
.oin)er8 e)c8 so no address b0)e is needed )o poin) )o i) T3e opcode i)sel6 does )3a)
#ns)ruc)ions )3a) re6er )o )3e Accumula)or as A assemble as accumula)or speci6ic
opcodes
.$-$- Immeiate Constants2
T3e value o6 a cons)an) can 6ollo7 )3e opcode in .ro2ram (emor0 For e:ample8
(O" A8 S'%%8 loads )3e Accumula)or 7i)3 )3e decimal number '%% T3e same
number could be speci6ied in 3e: di2i)s as KL<
.$-$9 IneAe Aressin02
Onl0 pro2ram (emor0 can be accessed 7i)3 inde:ed addressin28 and i) can
onl0 be read T3is addressin2 mode is in)ended 6or readin2 loo15up )ables in .ro2ram
(emor0 A 'K5bi) base re2is)er *ei)3er D.TR or )3e .ro2ram Coun)er- poin)s )o )3e
base o6 )3e )able8 and )3e Accumula)or is se) up 7i)3 )3e )able en)r0 number T3e
address o6 )3e )able en)r0 in .ro2ram (emor0 is 6ormed b0 addin2 )3e Accumula)or
da)a )o )3e base poin)er Ano)3er )0pe o6 inde:ed addressin2 is used in )3e Qcase
CumpR ins)ruc)ion #n )3is case )3e des)ina)ion address o6 a Cump ins)ruc)ion is
compu)ed as )3e sum o6 )3e base poin)er and )3e Accumula)or da)a
19
.$9 CENTRAL PROCESSING 4NIT2
T3e C.J is )3e brain o6 )3e microcon)rollers readin2 users pro2rams and
e:ecu)in2 )3e e:pec)ed )as1 as per ins)ruc)ions s)ored )3ere in #)s primar0
elemen)s are an $ bi) Ari)3me)ic Lo2ic Jni) *ALJ - 8 Accumula)or *Acc - 8
6e7 more $ bi) re2is)ers 8 I re2is)er8 S)ac1 .oin)er *S. - 8 .ro2ram S)a)us
Word *.SW- and 'K bi) re2is)ers8 .ro2ram Coun)er *.C- and Da)a .oin)er
Re2is)er *D.TR-
T3e ALJ *Acc- per6orms ari)3me)ic and lo2ic 6unc)ions on $ bi) inpu)
variables Ari)3me)ic opera)ions include basic addi)ion8 sub)rac)ion8 and
mul)iplica)ion and division Lo2ical opera)ions are A/D8 OR8 E:clusive OR as
7ell as ro)a)e8 clear8 complemen) and e)c Apar) 6rom all )3e above8 ALJ is
responsible in condi)ional branc3in2 decisions8 and provides a )emporar0 place
in da)a )rans6er opera)ions 7i)3in )3e device
.$9$1 B!re0ister is mainl0 used in mul)ipl0 and divides opera)ions Durin2
e:ecu)ion8 I re2is)er ei)3er 1eeps one o6 )3e )7o inpu)s or )3en re)ains a
por)ion o6 )3e resul) For o)3er ins)ruc)ions8 i) can be used as ano)3er 2eneral
purpose re2is)er
.$9$. Pro0ram Status Wor BPSWC 1eeps )3e curren) s)a)us o6 )3e ALJ in
di66eren) bi)s S)ac1 .oin)er *S.- is an $ bi) re2is)er T3is poin)er 1eeps )rac1 o6
memor0 space 73ere )3e impor)an) re2is)er in6orma)ion is s)ored 73en )3e
pro2ram 6lo7 2e)s in)o e:ecu)in2 a subrou)ine T3e s)ac1 por)ion ma0 be
placed in an0 73ere in )3e on5c3ip RA( Iu) normall0 S. is ini)iali4ed )o
%H< a6)er a device rese) and 2ro7s up 6rom )3e loca)ion %$< T3e S)ac1
.oin)er is au)oma)icall0 incremen)ed or decremen)ed 6or all .JS< or .O.
ins)ruc)ions and 6or all subrou)ine calls and re)urns
.$9$6 Pro0ram Counter BPCC is )3e 'K bi) re2is)er 2ivin2 address o6 ne:)
ins)ruc)ion )o be e:ecu)ed durin2 pro2ram e:ecu)ion and i) al7a0s poin)s )o
)3e .ro2ram (emor0 space Da)a .oin)er *D.TR- is ano)3er 'K bi) addressin2
re2is)er )3a) can be used )o 6e)c3 an0 $ bi) da)a 6rom )3e da)a memor0 space
W3en i) is no) bein2 used 6or )3is purpose8 i) can be used as )7o ei23) bi)
re2is)ers
.$: TI/ERS>CO4NTERS2
$%&' 3as )7o 'K bi) TimersFCoun)ers capable o6 7or1in2 in di66eren)
modes Eac3 consis)s o6 a <i23 b0)e and a Lo7 b0)e 73ic3 can be accessed
under so6)7are T3ere is a mode con)rol re2is)er and a con)rol re2is)er )o
con6i2ure )3ese )imersFcoun)ers in number o6 7a0s
T3ese )imers can be used )o measure )ime in)ervals8 de)ermine pulse
7id)3s or ini)ia)e even)s 7i)3 one microsecond resolu)ion up )o a ma:imum o6
1:
K& millisecond *correspondin2 )o K&8 &9K coun)s- Jse so6)7are )o 2e) lon2er
dela0s Wor1in2 as coun)er8 )3e0 can accumula)e occurrences o6 e:)ernal even)s
*6rom DC )o &%% K<4- 7i)3 'K bi) precision
.$+ SERIAL PORTS2
Eac3 $%&' microcompu)er con)ains a 3i23 speed 6ull duple: *means 0ou can
simul)aneousl0 use )3e same por) 6or bo)3 )ransmi))in2 and receivin2 purposes-
serial por) 73ic3 is so6)7are con6i2urable in L basic modesM $ bi) JARTD + bi)
JARTD in)er processor Communica)ions lin1 or as s3i6) re2is)er #FO
e:pander
For )3e s)andard serial communica)ion 6acili)08 $%&' can be pro2rammed 6or
JART opera)ions and can be connec)ed 7i)3 re2ular personal compu)ers8
)ele)0pe 7ri)ers8 modem a) da)a ra)es be)7een ',, bauds and 9' 1ilo bauds
!e))in2 )3is 6acili)0 is made ver0 simple usin2 simple rou)ines 7i)3 op)ion
)oelec) even or odd pari)0 Bou can also es)ablis3 a 1ind o6 #n)er processor
communica)ion 6acili)0 amon2 man0 microcompu)ers in a dis)ribu)ed
environmen) 7i)3 au)oma)ic reco2ni)ion o6 addressFda)a Apar) 6rom all above8
0ou can also 2e) super 6as) #FO lines usin2 lo7 cos) simple TTL or C(OS
s3i6) re2is)ers
.$, /ICROPROCESSOR2
A microprocessor as a )erm 3as come )o be 1no7n is a 2eneral5purpose di2i)al
compu)er cen)ral processin2 uni) Al)3ou23 popularl0 1no7n as a compu)er on a c3ip
T3e microprocessor con)ains ari)3me)ic and lo2ic uni)8 pro2ram coun)er8 S)ac1
poin)er8 some 7or1in2 re2is)ers8 cloc1 )imin2 circui) and in)errup) circui)sTo ma1e a
comple)e compu)er one mus) add memor0 usuall0 RA( & RO(8 memor0 decoders8
an oscilla)or and number o6 #FO devices suc3 as parallel and serial da)a por)s in
addi)ion special purpose devices suc3 as in)errup) 3andlers and coun)ers
T3e 1e0 )erm in describin2 )3e desi2n o6 )3e microprocessor is Q2eneral
purposeR T3e 3ard7are desi2n o6 a microprocessor C.J is arran2ed so )3a) a small
or ver0 lar2e s0s)em can be con6i2ured around )3e C.J as )3e applica)ion demands
T3e prime use o6 microprocessor is )o read da)a8 per6orm e:)ensive calcula)ions on
)3a) da)a and s)ore )3ose calcula)ions in a mass s)ora2e device T3e pro2rams used b0
)3e microprocessor are s)ored in )3e mass s)ora2e device and loaded in )3e RA( as
)3e user direc)s A 6e7 microprocessor pro2rams are s)ored in )3e RO( T3e
RO( based pro2rams are primaril0 are small 6i:ed pro2rams )3a) opera)e on
perip3erals and o)3er 6i:ed device )3a) are connec)ed )o )3e s0s)em
.$,$1 BLOCK DIAGRA/ O8 /ICROPROCESSOR
1+
.$,$1 '"oc) ia0ram o# processer
6$< /ICROCONTROLLER2
(icro con)roller is a )rue compu)er on a c3ip )3e desi2n incorpora)es all o6 )3e
6ea)ures 6ound in a microprocessor C.JM ari)3me)ic and lo2ic uni)8 s)ac1 poin)er8
1,
pro2ram coun)er and re2is)ers #) 3as also 3ad added addi)ional 6ea)ures li1e RA(8
RO(8 serial #FO8 coun)ers and cloc1 circui)
Li1e )3e microprocessor8 a microcon)roller is a 2eneral purpose device8 bu) one
)3a) is mean) )o read da)a8 per6orm limi)ed calcula)ions on )3a) da)a and con)rol i)s
environmen) based on )3ose calcula)ions T3e prime use o6 a microcon)roller is )o
con)rol )3e opera)ion o6 a mac3ine usin2 a 6i:ed pro2ram )3a) is s)ored in RO( and
)3a) does no) c3an2e over )3e li6e)ime o6 )3e s0s)emT3e desi2n approac3 o6 a
microcon)roller uses a more limi)ed se) o6 sin2le b0)e and double b0)e ins)ruc)ions
)3a) are used )o move code and da)a 6rom in)ernal memor0 )o ALJ (an0 ins)ruc)ions
are coupled 7i)3 pins on )3e #C pac1a2eD )3e pins are capable o6 3avin2 several
di66eren) 6unc)ions dependin2 on )3e 7is3es o6 )3e pro2rammer
T3e microcon)roller is concerned 7i)3 2e))in2 )3e da)a 6rom and on )o i)s o7n
pinsD )3e arc3i)ec)ure and ins)ruc)ion se) are op)imi4ed )o 3andle da)a in bi) and b0)e
si4e
6$<$1 84NCTIONAL BLOCKS O8 A /ICROCONTROLLER2
.<
6$<$1 '"oc) ia0ram o# #unctiona" '"oc)s o# a microcontro""er
6$1 CRITERIA 8OR C3OOSING A /ICROCONTROLLER
' T3e 6irs) and 6oremos) cri)erion 6or c3oosin2 a microcon)roller is )3a) i) mus)
mee) )as1 a) 3ands e66icien)l0 and cos) e66ec)ivel0 #n anal04in2 )3e needs o6 a
microcon)roller based proCec) 7e mus) 6irs) see 73e)3er i) is an $5bi)8 'K5bi) or 9,5bi)
.1
microcon)roller and 3o7 bes) i) can 3andle )3e compu)in2 needs o6 )3e )as1 mos)
e66ec)ivel0 T3e o)3er considera)ions in )3is ca)e2or0 areM
*a-SpeedM T3e 3i23es) speed )3a) )3e microcon)roller suppor)s
*b-.ac1a2in2M #s i) L%5pin D#. or T.F or some o)3er pac1a2in2 6orma)E
T3is is impor)an) in )erms o6 space8 assemblin2 and pro)o)0pin2 )3e
End produc)
*c-.o7er Consump)ionM T3is is especiall0 cri)ical 6or ba))er05po7ered
.roduc)s
*d- T3e amoun) o6 RA( and RO( on c3ip
*e- T3e number o6 #FO pins and )imers on )3e c3ip
*6-Cos) per uni)M T3is is impor)an) in )erms o6 6inal produc) in 73ic3 a microcon)roller
is used
, T3e second cri)eria in c3oosin2 a microcon)roller are 3o7 eas0 i) is )o develop
produc)s around i) Ke0 considera)ions include )3e availabili)0 o6 an assembler8
debu22er8 a code e66icien) C lan2ua2e compiler8 emula)or8 )ec3nical suppor) and
bo)3 in 3ouse and ou)side e:per)ise #n man0 cases )3ird par)0 vendor suppor) 6or c3ip
is re>uired
9 T3e )3ird cri)eria in c3oosin2 a microcon)roller is i) readil0 available in
needed >uan)i)ies bo)3 no7 and in 6u)ure For some desi2ners )3is is even more
impor)an) )3an 6irs) )7o cri)erias Curren)l08 o6 leadin2 $Ubi) microcon)rollers8 )3e
$+C&' 6amil0 3as )3e lar2es) number o6 diversi6ied *mul)iple source- suppliers I0
suppliers mean) a producer besides )3e ori2ina)or o6 microcon)roller in )3e case o6 )3e
$+C&'8 73ic3 7as ori2ina)ed b0 #n)el8 several companies are also curren)l0 producin2
)3e $+C&' "i4M #/TEL8 .<#L#.S8 T3ese companies include .<#L#.S8 S#E(E/S8
and DALLAS5SE(#CO/DJCTOR #) s3ould be no)ed )3a) (o)orola8 Vilo2 and
(icroc3ip Tec3nolo2ies 3ave all dedica)ed massive resource as )o ensure 7ide and
)imel0 availabili)0 o6 )3eir produc) since )3eir produc) is s)able8 ma)ure and sin2le
sourced #n recen) 0ears )3e0 also 3ave be2un )o sell )3e AS#C librar0 cell o6 )3e
microcon)roller
C3APTER$6
AT+,S-. /ICROCONTROLLERS
..
6$. AT+,S-.
8eatures
W Compa)ible 7i)3 (CSG5&' .roduc)s
W $K I0)es o6 #n5S0s)em .ro2rammable *#S.- Flas3 (emor0
W EnduranceM '%8%%% Wri)eFErase C0cles
W L%" )o &&" Opera)in2 Ran2e
W Full0 S)a)ic Opera)ionM % <4 )o 99 (<4
W T3ree5level .ro2ram (emor0 Loc1
W ,&K : $5bi) #n)ernal RA(
W 9, .ro2rammable #FO Lines
W T3ree 'K5bi) TimerFCoun)ers
W Ei23) #n)errup) Sources
W Full Duple: JART Serial C3annel
W Lo75po7er #dle and .o7er5do7n (odes
W #n)errup) Recover0 6rom .o7er5do7n (ode
W Wa)c3do2 Timer W Dual Da)a .oin)er
W .o7er5o66 Fla2 W Fas) .ro2rammin2 Time
W Fle:ible #S. .ro2rammin2 *I0)e and .a2e (ode-
W !reen *.bF<alide56ree- .ac1a2in2 Op)ion
6$6 Description2
T3e AT$+S&, is a lo75po7er8 3i235per6ormance C(OS $5bi) microcon)roller
7i)3 $K b0)es o6 in5s0s)em pro2rammable Flas3 memor0 T3e device is manu6ac)ured
usin2 A)mels 3i235densi)0 nonvola)ile memor0 )ec3nolo20 and is compa)ible 7i)3
.6
)3e #ndus)r05s)andard $%C&' ins)ruc)ion se) and pin ou) T3e on5c3ip Flas3 allo7s )3e
pro2ram memor0 )o be repro2rammed in5s0s)em or b0 a conven)ional nonvola)ile
memor0 pro52rammer I0 combinin2 a versa)ile $5bi) C.J 7i)3 in5s0s)em
pro2rammable Flas3 on a monoli)3ic c3ip8 )3e A)mel AT$+S&, is a po7er6ul
microcon)roller 73ic3 provides a 3i23l056le:ible and cos)5e66ec)ive solu)ion )o man0
embedded con)rol applica)ions T3e AT$+S&, provides )3e 6ollo7in2 s)andard
6ea)uresM $K b0)es o6 Flas38 ,&K b0)es o6 RA(8 9, #FO lines8 Wa)c3do2 )imer8 )7o
da)a poin)ers8 )3ree 'K5bi) )imerFcoun)ers8 a si:5vec)or )7o5level in)errup) arc3i)ec)ure8
a 6ull duple: serial por)8 on5c3ip oscilla)or8 and cloc1 circui)r0 #n addi)ion8 )3e
AT$+S&, is desi2ned 7i)3 s)a)ic lo2ic 6or opera)ion do7n )o 4ero 6re>uenc0 and
suppor)s )7o so6)7are selec)able po7er savin2 modes T3e #dle (ode s)ops )3e C.J
73ile allo7in2 )3e RA(8 )imerFcoun)ers8 serial por)8 and in)errup) s0s)em )o con)inue
6unc)ionin2 T3e .o7er5do7n mode saves )3e RA( con5)en)s bu) 6ree4es )3e
oscilla)or8 disablin2 all o)3er c3ip 6unc)ions un)il )3e ne:) in)errup) or 3ard7are rese)
6$6$1 AT+,S-. /ICROCONTROLLERS
.7
99' bloc1 dia2ram o6 AT$+SF, microcon)rollers
6$6$. Pin Con#i0urations2
.-
Pin Description2
.9
;CC
Suppl0 vol)a2e
GND
!round
Port <
.or) % is an $5bi) open drain bidirec)ional #FO por) As an ou)pu) por)8 eac3 pin
can sin1 ei23) TTL inpu)s W3en 's are 7ri))en )o por) % pins8 )3e pins can be used as
3i235impedance inpu)s .or) % can also be con6i2ured )o be )3e mul)iple:ed lo75order
addressFda)a bus durin2 accesses )o e:)ernal pro2ram and da)a memor0 #n )3is mode8
.% 3as in)ernal pull5ups .or) % also receives )3e code b0)es durin2 Flas3
pro2rammin2 and ou)pu)s )3e code b0)es dur5in2 pro2ram veri6ica)ion
6$7 EAterna" pu""!ups are re1uire urin0 pro0ram %eri#ication2
6$7$1 Port 1
.or) ' is an $5bi) bidirec)ional #FO por) 7i)3 in)ernal pull5ups T3e .or) '
ou)pu) bu66ers can sin1Fsource 6our TTL inpu)s W3en 's are 7ri))en )o .or) ' pins8
)3e0 are pulled 3i23 b0 )3e in)er5nal pull5ups and can be used as inpu)s As inpu)s8
.or) ' pins )3a) are e:)ernall0 bein2 pulled lo7 7ill source curren) *##L- because o6
)3e in)ernal pull5ups #n addi)ion8 .'% and .'' can be con6i2ured )o be )3e
)imerFcoun)er , e:)ernal coun) inpu) *.'%FT,- and )3e )imerFcoun)er , )ri22er inpu)
*.''FT,E@-8 respec)ivel08 as s3o7n in )3e 6ollo75in2 )able .or) ' also receives )3e
lo75order address b0)es durin2 Flas3 pro2rammin2 and veri6ica)ion
Ta'"e2 6$7$1
6$7$. Port .
.:
.or) , is an $5bi) bidirec)ional #FO por) 7i)3 in)ernal pull5ups T3e .or) ,
ou)pu) bu66ers can sin1Fsource 6our TTL inpu)s W3en 's are 7ri))en )o .or) , pins8
)3e0 are pulled 3i23 b0 )3e in)er5nal pull5ups and can be used as inpu)s As inpu)s8
.or) , pins )3a) are e:)ernall0 bein2 pulled lo7 7ill source curren) *##L- because o6
)3e in)ernal pull5ups .or) , emi)s )3e 3i235order address b0)e durin2 6e)c3es 6rom
e:)ernal pro2ram memor0 and dur5in2 accesses )o e:)ernal da)a memor0 )3a) use 'K5
bi) addresses *(O"@ X D.TR- #n )3is applica)ion8 .or) , uses s)ron2 in)ernal pull5
ups 73en emi))in2 's Durin2 accesses )o e:)ernal da)a memor0 )3a) use $5bi)
addresses *(O"@ X R#-8 .or) , emi)s )3e con)en)s o6 )3e ., Special Func)ion
Re2is)er .or) , also receives )3e 3i235order address bi)s and some con)rol si2nals
durin2 Flas3 pro2ram5min2 and veri6ica)ion
Port Pin A"ternate 8unctions2
.'% T, *e:)ernal coun) inpu) )o TimerFCoun)er ,-8 cloc15ou) .'' T,E@
*TimerFCoun)er , cap)ureFreload )ri22er and direc)ion con)rol- .'& (OS# *used 6or
#n5S0s)em .ro2rammin2- .'K (#SO *used 6or #n5S0s)em .ro2rammin2- .'H SCK
*used 6or #n5S0s)em .ro2rammin2-& '+'+DU(#CROUKF
6$7$6 Port 6
.or) 9 is an $5bi) bidirec)ional #FO por) 7i)3 in)ernal pull5ups T3e .or) 9
ou)pu) bu66ers can sin1Fsource 6our TTL inpu)s W3en 's are 7ri))en )o .or) 9 pins8
)3e0 are pulled 3i23 b0 )3e in)er5nal pull5ups and can be used as inpu)s As inpu)s8
.or) 9 pins )3a) are e:)ernall0 bein2 pulled lo7 7ill source curren) *##L- because o6
)3e pull5ups .or) 9 receives some con)rol si2nals 6or Flas3 pro2rammin2 and
veri6ica)ion .or) 9 also serves )3e 6unc)ions o6 various special 6ea)ures o6 )3e
AT$+S&,8 as s3o7n in )3e 6ol5lo7in2 )able
Ta'e"26$7$6
6$7$7 RST2
Rese) inpu) A 3i23 on )3is pin 6or )7o mac3ine c0cles 73ile )3e oscilla)or is
runnin2 rese)s )3e device T3is pin drives 3i23 6or +$ oscilla)or periods a6)er )3e
.+
Wa)c3do2 )imes ou) T3e D#SRTO bi) in SFR AJ@R *address $E<- can be used )o
disable )3is 6ea)ure #n )3e de6aul) s)a)e o6 bi) D#SRTO8 )3e RESET <#!< ou) 6ea)ure
is enabled
9L& ALE>PROG2
Address La)c3 Enable *ALE- is an ou)pu) pulse 6or la)c3in2 )3e lo7 b0)e o6 )3e
address durin2 accesses )o e:)ernal memor0 T3is pin is also )3e pro2ram pulse inpu)
*.RO!- durin2 Flas3 pro2rammin2 #n normal opera)ion8 ALE is emi))ed a) a cons)an)
ra)e o6 'FK )3e oscilla)or 6re>uenc0 and ma0 be used 6or e:)ernal )imin2 or cloc1in2
purposes /o)e8 3o7ever8 )3a) one ALE pulse is s1ipped dur5in2 eac3 access )o
e:)ernal da)a memor0 #6 desired8 ALE opera)ion can be disabled b0 se))in2 bi) % o6
SFR loca)ion $E< Wi)3 )3e bi) se)8 ALE is ac)ive onl0 durin2 a (O"@ or (O"C
ins)ruc)ion O)3er7ise8 )3e pin is 7ea1l0 pulled 3i23 Se))in2 )3e ALE5disable bi) 3as
no e66ec) i6 )3e microcon)roller is in e:)ernal e:ecu)ion mode
6$7$9 PSEN2
.ro2ram S)ore Enable *.SE/- is )3e read s)robe )o e:)ernal pro2ram memor0
W3en )3e AT$+S&, is e:ecu)in2 code 6rom e:)ernal pro2ram memor08 .SE/ is
ac)iva)ed )7ice eac3 mac3ine c0cle8 e:cep) )3a) )7o .SE/ ac)iva)ions are s1ipped
durin2 eac3 access )o e:)er5nal da)a memor0
6$7$: EA>;PP2
E:)ernal Access Enable EA mus) be s)rapped )o !/D in order )o enable )3e
device )o 6e)c3 code 6rom e:)ernal pro2ram memor0 loca)ions s)ar)in2 a) %%%%< up )o
FFFF< /o)e8 3o7ever8 )3a) i6 loc1 bi) ' is pro2rammed8 EA 7ill be in)ernall0 la)c3ed
on rese) EA s3ould be s)rapped )o "CC 6or in)ernal pro2ram e:ecu)ions T3is pin also
receives )3e ',5vol) pro2rammin2 enable vol)a2e *"..- durin2 Flas3 pro2rammin2
6$7$+ ?TAL12
#npu) )o )3e inver)in2 oscilla)or ampli6ier and inpu) )o )3e in)ernal cloc1 opera)in2
circui)
6$7$, ?TAL.2
Ou)pu) 6rom )3e inver)in2 oscilla)or ampli6ier
6$- Specia" 8unction Re0isters2
A map o6 )3e on5c3ip memor0 area called )3e Special Func)ion Re2is)er *SFR-
space is s3o7n in Table &5' /o)e )3a) no) all o6 )3e addresses are occupied8 and
unoccupied addresses ma0 no) be implemen)ed on )3e c3ip Read accesses )o )3ese
.,
addresses 7ill in 2eneral re)urn random da)a8 and 7ri)e accesses 7ill 3ave an
inde)ermina)e e66ec) Jser so6)7are s3ould no) 7ri)e 's )o )3ese unlis)ed loca)ions8
since )3e0 ma0 be used in 6u)ure produc)s )o invo1e ne7 6ea)ures #n )3a) case8 )3e
rese) or inac)ive values o6 )3e ne7 bi)s 7ill al7a0s be %
6$-$1 Timer . Re0isters2
Con)rol and s)a)us bi)s are con)ained in re2is)ers T,CO/ *s3o7n in Table &5
,- and T,(OD *s3o7n in Table '%5,- 6or Timer , T3e re2is)er pair *RCA.,<8
RCA.,L- are )3e Cap)ureFReload re2is)ers 6or Timer , in 'K5bi) cap)ure mode or 'K5
bi) au)o5reload mode
6$-$. Interrupt Re0isters2
T3e individual in)errup) enable bi)s are in )3e #E re2is)er T7o priori)ies can be
se) 6or eac3 o6 )3e si: in)errup) sources in )3e #. re2is)er
(emor0 Or2ani4a)ion (CS5&' devices 3ave a separa)e address space 6or
.ro2ram and Da)a (emor0 Jp )o KLK b0)es eac3 o6 e:)ernal .ro2ram and Da)a
(emor0 can be addressed
6$-$6 Pro0ram /emory2
#6 )3e EA pin is connec)ed )o !/D8 all pro2ram 6e)c3es are direc)ed )o
e:)ernal memor0 On )3e AT$+S&,8 i6 EA is connec)ed )o "CC8 pro2ram 6e)c3es )o
addresses %%%%< )3rou23 'FFF< are direc)ed )o in)ernal memor0 and 6e)c3es )o
addresses ,%%%< )3rou23 FFFF< are )o e:)ernal memor0
6$-$7 Data /emory2
T3e AT$+S&, implemen)s ,&K b0)es o6 on5c3ip RA( T3e upper ',$ b0)es
occup0 a parallel address space )o )3e Special Func)ion Re2is)ers T3is means )3a) )3e
upper ',$ b0)es 3ave )3e same addresses as )3e SFR space bu) are p30sicall0 separa)e
6rom SFR space W3en an ins)ruc)ion accesses an in)ernal loca)ion above address
HF<8 )3e address mode used in )3e ins)ruc)ion speci6ies 73e)3er )3e C.J accesses )3e
upper ',$ b0)es o6 RA( or )3e SFR space #ns)ruc)ions 73ic3 use direc) addressin2
access )3e SFR space For e:ample8 )3e 6ollo7in2 direc) addressin2 ins)ruc)ion
accesses )3e SFR a) loca)ion %A%< *73ic3 is .,- (O" %A%<8 Sda)a #ns)ruc)ions )3a)
use indirec) addressin2 access )3e upper ',$ b0)es o6 RA( For e:ample8 )3e
6ollo7in2 indirec) addressin2 ins)ruc)ion8 73ere R% con)ains %A%<8 accesses )3e da)a
b0)e a) address %A%<8 ra)3er )3an ., *73ose address is %A%<- (O" XR%8 Sda)a
/o)e )3a) s)ac1 opera)ions are e:amples o6 indirec) addressin28 so )3e upper ',$ b0)es
o6 da)a RA( are available as s)ac1 space
6$-$- Watc(o0 Timer BOne!time Ena'"e &it( Reset!outC2
6<
T3e WDT is in)ended as a recover0 me)3od in si)ua)ions 73ere )3e C.J ma0
be subCec)ed )o so6)7are upse)s T3e WDT consis)s o6 a 'L5bi) coun)er and )3e
Wa)c3do2 Timer Rese) *WDTRST- SFR T3e WDT is de6aul)ed )o disable 6rom
e:i)in2 rese) To enable )3e WDT8 a user mus) 7ri)e %'E< and %E'< in se>uence )o
)3e WDTRST re2is)er *SFR loca)ion %AK<- W3en )3e WDT is enabled8 i) 7ill
incremen) ever0 mac3ine c0cle 73ile )3e oscilla)or is runnin2 T3e WDT )imeou)
period is dependen) on )3e e:)ernal cloc1 6re>uenc0 T3ere is no 7a0 )o disable )3e
WDT e:cep) )3rou23 rese) *ei)3er 3ard7are rese) or WDT over6lo7 rese)- W3en
WDT over56lo7s8 i) 7ill drive an ou)pu) RESET <#!< pulse a) )3e RST pin
6$-$9 4sin0 t(e WDT2
To enable )3e WDT8 a user mus) 7ri)e %'E< and %E'< in se>uence )o )3e
WDTRST re2is)er *SFR loca)ion %AK<- W3en )3e WDT is enabled8 )3e user needs )o
service i) b0 7ri)in2 %'E< and %E'< )o WDTRST )o avoid a WDT over6lo7 T3e 'L5
bi) coun)er over6lo7s 73en i) reac3es 'K9$9 *9FFF<-8 and )3is 7ill rese) )3e device
W3en )3e WDT is enabled8 i) 7ill incremen) ever0 mac3ine c0cle 73ile )3e oscilla)or
is runnin2 T3is means )3e user mus) rese) )3e WDT a) leas) ever0 'K9$9 mac3ine
c0cles To rese) )3e WDT )3e user mus) 7ri)e %'E< and %E'< )o WDTRST
T3e WDT coun)er canno) be read or 7ri))en W3enWDT over6lo7s8 i) 7ill 2enera)e
an ou)pu) RESET pulse a) )3e RST pin T3e RESET pulse dura5)ion is +$:TOSC8
73ere TOSC O 'FFOSC To ma1e )3e bes) use o6 )3e WDT8 i) s3ould be serviced in
)3ose sec)ions o6 code )3a) 7ill periodicall0 be e:ecu)ed 7i)3in )3e )ime re>uired )o
preven) a WDT rese)
6$9 WDT Durin0 Po&er!o&n an I"e2
#n .o7er5do7n mode )3e oscilla)or s)ops8 73ic3 means )3e WDT also s)ops
W3ile in .o7er5do7n mode8 )3e user does no) need )o service )3e WDT T3ere are
)7o me)3ods o6 e:i)in2 .o7er5do7n modeM b0 a 3ard7are rese) or via a level5
ac)iva)ed e:)ernal in)errup) 73ic3 is enabled prior )o en)erin2 .o7er5do7n mode
W3en .o7er5do7n is e:i)ed 7i)3 3ard7are rese)8 servicin2 )3e WDT s3ould occur as
i) normall0 does 73enever )3e AT$+S&, is rese) E:i)in2 .o7er5do7n 7i)3 an
in)errup) is si2ni6ican)l0 di66eren) T3e in)errup) is 3eld lo7 lon2 enou23 6or )3e
oscilla)or )o s)abili4e W3en )3e in)errup) is brou23) 3i238 )3e in)errup) is serviced To
preven) )3e WDT 6rom rese))in2 )3e device 73ile )3e in)errup) pin is 3eld lo78 )3e
WDT is no) s)ar)ed un)il )3e in)errup) is pulled 3i23 #) is su22es)ed )3a) )3e WDT be
rese) durin2 )3e in)errup) service 6or )3e in)errup) used )o e:i) .o7er5do7n mode To
ensure )3a) )3e WDT does no) over6lo7 7i)3in a 6e7 s)a)es o6 e:i)in2 .o7er5do7n8 i)
is bes) )o rese) )3e WDT Cus) be6ore en)erin2 .o7er5do7n mode Ie6ore 2oin2 in)o )3e
#DLE mode8 )3e WD#DLE bi) in SFR AJ@R is used )o de)ermine 73e)3er )3e WDT
con)inues )o coun) i6 enabled T3e WDT 1eeps coun)in2 durin2 #DLE *WD#DLE bi) O
%- as )3e de6aul) s)a)e To preven) )3e WDT 6rom rese))in2 )3e AT$+S&, 73ile in
#DLE mode8 )3e user s3ould al7a0s se) up a )imer )3a) 7ill periodicall0 e:i) #DLE8
61
service )3e WDT8 and reen)er #DLE mode Wi)3 WD#DLE bi) enabled8 )3e WDT 7ill
s)op )o coun) in #DLE mode and resumes )3e coun) upon e:i) 6rom #DLE
6$9$1 4ART2
T3e JART in )3e AT$+S&, opera)es )3e same 7a0 as )3e JART in )3e AT$+S&, and
AT$+C&,
6$9$. Timer < an 12
Timer % and Timer ' in )3e AT$+S&, opera)e )3e same 7a0 as Timer % and
Timer ' in )3e AT$+S&, and AT$+C&,
6$9$6 Timer .2
Timer , is a 'K5bi) TimerFCoun)er )3a) can opera)e as ei)3er a )imer or an even)
coun)er T3e )0pe o6 opera)ion is selec)ed b0 bi) CFT, in )3e SFR T,CO/ *s3o7n in
Table &5,- Timer , 3as )3ree opera)in2 modesM cap)ure8 au)o5reload *up or do7n
coun)in2-8 and baud ra)e 2enera)or T3e modes are selec)ed b0 bi)s in T,CO/8 as
s3o7n in Table '%5' Timer , consis)s o6 )7o $5bi) re2is)ers8 T<, and TL,
#n )3e Timer 6unc)ion8 )3e TL, re2is)er is incremen)ed ever0 mac3ine c0cle
Since a mac3ine c0cle consis)s o6 ', oscilla)or periods8 )3e coun) ra)e is 'F', o6 )3e
oscil5la)or 6re>uenc0
Ta'"e2 6$9$1
#n )3e Coun)er 6unc)ion8 )3e re2is)er is incremen)ed in response )o a '5)o5%
)ransi)ion a) i)s correspondin2 e:)ernal inpu) pin8 T, #n )3is 6unc)ion8 )3e e:)ernal
inpu) is sampled durin2 S&., o6 ever0 mac3ine c0cle W3en )3e samples s3o7 a 3i23
in one c0cle and a lo7 in )3e ne:) c0cle8 )3e coun) is incremen)ed T3e ne7 coun)
value appears in )3e re2is)er durin2 S9.' o6 )3e c0cle 6ollo7in2 )3e one in 73ic3 )3e
)ransi)ion 7as de)ec)ed Since )7o mac3ine c0cles *,L oscilla)or periods- are re>uired
)o reco2ni4e a '5)o5% )ransi)ion8 )3e ma:imum coun) ra)e is 'F,L o6 )3e oscilla)or
6re>uenc0 To ensure )3a) a 2iven level is sampled a) leas) once be6ore i) c3an2es8 )3e
level s3ould be 3eld 6or a) leas) one 6ull mac3ine c0cle
6$9$7 Capture /oe2
6.
#n )3e cap)ure mode8 )7o op)ions are selec)ed b0 bi) E@E/, in T,CO/ #6
E@E/, O %8 Timer , is a 'K5bi) )imer or coun)er 73ic3 upon over6lo7 se)s bi) TF, in
T,CO/ T3is bi) can )3en be used )o 2enera)e an in)errup) #6 E@E/, O '8 Timer ,
per6orms )3e same opera)ion8 bu) a '5)o5% )ransi)ion a) e:)ernal inpu) T,E@ also
causes )3e curren) value in T<, and TL, )o be cap)ured in)o RCA.,< and RCA.,L8
respec)ivel0 #n addi)ion8 )3e )ransi)ion a) T,E@ causes bi) E@F, in T,CO/ )o be se)
T3e E@F, bi)8 li1e TF,8 can 2enera)e an in)errup)
9K& Auto!re"oa B4p or Do&n CounterC2
Timer , can be pro2rammed )o coun) up or do7n 73en con6i2ured in i)s 'K5bi)
au)o5reload mode T3is 6ea)ure is invo1ed b0 )3e DCE/ *Do7n Coun)er Enable- bi)
loca)ed in )3e SFR T,(OD *see Table '%5,- Jpon rese)8 )3e DCE/ bi) is se) )o % so
)3a) )imer , 7ill de6aul) )o coun) up W3en DCE/ is se)8 Timer , can coun) up or
do7n8 dependin2 on )3e value o6 )3e T,E@ pin
6$: Bau Rate Generator2
Timer , is selec)ed as )3e baud ra)e 2enera)or b0 se))in2 TCLK andFor RCLK
in T,CO/ *Table &5,- /o)e )3a) )3e baud ra)es 6or )ransmi) and receive can be
di66eren) i6 Timer , is used 6or )3e receiver or )ransmi))er and Timer ' is used 6or )3e
o)3er 6unc)ion Se))in2 RCLK andFor TCLK pu)s Timer , in)o i)s baud ra)e 2enera)or
mode8 as s3o7n in Fi2ure ''5' T3e baud ra)e 2enera)or mode is similar )o )3e au)o5
reload mode8 in )3a) a rollover in T<, causes )3e Timer , re2is)ers )o be reloaded 7i)3
)3e 'K5bi) value in re2is)ers RCA.,< and RCA.,L8 73ic3 are prese) b0 so6)7are
T3e baud ra)es in (odes ' and 9 are de)ermined b0 Timer ,s over6lo7 ra)e accordin2
)o )3e 6ol5lo7in2 e>ua)ion T3e Timer can be con6i2ured 6or ei)3er )imer or coun)er
opera)ion #n mos) applica)ions8 i) is con56i2ured 6or )imer opera)ion *C.FT, O %- T3e
)imer opera)ion is di66eren) 6or Timer , 73en i) is used as a baud ra)e 2enera)or
/ormall08 as a )imer8 i) incremen)s ever0 mac3ine c0cle *a) 'F', )3e oscilla)or
6re>uenc0- As a baud ra)e 2enera)or8 3o7ever8 i) incremen)s ever0 s)a)e )ime *a) 'F,
)3e oscilla)or 6re>uenc0- T3e baud ra)e 6ormula is 2iven belo7 73ere *RCA.,<8
RCA.,L- is )3e con)en) o6 RCA.,< and RCA.,L )a1en as a 'K5bi) unsi2ned in)e2er
Timer , as a baud ra)e 2enera)or is s3o7n in Fi2ure ''5' T3is 6i2ure is valid onl0 i6
RCLK or TCLK O ' in T,CO/ /o)e )3a) a rollover in T<, does no) se) TF, and 7ill
no) 2enera)e an in)er5rup) /o)e )oo8 )3a) i6 E@E/, is se)8 a '5)o5% )ransi)ion in T,E@
7ill se) E@F, bu) 7ill no) cause a reload 6rom *RCA.,<8 RCA.,L- )o *T<,8 TL,-
T3us8 73en Timer , is in use as a baud ra)e 2enera)or8 T,E@ can be used as an e:)ra
e:)ernal in)errup) /o)e )3a) 73en Timer , is runnin2 *TR, O '- as a )imer in )3e baud
ra)e 2enera)or mode8 T<, or TL, s3ould no) be read 6rom or 7ri))en )o Jnder )3ese
condi)ions8 )3e Timer is incremen)ed ever0 s)a)e )ime8 and )3e resul)s o6 a read or
7ri)e ma0 no) be accura)e T3e RCA., re2is)ers ma0 be read bu) s3ould no) be
7ri))en )o8 because a 7ri)e mi23) overlap a reload and cause 7ri)e andFor reload
66
errors T3e )imer s3ould be )urned o66 *clear TR,- be6ore accessin2 )3e Timer , or
RCA., re2is)ers
6$:$1 B"oc) ia0ram2 Timer . Bau Rate Generator /oe
6$+ Pro0ramma'"e C"oc) Out2
A &%Y du)0 c0cle cloc1 can be pro2rammed )o come ou) on .'%8 as s3o7n in
Fi2ure ',5' T3is pin8 besides bein2 a re2ular #FO pin8 3as )7o al)erna)e 6unc)ions #)
can be pro2rammed )o inpu) )3e e:)ernal cloc1 6or TimerFCoun)er , or )o ou)pu) a
&%Y du)0 c0cle cloc1 ran2in2 6rom K' <4 )o L (<4 *6or a 'K-(<4 opera)in2
6re>uenc0- To con6i2ure )3e TimerFCoun)er , as a cloc1 2enera)or8 bi) CFT,
*T,CO/'- mus) be cleared and bi) T,OE *T,(OD'- mus) be se) Ii) TR,
*T,CO/,- s)ar)s and s)ops )3e )imer T3e cloc15ou) 6re>uenc0 depends on )3e
oscilla)or 6re>uenc0 and )3e reload value o6 Timer , cap)ure re2is)ers *RCA.,<8
RCA.,L-8 as s3o7n in )3e 6ollo7in2 e>ua)ion #n )3e cloc15ou) mode8 Timer , roll5
overs 7ill no) 2enera)e an in)errup) T3is be3avior is similar )o 73en Timer , is used
as a baud5ra)e 2enera)or #) is possible )o use Timer , as a baud5ra)e 2en5era)or and a
67
cloc1 2enera)or simul)aneousl0 /o)e8 3o7ever8 )3a) )3e baud5ra)e and cloc15ou)
6re>uencies canno) be de)ermined independen)l0 6rom one ano)3er since )3e0 bo)3 use
RCA.,< and RCA.,L
6$+$1 B"oc) ia0ram2 Timer . in C"oc)!Out /oe
.$+$. Interrupts2
T3e AT$+S&, 3as a )o)al o6 si: in)errup) vec)orsM )7o e:)ernal in)errup)s
*#/T% and #/T'-8 )3ree )imer in)errup)s *Timers %8 '8 and ,-8 and )3e serial por)
in)errup) T3ese in)errup)s are all s3o7n in Fi2ure '95' Eac3 o6 )3ese in)errup)
sources can be individuall0 enabled or disabled b0 se))in2 or clearin2 a bi) in Special
Func)ion Re2is)er #E #E also con)ains a 2lobal disable bi)8 EA8 73ic3 disables all
in)errup)s a) once /o)e )3a) Table '95' s3o7s )3a) bi) posi)ion #EK is unimplemen)ed
Jser so6)7are s3ould no) 7ri)e a ' )o )3is bi) posi)ion8 since i) ma0 be used in 6u)ure
AT$+ produc)s Timer , in)errup) is 2enera)ed b0 )3e lo2ical OR o6 bi)s TF, and
E@F, in re2is)er T,CO/ /ei5)3er o6 )3ese 6la2s is cleared b0 3ard7are 73en )3e
service rou)ine is vec)ored )o #n 6ac)8 )3e service rou)ine ma0 3ave )o de)ermine
73e)3er i) 7as TF, or E@F, )3a) 2enera)ed )3e in)errup)8 and )3a) bi) 7ill 3ave )o be
cleared in so6)7are T3e Timer % and Timer ' 6la2s8 TF% and TF'8 are se) a) S&., o6
)3e c0cle in 73ic3 )3e )imers over6lo7 T3e values are )3en polled b0 )3e circui)r0 in
)3e ne:) c0cle <o7ever8 )3e Timer , 6la28 TF,8 is se) a) S,., and is polled in )3e
same c0cle in 73ic3 )3e )imer over6lo7s
Ta'"e2 6$+$.
6-
6$+$6 Osci""ator C(aracteristics2
@TAL' and @TAL, are )3e inpu) and ou)pu)8 respec)ivel08 o6 an inver)in2
ampli6ier )3a) can be con6i2ured 6or use as an on5c3ip oscilla)or8 as s3o7n in Fi2ure
'K5' Ei)3er a >uar)4 cr0s)al or ceramic resona)or ma0 be used To drive )3e device
6rom an e:)ernal cloc1 source8 @TAL, s3ould be le6) unconnec)ed 73ile @TAL' is
driven8 as s3o7n in Fi2ure 'K5, T3ere are no re>uiremen)s on )3e du)0 c0cle o6 )3e
e:)ernal cloc1 si2nal8 since )3e inpu) )o )3e in)ernal cloc15in2 circui)r0 is )3rou23 a
divide5b05)7o 6lip56lop8 bu) minimum and ma:imum vol)a2e 3i23 and lo7 )ime
speci6ica)ions mus) be observed
6$+$7 I"e /oe2
#n idle mode8 )3e C.J pu)s i)sel6 )o sleep 73ile all )3e on5c3ip perip3erals
remain ac)ive T3e mode is invo1ed b0 so6)7are T3e con)en) o6 )3e on5c3ip RA( and
all )3e special 6unc)ions re2is)ers remain unc3an2ed durin2 )3is mode T3e idle mode
can be )ermina)ed b0 an0 enabled in)errup) or b0 a 3ard7are rese) /o)e )3a) 73en idle
mode is )ermina)ed b0 a 3ard7are rese)8 )3e device normall0 resumes pro52ram
e:ecu)ion 6rom 73ere i) le6) o668 up )o )7o mac3ine c0cles be6ore )3e in)ernal rese)
al2ori)3m )a1es con)rol On5c3ip 3ard7are in3ibi)s access )o in)ernal RA( in )3is
even)8 bu) access )o )3e por) pins is no) in3ibi)ed To elimina)e )3e possibili)0 o6 an
une:pec)ed 7ri)e )o a por) pin 73en idle mode is )ermina)ed b0 a rese)8 )3e ins)ruc)ion
6ollo7in2 )3e one )3a) invo1es idle mode s3ould no) 7ri)e )o a por) pin or )o e:)ernal
memor0
9$& Po&er!o&n /oe2
69
#n )3e .o7er5do7n mode8 )3e oscilla)or is s)opped8 and )3e ins)ruc)ion )3a)
invo1es .o7er5do7n is )3e las) ins)ruc)ion e:ecu)ed T3e on5c3ip RA( and Special
Func)ion Re2is)ers re)ain )3eir values un)il )3e .o7er5do7n mode is )ermina)ed E:i)
6rom .o7er5do7n mode can be ini)ia)ed ei)3er b0 a 3ard7are rese) or b0 an enabled
e:)ernal in)errup) Rese) rede6ines )3e SFRs bu) does no) c3an2e )3e on5c3ip RA(
T3e rese) s3ould no) be ac)iva)ed be6ore "CC is res)ored )o i)s normal opera)in2 level
and mus) be 3eld ac)ive lon2 enou23 )o allo7 )3e oscilla)or )o res)ar) and s)abili4e
6$+$9 B"oc) ia0ram2 Osci""ator Connections2
Pro0rammin0 t(e 8"as( D Para""e" /oe2
T3e AT$+S&, is s3ipped 7i)3 )3e on5c3ip Flas3 memor0 arra0 read0 )o be
pro2rammed T3e pro2rammin2 in)er6ace needs a 3i235vol)a2e *',5vol)- pro2ram
enable si2nal and is compa)ible 7i)3 conven)ional )3ird5par)0 Flas3 or E.RO(
pro2rammers T3e AT$+S&, code memor0 arra0 is pro2rammed b0)e5b05b0)e
6:
6$, Pro0rammin0 A"0orit(m2
Ie6ore pro2rammin2 )3e AT$+S&,8 )3e address8 da)a8 and con)rol si2nals
s3ould be se) up accordin2 )o )3e QFlas3 .ro2rammin2 (odesR *Table ,,5'- and
Fi2ure ,,5' and Fi2ure ,,5, To pro2ram )3e AT$+S&,8 )a1e )3e 6ollo7in2 s)epsM '
#npu) )3e desired memor0 loca)ion on )3e address lines , #npu) )3e appropria)e da)a
b0)e on )3e da)a lines 9 Ac)iva)e )3e correc) combina)ion o6 con)rol si2nals L Raise
EAF".. )o '," & .ulse ALEF.RO! once )o pro2ram a b0)e in )3e Flas3 arra0 or )3e
loc1 bi)s T3e b0)e57ri)e c0cle is sel65)imed and )0picall0 )a1es no more )3an &% Zs
Repea) s)eps ' )3rou23 &8 c3an2in2 )3e address and da)a 6or )3e en)ire arra0 or un)il
)3e end o6 )3e obCec) 6ile is reac3ed
6$,$1 Data Po""in02
T3e AT$+S&, 6ea)ures Da)a .ollin2 )o indica)e )3e end o6 a b0)e 7ri)e c0cle
Durin2 a 7ri)e c0cle8 an a))emp)ed read o6 )3e las) b0)e 7ri))en 7ill resul) in )3e
complemen) o6 )3e 7ri))en da)a on .%H Once )3e 7ri)e c0cle 3as been comple)ed8
)rue da)a is valid on all ou)pu)s8 and )3e ne:) c0cle ma0 be2in Da)a .ollin2 ma0 be2in
an0 )ime a6)er a 7ri)e c0cle 3as been ini)ia)ed
6$,$. Reay>Busy2
T3e pro2ress o6 b0)e pro2rammin2 can also be moni)ored b0 )3e RDBFISB
ou)pu) si2nal .9% is pulled lo7 a6)er ALE 2oes 3i23 durin2 pro2rammin2 )o indica)e
IJSB .9% is pulled 3i23 a2ain 73en pro2rammin2 is done )o indica)e READB
6$,$6 Pro0ram ;eri#y2
#6 loc1 bi)s LI' and LI, 3ave no) been pro2rammed8 )3e pro2rammed code
da)a can be read bac1 via )3e address and da)a lines 6or veri6ica)ion T3e s)a)us o6 )3e
individual loc1 bi)s can be veri6ied direc)l0 b0 readin2 )3em bac1 Readin2 )3e
Si2na)ure I0)esM
T3e si2na)ure b0)es are read b0 )3e same procedure as a nor5mal veri6ica)ion
o6 loca)ions %%%<8 '%%<8 and ,%%<8 e:cep) )3a) .9K and .9H mus) be pulled )o a
lo2ic lo7 T3e values re)urned are as 6ollo7s *%%%<- O 'E< indica)es manu6ac)ured
b0 A)mel *'%%<- O &,< indica)es AT$+S&, *,%%<- O %K<
6$,$7 C(ip Erase2
#n )3e parallel pro2rammin2 mode8 a c3ip erase opera)ion is ini)ia)ed b0 usin2
)3e proper combina)ion o6 con)rol si2nals and b0 pulsin2 ALEF.RO! lo7 6or a
dura)ion o6 ,%% ns 5 &%% ns #n )3e serial pro2rammin2 mode8 a c3ip erase opera)ion is
6+
ini)ia)ed b0 issuin2 )3e C3ip Erase ins)ruc)ion #n )3is mode8 c3ip erase is sel65)imed
and )a1es abou) &%% ms Durin2 c3ip erase8 a serial read 6rom an0 address loca)ion
7ill re)urn %%< a) )3e da)a ou)pu)
.ro2rammin2 )3e Flas3 U Serial (ode T3e Code memor0 arra0 can be
pro2rammed usin2 )3e serial #S. in)er6ace 73ile RST is pulled )o "CC T3e serial
in)er6ace consis)s o6 pins SCK8 (OS# *inpu)- and (#SO *ou)pu)- A6)er RST is se)
3i238 )3e .ro2rammin2 Enable ins)ruc)ion needs )o be e:ecu)ed 6irs) be6ore o)3er
opera)ions can be e:ecu)ed Ie6ore a repro2rammin2 se>uence can occur8 a C3ip
Erase opera)ion is re>uired T3e C3ip Erase opera)ion )urns )3e con)en) o6 ever0
memor0 loca)ion in )3e Code arra0 in)o FF< Ei)3er an e:)ernal s0s)em cloc1 can be
supplied a) pin @TAL' or a cr0s)al needs )o be connec)ed across pins @TAL' and
@TAL, T3e ma:imum serial cloc1 *SCK- 6re>uenc0 s3ould be less )3an 'F'K o6 )3e
cr0s)al 6re>uenc0 Wi)3 a 99 (<4 oscilla)or cloc18 )3e ma:imum SCK 6re>uenc0 is ,
(<4
6$1< Seria" Pro0rammin0 A"0orit(m2
To pro2ram and veri60 )3e AT$+S&, in )3e serial pro2rammin2 mode8 )3e
6ollo7in2 se>uence is recommendedM ' .o7er5up se>uenceM a Appl0 po7er be)7een
"CC and !/D pins b Se) RST pin )o Q<R #6 a cr0s)al is no) connec)ed across pins
@TAL' and @TAL,8 appl0 a 9 (<4 )o 99 (<4 cloc1 )o @TAL' pin and 7ai) 6or a)
leas) '% milliseconds , Enable serial pro2rammin2 b0 sendin2 )3e .ro2rammin2
Enable serial ins)ruc)ion )o pin (OS#F.'& T3e 6re>uenc0 o6 )3e s3i6) cloc1 supplied
a) pin SCKF.'H needs )o be less )3an )3e C.J cloc1 a) @TAL' divided b0 'K 9 T3e
Code arra0 is pro2rammed one b0)e a) a )ime in ei)3er )3e I0)e or .a2e mode T3e
7ri)e c0cle is sel65)imed and )0picall0 )a1es less )3an %& ms a) &" L An0 memor0
loca)ion can be veri6ied b0 usin2 )3e Read ins)ruc)ion 73ic3 re)urns )3e con)en) a) )3e
selec)ed address a) serial ou)pu) (#SOF.'K & A) )3e end o6 a pro2rammin2 session8
RST can be se) lo7 )o commence normal device opera)ion .o7er5o66 se>uence *i6
needed-M ' Se) @TAL' )o QLR *i6 a cr0s)al is no) used- , Se) RST )o QLR 9 Turn
"CC po7er o66
6$1<$1 Data Po""in02
T3e Da)a .ollin2 6ea)ure is also available in )3e serial mode #n )3is mode8
durin2 a 7ri)e c0cle an a))emp)ed read o6 )3e las) b0)e 7ri))en 7ill resul) in )3e
complemen) o6 )3e (SI o6 )3e serial ou)pu) b0)e on (#SO

6,
C3APTER!7
Re"ay= LCD
7$1 Re"ay2
A rela0 is an elec)rical s7i)c3 )3a) opens and closes under )3e con)rol o6
ano)3er elec)rical circui) #n )3e ori2inal 6orm8 )3e s7i)c3 is opera)ed b0 an
elec)roma2ne) )o open or close one or man0 se)s o6 con)ac)s Iecause a rela0 is able )o
con)rol an ou)pu) circui) o6 3i23er po7er )3an )3e inpu) circui)8 i) can be considered )o
be8 in a broad sense8 a 6orm o6 an elec)rical ampli6ier Small rela0 as used in
elec)ronics
A simple elec)roma2ne)ic rela08 suc3 as )3e one )a1en 6rom a car in )3e 6irs)
pic)ure8 is an adap)a)ion o6 an elec)roma2ne) #) consis)s o6 a coil o6 7ire surroundin2
a so6) iron core8 an iron 0o1e8 73ic3 provides a lo7 reluc)ance pa)3 6or ma2ne)ic 6lu:8
a moveable iron arma)ure8 and a se)8 or se)s8 o6 con)ac)sD )7o in )3e rela0 pic)ured T3e
arma)ure is 3in2ed )o )3e 0o1e and mec3anicall0 lin1ed )o a movin2 con)ac) or
con)ac)s #) is 3eld in place b0 a sprin2 so )3a) 73en )3e rela0 is reener2i4ed )3ere is an
air 2ap in )3e ma2ne)ic circui) #n )3is condi)ion8 one o6 )3e )7o se)s o6 con)ac)s in )3e
rela0 pic)ured is closed8 and )3e o)3er se) is open O)3er rela0s ma0 3ave more or
6e7er se)s o6 con)ac)s dependin2 on )3eir 6unc)ion T3e rela0 in )3e pic)ure also 3as a
7<
7ire connec)in2 )3e arma)ure )o )3e 0o1e T3is ensures con)inui)0 o6 )3e circui)
be)7een )3e movin2 con)ac)s on )3e arma)ure8 and )3e circui) )rac1 on )3e .rin)ed
Circui) Ioard *.CI- via )3e 0o1e8 73ic3 is soldered )o )3e .CI
W3en an elec)ric curren) is passed )3rou23 )3e coil8 )3e resul)in2 ma2ne)ic
6ield a))rac)s )3e arma)ure8 and )3e conse>uen) movemen) o6 )3e movable con)ac) or
con)ac)s ei)3er ma1es or brea1s a connec)ion 7i)3 a 6i:ed con)ac) #6 )3e se) o6
con)ac)s 7as closed 73en )3e rela0 7as de5ener2i4ed8 )3en )3e movemen) opens )3e
con)ac)s and brea1s )3e connec)ion8 and vice versa i6 )3e con)ac)s 7ere open W3en
)3e curren) )o )3e coil is s7i)c3ed o668 )3e arma)ure is re)urned b0 a 6orce8
appro:ima)el0 3al6 as s)ron2 as )3e ma2ne)ic 6orce8 )o i)s rela:ed posi)ion Jsuall0
)3is 6orce is provided b0 a sprin28 bu) 2ravi)0 is also used commonl0 in indus)rial
mo)or s)ar)ers (os) rela0s are manu6ac)ured )o opera)e >uic1l0 #n a lo7 vol)a2e
applica)ion8 )3is is )o reduce noise #n a 3i23 vol)a2e or 3i23 curren) applica)ion8 )3is is
)o reduce arcin2
#6 )3e coil is ener2i4ed 7i)3 DC8 a diode is 6re>uen)l0 ins)alled across )3e coil8
)o dissipa)e )3e ener20 6rom )3e collapsin2 ma2ne)ic 6ield a) deac)iva)ion8 73ic3
7ould o)3er7ise 2enera)e a vol)a2e spi1e dan2erous )o circui) componen)s Some
au)omo)ive rela0s alread0 include )3a) diode inside )3e rela0 case Al)erna)ivel0 a
con)ac) pro)ec)ion ne)7or18 consis)in2 o6 a capaci)or and resis)or in series8 ma0 absorb
)3e sur2e
#6 )3e coil is desi2ned )o be ener2i4ed 7i)3 AC8 a small copper rin2 can be
crimped )o )3e end o6 )3e solenoid T3is ;s3adin2 rin2; crea)es a small ou)5o65p3ase
curren)8 73ic3 increases )3e minimum pull on )3e arma)ure durin2 )3e AC c0cle['\
I0 analo20 7i)3 )3e 6unc)ions o6 )3e ori2inal elec)roma2ne)ic device8 a solid5
s)a)e rela0 is made 7i)3 a )30ris)or or o)3er solid5s)a)e s7i)c3in2 device To ac3ieve
elec)rical isola)ion an op)ocoupler can be used 73ic3 is a li23)5emi))in2 diode *LED-
coupled 7i)3 a p3o)o )ransis)or
T0pes o6 rela0
7$1$1 Latc(in0 re"ay
A la)c3in2 rela0 3as )7o rela:ed s)a)es *bis)able- T3ese are also called A1eepA or
As)a0A rela0s W3en )3e curren) is s7i)c3ed o668 )3e rela0 remains in i)s las) s)a)e T3is
is ac3ieved 7i)3 a solenoid opera)in2 a ra)c3e) and cam mec3anism8 or b0 3avin2 )7o
opposin2 coils 7i)3 an over5cen)er sprin2 or permanen) ma2ne) )o 3old )3e arma)ure
and con)ac)s in posi)ion 73ile )3e coil is rela:ed8 or 7i)3 a remnan) core #n )3e ra)c3e)
and cam e:ample8 )3e 6irs) pulse )o )3e coil )urns )3e rela0 on and )3e second pulse
)urns i) o66 #n )3e )7o coil e:ample8 a pulse )o one coil )urns )3e rela0 on and a pulse
)o )3e opposi)e coil )urns )3e rela0 o66 T3is )0pe o6 rela0 3as )3e advan)a2e )3a) i)
consumes po7er onl0 6or an ins)an)8 73ile i) is bein2 s7i)c3ed8 and i) re)ains i)s las)
se))in2 across a po7er ou)a2e
71
7$1$. Ree re"ay
A reed rela0 3as a se) o6 con)ac)s inside a vacuum or iner) 2as 6illed 2lass )ube8
73ic3 pro)ec)s )3e con)ac)s a2ains) a)mosp3eric corrosion T3e con)ac)s are closed b0
a ma2ne)ic 6ield 2enera)ed 73en curren) passes )3rou23 a coil around )3e 2lass )ube
Reed rela0s are capable o6 6as)er s7i)c3in2 speeds )3an lar2er )0pes o6 rela0s8 bu)
3ave lo7 s7i)c3 curren) and vol)a2e ra)in2s See also reed s7i)c3
7$1$6 /ercury!&ette re"ay
A mercur057e))ed reed rela0 is a 6orm o6 reed rela0 in 73ic3 )3e con)ac)s are
7e))ed 7i)3 mercur0 Suc3 rela0s are used )o s7i)c3 lo75vol)a2e si2nals *one vol) or
less- because o6 i)s lo7 con)ac) resis)ance8 or 6or 3i235speed coun)in2 and )imin2
applica)ions 73ere )3e mercur0 elimina)es con)ac) bounce (ercur0 7e))ed rela0s are
posi)ion5sensi)ive and mus) be moun)ed ver)icall0 )o 7or1 properl0 Iecause o6 )3e
)o:ici)0 and e:pense o6 li>uid mercur08 )3ese rela0s are rarel0 speci6ied 6or ne7
e>uipmen) See also mercur0 s7i)c3
7$1$7 Po"ari*e re"ay
A .olari4ed Rela0 placed )3e arma)ure be)7een )3e poles o6 a permanen) ma2ne)
)o increase sensi)ivi)0 .olari4ed rela0s 7ere used in middle ,%)3 Cen)ur0 )elep3one
e:c3an2es )o de)ec) 6ain) pulses and correc) )ele2rap3ic dis)or)ion T3e poles 7ere on
scre7s8 so a )ec3nician could 6irs) adCus) )3em 6or ma:imum sensi)ivi)0 and )3en appl0
a bias sprin2 )o se) )3e cri)ical curren) )3a) 7ould opera)e )3e rela0
7$1$- /ac(ine too" re"ay
A mac3ine )ool rela0 is a )0pe s)andardi4ed 6or indus)rial con)rol o6 mac3ine )ools8
)rans6er mac3ines8 and o)3er se>uen)ial con)rol T3e0 are c3arac)eri4ed b0 a lar2e
number o6 con)ac)s *some)imes e:)endable in )3e 6ield- 73ic3 are easil0 conver)ed
6rom normall05open )o normall05closed s)a)us8 easil0 replaceable coils8 and a 6orm
6ac)or )3a) allo7s compac)l0 ins)allin2 man0 rela0s in a con)rol panel Al)3ou23 suc3
rela0s once 7ere )3e bac1bone o6 au)oma)ion in suc3 indus)ries as au)omobile
assembl08 )3e pro2rammable lo2ic con)roller *.LC- mos)l0 displaced )3e mac3ine )ool
rela0 6rom se>uen)ial con)rol applica)ions
7$1$9 Contactor re"ay
A con)ac)or is a ver0 3eav05du)0 rela0 used 6or s7i)c3in2 elec)ric mo)ors and
li23)in2 loads <i235curren) con)ac)s are made 7i)3 allo0s con)ainin2 silver T3e
unavoidable arcin2 causes )3e con)ac)s )o o:idi4e and silver o:ide is s)ill a 2ood
conduc)or Suc3 devices are o6)en used 6or mo)or s)ar)ers A mo)or s)ar)er is a
con)ac)or 7i)3 overload pro)ec)ion devices a))ac3ed T3e overload sensin2 devices are
a 6orm o6 3ea) opera)ed rela0 73ere a coil 3ea)s a bi5me)al s)rip8 or 73ere a solder po)
mel)s8 releasin2 a sprin2 )o opera)e au:iliar0 con)ac)s T3ese au:iliar0 con)ac)s are in
series 7i)3 )3e coil #6 )3e overload senses e:cess curren) in )3e load8 )3e coil is de5
ener2i4ed Con)ac)or rela0s can be e:)remel0 loud )o opera)e8 ma1in2 )3em un6i) 6or
use 73ere noise is a c3ie6 concern
7.
7$1$: So"i!state re"ay
Solid s)a)e rela08 73ic3 3as no movin2 par) ,& amp or L% amp solid s)a)es
con)ac)ors A solid s)a)e rela0 *SSR- is a solid s)a)e elec)ronic componen) )3a)
provides a similar 6unc)ion )o an elec)romec3anical rela0 bu) does no) 3ave an0
movin2 componen)s8 increasin2 lon25)erm reliabili)0 Wi)3 earl0 SSRAs8 )3e )radeo66
came 6rom )3e 6ac) )3a) ever0 )ransis)or 3as a small vol)a2e drop across i) T3is
vol)a2e drop limi)ed )3e amoun) o6 curren) a 2iven SSR could 3andle As )ransis)ors
improved8 3i23er curren) SSRAs8 able )o 3andle '%% )o '8,%% amps8 3ave become
commerciall0 available Compared )o elec)roma2ne)ic rela0s8 )3e0 ma0 be 6alsel0
)ri22ered b0 )ransien)s
7$1$+ So"i state contactor re"ay
A solid s)a)e con)ac)or is a ver0 3eav05du)0 solid s)a)e rela08 includin2 )3e
necessar0 3ea) sin18 used 6or s7i)c3in2 elec)ric 3ea)ers8 small elec)ric mo)ors and
li23)in2 loadsD 73ere 6re>uen) onFo66 c0cles are re>uired T3ere are no movin2 par)s )o
7ear ou) and )3ere is no con)ac) bounce due )o vibra)ion T3e0 are ac)iva)ed b0 AC
con)rol si2nals or DC con)rol si2nals 6rom .ro2rammable lo2ic con)roller *.LCs-8
.Cs8 Transis)or5)ransis)or lo2ic *TTL- sources8 or o)3er microprocessor con)rols
7$1$, Buc((o"* re"ay
A Iuc33ol4 rela0 is a sa6e)0 device sensin2 )3e accumula)ion o6 2as in lar2e oil5
6illed )rans6ormers8 73ic3 7ill alarm on slo7 accumula)ion o6 2as or s3u) do7n )3e
)rans6ormer i6 2as is produced rapidl0 in )3e )rans6ormer oil
- 7$1$1< 8orce!0uie contacts re"ay
A 6orced52uided con)ac)s rela0 3as rela0 con)ac)s )3a) are mec3anicall0 lin1ed
)o2e)3er8 so )3a) 73en )3e rela0 coil is ener2i4ed or de5ener2i4ed8 all o6 )3e lin1ed
con)ac)s move )o2e)3er #6 one se) o6 con)ac)s in )3e rela0 becomes immobili4ed8 no
o)3er con)ac) o6 )3e same rela0 7ill be able )o move T3e 6unc)ion o6 6orced52uided
con)ac)s is )o enable )3e sa6e)0 circui) )o c3ec1 )3e s)a)us o6 )3e rela0 Forced52uided
con)ac)s are also 1no7n as ;posi)ive52uided con)ac)s;8 ;cap)ive con)ac)s;8 ;loc1ed
con)ac)s;8 or ;sa6e)0 rela0s;
7$1$11 O%er"oa protection re"ay
One )0pe o6 elec)ric mo)or overload pro)ec)ion rela0 is opera)ed b0 a 3ea)in2
elemen) in series 7i)3 )3e elec)ric mo)or T3e 3ea) 2enera)ed b0 )3e mo)or curren)
opera)es a bi5me)al s)rip or mel)s solder8 releasin2 a sprin2 )o opera)e con)ac)s W3ere
)3e overload rela0 is e:posed )o )3e same environmen) as )3e mo)or8 a use6ul )3ou23
crude compensa)ion 6or mo)or ambien) )empera)ure is provided
76
7$. Inter#acin0 an LCD to t(e +,-1 /icrocontro""er2
LCD inter#acin0
8i0ure2 7$.$1
T3is sec)ion describes )3e opera)ion modes o6 LCDs8 )3en describes 3o7 )o
pro2ram and in)er6ace an LCD )o ar) $%&' usin2 Assembl0 and C
7$.$. LCD operation2
#n recen) 0ears )3e LCD is 6indin2 7idespread use replacin2 LEDs *seven5
se2men) LEDs or o)3er mul)ise2men) LEDs- T3is is due )o )3e 6ollo7in2 reasonsM
' T3e declinin2 prices o6 LCDs
, T3e abili)0 o6 displa0 numbers8 c3arac)ers8 and 2rap3ics T3is is ain con)ras) )o
LEDs8 73ic3 are limi)ed )o numbers and a 6e7 c3arac)ers
9 #ncorpora)ion o6 a re6res3in2 con)roller in)o )3e LCD8 )3ereb0 relievin2 )3e
C.J o6 )3e )as1 o6 re6res3in2 )3e LCD #n con)ras)8 )3e LED mus) be re6res3ed
b0 )3e C.J *or in some o)3er 7a0- )o 1eep displa0in2 )3e da)a
L Ease o6 pro2rammin2 6or c3arac)ers and 2rap3ics
7$6 Inter#acin0 an LCD to t(e +<-1 /icrocontro""er2
7$6$1 LCD pin escriptions2
T3e LCD discussed in )3is sec)ion 3as 'L pins T3e 6unc)ion o6 eac3 pin is
2iven in )able
77
Ta'"e2 7$6$1
Ta'"e2 7$6$.
7-
7$6$6 ;cc= ;ss= an ;EE2
W3ile "cc and "ss provide N&" and 2round8 respec)ivel08 "EE is used 6or
con)rollin2 LCD con)ras)
7$6$7 RS D re0ister se"ect2
T3ere are )7o ver0 impor)an) re2is)ers inside )3e LCD T3e RS pin is used 6or
)3eir selec)ion as 6ollo7s #6 RS O %8 )3e ins)ruc)ion command code re2is)er is
selec)ed8 allo7in2 )3e user )o send a command suc3 as clear displa08 cursor a) 3ome8
e)c #6 RS O ' )3e da)a re2is)er is selec)ed8 allo7in2 )3e user )o send da)a )o be
displa0ed on )3e LCD
7$6$- R>W D rea>&rite2
RFW inpu) allo7s )3e user )o 7ri)e in6orma)ion )o )3e LCD or read in6orma)ion
6rom i) RFW O ' 73en readin2D RFW O% 73en 7ri)in2
7$6$9 E D ena'"e2
T3e enable pin is used b0 )3e LCD )o la)c3 in6orma)ion presen)ed )o i)s da)a
pins W3en da)a is supplied )o da)a pins8 a 3i23 )o lo7 pulse mus) be applied )o )3is
pin in order 6or )3e LCD )o la)c3 in )3e da)a presen) a) )3e da)a pins T3is pulse mus)
be a minimum o6 L&% ns 7ide
7$6$: D< D D:2
T3e $ bi) da)a pins8 D% U DH8 are used )o send in6orma)ion )o )3e LCD or read
)3e con)en)s o6 )3e LCDs in)ernal re2is)ersTo displa0 le))ers and numbers8 7e send
ASC## codes 6or )3e le))ers A U V8 a U 48 and numbers % U + )o )3ese pins 73ile ma1in2
RS O 'T3ere are also ins)ruc)ions command codes )3a) can be sen) )o )3e LCD )o
clear )3e displa0 or 6orce )3e cursor )o )3e 3ome posi)ion or blin1 )3e cursor Ielo7
Ta'"e2 7$6$+
79
LCD Commans ta'"e
We also use RS O % )o c3ec1 )3e bus0 6la2 bi) )o see i6 )3e LCD is read0 )o
receive in6orma)ion T3e bus0 6la2 is DH and can be read 73en RFW O' and RS O %8
as 6ollo7sM i6 RFW O'8 RS O% W3en DH O '*bus0 6la2 O '-8 )3e LCD bus0 )a1in2 care
o6 in)ernal opera)ions and 7ill no) accep) an0 ne7 in6orma)ion W3en DH O %8 )3e
LCD is read0 )o receive ne7 in6orma)ion /o)eM #) is recommended )o c3ec1 )3e bus0
6la2 be6ore 7ri)in2 an0 da)a )o )3e LCD
7$6$, B"oc) ia0ram
7:
7$7 Inter#acin0 LCD to +,-1
Inter#acin0 EAamp"e ! 19 C(aracter A . Line LCD2
Description2
T3is is )3e 6irs) in)er6acin2 e:ample 6or )3e .arallel .or) We 7ill s)ar) 7i)3
some)3in2 simple T3is e:ample doesnA) use )3e Ii5direc)ional 6ea)ure 6ound on
ne7er por)s8 )3us i) s3ould 7or1 7i)3 mos)8 i6 no all .arallel .or)s #) 3o7ever
doesnA) s3o7 )3e use o6 )3e S)a)us .or) as an inpu) So 73a) are 7e in)er6acin2E A
'K C3arac)er : , Line LCD (odule )o )3e .arallel .or) T3ese LCD (odules are
ver0 common )3ese da0s8 and are >ui)e simple )o 7or1 7i)38 as all )3e lo2ic
re>uired )o run )3em is on board
7$7$12 Sc(ematic ia0ram
7+
7$- Circuit Description2
Above is )3e >ui)e simple sc3ema)ic T3e LCD panelAs Enable and Register
Select is connec)ed )o )3e Con)rol .or) T3e Con)rol .or) is an open collec)or F
open drain ou)pu) W3ile mos) .arallel .or)s 3ave in)ernal pull5up resis)ors8 )3ere
are a 6e7 73ic3 donA) T3ere6ore b0 incorpora)in2 )3e )7o '%K e:)ernal pull up
resis)ors8 )3e circui) is more por)able 6or a 7ider ran2e o6 compu)ers8 some o6
73ic3 ma0 3ave no in)ernal pull up resis)ors
We ma1e no e66or) )o place )3e Da)a bus in)o reverse direc)ion T3ere6ore 7e
3ard 7ire )3e R/W line o6 )3e LCD panel8 in)o 7ri)e mode T3is 7ill cause no bus
con6lic)s on )3e da)a lines As a resul) 7e canno) read bac1 )3e LCDAs in)ernal
Ius0 Fla2 73ic3 )ells us i6 )3e LCD 3as accep)ed and 6inis3ed processin2 )3e las)
ins)ruc)ion T3is problem is overcome b0 inser)in2 1no7n dela0s in)o our
pro2ram
T3e '%1 .o)en)iome)er con)rols )3e con)ras) o6 )3e LCD panel /o)3in2 6anc0
3ere As 7i)3 all )3e e:amples8 #Ave le6) )3e po7er suppl0 ou) Bou can use a benc3
po7er suppl0 se) )o &v or use a onboard N& re2ula)or Remember a 6e7 de5
couplin2 capaci)ors8 especiall0 i6 0ou 3ave )rouble 7i)3 )3e circui) 7or1in2
properl0
C3APTER!-
WORKING 8LOW O8 T3E PROEECT
7,
F
SC3E/ATIC DIAGRA/
-$1 BLOCK DIAGRA/2
T3e 6ollo7in2 Iloc1 dia2ram 7ill e:plain 6lo7 o6 proCec) concep)
BLOCK DAIGRA/ E?PLANATIONM
(ainl0 )3e bloc1 dia2ram consis)s o6 6ollo7in2 par)sM
Re2ula)ed .o7er suppl0 circui)
-<
KEB.AD
AT$+S&,
(#CRO
CO/TROLLER
RE!JLATED
.OWER
IJVVER
RELAB
LCD
LED
$%&' con)roller
Ke0pad
RELAB
LCD
LED
-$. Wor)in0 #"o& o# t(e proGect2
T3is proCec) pass7ord based door loc1in2 s0s)em 7ill be use6ul 6or door
closin2 and openin2 on pass7ord basis #n )3is proCec) )3ere is no need )o use )3e loc1
and 1e0 6or loc1in2 )3e door #n )3is case 73enever )3e person 7an)s )o loc1 )3e door
3e needs )o en)er )3e pass7ord W3enever 3e 7an)s )o open )3e door a2ain 3e needs )o
)0pe )3e same pass7ord )o open )3e door And )3e indica)ion o6 door open 7ill be
indica)ed b0 LED )3rou23 Rela0 73ic3 ac)s as )3e s7i)c3 6or openin2 and closin2 o6
)3e door And i6 )3e en)ered 1e0 is 7ron2 )3e bu44er 7ill be on
-$6 REG4LATED POWER S4PPL5
A variable re2ula)ed po7er suppl08 also called a variable benc3 po7er
suppl08 is one 73ere 0ou can con)inuousl0 adCus) )3e ou)pu) vol)a2e )o 0our
re>uiremen)s "ar0in2 )3e ou)pu) o6 )3e po7er suppl0 is )3e recommended 7a0
)o )es) a proCec) a6)er 3avin2 double c3ec1ed par)s placemen) a2ains) circui)
dra7in2s and )3e par)s placemen) 2uide
T3is )0pe o6 re2ula)ion is ideal 6or 3avin2 a simple variable benc3 po7er
suppl0 Ac)uall0 )3is is >ui)e impor)an) because one o6 )3e 6irs) proCec)s a
3obb0is) s3ould under)a1e is )3e cons)ruc)ion o6 a variable re2ula)ed po7er
suppl0 W3ile a dedica)ed suppl0 is >ui)e 3and0 8i)As muc3 3andier )o 3ave a
variable suppl0 on 3and8 especiall0 6or )es)in2
(ainl0 )3e AR( con)roller needs 99 vol) po7er suppl0 To use )3ese
par)s 7e need )o build a re2ula)ed 99 vol) source Jsuall0 0ou s)ar) 7i)3 an
unre2ula)ed po7er To ma1e a 99 vol) po7er suppl08 7e use a L(9'H vol)a2e
re2ula)or #C *#n)e2ra)ed Circui)- T3e #C is s3o7n belo7
CIRC4IT 8EAT4RES2
"
ou)
ran2e ',&" 5 9H"
-1
"
in
5 "
ou)
di66erence 9" 5 L%"
Opera)ion ambien) )empera)ure % 5 ',&]C
Ou)pu) #
ma:
^'&A
(inimum Load Curren)
ma:
'%mA
Ta'"e2 -$6$1
A curren)5limi)in2 circui) cons)ruc)ed 7i)3 L(9'H
8i0ure2 -$6$.
.ar) pinout o6 L(9'H s3o7in2 i)s cons)an) vol)a2e re6erenceL(9'H is )3e
s)andard par) number 6or an in)e2ra)ed )3ree5)erminal adCus)able "inear %o"ta0e
re0u"ator L(9'H is a posi)ive vol)a2e re2ula)or suppor)in2 inpu) %o"ta0e o6 9" )o
L%" and ou)pu) vol)a2e be)7een ',&" and 9H" A )0pical current ratin0 is '&A
al)3ou23 several lo7er and 3i23er curren) models are available "ariable ou)pu)
vol)a2e is ac3ieved b0 usin2 a potentiometer or a variable vol)a2e 6rom ano)3er
source )o appl0 a con)rol vol)a2e )o )3e con)rol )erminal L(9'H also 3as a buil)5in
current "imiter )o preven) )3e ou)pu) curren) 6rom e:ceedin2 )3e ra)ed curren)8 and
L(9'H 7ill au)oma)icall0 reduce i)s ou)pu) curren) i6 an over3ea) condi)ion occurs
under load L(9'H is manu6ac)ured b0 man0 companies8 includin2 Nationa"
Semiconuctor8 8airc(i" Semiconuctor8 and ST/icroe"ectronics
Al)3ou23 L(9'H is an adCus)able re2ula)or8 i) is some)imes pre6erred 6or 3i235
precision 6i:ed vol)a2e applica)ions ins)ead o6 )3e similar L/:+AA devices because
)3e L(9'H is desi2ned 7i)3 superior ou)pu) )olerances For a 6i:ed vol)a2e
applica)ion8 )3e con)rol pin 7ill )0picall0 be biased 7i)3 a 6i:ed resis)or ne)7or18 a
Hener ioe ne)7or18 or a 6i:ed con)rol vol)a2e 6rom ano)3er source
(anu6ac)urer da)as3ee)s provide s)andard con6i2ura)ions 6or ac3ievin2 various
desi2n applica)ions8 includin2 )3e use o6 a pass transistor )o ac3ieve re2ula)ed ou)pu)
curren)s in e:cess o6 73a) )3e L(9'H alone can provide
L(9'H is available in a 7ide ran2e o6 pac1a2e 6orms 6or di66eren) applica)ions
includin2 3ea) sin1 moun)in2 and sur6ace5moun) applica)ions Common 6orm 6ac)ors
6or 3i235curren) applica)ions include TO5,,% and TO59 L(9'H is capable o6
-.
dissipa)in2 a lar2e amoun) o6 3ea) a) medium )o 3i23 curren) loads and )3e use o6 a
3ea) sin1 is recommended )o ma:imi4e )3e li6espan and po7er53andlin2 capabili)0
L(99H is )3e ne2a)ive vol)a2e complemen) )o L(9'H and )3e speci6ica)ions
and 6unc)ion are essen)iall0 iden)ical8 e:cep) )3a) )3e re2ula)or mus) receive a con)rol
vol)a2e and ac) on an inpu) vol)a2e )3a) are belo7 )3e 2round re6erence poin) ins)ead
o6 above i)
-$6$6 BLOCK DIAGRA/
T3e above bloc1 dia2ram 7ill s3o7s )3e re2ula)ed po7er suppl0 in )3is )3e
po7er suppl0 can be 2iven 6rom ,9%" AC suppl0 73ic3 7ill be 2iven )o )3e
',v5%5',v s)ep do7n )rans6ormer 73ose ou)pu) vol)a2e '," AC A2ain )3is
vol)a2e can be conver)ed in)o DC vol)a2e b0 usin2 )3e Irid2e rec)i6ier8 bu) )3is
vol)a2e is a pulsa)in2 DC vol)a2e and )3is can be conver)in2 in)o pure DC b0
connec)in2 )3e capaci)ors8 and )3is pure '," DC 7ill be 2iven )o )3e H$%&
vol)a2e re2ula)ors 73ose ou)pu) vol)a2e is an &" DC and )3is can be 2iven )o
)3e microcon)roller as a po7er suppl0
C3APTER$9
KEIL SO8TWARE
9$1 Kei" So#t&are2
1$ Clic1 on )3e Keil u"ision #con on Des1Top
-6
.$ T3e 6ollo7in2 6i2 7ill appear
6$ Clic1 on )3e .roCec) menu 6rom )3e )i)le bar
7$ T3en Clic1 on /e7 .roCec)
s
-$ Save )3e .roCec) b0 )0pin2 sui)able proCec) name 7i)3 no e:)ension in u r
o7n 6older si)ed in ei)3er CM_ or DM_
-7
9$ T3en Clic1 on Save bu))on above
:$ Selec) )3e componen) 6or u r proCec) ie .3ilips``
+$ Clic1 on )3e N S0mbol beside o6 .3ilips
,$ Selec) AT$+C&' as s3o7n belo7
--
1<$ T3en Clic1 on QOKR
11$ T3e Follo7in2 6i2 7ill appear
1.$ T3en Clic1 ei)3er BES or /O```mos)l0 Q/OR
16$ /o7 0our proCec) is read0 )o JSE
-9
17$ /o7 double clic1 on )3e Tar2e)'8 0ou 7ould 2e) ano)3er op)ion QSource
2roup 'R as s3o7n in ne:) pa2e
1-$ Clic1 on )3e 6ile op)ion 6rom menu bar and selec) Qne7R
19$ T3e ne:) screen 7ill be as s3o7n in ne:) pa2e8 and Cus) ma:imi4e i) b0
double clic1in2 on i)s blue boarder
-:
1:$ /o7 s)ar) 7ri)in2 pro2ram in ei)3er in QCR or QAS(R
1+$ For a pro2ram 7ri))en in Assembl08 )3en save i) 7i)3 e:)ension Q asmR
and 6or QCR based pro2ram save i) 7i)3 e:)ension Q CR
1,$ /o7 ri23) clic1 on Source 2roup ' and clic1 on QAdd 6iles )o !roup
SourceR
-+
.<$ /o7 0ou 7ill 2e) ano)3er 7indo78 on 73ic3 b0 de6aul) QCR 6iles 7ill
appear
.1$ /o7 selec) as per 0our 6ile e:)ension 2iven 73ile savin2 )3e 6ile
..$ Clic1 onl0 one )ime on op)ion QADDR
.6$ /o7 .ress 6unc)ion 1e0 FH )o compile An0 error 7ill appear i6 so 3appen
-,
.7$ #6 )3e 6ile con)ains no error8 )3en press Con)rolNF& simul)aneousl0
.-$ T3e ne7 7indo7 is as 6ollo7s
.9$ T3en Clic1 QOKR
.:$ /o7 clic1 on )3e .erip3erals 6rom menu bar8 and c3ec1 0our re>uired por)
as s3o7n in 6i2 belo7
9<
.+$ Dra2 )3e por) a side and clic1 in )3e pro2ram 6ile
.,$ /o7 1eep .ressin2 6unc)ion 1e0 QF''R slo7l0 and observe
6<$ Bou are runnin2 0our pro2ram success6ull0
C3APTER!:
CONCL4SION
CONCL4SION2
91
T3e proCec) QPASSWORD BASED DOOR LOCKING S5STE/ R 3as
been success6ull0 desi2ned and )es)ed
#) 3as been developed b0 in)e2ra)in2 6ea)ures o6 all )3e 3ard7are componen)s
used .resence o6 ever0 module 3as been reasoned ou) and placed care6ull0 )3us
con)ribu)in2 )o )3e bes) 7or1in2 o6 )3e uni)
Secondl08 usin2 3i23l0 advanced #Cs and 7i)3 )3e 3elp o6 2ro7in2
)ec3nolo20 )3e proCec) 3as been success6ull0 implemen)ed
C3APTER!,
BIBLIOGRAP35
BIBLIOGRAP352
T3e $%&' (icro con)roller and Embedded S0s)ems
9.
5/u(amma A"i /a*ii
Eanice Gi""ispie /a*ii
T3e $%&' (icro con)roller Arc3i)ec)ure8.ro2rammin2 & Applica)ions
!Kennet( E$Aya"a
Fundamen)als O6 (icro processors and (icro compu)ers
!B$Ram
(icro processor Arc3i)ec)ure8 .ro2rammin2 & Applica)ions
!Rames( S$Gaon)ar
Elec)ronic Componen)s
5D$;$Prasa
Wireless Communica)ions
! T(eoore S$ Rappaport
(obile Tele Communica)ions
! Wi""iam C$5$ Lee
Re6erences on )3e WebM
777na)ionalcom
777n:pcom
777$%&,com
777microso6)searc3com
7772eoci)iescom
96

You might also like