You are on page 1of 45

c

   

c

cccccc

c



 

c c c
cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc
 c  ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc
c
  c c   cccccccccccccccccccccccccccccccccccccccccccccccccccccc
c cc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc
  c
c c
c
c c
c
c c
c
c c
c
c
c
c
c
c
c
cc

p 


c
c
c
c c
c
c
c 

c
c
c  

c
c
c  
c cc
c
c  c
c
c 
c cc  
c
c
c c  c
c
!c "
#
c c
c
$c "
#
#c
c
%c# c&
c
c
c
## c
#c
c
c  
#c'#c 
###c
c
c()c*( +c) c
#,c
c
c c&

c#c
c
c-
.
c
c
c&

cc
c
c
#c
c
!c(c*(/c #c#,c
c
$c&
c c
c
%c"



#cc01 +c
c

c
c
c
c


c
ccccc!"c#$%%&c#'(#c"c$))c$(c!cc" ""c$%c"c$'')*$(%"c
%ccc+$#("c,)"c(,c#$)c-(#).c/c$#c)+%&c%c!cc/(#).c/c$#c
"##(%cc-!c$% cc'#(*"c$%c(#c$) c),c)$#&) c'%"c
(%c'#('#c,%*(%%&c(,c!"c&$&".c)+"(%0c$(0cc')$ #0c/$"!%&c
$*!%c(#c*#(-$+cc+%c%c(#c1*!%0c$#c#$#"0c **""c(%#())#"0c
2$)c+*"c(,c(#c"'$*c%$)c"c(c(c$% c(,c(#c$"1"cc+# c,,*+) cc
'$#cc,#(cc$))c!"c0c$% cc*(%#())#"cc%c(#cc*$#cc$1cc*$#cc(,cc
*$#c('#$(%"cc-%c!cc'#".c ))cc1%"c(,c$&$3%"cc$%cc4(#%$)"c
#&)$#) c"!c(c$)"c$(c)$"c*!%()(&"0c%-c+*"5cc$'')*$(%"c
-!*!c$1c"c)+c!$c(#c$"*c"#++$)c"c*(%#())c c!"cc
'#(*".c (-c-c*$%c$&#c(c!c,$*c!$c!"cc'#(*"c!$+c
"**"",)) cc%+$c%(c(#c+$"cc-(#).cc/!$c"c!"cccc "6c
!(#*$)) c$%cc*(%#())#c"c*(%$(%c(,c'*c(,c*#('#(*""(#c
$"c!$#-$#c$%c!c"$)c"(,-$#c(c%#$1c$c"'*,*c$"1.c
c
c
c
c
 


c
ccc c -()c )1c (c 7'#""c  c "%*#c &#$c (c CETPA infotechc ,(#c &+%&c c $%c
(''(#% c (c %#&(c  c %"#$)c #$%%&c ,(#c ,(#c -1c $"c -))c $"cc
,(#c '#(+%&c c !c 1%(-)&c (,c c ".c -()c $)"(c )1c (c
!$%1c (c $))c !c *!%*$)c 7'#"0c %&%#"c $%c 7*+"c ,(#c 7')$%%&c '#$**$)c
$"'*"c(,c!c!(#*$)c1%(-)&.c
ccccccc cc&#$"cccc%c*#$%&c!"c'#(4*c&("c(c!c*!%*$)c7'#"cMr. Vineet Guptac
!$%1c (c(c #c,(#c%*(#$&%&cc+# c"'c(,c!c-$ .c
cccccccc$c') c%c(c ccMr.A.K.Mehrotrac-!("c!)'0c")$%&c"&&"(%"c$%c
%*(#$&%"c-$"c$)-$ "c-!cc
c c
c
c
c
c
c
 
c c+
c c
c
c!c""(%c(,c2 c"c(c-(#1c,(#c!c'#(((%c(,c*('#c*$(%c$%c*!%()(& c%c
%$c $%c $#($.c 2 c "c $c &#('c (,c '#(,""(%$)"c -!(c $#c -(#1%&c ,(#c !c '#(((%c (,c
*!%()(& .c 2 c '#(+"c ('%c ')$,(#c ,(#c !c +)('%c (,c !c +$#("c *('#c
"(,-$#.c/c$#c!c'$#c(,c%7c2#(((%c#&$%3$(%.cc
c
CETPA Objectives c
Rc 2#((%&c('#c*$(%c8c*!%()(& cc
Rc '%c')$,(#c,(#c!c+)('%c4("cc
Rc 2#(+c/(#)c)$""c('#c*$(%cc
Rc #&$%3c2$'#c2#"%$(%c8c933"cc
Rc #&$%3c(%,#%*"c8c %$#"cc
Rc ())$(#$(%c-!c(!#c%"cc
Rc $%*!c"$#*!c2$'#c8c2#(4*"c(,c!c#"cc
Rc "$#*!c,(#c +$%*c*!%()(& cc
Rc (%(#c"$%%&c2#"(%$)"cc
c
c
c
cc
CETPA Education c
2 c "c $%c $""(*$(%c *$c ,(#c "'#$%&c $+$%*c *('#c *$(%c (c $))c (+#c !c
-(#).c 2 c '#(+"c *('#c *$(%c %c $+$%*c *!%()(& c *(#""c )1c  :0c ;0c
0c c  0c  c c  0c  c 0c 2#(
c (#c *!$%*$)c 8c
)*#(%*"c"%"0c. 0c  0c  c;  0c 0c </ c  c*.cc
c
c
CETPA Research & Development c
2 c "c -(#1%&c *(%%(") c %c "$#*!c $%c +)('%c ,)c ,#(c !c +# c &%%%&c
.2 c!$"c+)('c$c%#c(,c$+$%*c"(,-$#c$%c*##%) c-(#1%&c%c,())(-%&c$%c
'#(4*"cc
Rc (%&"(%c(%#()c%c/#)""c#$,,*cc
Rc $)cc *!)%&c,(#c ($*cc!*)"cc
Rc +$%*%c%c*#('#(*""(#"c*!%()(& cc
Rc 2 c%7c
c
CETPA Open Platform c
2 c "c $%c $""(*$(%0c -!*!c "c '#(+%&c ('%c ')$,(#c ,(#c "(,-$#c +)('%.c #c
!%1%&c "c !$c +)('%c (()"c "!()c c '#(+c ,#c (,c *("c "(c !$c !c *!%()(&*$)c
$+$%*%c $%c #,%%c *$%c $1c ')$*c %!%#.c %c !"c ""(%c +# (%c "c %+c
.2 c %7c "c $c "'*$)c ,)$+(#c (,c %7c !$c *$%c c $") c ('3c $%c *"(3c ,(#c 4"c
$(c$% c$'')*$(%c(#c%c.7#c'#,(#$%*0c*(%,&#$) c$%c$c('
%(*!c"#c$%c
+)('#c*(% c$#c$))c!$))$#1"c(,c!c2 c7'#%*.cc
c
CETPA E-Magazine
2 c
$&$3%c"c!c"c-$ c(c&+c%-c*(#"c$c*!$%*c(c"!(-c!#c$) c.!#(&!c

$&$3%"c(#c"%c#"c*$%c&+c!#c$#*)"0c'#(4*"0c8c!(&!"c(c2 .c!"c
$&$3%"c %(c (%) c !$+c $"c (,c %-c *(#"c c $)"(c !""c (,c -))
1%(-%c "*%""0c
'#(,""(%$)"c$%c'#(,""(#".cc
c
CETPA Club
c
2 c!$"c-(c '"c(,c*)"c,(#c'#(,""(%$)c$%c"%.c#"c(,c!c'#(,""(%$)c*)c
$#c'#(,""(%$)"c,#(c+$#("c($%"c-!(c$#c-(#1%&c"#(") c,(#c!c,),))%c(,c2 c
(4*+".c!c#"c(,c!c"%"c)c$#c!c"%"c-!(c$#c'#(+c')$,(#c c
2 c (c '#"%c !#c #"$#*!c '$'#"0c $%c (c "!$#c !#c +-"c -!c (!#c #"c (,c !c
*).c 2#(4*"c "c  c !c "%"c $#c "'(%"(#c %c !c %$(%$)c $%c %#%$(%$)c
"%$#"c,(#c'$'#c'#"%$(%c$%c')"!%&.cc
c
c
c c
 c
 #
#c +c 
c c #
'
#c c c c +
c 
c  c   
#c +c +
c
1
 #cc+
c
'

c c
+ c c

c  #c-+#c
'

c+#c
c
c##1
cc#
c+
#c c+##c c###cc
c +c-+c#cc
c
/#
c
c  c  c  
###2c c +
c #c 
#c 

c 
c 1c  c
3
c

+
#c # +c #c 
2c 4c 
#2c 
#c c +
c +
c  
# c  c +
c
'
c  c +
c  
c 
#
c c 
c  c 

c  #c -+
#
c 

c  #c

c 1+c 
##c c 
+
#c -+c #c +c +
c #c +c  c c
  
2cc+cc
c1
cc#cc  
c 
c1c
c
c
c
c
c
c
c
c cc  
c
c
*#(*(%#())#0c $"c !c %$c "&&""0c $#c "$))c *(%#())#".c ! c $#c )1c "%&)c *!'c
*('#"c !$c $#c (,%c c %(c (!#c " ""c(c ,%*(%c $"c '#(*""%& *(%#())%&c
%.c<(#c7$')0c!c#(c*(%#()c (c$#c"%&c'#($) c!$"c*#(*(%#())#"c%"c!$c
(c *(%&c $%c (!#c *(%#())%&c ,%*(%".c ! c $#c $)"(c "c %c $(()"0c -$"!%&c
$*!%"0c*#(-$+c(+%"0c( "c...c*0c-!#c$($(%c"c%.c
!c1 c,$#"c(,c*#(*(%#())#"c%*)=c
> &!c%&#$(%c(,c<%*(%$) c
> *#(*(%#())#"c"("c$#c*$))c"%&)
*!'c*('#"c*$"c! c!$+c(%
*!'c
(# c$%c c*#*# c$%c(!#c*#*#"c!$c%$)c!c(c,%*(%c$"c"$))c
"$%$)(%c*('#"c-!(c(!#c"''(#%&c*#*# .c
> <)c2#(&#$$) 0c<)7) c
> *#(*(%#())#"c(,%c"c2c(#c2c$"c!#c"(#$&c+*c(c$))(-c,)c
'#(&#$c$) c"(c! c$#c,)7)c(c".c%*c!c'#(&#$c"c"c(cc*(##*c!%c)$#&c
?$%"c(,c*#(*(%#())#"c*$%cc'#(&#$c(cc"c%cc" "".c
> $" c(c "c
"") c )$%&$&c "c (,%c "c %c *#(*(%#())#"c $%c "%*c ! c "$)) c ,())(-c  c
$#*!*#0c !c %"#*(%c "c "c "$)).c !c +)('%c '$*1$&c (,c *#(*(%#())#"c (,%c
%*)"c $%c $"")#0c $c ")$(#0c $c '#(&#$#c (c @#%@c !c *!'c $%c $c (%"#$(%c
($#.c (c '$*1$&"c %*)c $c !&!c )+)c )$%&$&c *(')#c "*!c $"c $c (')#c $%c (#c
"('!"*$c)#$#"c
c
c
c
c

c
("c*#(*(%#())#"c-))c$)"(c*(%c(!#c+*"c"*!c$"=c
> c#c()c(c$))(-c!c*#(*(%#())#c(c'#,(#c$"1"c,(#c*#$%cc'#(".c
> c"#$)c c'(#c(c$))(-c$$c(c,)(-c-%c!c*#(*(%#())#c$%c(!#c+*"c
"*!c$"c$c2c(#c$%(!#c*#(*(%#())#.c
> %c c(c$))(-c!c*#(*(%#())#c(c$**'c$%$)(&c%'c$$c,(#c'#(*""%&.c

Pin Configurationlcc

!c ABCc'#(+"c!c,())(-%&c"$%$#c,$#"=cDEc "c(,c<)$"!0cAc "c(,c 0cc


 c)%"0c-(cF
c# *(%#"0c$c,+c+*(#c-(
)+)c%##'c$#*!*#0c$c,))c')7c
"#$)c'(#0c(%
*!'c("*))$(#c$%c*)(*1c*#*# .c%c$(%0c!c ABCc"c"&%c-!c"$*c
)(&*c,(#c('#$(%c(-%c(c3#(c,#?%* c$%c"''(#"c-(c"(,-$#c")*$)c'(-#c"$+%&c
(".c!c)c(c"('"c!c2 c-!)c$))(-%&c!c 0c# *(%#"0c"#$)c'(#c$%c
%##'c" "c(c*(%%c,%*(%%&.c!c2(-#
(-%c(c"$+"c!c c*(%%"cc
,#3"c!c("*))$(#c"$)%&c$))c(!#c*!'c,%*(%"c%)c!c%7c!$#-$#c#".c

  
 




'') c+()$&.c



#(%.c




2(#cc"c$%cA
c('%
#$%c
#*(%$)c c'(#.c "c$%c('c'(#0c$*!c'%c*$%c"%1c&!c
c%'".c/!%c"c$#c-#%c(c'(#cc'%"0c!c'%"c*$%cc"c$"c!&!c'$%*c%'".c
2(#cc$ c$)"(cc*(%,&#c(cc!c)')7c)(-c(##c

#""c $$c"c#%&c$**"""c(c7#%$)c'#(&#$c$%c$$c(# .c%c!"c(c2c!$"c


%#%$)c'))c'".c2(#cc$)"(c#*+"c!c*(c "c#%&c<)$"!c'#(&#$%&0c

$%c('"c!c*(c "c#%&c'#(&#$c+#,*$(%.c7#%$)c'))c'"c$#c#?#c#%&c
'#(&#$c+#,*$(%.c

c





2(#c c "c $%c A


c 
#*(%$)c  c '(#c -!c %#%$)c '))
'".c !c 2(#c c ('c ,,#"c *$%c
"%1 "(#*c ,(#c c %'".c /!%c "c $#c -#%c (c 2(#c c '%"c ! c $#c '))c !&!c  c !c
%#%$)c '))
'"c $%c *$%c c "c $"c %'".c "c %'"0c 2(#c c '%"c !$c $#c 7#%$)) c %&c
'))c)(-c-))c"(#*c*##%cGHc*$"c(,c!c%#%$)c'))
'".c2(#cc$)"(c#*+"c!c)(-

(##c$#""c "c#%&c<)$"!c'#(&#$%&c$%c+#,*$(%.cc




2(#cc"c$%c A
c
#*(%$)c c'(#c-!c %#%$)c'))
'".c!c2(#cc('c,,#"cc*$%c
"%1 "(#*c ,(#c c %'".c /!%c "c $#c -#%c (c 2(#c c '%"c ! c $#c '))c !&!c  c !c
%#%$)c '))
'"c $%c *$%c c "c $"c %'".c "c %'"0c 2(#c c '%"c !$c $#c 7#%$)) c %&c
'))c)(-c-))c"(#*c*##%cGHc*$"c(,c!c%#%$)c'))
'".c2(#cc"c!c!&!
(##c
$#""c  c #%&c ,*!"c ,#(c 7#%$)c '#(&#$c (# c $%c c #%&c $**"""c (c 7#%$)c
$$c (# c !$c "c F
c $#"""c G:c Ic 2H.c %c !"c $'')*$(%0c c ""c "#(%&c
%#%$)c '))
'"c -!%c %&c ".c #%&c $**"""c (c 7#%$)c $$c (# c !$c "c A
c
$#"""cG:cIcH0c2(#cc"c!c*(%%"c(,c!c2c '*$)c<%*(%c&"#.c2(#cc
$)"(c #*+"c !c !&!
(##c $#""c "c $%c "(c *(%#()c "&%$)"c #%&c <)$"!c '#(&#$%&c
$%c+#,*$(%.cc




2(#c c "c $%c A


c 
#*(%$)c  c '(#c -!c %#%$)c '))
'".c !c 2(#c c ('c ,,#"c *$%c
"%1 "(#*c ,(#c c %'".c /!%c "c $#c -#%c (c 2(#c c '%"c ! c $#c '))c !&!c c  c !c
%#%$)c '))
'"c $%c *$%c c "c $"c %'".c "c %'"0c 2(#c c '%"c !$c $#c 7#%$)) c %&c
'))c)(-c-))c"(#*c*##%cGHc*$"c(,c!c'))
'".c2(#cc$)"(c"#+"c!c,%*(%"c(,c
+$#("c "'*$)c ,$#"c (,c !c ABCc $"c )"c )(-=c 2(#c c $)"(c #*+"c "(c *(%#()c
"&%$)"c,(#c<)$"!c'#(&#$%&c$%c+#,*$(%.cc
c


c

#""c$*!c%$)c('c')"c,(#c)$*!%&c!c)(-c c(,c!c$#""c#%&c$**"""c(c
7#%$)c(# .c!"c'%c"c$)"(c!c'#(&#$c')"c%'cG2Hc#%&c<)$"!c'#(&#$%&.c%c
%(#$)c('#$(%c c"cc$c$c*(%"$%c#$c(,c Fc!c("*))$(#c,#?%* 0c$%c$ cc
"c,(#c7#%$)c%&c(#c*)(*1%&c'#'("".c (0c!(-+#0c!$c(%c cc

2)"c"c"1''c#%&c$*!c$**""c(c7#%$)c$$c(# .c,c"#0c c('#$(%c*$%cc


"$)c c"%&ccc(,c <c)(*$(%cA.c/!c!cc"0c c"c$*+c(%) c#%&c$c:c
(#cc%"#*(%.c!#-"0c!c'%c "c-$1) c'))c!&!.c %&c!c 
"$)cc!$"c
%(c,,*c,c!c*#(*(%#())#c"c%c7#%$)c7*(%c(cc

?  p

"c%'.c c!&!c(%c!"c'%c,(#c-(c$*!%c* *)"c-!)c!c("*))$(#c"c#%%%&c#""c!c


+*cc
c
c

 

2#(&#$c (#c %$)c "c !c #$c "#(c (c 7#%$)c '#(&#$c (# .c /!%c !c ABCc "c
7*%&c *(c ,#(c 7#%$)c '#(&#$c (# 0c 2  c "c $*+$c -*c $*!c $*!%c * *)0c
7*'c!$c-(c2  c$*+$(%"c$#c"1''c#%&c$*!c$**""c(c7#%$)c$$c(# .cc

 

7#%$)c **""c%$).c c"cc"#$''c(c c%c(##c(c%$)c!c+*c(c,*!c*(c


,#(c7#%$)c'#(&#$c(# c)(*$(%"c"$#%&c$cc'c(c<<<<.c (0c!(-+#0c!$c,c
)(*1ccc"c'#(&#$0c c-))cc%#%$)) c)$*!c(%c#".c c"!()cc"#$''c(cc
,(#c%#%$)c'#(&#$c7*(%".c!"c'%c$)"(c#*+"c!c
+()c'#(&#$%&c%$)c+()$&c
G22Hc#%&c<)$"!c'#(&#$%&0c,(#c'$#"c!$c#?#c
+()c22.c

p

%'c(c!c%+#%&c("*))$(#c$'),#c$%c%'c(c!c%#%$)c*)(*1c('#$%&c*#*.c

p'c,#(c!c%+#%&c("*))$(#c$'),#.

c
c
  
  
 

: c$%c: c$#c!c%'c$%c('0c#"'*+) 0c(,c$%c%+#%&c$'),#c-!*!c*$%cc


*(%,&#c ,(#c "c $"c $%c (%
*!'c ("*))$(#0c $"c "!(-%c %c <&#c .c !#c $c ?$#3c *# "$)c (#c
*#$*c #"(%$(#c $ c c ".c (c #+c !c +*c ,#(c $%c 7#%$)c *)(*1c "(#*0c : c
"!()c c ),c %*(%%*c -!)c : c "c #+%c $"c "!(-%c %c <&#c .c !#c $#c %(c
#?#%"c (%c !c  c * *)c (,c !c 7#%$)c *)(*1c "&%$)0c "%*c !c %'c (c !c %#%$)c
*)(*1%&c*#*# c"c!#(&!c$c+

-(c,)'
,)('0cc%c$%c$7c+()$&c!&!c
$%c)(-cc"'*,*$(%"c"cc("#+.c



%c)c(0c!c2 c'"c"),c(c")'c-!)c $))c!c(%c*!'c '#'!#$)"c#$%c$*+.c!c


(c "c %+(1c  c "(,-$#.c !c *(%%c (,c !c (%
*!'c  c $%c $))c !c "'*$)c ,%*(%"c
#&"#"c#$%c%*!$%&c#%&c!"c(.c!c)c(c*$%cc#%$c c$% c%$)c
%##'c (#c  c $c !$#-$#c #".c c "!()c c %(c !$c -!%c )c "c #%$c  c $c !$#c
-$#c#"0c!c+*c%(#$)) c#""c'#(&#$c7*(%0c,#(c-!#cc),c(,,0c'c(c-(c
$*!%c * *)"c ,(#c !c %#%$)c #"c $)&(#!c $1"c *(%#().c %
*!'c !$#-$#c %!"c
$**""c(c%#%$)c c%c!"c+%0cc$**""c(c!c'(#c'%"c"c%(c%!.c(c)%$c
!c '("") c (,c $%c %7'*c -#c (c $c '(#c '%c -!%c )c "c #%$c  c #"0c !c
%"#*(%c,())(-%&c!c(%c!$c%+(1"c)c"!()c%(cc(%c!$c-#"c(c$c'(#c'%c(#c(c
7#%$)c(# c
c

 

! "
!c2#(&#$c $"c/(#cG2 /Hc*(%$%"c"$"c"c!$c#,)*c!c*##%c"$c(,c!c2 .c
!c2 /0c"!(-%c%c<&#c0c#""c%c <c"'$*.c!c2 /c*(%$%"c!c$## c0c!c 7)$# c
$## cG,(#cc('#$(%"H0c!c-(c#&"#c$%1c")*c"0c!c+#,)(-c,)$&0c$c2$# c0c$%c
-(c"#
,%$)c"$"c,)$&".c!c$## c0c%c$(%c(c"#+%&c$"c$c$## cc%c$#!*c
('#$(%"0c$)"(c"#+"c$"c!cJ **)$(#Kc,(#c$c%#c(,c(()$%c('#$(%".c


c

!c "c  c $%c  c ")*c (%c (,c !c ,(#c #&"#c $%1"c "!(-%c %c <&#c A.c c %#c (,c
%"#*(%"c#,#c(c!"c c)(*$(%"c$"cc!#(&!c.c!c"$"c(,c!c c$%c c"c
$c 7*(%c c #%"c -!*!c (,c !c ,(#c $%1"c "c ")*.c !c 2$# c c #,)*"c !c
%#c(,c"c%c!c **)$(#=c2Lc ,c!c **)$(#c *(%$%"c$%c(c %#c (,c"0c$%c
2Lc ,c !c **)$(#c *(%$%"c $%c +%c %#c (,c ".c !"0c !c %#c (,c "c %c !c
**)$(#c')"c2c"c$)-$ "c+%.c-(c"c%c!c2 /c$#c%*(c$%c*$%cc"c$"c
&%#$)c'#'("c"$"c,)$&".ccccccccccccccccccccccccccccccccccccccccccccccc

c
c
c




?
 

The Accumulator
!c **)$(#0c$"c"c%$c"&&""0c"c"c$"c$c&%#$)c#&"#c(c$**)$c!c#")"c(,c
$c )$#&c %#c (,c %"#*(%".c c *$%c !()c $%c A
c G
 Hc +$)c $%c "c !c ("c +#"$)c
#&"#c

The "R" registers


!c@@c#&"#"c$#c$c"c(,c&!c#&"#"c!$c$#c%$c0c0c*.c'c(c$%c%*)%&c.c
!"c#&"#"c$#c"c$"c$7)$# c#&"#"c%c$% c('#$(%".c
c
The "B" Register
!c@@c#&"#c"c+# c")$#c(c!c **)$(#c%c!c"%"c!$cc$ c!()cc$%cA
c+$)c
G
 Hcc+$).c!c@@c#&"#c"c(%) c"c c-(cACc%"#*(%"=c c cc$%cccc .c
c
The Data Pointer (DPTR)
!c$$c2(%#cG2Hc"c!cACM"c(%) c"#
$**"")cF
cG
 Hc#&"#. **)$(#0c
@@c#&"#"0c$%c@@c#&"#c$#c$))c
 c+$)".c20c$"c!c%$c"&&""0c"c"c(c'(%c
(c$$.cc"c"c c$c%#c(,c*($%"c-!*!c$))(-c!cACc(c$**""c7#%$)c(# .c

The Program Counter (PC)


!c2#(&#$c(%#cG2Hc"c$c
 c$#""c-!*!c))"c!cACc-!#c!c%7c%"#*(%c(c
7*c "c ,(%c %c (# .c /!%c !c ACc "c %$)3c 2c $)-$ "c "$#"c $c !c $%c "c
%*#%c$*!cc$%c%"#*(%c"c7*.c
c
.The Stack Pointer (SP)cc
!c $*1c2(%#0c)1c$))c#&"#"c7*'c2c $%c20c$ c!()c$%cA
cG
 H+$).c!c
$*1c2(%#c"c"c(c%*$c-!#c!c%7c+$)c(cc#(+c,#(c!c"$*1c
c






!
  

c
p?pc
Y 
     
      


a  
 

                  
  
    

         


Rc cccc c

cc  c cc
c
5cc
c
 !""     #c
R c  

   

  $  !


    !c
c

 c
c
R'$%&c$c"?%*c(,c%"#*(%"c$c*#$%%#c(,c"c"c*$))c$c)(('.!c)(('cc
$*(%c"c'#,(#c c!c%"#*(%c
c
Rc DJNZreg,label

%c!"c%"#*(%0c!c#&"#c"c*#%5,cc"c%(c3#(0cc4'"c(c!c$#&c$#""c
#,##c(c c!c)$).2#(#c(c!c"$#c(,c!c)(('c!c#&"#c"c)($c-!cc!cc*(%#cc
,(#c!c%#c(,c#'(%".c
c
|NCONDITIONALJ|MPINSTR|CTIONS:
c
))c*(%(%$)c4'"c$#c"!(#c4'"0$%%&c!$c!c$#""c(,c!c$#&c"cc-!%c

Ac$%cNc "c(,c!c*(%%"c(,c!c'#(&#$c*(%#(2H.c

%*(%(%$)c4'c%"#*(%"c$#=c
R c LJMP (Long jump) 3 byte instruction
R c SJMP (Short jump) 2 byte instruction
CALL INSTR|CTIONS=c
c
 c%"#*(%c"c"c(c*$))c$c"#(%c
Rc LCALL(long call) 3 byte instructionc
Rc ACALL(absolutecall)2byteinstruction
c
/!%c$c"#(%c"c*$))0c*(%#()c"c#$%",##c(c!$c"#(%c. ,#c,%"!%&c7*(%c
(,c!c"#(%0!c%"#*(%cR(##%Hc#$%",#"c*(%#()c$*1c(c!c*$))#.c

c
c
c
c
c
ADDRESSING MODES:
%c@$#""%&c(@c#,#"c(c!(-c (c$#c$#""%&c$c&+%c(# c)(*$(%c.!c
$#""%&cc("c$#c$"c,())(-"0c
/!c$%c7$')c(,c$*!=c
Immediate Addressing MOV A, #20h
Direct Addressing MOV A, #30h
Indirect Addressing MOV A, @R0
External Direct MOVX A, @DPTR
Code Indirect MOVC A, @A+DPTR
$*!c(,c!"c$#""%&c("c'#(+"c'(#$%c,)7) c
c
c

INDIRECT ADDRESSING:
c
%#*c $#""%&c "c $c +# c '(-#,)c $#""%&c (c -!*!c %c $% c *$""c '#(+"c $%c
7*'(%$)c)+)c(,c,)7) .c
MOV A,@R0
!"c %"#*(%c *$""c !c ACc (c $%$) 3c !c +$)c (,c !Rc #&"#.c !c ACc -))c !%c
)($c!c$**)$(#c-!c!c+$)c,#(c%#%$)cR c-!*!c"c,(%c$c!c$#""c%*$c
 cccR.c
%#*c$#""%&c$)-$ "c#,#"c(c%#%$)c
R 5cc%+#c#,#"c(c$%c <R.
EXTERNAL DIRECT ADDRESSING
c
7#%$)c(# c"c$**""c"%&c@7#%$)c#*@c$#""%&c.!#c$#c(%) c-(c*($%"c
!$c"c7#%$)c#*c$#""%&c(=c
MOVX A,@DPTR
MOVX @DPTR,A
"c (c*$%c"0c(!c*($%"c)3c2R.c
%c!"c%"#*(%"0c2Rc"c,#"cc)($c-!c!c$#""c(,c7#%$)c(# c!$c (c
-"!c (c #$c (#c -#.c %*c 2Rc!()"c !c *(##*c 7#%$)c (# c $#""0c !c ,#"c
*($%c-))c(+c!c*(%%"c(,c!$c7#%$)c(# c$#""c%(c!c **)$(#.c
!c"*(%c*($%c-))c(c!c(''("=cc-))c$))(-c
(c(c-#c!c+$)c(,c!c **)$(#c(c!c
7#%$)c(# c$#""c'(%c(c c2R.c
c
EXTERNAL INDIRECT ADDRESSING:

7#%$)c (# c *$%c $)"(c c $**""c "%&c $c ,(#c (,c %#*c $#""%&c .!"c ,(#c (,c
$#""%&c "c "$)) c (%) c "c %c #)$+) c "$))c '#(4*"c !$c !$+c +# c "$))c $(%c (,c
7#%$)cR .c %c7$')c(,c!"c$#""%&c(c"=c
MOVX @R0,A
%*c $&$%0c !c +$)c (,Rc "c ,#"c #$c $%c !c +$)(,c !c **)$(#c "c -#%c (c !$c
$#""%&c 7#%$)c R .c %*c !c +$)c (,IRc *$%c (%) c c !c !#(&!c <<!c !c '#(4*c
-()c,,*+) cc)c(cCFc "c(,c7#%$)cR .c
c
c
c
c

Microcontrollers versus Microprocessors

*#(*(%#())#c,,#"c,#(c$c*#('#(*""(#c%c$% c-$ ".c<#"c$%c!c("c'(#$%c"c"c


,%*(%$) .c%c(##c,(#c$c*#('#(*""(#c(cc"0c(!#c*('(%%"c"*!c$"c(# 0c(c
*('(%%"c ,(#c #*+%&c $%c "%%&c $$c "c c $c (c .c %c "!(#c !$c $%"c !$c
*#('#(*""(#c "c !c +# c !$#c (,c !c *('#.c %c !c (!#c !$%0c *#(*(%#())#c "c
"&%c(cc$))c(,c!$c%c(%.c (c(!#c7#%$)c*('(%%"c$#c%c,(#c"c$'')*$(%c
*$"c $))c %*""$# c '#'!#$)"c $#c $)#$ c )c %(c .c !"0c -c "$+c !c c $%c "'$*c
%c(c*(%"#*c+*c
c
c
c
c
LED AND ITS PROGRAMMING:
c *AP to toggle LED
(cC
c(#&cc
!#=c*)#c'.c
$*$))c)$ c
"c'.c
$*$))c)$ c
"4'c!#c
)$ =c
(+c#0OCc
)=cc(+c#0OCCc
)=c(+c#0OCCc
)=c4%3c#0)c
4%3c#0)c
4%3c#0)c
#cc
%c
c
c LED are connected port 1 .*AP such that first odd one glow and then the even one

(cCcc
(#&cc
c(+c'0Occ
$*$))c)$ c
(+c'0Occ
$*$))c)$ c
!#=c"4'c!#c
)$ =c
(+c#0OCc
)=cc(+c#0OCCc
)=c(+c#0OCCc
)=c4%3c#0)c
4%3c#0)c
4%3c#0)c
#cc
%c
c
c
c
c *AP to select the 3 bank
cccccccc
Pc(cCcc
#&cc
c#"c
c#"cc
(+c#0O 
%c
c
c
c
j Segment Displayc
cc
INTROD|CTIONc
cc
<(#c !c "+%c "&%c "')$ c (c *$%c "c !c 
CDc (#cc  CF
c *!'.c $*!c (,c !c
"&%"c(,c!c"')$ c"c*(%%*c(c$c'%c(%c!cACcG!c"*!$*c"!(-"c!(-c(c(c!"H.c
%c (##c (c )&!c 'c $c "&%c (%c !c !c '%c "c c "c (c .c (c #%c $c "&%c (,,c !c
*(##"'(%%&c'%c"cc"c(cC.c!"c"c"') c(%c c"%&c!c'%"c(%c!cACc(cQQc
(#cQQ.c
cc
cc
c"')$ "c$#c
Rc c2(-#
!%&# cG$c'#cHc
Rc c2%
!%&# cGAc'%"c'#c
"&c"')$ Hc
cc
cc! c$#c*!$'#c!$%cc"')$ c

cc c

cc

cc

cc

cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc
cccccccccccccccccccccccccccccccccccccccccccccc
CREATING DIGIT PATTERNc

<(#c"')$ %&c&c"$ cc-c%c(c)&!c"&%"c


$c00c*.c %*c-c$#c"%&c((%c$%(c
"')$ c0c(c(c"(c-c!$+c(c(c'#(+cc(&*c
cGc+Hc$c$%(c(,cc!"c"&%".c"(c%c(c
*)$#cc'%"
c2.c02.02..cccc!$c"ccccccccc

R<A!c.c

Connection Hex Codec

ACc &c &.c!c &.c&c &.c,c &.cc &.cc &.c*c &.cc &.c$c :c
&%c
'%c 0c c c c c c c c c c
%#c
%#c 1c c c c c c c c c Fc
$c 2.c 2c c c c c c c c c Dc
c 2.c 3c c c c c c c c c c
*c 2.c 4c c c c c c c c c BBc
c 2.c
c 2.Dc cc
,c 2.Cc
&c '.Fc cc
!G'Hc 2.c
cc

(c*$%c$)"(c(c!"c,(#c"(c*!$#$*#"c)1c c0c..cc%(c,(#cc(#cc*$"cc-))cc"$c$"c
!$c(,ccc8cAc.c (cc!"c"c(%c(,c)$(%c(,c
"&c"')$ .c
%*c-c*$%c%$)c(%) c(%c
"&c"')$ c$c$cc0-c%c(c"*$%c!"c"')$ c$c,$"c#$c
.!c"*$%%%&c,#?%* c"!()cc!&!c%(&!c (cc,)*1#
,#.c c)$"cSc.!#,(#ccTc
c(%c&c"c c"c c"*(%"cc

cc

INTERFACINGc

(c !$c c $c "%&c ((%c %(c "')$ .c "(c !c *((%c %(c '%c "c c (c C+c .!c
*$!(c'%"c$#c*(%%*c(c'(#cc!#(&!cc!c#""$%*cG*##%c)%&H.c
c
ccccccccccccccCommon Anode displayc

c
cc
CODE EXAMPLE:

c *AP for count of 0 to 9

Pc(cCc
cccc#&cc
cccc!#=(+c'0O(*(!c
$*$))c)$ c
(+c'0O,B!cc
$*$))c)$ cc
(+c'0O$D!c
$*$))c)$ c
(+c'0O!c
$*$))c)$ c
(+'0OBB!c
$*$))c)$ c
(+c'0OB!c
$*$))c)$ cc
(+c'0OA!c
$*$))c)$ c
(+c'0O,A!c
$*$))c)$ c
(+c'0OA!c
$*$)c)$ c
(+c'0OB!c
$*$))c)$ c
c
)$ =c
(+c#0OCc
)=cc(+c#0OCCc
)=c(+c#0OCCc
)=c4%3c#0)c
4%3c#0)c
4%3c#0)c
#c
%c
c
c
TIMER/CO|NTER:
!c ACc *("c ?''c -!c -(c #"0c (!c (,c -!*!c $ c c *(%#())0c "0c #$0c $%c
*(%,&#c%+$)) .c!cACc#"c!$+c!#c&%#$)c,%*(%"=cHcE'%&cc$% (#c
*$)*)$%&c !c $(%c (,c c -%c +%"0c Hc (%%&c !c +%"c !")+"0c (#c Hc
%#$%&c$c#$"c,(#c!c"#$)c'(#.c
c
|SING TIMERS TO MEAS|RE TIMEc

+(") 0c (%c (,c !c '#$# c ""c (,c #"c "c (c $"#c .c /c -))c "*""c !"c "c (,c
#"c ,#"c $%c -))c ""?%) c "*""c !c "c (,c #"c (c *(%c +%".c /!%c $c #c "c
"c(c$"#ccc"c$)"(c*$))c$%c@%#+$)c#@c"%*cc"c$"#%&c!cc(,c!c
%#+$)c-%c-(c+%".c

How long does a timer take to count?c

<#"0c "c -(#!c %(%%&c !$c -!%c $c #c "c %c %#+$)c #c (c G$"c (''("c (c +%c
*(%#c(Hc$%c*(##*) c*(%,&#0cc-))c%*#%c cc+# c$*!%c* *).c "c (c-))c
#*$))c ,#(c !c '#+("c *!$'#0c $c "%&)c $*!%c * *)c *(%"""c (,c c *# "$)c ')"".c !"c $c
#%%%&c#c-))cc%*#%=c

0CB0c ccLcB0CAc

B0CAc"c'#c"*(%.c %)1c%"#*(%"

"(c(,c-!*!c#?#cc$*!%c* *)0c(!#"c
0c$%c(!#"cD

!c#"c$#c*(%""%=c! c-))c$)-$ "cc%*#%c(%*c'#c$*!%c


* *).c!"c,c$c#c!$"c*(%c,#(cc(cC0c (c$ c*$)*)$=c

C0c cB0CAcLc.CDc

.CDc"*(%"c!$+c'$"".c%c')$%c%&)"!0c$(c!$),c(,c$c%!c(,c$c"*(%0c(#c(%
-%!c
(,c $c "*(%.+(") c "c %(c +# c ",)c (c 1%(-c .CDc "*(%"c !$+c '$"".c ,c (c -$%c (c
7*c $%c +%c (%*c '#c "*(%c (c !$+c (c -$c ,(#c !c #c (c *(%c ,#(c c (c C0c
A.DCc".c(-c*$%c (c-$c@!$),c(,c$c6@c(c*$%M.c (c-c*(c(c$%(!#c'(#$%c
*$)*)$(%.c

"c"$ c-c-$%c(c1%(-c!(-c$% c"c!c#c-))cc%*#%c%c.Cc"*(%".c/c


*$%c(c"')c)')*$(%=c

.CcUcB0CAcLcDF0B.C.c

!"c ))"c "c !$c c -))c $1c .Cc "*(%"c G !c (,c $c "*(%Hc (c *(%c ,#(c c (c DF0B.c
*$)) 0c c -))c $1c c .DBBBBAc "*(%"

"(c -#c (,,c  c .Fc "*(%"

!(-+#0c
!$M"c*)("c%(&!c,(#c&(+#%%c-(#1.c(%"#c!$c,c (c-#c)%&c$c-$*!c$"c(%c
!cACc$%c$c!c$(+c$""'(%c (#c-$*!c-()c(%) c&$%c$(c(%c"*(%c+# c
c (%!".c &$%0c c !%1c !$M"c $**#$c %(&!c ,(#c ("c $'')*$(%"

c -"!c  c -$*!c (%) c


&$%c(%c"*(%c+# c-(c(%!"Vc

+(") 0c!"c"c$c))c(#c",).c,c (c1%(-cc$1"c !c(,c$c"*(%c(c*(%c,#(cc(c


DF0Bc $%c (c -$%c (c 7*c "(c +%c +# c "*(%c (c "') c -$c ,(#c !c #c (c
*(%c,#(cc(cDF0Bc-% c"5c!%c (c7*c (#c+%0c#"c!c#"0c$%c-$c
,(#c !c #c (c *(%c 'c $%(!#c c ".c %c !"c $%%#c (c -))c ,,*+) c 7*c (#c
+%c(%*c'#c"*(%0c$**#$c(c-!%c!("$%!"c(,c$c"*(%.c

!"0c -c %(-c !$+c $c " "c -!c -!*!c (c $"#c .c ))c -c %c (c #+-c "c !(-c (c
*(%#()c!c#"c$%c%$)3c!c(c'#(+c"c-!c!c%,(#$(%c-c%.c

Timer SFRsc

"c%(%c,(#0c!cACc!$"c-(c#"c-!*!c$*!c,%*(%c""%$)) c!c"$c-$ .c
%c #c "c c $%c !c (!#c "c .c !c -(c #"c "!$#c -(c <"c Gc $%c
 Hc -!*!c *(%#()c !c #"0c $%c $*!c #c $)"(c !$"c -(c <"c *$c "()) c (c "),c
G c$%c H.c

/c+c&+%c <"c%$"c(c$1cc$"#c(c#,#c(c!0cc%c#$) c$%c <c!$"c$c%#*c


$#"".cc"c(,%c",)c(c1%(-c!c%#*c$#""c!$c*(##"'(%"c(c$%c <c%$.c!c
<"c#)$%&c(c#"c$#=c

SFR Namec Descriptionc SFR Addressc


c #cc&!c c A!c
c #cc(-c c A !c
c #cc&!c c A!c
c #cc(-c c A!c
 c #c(%#()c AA!c
c #c(c AB!c
/!%c (c%#c!c%$c(,c$%c <c%(c$%c$"")#0cc%#%$)) c*(%+#"cc(c$c%#.c<(#c
7$')0c!c*($%=c

c0OC!c

(+"c!c+$)cC!c%(c!cc <.c(-+#0c"%*cc"c!c"$c$"c <c$#""cA!c!"c


*($%c"c?+$)%c(=c

cA!0OC!c

(-0c$*1c(c!c#".c<#"0c)"c$)1c$(c#c.c

#cc !$"c-(c <"c*$c7*)"+) c(c"),=cc$%c .c/!(c$1%&c!%&"c((c


*(')*$c(c"$#c(,,c-!0c (c$ c4"c!%1c(,c!"c$"c!c!&!c$%c)(-c c(,c!c#.c
!$c"c(c"$ 0c-!%c#cc!$"c$c+$)c(,c0c(!cc$%cc-))c*(%$%c.c/!%c#cc
!$"c!c+$)c0cc-))c!()c!c!&!c c(,c!c+$)cGc*$)Hc$%cc-))c*(%$%c!c
)(-c  c (,c !c +$)c Gc *$)H.c +-%&c )(- !&!c  c %($(%0c #*$))c !$c (c "c
)') c!c!&!c c cCFc$%c$c!c)(-c c(c*$)*)$c!c,%$)c+$).c!$c"c(c"$ =c

cUcCFcNccLcc
cUcCFcNccLcc

#cc-(#1"c!c7$*c"$c-$ 0cc"c <"c$#cc$%c.c

%*c !#c $#c (%) c -(c  "c +(c (c !c +$)c (,c $*!c #c c "c $''$#%c !$c !c
$7c +$)c $c #c $ c !$+c "c FC0CC.c ,c $c #c *(%$%"c !c +$)c FC0CCc $%c "c
""?%) c%*#%0cc-))c#"

(#coverflow

$*1c(c.c

The TMOD SFRc

"c c ,#"c $)1c $(c (#c ,#"c *(%#()c <=c c G#c (H.c !c c <c "c "c (c
*(%#()c !c (c (,c ('#$(%c (,c (!c #".c $*!c c (,c !c <c &+"c !c *#(*(%#())#c
"'*,*c%,(#$(%c*(%*#%%&c!(-c(c#%c$c#.c!c!&!c,(#c"cG"cDc!#(&!cHc#)$c
(c#cc-!#$"c!c)(-c,(#c"cG"cc!#(&!cHc'#,(#c!c7$*c"$c,%*(%"0cc
,(#c#c.c

!c%+$)c"c(,cc!$+c!c,())(-%&c,%*(%"=c

c
c
c
c
c
c
cGAB!Hc <c
c
Bitc Namec Explanation of Functionc Timerc
/!%c !"c c "c "c !c #c -))c (%) c #%c -!%c  c
c  c G2.Hc "c !&!.c /!%c !"c c "c *)$#c !c #c -))c #%c c
#&$#)""c(,c!c"$c(,c .c
/!%c !"c c "c "c !c #c -))c *(%c +%"c (%c c
Fc  c G2.CH.c/!%c!"cc"c*)$#c!c#c-))cc%*#%c c
+# c$*!%c* *).c
Cc c #c(ccG"c)(-Hc c
Dc c #c(ccG"c)(-Hc c
/!%c !"c c "c "c !c #c -))c (%) c #%c -!%c  c
c  c G2.Hc "c !&!.c /!%c !"c c "c *)$#c !c #c -))c #%c c
#&$#)""c(,c!c"$c(,c .c
/!%c !"c c "c "c !c #c -))c *(%c +%"c (%c c
c  c G2.DH.c/!%c!"cc"c*)$#c!c#c-))cc%*#%c c
+# c$*!%c* *).c
c c #c(ccG"c)(-Hc c
c c #c(ccG"c)(-Hc c
c
"c (c*$%c"c%c!c$(+c*!$#0c,(#c"cG-(c,(#c$*!c#Hc$#c"c(c"'*, c$c(c(,c
('#$(%.c!c("c(,c('#$(%c$#=c
c
TxM1c TxM0c #c(c "*#'(%c(,c(c
c c c 
c#.c
c c c F
c#c
c c c A
c$(
#)($c
c c c ')c#c(c

13-bit Time Mode (mode 0)c

#c(c@@c"c$c
c#.c!"c"c$c#)*c!$c-$"c1'c$#(%c%c!cACc(c$%$%c
*('$$) c-!c"c'#*"(#0c!cADA.c%#$)) c!c
c#c(c"c%(c"c%c%-c
+)('%.c

/!%c!c#c"c%c
c(0c7c-))c*(%c,#(cc(c.c/!%c7c"c%*#%c,#(c
0cc-))c@#"@c(cc$%c%*#%c7.c!"0c,,*+) 0c(%) cc"c(,c!c-(c#c "c
$#c%&c"=c"c
Dc(,c7c$%c"c
c(,c7.c!"c$)"(c$%"0c%c""%*0c!c#c*$%c
(%) c *(%$%c ABc +$)".c ,c (c "c $c 
c #c (c 0c c -))c (+#,)(-c $*1c (c 3#(c ABc
$*!%c* *)"c)$#.c

&$%0c !#c "c +# c ))c #$"(%c (c "c !"c (c $%c c "c (%) c %(%c "(c (c -(%c c
"#'#"c,c (c+#c%c'c$%$) 3%&c$#*!$*c*(c-!*!c!$"c%c'$""c(-%c!#(&!c!c
&%#$(%"cG$c&%#$(%c%c$c'#(&#$%&c"!('c"c(,%c(%c!c(##c(,c$(cc(#cDc(%!"H.c

16-bit Time Mode (mode 1)c

#c(c@@c"c$cF
c#.c!"c"c$c+# c*((%) c"c(.cc,%*(%"c4"c)1c

c(c7*'c!$c$))cFc"c$#c".c

7c"c%*#%c,#(cc(cCC.c/!%c7c"c%*#%c,#(cCC0cc#""c(cc$%c*$""c
7c(cc%*#%c c.c %*c!"c"c$c,))cF
c#0c!c#c$ c*(%$%c'c(cFCCFc
"%*c +$)".c ,c (c "c $c F
c #c (c 0c c -))c (+#,)(-c $*1c (c c $,#c FC0CFc $*!%c
* *)".c

-bit Time Mode (mode 2)c

#c(c@@c"c$%cA
c$(
#)($c(.c/!$c"c!$0c (c$ c$"16c ').c/!%c$c#c
"c%c(c0c7c!()"c!c@#)($c+$)@c$%c7c"c!c#c"),.c!"0c7c"$#"c*(%%&c
'.c/!%c7c#$*!"cCCc$%c"c""?%) c%*#%0c%"$c(,c#"%&c(ccG$"c%c!c
*$"c(,c("cc$%cH0cc-))cc#"c(c!c+$)c"(#c%c7.c

<(#c7$')0c)"c"$ cc!()"c!c+$)c<!c$%cc!()"c!c+$)c<!.c,c-c-#c(c-$*!c
!c+$)"c(,cc$%cc,(#c$c,-c$*!%c* *)"c!"c"c-!$c-c"=c

Machine Cyclec TH0 Valuec TL0 Valuec


c <!c <!c
c <!c <<!c
c <!c <!c
Dc <!c <!c
Cc <!c <<!c
Fc <!c <!c
c <!c <!c

"c (c *$%c "0c !c +$)c (,c c %+#c *!$%&.c %c ,$*0c -!%c (c "c (c c (c $)("c
$)-$ "c"c7c(c$c1%(-%c+$)c$%c7c"c!c <c!$c"c*(%"$%) c%*#%.c

/!$"c !c %,c (,c $(


#)($c (6c 2#!$'"c (c -$%c !c#c (c $)-$ "c !$+c $c +$)c
,#(c c(cCC.c,c (c"c(c c(#c0c (c !$+c(c*!*1c%c *(c(c"c,c!c#c!$c
(+#,)(-c$%0c,c"(0c#"c!c#c(c.c!"c$1"c'#*("c%"#*(%"c(,c7*(%cc
(c*!*1c!c+$)c$% (#c(c#)($c.c/!%c (c"c(cc!c*#(*(%#())#c$1"c*$#c(,c
!"c,(#c (.c%*c (+c*(%,&#c$c#c%c(cc (c(%c!$+c(c-(## c$(c*!*1%&c
(c "c ,c !c #c !$"c (+#,)(-c %(#c (c (c !$+c (c -(## c $(c #"%&c !c +$)

!c
*#(*(%#())#c!$#-$#c-))c(cc$))c,(#c (.c

!c$(
#)($c(c"c+# c*((%) c"c,(#c"$)"!%&c$c$c#$c-!*!c-c-))c$)1c(#c$(c
%c!c #$)c(%*$(%"c*!$'#.c

Split Timer Mode (mode 3)c

#c(c@@c"c$c"')
#c(.c/!%c#cc"c')$*c%c(c0cc""%$)) c*("c
-(c"'$#$cA
c#".c!$c"c(c"$ 0c#cc"cc$%c#cc"c.c(!c#"c*(%c
,#(cc(cCCc$%c(+#,)(-c$*1c(c.c ))c!c"c!$c$#c#)$c(c#cc-))c%(-ccc(c
.c

/!)c#cc"c%c"')c(0c!c#$)c#ccG..cc$%cHc*$%cc'c%(c("c0cc(#c
c%(#$))

!(-+#0c (c$ c%(c"$#c(#c"('c!c#$)c#cc"%*c!c"c!$c(c!$c$#c


%(-c)%1c(c.c!c#$)c#c0c%c!"c*$"0c-))cc%*#%c+# c$*!%c* *)c%(c
$#c-!$.c

!c(%) c#$)c"cc*$%c"c(,c"%&c"')c#c(c"c,c (c%c(c!$+c-(c"'$#$c#"c


$%0c$(%$)) 0c$c$c #$c&%#$(#.c%c"*!c*$"c (c*$%c"c!c#$)c#cc$"c$c$c
#$c&%#$(#c$%c"c c$"c-(c"'$#$c#".c

The TCON SFRc

<%$)) 0c !#"c (%c (#c <c !$c *(%#()"c !c -(c #"c $%c '#(+"c +$)$)c %,(#$(%c
$(c!.c!c c <c!$"c!c,())(-%&c"#*#=c

 cGAA!Hc <c


Bitc Namec Explanation of Functionc Timerc
Timer 1 Overflow.c !"c c "c "c  c !c *#(*(%#())#c -!%c #c c
c <c c
(+#,)(-".c
Timer 1 Run.c/!%c!"cc"c"c#cc"c#%c(%.c/!%c!"cc"c*)$#c
Fc c c
#cc"c(,,.c
Timer 0 Overflow.c !"c c "c "c  c !c *#(*(%#())#c -!%c #c c
Cc <c c
(+#,)(-".c
Timer 0 Run.c/!%c!"cc"c"c#cc"c#%c(%.c/!%c!"cc"c*)$#c
Dc c c
#cc"c(,,.c

"c (c$ c%(*0c-+c(%) c,%cDc(,c!cAc".c!$"c*$"c!c(!#cDc"c(,c!c <c


(%c !$+c $% !%&c (c (c -!c #"

! c !$+c (c (c -!c %##'"c $%c ! c -))c c
"*""c %c !c *!$'#c !$c $#"""c %##'". %*c !c <c "c 
$#""$)0c (c *()c
4"c7*c!c*($%=c

Initializing a Timerc

/c"c,#"c%$)3c!cc <.c %*c-c$#c-(#1%&c-!c#cc-c-))cc"%&c!c


)(-"cDc"c(,c.c!c,#"c-(c"0c c$%c c$#c(!cc"%*c-c-$%c!c#c(c
c%'%%c(,c!c7#%$)c'%".cF
c(c"c#c(cc"(c-c"c*)$#cc$%c
"c.c,,*+) 0c!c (%) cc-c-$%c(c#%c(%c"ccc(,c.c!"c(c%$)3c!c
#c-c7*c!c%"#*(%=c

c0O!c

#c c "c %(-c %c F


c #c (.c (-+#0c !c #c "c %(c #%%%&.c (c "$#c !c #c
#%%%&c-c"c"c!ccc/c*$%c(c!$c c7*%&c!c%"#*(%=c

cc

'(%c 7*%&c !"c -(c %"#*(%"c #c c -))c $) c &%c *(%%&0c %&c
%*#%c(%*c+# c$*!%c* *)cG+# cc*# "$)c')""H.c

Reading the Timerc

!#c$#c-(c*((%c-$ "c(,c#$%&c!c+$)c(,c$cF
c#5c-!*!c (c"c'%"c(%c
(#c"'*,*c$'')*$(%.c(c$ c!#c#$c!c$*$)c+$)c(,c!c#c$"c$cF
c%#0c
(#c (c$ c"') c*c-!%c!c#c!$"c(+#,)(-.c

Reading the value of a Timerc

,c (#c#c"c%c$%cA
c(

!$c"0c!#cA
c (c)($c(c(#c%c"')c#c(

!%c#$%&c!c+$)c(,c!c#c"c"').c(c"') c#$c!c
 c+$)c(,c!c#c$%c
(c#c(%.c

Detecting Timer Overflowc

,%c c "c %*""$# c (c 4"c 1%(-c !$c !c #c !$"c #"c (c .c !$c "c (c "$ 0c (c $#c %(c
'$#*)$#) c%#"c%c!c+$)c(,c!c#cc#$!#c (c$#c%#"c%c1%(-%&c-!%c!c
#c!$"c(+#,)(-c$*1c(c.c

/!%+#c$c#coverflowsc,#(c"c!&!"c+$)c$*1c(c0c!c*#(*(%#())#c$($*$)) c
""c!c<7cc%c!c c#&"#.c!"c"c",)c"%*c#$!#c!$%c*!*1%&c!c7$*c+$)c(,c
!c #c (c *$%c 4"c *!*1c ,c !c <7c c "c ".c ,c <c "c "c c $%"c !$c #c c !$"c
(+#,)(-5c,c<c"c"cc$%"c!$c#cc!$"c(+#,)(-.c
/c *$%c "c !"c $''#($*!c (c *$"c !c '#(&#$c (c 7*c $c ,7c )$ .c "c ())c #*$))0c -c
*$)*)$c$#)#c!$cc$1"c!cACc !c(,c$c"*(%c(c*(%c,#(cc(cDF0B.c(-+#0c
!c<7c,)$&c"c"c-!%c!c#c(+#,)(-"c$*1c(c.c!"0c,c-c-$%c(c"c!c<7c,)$&c(c
%*$c -!%c  !c (,c $c "*(%c !$"c '$""c -c "c "c !c #c %$)) c (c FCCFc )""c
DFB0c(#cB0DC.c,c-c"c!c#c(cB0DC0c !c(,c$c"*(%c)$#c!c#c-))c(+#,)(-.c
!"c-c*(c'c-!c!c,())(-%&c*(c(c7*c$c'$"c(,c !c(,c$c"*(%=c

MOV TH0,#j65&!c c(,cB0DCcGFcUcCFcLcB0DCFHc


MOV TL0,#015(-c c(,cB0DCcGB0DCFcNccLcB0DCHc
MOV TMOD,#0152c#cc%cF
c(c
SETB TR05$1c#cc"$#c*(%%&c
JNB TF0,$5,c<c"c%(c"0c4'c$*1c(c!"c"$c%"#*(%c
%c!c$(+c*(c!c,#"c-(c)%"c%$)3c!c#cc"$#%&c+$)c(cB0DC.c!c%7c-(c
%"#*(%"c *(%,&#c #c c $%c #%c c (%.c <%$)) 0c !c )$"c %"#*(%cJNB TF0,$0c #$"c
@;'0c ,c <c "c %(c "0c $*1c (c !"c "$c %"#*(%.@c !c @P@c ('#$%c $%"0c %c ("c
$"")#"0c!c$#""c(,c!c*##%c%"#*(%.c!"c$"c)(%&c$"c!c#c!$"c%(c(+#,)(-c
$%c!c<cc!$"c%(c%c"c!c'#(&#$c-))c1'c7*%&c!"c"$c%"#*(%.c ,#c
 !c(,c$c"*(%c#cc-))c(+#,)(-0c"c!c<c0c$%c'#(&#$c7*(%c-))c!%c#$1c
(c(,c!c)(('.c

Creating specific delays

$7c*(%c(,c$cFcc#&"#c"cWFcc<<<<c!$%c-!%c*(%c%*#$""c c(%c!$%c<<<<c
<c8c<c"c$#c"5"(c$c$7cc*$%c*(%c(c
cFCCC.Gcc!3cc*# "$)Hc!#,(#c(c
&+c$c"'*,*c)$ c"''("c(,ccc*#(c"*(%c-c"c,())(-%&c!(ccccccccccccccccccccccccccccccccc
FCCC
cLcDCCCccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc
cDA c,(#cc8cc#"'*+) cc(c(+#,)(-c-c%c$%c7#$c*(%cccccccccccccccccccccccccccc
DCCCcNcLcDCCFccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc
cDCcc,(#cc8cc#"'*+) .c

c example

)$ =cccccccc0cOcD!cc

c0cOC!c

cc0Oc

cc

)=4%c<c)c

#c
c

STEPPER MOTORc
,c$))c((#"0c"'c((#c"c!c$""c(c*(%#().cQ"c!$%)%&c"')* c"c#$)) c!$#c(c% c
c
$))c!#c"c(c(c"c(c#%&c!c"?%*c(,c#*$%&)c')""c(c(%c%'c(,c"'c*(%#())#c
$%c #*(%c %,(#$(%c (c $%(!#c %'.c #*(%c %,(#$(%c "c +# c "')c $%c *("c
(-%c(c@),@c,(#c)(&*$)c(%c(%c!$c'%c$%c@#&!@c,(#c)(&*$)c3#(.c((#c*(%#()cc"c$)"(c+# c
"')c
c+# c')"c$1"c!c((#c('#$%&c,(#c(%c"'c$%c,c!#c"c%(c')"c!c
((#c-(%Qc"$#.c2$"c-%c')""c*$%cc"!(##c(#c)(%&#c$%cc,%"c#+()(%c
#$.c !"c #$c *$%%(c c %,%c *$"c !c ((#c -(%Qc c $)c (c @*$*!c '@c -!c $))c !c
')""c G(*%$(%c (%c "'*,*c ((#c "!()c *(%$%c "*!c %,(#$(%H.c !c '*#c
)(-c#'#"%"c!c"*!c,(#c*(%%*%&c!c"'c((#c(c*#(*(%#())#c$%c$''#('#$c
'#(&#$c*(c,())(-".c

!c 1 c (c #+%&c $c "''#c "c #$)3%&c !(-c !c ((#c "c *(%"#*.c c $&#$c "!(-"c !c
#'#"%$(%c(,c$cDc*()c((#0c"(c%$c*$"cDc*()"c$#c"c(c*$"c!c#+()(%c(,c
!c#+c"!$,.c$*!c*()c"cc%#&3c%c!c*(##*c(##c,(#c!c((#c(c"'%.cc

cc

cc

Step anglec

c "c $%&)c !#(&!c -!*!c ((#c "!$,c


#($"c %c (%c "'.c "'c $%&)c "c
,,#%c ,(#c ,,#%c ((#c .c ")*(%c
(,c ((#c $**(#%&c (c "'c $%&)c
'%"c (%c !c $'')*$(%c 0c "') c ,c
(c #?#c "$))c %*#%"c %c #((%c *!(("c ((#c !$+%&c "$))#c "'c $%&). (c (,c "'"c
#?#c(c#($c(%c*(')c#($(%cLcFc&.c c"'c$%&)c%c&.c

Steps/secondc

!c#)$(%c-%c2c$%c"'"c'#c"*.c"c&+%c c0c
"'"c(#c')""c "*.cLG2c:c '"c #+()(%cHc Fc
2$"c -%c ')""c *$%c c "!(##c (#c )(%&#c $%c c ,%"c #+()(%c #$.c !"c #$c
*$%%(c c %,%c *$"c !c ((#c -(%Qc c $)c (c @*$*!c '@c -!c $))c !c ')""c
G(*%$(%c(%c"'*,*c((#c"!()c*(%$%c"*!c%,(#$(%H.c (c#,##%&c(c2c+$)c
%c$$"!c (c*$%c*$)*)$c"'" "*c$%c,#(cc)$ c(#c'$"c-%c')""c

cc
cc

INTERFACING TO 051.c

(c*$"c!c"''#c(c#($0c-c!$+c(c"%c$c')"c(c$*!c*()c%c#%.c!cACc("c%(c
!$+c",,*%c#+c*$'$) c(%c"c('c(c#+c$*!c*()0c"(c!#c$#c$c%#c(,c-$ "c(c
#+c $c "''#0 ''#c ((#"c $#c "$)) c *(%#())c  c #$%""(#c (#c #+#c c )1c
 .ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc
c#+%&c*##%c,(#c$*!c*()c"c!%c%c$(cF c$cNCc"'') .c c$#)%&(%c#$%""(#c
$##$ 0c  c "c"c(c%*#$"c#+%&c*$'$* c(,c!cCc*!'.cc<(#c D.1c#""(#"c!)'c
!cCc(c'#(+c(#c"(#*%&c*##%c,#(c!cNCc"'') .c

c
cc

()c c ()cc ()cc ()cc 'c

c c c c c

c c c c c

c c c c c

c c c c Dc

cc

c
c

c cccccccccccc

Interruptsc
c
"c!c%$c')"0c$%cinterruptc"c"(c+%c-!*!c%##'"c%(#$)c'#(&#$c7*(%.c

"c "$c $#)#0c '#(&#$c ,)(-c "c $)-$ "c "?%$)0c %&c $)#c (%) c  c !("c %"#*(%"c
-!*!c7'#"") c*$"c'#(&#$c,)(-c(c+$c%c"(c-$ .c(-+#0c%##'"c&+c"c$c
*!$%"c(c@'c(%c!()@c!c%(#$)c'#(&#$c,)(-0c7*c$c"#(%0c$%cc

&#$c %,,*%c "%*c -c c #%%&c '#*("c @%"#*(%c * *)"@c *!*1%&c ,(#c +%"c !$c
"$)) c (%c !$''%.c !%c #"c %(#$)c '#(&#$c ,)(-c $"c ,c -c !$c %+#c ),c .c !"c
"#(%0c *$))c $%c %##'c !$%)#0c "c (%) c 7*c -!%c $c *#$%c +%c G%##'Hc
(**#".c!c+%c$ cc(%c(,c!c#"c@(+#,)(-%&0@c#*+%&c$c*!$#$*#c+$c!c"#$)c
'(#0c#$%"%&c$c*!$#$*#c+$c!c"#$)c'(#0c(#c(%c(,c-(c@7#%$)c+%".@c!cACc$ c
c *(%,&#c "(c !$c -!%c $% c (,c !"c +%"c (**#c !c $%c '#(&#$c "c '(#$#) c
""'%c $%c *(%#()c '$""c (c $c "'*$)c "*(%c (,c *(c -!*!c '#"$) c -()c 7*c
"(c,%*(%c#)$c(c!c+%c!$c(**#.c%*c*(')0c*(%#()c-()cc##%c(c
!c(#&%$)c'#(&#$.c!c$%c'#(&#$c%+#c+%c1%(-"cc-$"c%##'.c

!c $) c (c %##'c %(#$)c '#(&#$c 7*(%c -!%c *#$%c +%"c (**#c $1"c c *!c
$"#c $%c *!c (#c ,,*%c (c !$%)c *#$%c *(%(%".c ,c c -#c %(c ,(#c %##'"c -c
-()c!$+c(c$%$)) c*!*1c%c(#c$%c'#(&#$c-!!#c!c#"c!$c(+#,)(-%0c-!!#c
-c!$c#*+c$%(!#c*!$#$*#c+$c!c"#$)c'(#0c(#c,c"(c7#%$)c+%c!$c(**#.c
""c$1%&c!c$%c'#(&#$c&) c$%c!$#c(c#$0c"*!c$c"$(%c-()c$1c(#c'#(c

*hat Events Can Trigger Interrupts, and where do they go?c

/c*$%c*(%,&#c!cACc"(c!$c$% c(,c!c,())(-%&c+%"c-))c*$"c$%c%##'=c

Rc #cc+#,)(-.c
Rc #cc+#,)(-.c
Rc *'(% #$%"""(%c(,c #$)c!$#$*#.c
Rc 7#%$)c+%c.c
Rc 7#%$)c+%c.c

%c(!#c-(#"0c-c*$%c*(%,&#c!cACc"(c!$c-!%c#cc+#,)(-"c(#c-!%c$c*!$#$*#c
"c"% #*+0c!c$''#('#$c%##'c!$%)#c#(%"c$#c*$)).c
+(") c-c%c(cc$)c(c"%&"!c-%c+$#("c%##'"c$%c7*%&c,,#%c
*(c '%%&c (%c -!$c %##'c -$"c #&&#.c !"c "c $**(')"!c  c 4'%&c (c $c ,7c
$#""c-!%c$c&+%c%##'c(**#".c

Interruptc Flagc Interrupt Handler Addressc


7#%$)cc c !c
#cc <c !c
7#%$)cc c !c
#cc <c !c
#$)c  c !c

 c*(%")%&c!c$(+c*!$#c-c"c!$c-!%+#c#cc(+#,)(-"cG..0c!c<cc"c"H0c
!c$%c'#(&#$c-))cc'(#$#) c""'%c$%c*(%#()c-))c4'c(c.cc"c$""c
!$c-c!$+c*(c$c$#""cc!$c!$%)"c!c"$(%c(,c#cc(+#,)(-%&.c

Setting |p Interruptsc

 c,$)c$c'(-#'0c$))c%##'"c$#c"$).c!"c$%"c!$c+%c,0c,(#c7$')0c!c<c
c"c"0c!cACc-))c%(c7*c!c%##'.c(#c'#(&#$c"c"'*,*$)) c))c!cACc
!$cc-"!"c(c%$)c%##'"c$%c"'*,*$)) c-!*!c%##'"cc-"!"c(c%$).c

(#c'#(&#$c$ c!cc <cG%$)c$%c"$)c%##'"c c(, %&c A!H=c

Bitc Namec Explanation of Functionc


c  c )($)c%##'c%$) "$)c
Fc
c %,%c
Cc
c %,%c
Dc  c %$)c #$)c%##'c
c c %$)c#cc%##'c
c :c %$)c7#%$)cc%##'c
c c %$)c#cc%##'c
c :c %$)c7#%$)cc%##'c

"c (c*$%c"0c$*!c(,c!cAC"c%##'"c!$"c"c(-%cc%c!cc <.c(c%$)c$c&+%c


%##'c c"%&c!c*(##"'(%%&c.c<(#c7$')0c,c (c-"!c(c%$)c#cc%##'0c
(c-()c7*c!#=c
MOV IE,#0hc
(#c
SETB ET1c
(!c (,c !c $(+c %"#*(%"c "c c c (,c 0c !"c %$)%&c #c c %##'.c %*c #c c
%##'c"c%$)0c-!%+#c!c<cc"c"0c!cACc-))c$($*$)) c'c@(%c!()@c!c
$%c'#(&#$c$%c7*c!c#cc%##'c$%)#c$c$#""c!.c

Polling Sequencec

!c ACc $($*$)) c +$)$"c -!!#c $%c %##'c "!()c (**#c $,#c +# c %"#*(%.c
/!%c*!*1%&c,(#c%##'c*(%(%"0cc*!*1"c!c%c!c,())(-%&c(##=c

Rc 7#%$)cc%##'c
Rc #cc%##'c
Rc 7#%$)cc%##'c
Rc #cc%##'c
Rc #$)c%##'c

!"c$%"c!$c,c$c #$)c%##'c(**#"c$c!c7$*c"$c%"$%c!$c$%c7#%$)cc%##'c
(**#"0c!c7#%$)cc%##'c-))cc7*c,#"c$%c!c #$)c%##'c-))cc7*c
(%*c!c7#%$)cc%##'c!$"c*(').c

Interrupt Prioritiesc

!cACc(,,#"c-(c)+)"c(,c%##'c'#(# =c!&!c$%c)(-.c c"%&c%##'c'#(#"c (c


$ c$""&%c!&!#c'#(# c(c*#$%c%##'c*(%(%"c.2#(&#$#c"!()c$""&%cc(cc(c
c "#+c ,#"c )"c ,$)c (##c -))c c ,())(-c .%##'c '#(#"c $#c *(%#())c  c
!cIPc <cGA!H.c!c2c <c!$"c!c,())(-%&c,(#$=c

Bitc Namec Bit Addressc Explanation of Functionc


c
c
c %,%c
Fc
c
c %,%c
Cc
c
c %,%c
Dc 2 c !c #$)c%##'c2#(# c
c 2c !c #cc%##'c2#(# c
c 2:c  !c 7#%$)cc%##'c2#(# c
c 2c B!c #cc%##'c2#(# c
c 2:c A!c 7#%$)cc%##'c2#(# c

/!%c*(%"#%&c%##'c'#(#"0c!c,())(-%&c#)"c$'') =c

Rc (!%&c*$%c%##'c$c!&!
'#(# c%##'

%(c+%c$%(!#c!&!c'#(# c%##'.c
Rc c!&!
'#(# c%##'c$ c%##'c$c)(-
'#(# c%##'.c
Rc c)(-
'#(# c%##'c$ c(%) c(**#c,c%(c(!#c%##'c"c$)#$ c7*%&.c
Rc ,c-(c%##'"c(**#c$c!c"$c0c!c%##'c-!c!&!#c'#(# c-))c7*c
,#".c,c(!c%##'"c$#c(,c!c"$c'#(# c!c%##'c-!*!c"c"#+*c,#"c c
'())%&c"?%*c-))cc7*c,#".c

*hat Happens *hen an Interrupt Occurs?c

/!%c $%c %##'c "c #&&#0c !c ,())(-%&c $*(%"c $#c $1%c $($*$)) c  c !c
*#(*(%#())#=c

Rc !c*##%c2#(&#$c(%#c"c"$+c(%c!c"$*10c)(-
 c,#".c
Rc %##'"c(,c!c"$c$%c)(-#c'#(# c$#c)(*1.c
Rc %c!c*$"c(,c#c$%c7#%$)c%##'"0c!c*(##"'(%%&c%##'c,)$&c"c*)$#.c
Rc 2#(&#$c7*(%c#$%",#"c(c!c*(##"'(%%&c%##'c!$%)#c+*(#c$#"".c
Rc !c%##'c$%)#c(%c7*".c

$1c "'*$)c %(c (,c !c !#c "'=c ,c !c %##'c %&c !$%)c "c $c #c (#c 7#%$)c
%##'0c!c*#(*(%#())#c$($*$)) c*)$#"c!c%##'c,)$&c,(#c'$""%&c*(%#()c(c
(#c %##'c !$%)#c #(%.c !"c $%"c c "c %(c %*""$# c !$c (c *)$#c !c c %c (#c
*(.c

*hat Happens *hen an Interrupt Ends?c

%c %##'c %"c -!%c (#c '#(&#$c 7*"c !c c G#%c ,#(c %##'Hc %"#*(%.c
/!%c!cc%"#*(%c"c7*c!c,())(-%&c$*(%"c$#c$1%c c!c*#(*(%#())#=c

Rc -(c  "c $#c '(''c (,,c !c "$*1c %(c !c 2#(&#$c (%#c (c #"(#c %(#$)c
'#(&#$c7*(%.c
Rc %##'c"$"c"c#"(#c(c"c'#
%##'c"$".c

L C Dc
?c# "$)c"')$ c$)"(c*$))c$"cc"c+# c!)',)c%c'#(+%&c"#c%#,$*c$"c-))c$"c,(#c
&&%&c'#'(".c!c("c*((%c 'c(,cc*(%#())#c"c cDDAc-!*!c'#(+"c
$c "')c %#,$*c -%c !c *(%#())#c 8c$%c .c !"c Q"c $#c +# c"')c (c %#,$*c
-!c!c*(%#())#c$"c-))c$"c$#c*("c,,*+.c
c
7Fc%c )'!$%#*cc"')$ c

!c("c*((%) c"ccV V  "')$ "c$#c


G %&)c%c8ccFc*!$#$*#"H0cc

G()c%c8cFc*!$#$*#c'#c)%Hc8c
 G,(#c)%"c8c-% c*!$#$*#"c'#c)%H.cc

Pin diagram of lcd

!cc#?#"cc*(%#()c)%"cG 0c /c8c Hc8cAcG(#cDHc$$c)%".c!c%#c(%c$$c)%"c


'%"c(%c!c(c(,c('#$(%.c,c('#$c%cA
c(c!%cAc$$c)%"cNcc*(%#()c)%"c
..c($)cc)%"c$#c#?#.c %c,c('#$c%cD
c(c!%cDc$$c)%"cNcc*(%#()c)%"c
..cc)%"c$#c#?#.c

.c

c2% c c () c <%*(% c


cc c
c"" c#(% c
cc cc c '') c()$& c
cc c(c c(%#$"c %& c
cDc c c c&"#c )* c
cCc c / c c$ /#c )* c
cF c c% c c!'c%$)c &%$) c
c
D c c
 c c$$c%" c
cCc c  c c%c,(#c!c$*1)&! c
cFc c
cE c**c,(#c$*1)&! c

cc

/!%cc"c)(-cGH0c!c$$c"c(cc#$c$"c$c*($%.c/!%c c"c!&!cGH0c!c$$c%&c
"%c"c*(%"#c$"c7c$$c-!*!c"!()cc"')$ c(%c!c"*#%.c

/!%cc"c)(-cGH0c!c%,(#$(%c(%c!c$$c"c"c%&c-#%c(c!c.c/!%c/c"c
!&!cGH0c!c'#(&#$c"c,,*+) c#$%&c,#(c!c.c("c(,c!c"c!#c"c%(c%c(c
#$c,#(c!cc"(c!"c)%c*$%c#*) cc*(%%*c(c%c!"c"$+%&c(%c*(%#())#c)%.c

!cV c'%c "c"c (c )$*!c !c $$c '#"%c (%c !c $$c '%".c c c
c /c "&%$)c "c
#?#c(c)$*!c!c$$.c!cc%#'#"c$%c7*"c(#c*($%c$c!c%"$%c!c c
)%c"c#(&!c)(-.c,c (c%+#c#%&c c)(-0c (#c%"#*(%c-))c%+#cc7*.c

INTERFACING LCD TO 051

c
ACc%#,$*%&c(cc

<(#c (%#$"c "%&c $c Ec '(c "!()c c "c $"c "!(-%c %c !c ,&#."')$ c $$c $c
G Hc"(#"c!c"')$ c$$.c (c-!%c-c!$+c(c"')$ c$c*!$#$*#c(%cc-c$"*$)) c

-#cc%(c .c<(#c$c7Fcc!c c$#""c,(#c,#"c)%c"c,#(cA!c(cA,!c8c,(#c


"*(%c)%c"c*!c(c*,!.c (c,c-c-$%c(c"')$ cQQc(%c!c!c'("(%c(,c!c,#"c)%c!%c
-c-))c-#cc$c)(*$(%cA!. c
Command or Special Instructionc

Instructionc HEXc

<%*(%c"cGA
c%#,$*0cc)%"0cCUc27)"Hc Ac

<%*(%c"cGA
c%#,$*0cc)%0cCUc27)"Hc c

<%*(%c"cGD
c%#,$*0cc)%"0cCUc27)"Hc Ac

<%*(%c"cGD
c%#,$*0cc)%0cCUc27)"Hc c

"')$ c(,,c*#"(#c(%c  c

*#())c"')$ c(%c*!$#$*#c#&!cG$))c)%"Hc c

*#())c"')$ c(%c*!$#$*#c),cG$))c)%"Hc Ac

(cG(+c*#"(#c(c(' ),c*!$#$*#c'("(%Hc c

(+c*#"(#c(%c*!$#$*#c),c c

(+c*#"(#c(%c*!$#$*#c#&!c Dc

#%c(%c+")c%#)%c*#"(#c c

#%c(%c+")c)%1%&
)(*1c*#"(#c <c

$1c*#"(#c%+")c c

)$%1c!c"')$ cG-!(c*)$#%&Hc Ac

"(#c!c"')$ cG-!c*#"(#c!%Hc c

)$#c *#%c c

($*$)) c%*#$"c*#"(#c(c#&!c Fc

ANc$#c
c*#"(#c'("(%c(c,#"c)%c
c

($*$)) c%*#$"c*#"(#c(c),c Dc


c Now let us write a program that will display 'DNA TECHNOLOGY' on LCD.

cccc!c

ccc c)*X%$)3c

cc c)*X*)#c

ccc 0OA!c (*$(%c,#(c-!#c$$c"c(cc"')$ c

cc c)*X*($%c

ccccc c 0OQQc

ccc c)*X$$"')$ c

ccccccc c 0OQ Qc

ccccccccc  c)*X$$"')$ c

cccccccc c 0OQ Qc

ccccccc  c)*X$$"')$ c

ccccccccc c 0O!ccccccccc 7c+$)c,(#c)$%1c"'$*c(cc"')$ c

 c)*X$$"')$ c

c 0OQQc

 c)*X$$"')$ c

c 0OQQc

 c)*X$$"')$ c

c 0OQQc

 c)*X$$"')$ c

c 0OQQc
 c)*X$$"')$ c

c 0OQ Qc

 c)*X$$"')$ c

c 0OQQc

cccc  c)*X$$"')$ c

c 0OQQc

 c)*X$$"')$ c

c 0OQQc

 c)*X$$"')$ c

c 0OQQc

 c)*X$$"')$ c

c 0OQQc

 c)*X$$"')$ c

"('=$4'c"('cc

)*X*)#=c

c 0O!c

 c)*X*($%c

#c

)*X%$)3=c

c 0OA!c

 c)*X*($%c

c 0OA!c

 c)*X*($%c
c 0OA!c

 c)*X*($%c

#cc

)*X$$"')$ =c

c ccccccccccccccccc ))%&c!cc!$c!c$$c-!*!c"c%&c"%c"c(cc"')$ c

c20 cccccccccccccc !$#$*#c(cc"')$ c"c%c **c

c c

c ccccccccccccccccc &!c(c(-c')"c(%c c(c)$*!c!c$$c

 c ccccccccc )$ c"(c!$cc,%"!"c"c%#%$)c('#$(%"c

#cc

)*X*($%=c

c ccccccccccccccccccc ))%&c!cc!$c!c$$c-!*!c"c%&c"%c"c$c*($%c

c20 ccccccccccccccccccccccccccc !$#$*#c(cc"')$ c"c%c **c

c c

c cccccccccccccccccccccccccccccccccc &!c(c(-c')"c(%c c(c)$*!c!c$$c

 c ccccccccc )$ c"(c!$cc,%"!"c"c%#%$)c('#$(%"c

#cc

cc
Serial communication:

"c"$c$(+c-Q+c$c(c!c$)#$ c7"%&c%c!c'("") c(,c*(%*$(%c


-!c$%c("c-(#).c(-+#0c!"c-$ c(,c*(%*$%&c!$"c"c#$-$*1".c%c(,c!c$"*c
#$-$*1"c"c!c%#c(,c)%"c-!*!c%c(cc"c%c(##c(c#$%",#c$$.c/!$c,ccc
%&c #$%",##c (c $c "$%*c (,c "+#$)c 1)(#"6c !c %#c (,c )%"c "Mc %#c (,c
1)(#"c ("%Qc '#("c !c *(%( c (,c !c '#(4*.c c )$+"c "c !$+%&c (c #*c !c
%#c (,c )%"c%c"*!c$c-$ c!$c-c(%Qc)""%c"c,%*(%$) .c ''("c-c$#c-(#1%&c
-!c !#c )%"c (%) 0c $%c !$c (%c )%c "c "c ,(#c "%%&c $$0c (!#c ,(#c #*+%&0c $%c !c
!#c(%c"c"c$"c$c#,#%*c)%c,(#c(!c!c%'c$%c!c('c".c%c(##c,(#c!"c(c
-(#10c-c%c(c"c!c#)"c(,c7*!$%&c(,c$$.c!"c#)"c$#c*$))c'#((*().c2#((*()c"c
!#,(#c ,%c %c $+$%*c "(c !#c -()%Qc c $% c "%#"$%%&c -%c !c ""c
!$c$#c*(%*$%&c-!c$*!c(!#.c<(#c7$')0c,c(%c$%c"c"'$1%&c%c<#%*!0c$%c!c
(!#c%c%&)"!0cc"c!&!) c%)1) c!$c! c-))c?*1) c$%c,,*+) c%#"$%c$*!c(!#.c
Q"c"''("c-c!$+c!c,())(-%&c'#((*().c!c)(&*$)c%c@@c"c"c'c(%c!c#$%"%&c
)%c%)c#$%",#c&%".c%*c!c#$%",#c"$#"0c-c)(-#c!c#$%"""(%c)%c(c)(&*$)c@@c
,(#c $c '#(c (,c c G-!*!c -c -))c "&%$c $"c H0c "(c !c #*+%&c "c -))c 1%(-c !$c c "c
#*+%&c $$0c $%c "(c c -))c $*+$c "c *!$%"c ,(#c #*'(%.c Q"c &(c $*1c %(-c (c !c
#$%"""(%c"c$%c"$#c'%&c)(&*c3#("c$%c(%"c(%(c!c#$%"#c)%c%c!c(##c
,#(c$cc(,c!c)(-"c+$)c(c$cc(,c!c!&!"c+$).cc$*!cc"$ c(%c)%c,(#c$cc
'#(c -!*!c "c ?$)c (c 0c $%c %c !c %0c (#c $,#c !c A!c 0c )c "c #%&c !c )(&*$)c %c
@@$*1c(%c!c)%c-!*!c-))c$#1c!c%c(,c!c#$%"""(%c(,c(%c$$.c!c'#((*()c-Q+c
4"c"*#c"c*$))c%c'#(,""(%$)c)#$#c ScG (%
#%c(cS#(Hc
c

c
"c -c !$+c "'$#$c )%"c ,(#c #*+%&c $%c "%%&0c c "c '("")c (c #*+c $%c "%c $$c
G%,(.Hc $c !c "$c .c (c *$))c ,))
')7c (c )(*1c -!*!c %$)"c !"c -$ c (,c
*(%*$(%c "c *$))c $c "#$)c *(%*$(%c )(*1.c %)1c !c '$#$)))c #$%"""(%0c $$c
(+"c!#cc c0c(#c%c$c"#"c(,c"c-!$c,%"c!c#c"#$)c*(%*$(%c*("c
,#(c.c ,#c!c#*'(%c(,c$$c-c%c(c#$cc,#(c!c#*+%&c)(*$(%c$%c"(#cc%c
(# c$"c(''("c(c"%%&c-!#c!c'#(*""c"c#+#".c$$c&("c,#(c(# c!#(&!c
!c"c(c!c"%%&c)(*$(%0c$%c!%c(c!c#*+%&c%c$**(#%&c(c!c'#((*()c
c
c

Setting the Serial Port Modec

!c,#"c!%&c-c"c(c-!%c"%&c!cAC"c%&#$c"#$)c'(#c"0c(+(") 0c*(%,&#c
.c!"c)"c"c))c!cACc!(-c$% c$$c"c-c-$%0c!c$c#$c-c-))cc"%&0c$%c
!(-c!c$c#$c-))cc#%.c

<#"0c )"c '#"%c !c @ #$)c (%#()@c G  Hc <c $%c ,%c -!$c $*!c c (,c !c <c
#'#"%"=c

Bit
Bitc Namec Explanation of Functionc
Addressc
c c B<!c #$)c'(#c(ccc
Fc c B!c #$)c'(#c(cc.c
Cc c B!c )c'#(*""(#c(%*$(%"c%$)cG7')$%c)$#Hc
*+#c %$).c !"c c "c c "c %c (##c (c #*+c
Dc  c B!c
*!$#$*#".c
c Ac B!c #$%"ccA.c!cB!cc(c#$%"c%c(cc$%c.c
c Ac B !c *+ccA.c!cB!cc#*+c%c(cc$%c.c
c c BB!c #$%"c<)$&.c c-!%c$c c!$"c%c*(')) c#$%".c
c c BA!c *+c<)$&.c c-!%c$c c!$"c%c*(')) c#*+.c

(%$)) 0cc"c%*""$# c(c,%c!c,%*(%c(,c c$%c c c$%c$(%$)c$)=c

SM0c SM1c Serial Modec Explanationc Baud Ratec


c c c A
c !,c&"#c "*))$(#c cc
c c c A
c c c c#ccGUHc
c c c B
c c "*))$(#c cFDcGUHc
c c c B
c c c c#ccGUHc

GUHc (=c!c$c#$c%*$c%c!"c$)c"c()c,c2 .cG Hc"c".c

!c  c <c$))(-"c"c(c*(%,&#c!c #$)c2(#.c!"0c-))c&(c!#(&!c$*!cc$%c#+-c


"c,%*(%.c
!c,#"c,(#c"cG"cDc!#(&!cHc$#c*(%,&#$(%c".c

"cSM0c$%cSM1c)c "c "c !cserial odec(c $c +$)c -%c c $%c 0c %*)"+.c !c ,(#c
("c$#c,%c%c!c*!$#c$) c$(+.c "c (c*$%c"0c")*%&c!c #$)c(c
")*"c!c(c(,c('#$(%cGA
 B
0c c(#c !,c&"#Hc$%c$)"(c#%"c!(-c!c
$c#$c-))cc*$)*)$.c%c("cc$%cc!c$c#$c"c,7c$"c(%c!c ("*))$(#"c
,#?%* .c%c("cc$%cc!c$c#$c"c+$#$)c$"c(%c!(-c(,%c#cc(+#,)(-".c
/))c$)1c(#c$(c!c+$#("c #$)c("c%c$c(%.c

!c %7c 0cSM20c "c $c ,)$&c ,(#c @)'#(*""(#c *(%*$(%.@c %#$)) 0c -!%+#c $c  c
!$"c%c#*+c!cACc-))c"c!c@@cG*+c%##'Hc,)$&.c!"c)"c!c'#(&#$c1%(-c
!$c$c c!$"c%c#*+c$%c!$cc%"c(cc'#(*"".c(-+#0c-!%c c"c"c!c
@@c,)$&c-))c(%) cc#&&#c,c!cB!cc#*+c-$"c$c@@.c!$c"c(c"$ 0c,c c"c"c$%c$c
 c"c#*+c-!("cB!cc"c*)$#0c!cc,)$&c-))c%+#cc".c!"c*$%cc",)c%c*#$%c
$+$%*c"#$)c$'')*$(%".c<(#c%(-cc"c"$,c(c"$ c!$c (c-))c$)("c$)-$ "c-$%c(c*)$#c
!"cc"(c!$c!c,)$&c"c"c'(%c#*'(%c(,canyc*!$#$*#.c

!c%7c0cREN0c"c@*+#c%$).@c!"cc"c+# c"#$&!,(#-$#=c,c (c-$%c(c#*+c


$$c+$c!c"#$)c'(#0c"c!"c.c(c-))c$)("c$)-$ "c-$%c(c"c!"c.c

!c)$"c,(#c"cG"cc!#(&!cHc$#c('#$(%$)c".c! c$#c"c-!%c$*$)) c"%%&c


$%c#*+%&c$$

! c$#c%(c"c(c*(%,&#c!c"#$)c'(#.c

!cTBcc"c"c%c("cc$%c.c%c("cc$%c0c$c($)c(,c%%c$$c"c$#c#$%".c
!c,#"cAc$$c"c$#c!cAc"c(,c!c$%c+$)0c$%c!c%%!cc"c$1%c,#(cA.c,cAc"c
"c $%c $c +$)c "c -#%c (c !c "#$)c '(#0c !c $$c "c "c -))c c -#%c (c !c "#$)c )%c
,())(-c c$c@"@c%%!c.c,cAc"c*)$#c!c%%!cc-))cc@*)$#.@c

!cRBc$)"(c('#$"c%c("cc$%cc$%c,%*(%"c""%$)) c!c"$c-$ c$"cA0cc(%c


!c#*'(%c".c/!%c$c c"c#*+c%c("cc(#c0c$c($)c(,c%%c"c$#c#*+.c%c
!"c*$"0c!c,#"c&!c"c#*+c$#c!c$$c(,c!c"#$)c c#*+c$%c!c+$)c(,c
!c%%!cc#*+c-))cc')$*c%cA.c

TIc$%"c @#$%"c %##'.@c /!%c $c '#(&#$c -#"c $c +$)c (c !c "#$)c '(#0c $c *#$%c
$(%c(,cc-))c'$""c,(#c!c%+$)c"c(,c!c c$#c@*)(*1c(@c!c"#$)c'(#.c
,c !c '#(&#$c -#c (c -#c $%(!#c  c (c !c "#$)c '(#c ,(#c !c ,#"c  c -$"c
*(')) c ('0c !c $$c %&c "%c -()c c &$#).c !"0c !c ACc )"c !c '#(&#$c
1%(-c !$c c !$"c @*)(*1c (@c !c )$"c  c  c "%&c !c c .c /!%c !c c c "c "0c !c
'#(&#$c$ c$""c!$c!c"#$)c'(#c"c@,#@c$%c#$ c(c"%c!c%7c .c

<%$)) 0c!cRIcc$%"c@*+c%##'.@cc,%*(%cc")$#) c(c!c@@c0ccc%*$"c


!$c$c c!$"c%c#*+.c!$c"c(c"$ 0c-!%+#c!cACc!$"c#*+c$c*(')c c
c-))c#&&#c!ccc(c)c!c'#(&#$c1%(-c!$cc%"c(c#$c!c+$)c?*1) 0c,(#c
$%(!#c c"c#$.c
Setting the Serial Port Baud Ratec

%*c !c #$)c 2(#c (c !$"c %c *(%,&#0c $"c 7')$%c $(+0c !c '#(&#$c "c
*(%,&#c!c"#$)c'(#"c$c#$.c!"c(%) c$'')"c(c #$)c2(#c("cc$%c.c!c$c
$c"c#%c$"c(%c!c("*))$(#"c,#?%* c-!%c%c(cc$%c.c%c(c0c!c
$c #$c "c $)-$ "c !c ("*))$(#c ,#?%* c +c  c .c !"c $%"c ,c (#c *# "$)c "c
.CB!30c(cc$c#$c-))c$)-$ "ccB0CAc$.c%c(cc!c$c#$c"c$)-$ "c
!c("*))$(#c,#?%* c+c cFD0c"(c$c .CB!3c*# "$)c"'c-))c )c$c$c#$c(,c
0B.c

%c("cc$%c0c!c$c#$c"c#%c c!(-c,#?%) c#cc(+#,)(-".c!c(#c


,#?%) c #c c (+#,)(-"0c !c !&!#c !c $c #$.c !#c $#c $% c -$ "c (%c *$%c *$"c
#cc(c(+#,)(-c$c$c#$c!$c#%"c$c$c#$0cc!c("c*((%c!(c"c(c
'c#cc%cA
c$(
#)($c(cG#c(cHc$%c"c$c#)($c+$)cGHc!$c*$""c
#cc(c(+#,)(-c$c$c,#?%* c$''#('#$c(c&%#$c$c$c#$.c

c c

,#%*"cc %c)(&#$'! c
c

c JcACc c cc  K c!$$c )c$3c0c


;$%*c))"'c$30c()%c.c*1%)$ .c
c J!cACc Kc cE.c;.c $)$.c
c @ +$%*c*#('#(*""(#"c$%c*#(*(%#())#"@c c.2.c %&!c8c%c %&!.c
c

c
c%1"c

---.-1'$.*(c

---.*'$%,(*!.*(c

---.)*#(%*",(# (.*(c

---.%* *)('$.*(c

You might also like