`ri Min~ Generayon 2- ~teqAcJrvv\enfS • Ihpuf o p Pure 4oth It 0 . Odfpuf cornfore 'to 'V\ C~s }gyp{ or0(q The .~,~ nners ~s~en~5o K V ersa I enerafetnferrupfs jer'Od or pu rs e wCd4h rleouCe I s Cceafepcr'o4" +'"+ P ~CeKe~dfe s~v4AC waYeo w % a Ke ~ kx( ' 6le 'rd bVst ,heao urunCKtS46Sfen~ S ye t have c.a/pa pct Con"kQ1ters h°Ale-r e f v11 6 cddei 6een,1aJe boss , ~ oft ~ Me ,, s~ s few: iii fi
45
Embed
enf Sb' 903 9"143,,S I I I ' 4x3 1N~1 er.A X.I}.0 I A4wno'-) t!q - 9 o 1 Z„ o. 3 oot:F bKg%c .Yp~"aa}X 7 lJ U Pas n r° d a%J ~. 0 1 '° b%jIc s uC Sjdfl)'aft'.1 s ,~o~ ~S~b a~ l11
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
`ri Mi n ~ Generayon 2- ~teqAcJrvv\enf S
•
Ihpuf op Pure
4oth It 0
. Odfpuf corn fore 't o
'V\C~s
}gyp{ or0(q
The.~, ~ nne r s ~s~en~5 o K
V ersa
I enerafe tnferrupfs
jer'Od orpu rs e wCd4h
rleo uCe
I sC ce afe pcr' o 4" +'"+
P
~C eKe~dfes~v4AC
waYeo
w%a Ke ~ kx(' 6le
'rdb Vst
,heao urunCKt S46Sfen~S
ye t
have
c.a/p a
pct Con" kQ1ters
h°Ale- r
efv 11
6 c ddei
6een ,1aJeboss,
~ o f t ~ Me ,, s~ s few:iii fi
ROM-8K BYTES
RAM-256 BYTES
COP WATCHDOG
EEPROM-512 BYTES
wI --Cr
OSCILLATOR
PULSE ACCUMULATOR
PERIODIC INTERRUPT
TIMER
Port B
SPI
PM
O OC3
OC5
IC2IC3
SCKMOSTMISO
TxD
11111111DATA DIRECTION C
PORT C
SINGLECHIP
c) C,5 loci
oc.t /cc- ,
acs/oct
oca loci
? \1/oct
1~R ° ~ Tc 3
pz
-S C
M68HC11CPU
cc' ooS 13:U3 EXPANDED« « « «
FIGUIIIE 1 .2 1Mernal block diagram of the MC68HC11A8 microcontroller (Courtesy of Motorola, Inc .)
progrQ„hMa(,(e- timer O perct,~fov~S ;
This svbsyftM Sao hnoref rea' trs *kar, Tt,t otkevs
Cov4fo.Q fea i s4 tv S
7C T L
Tiv~e~. COhiro.Q re4l3~P/,,
-T C T L 1
T ttsk I
t"lo.i" }frrlt/t, ihf'errvet wwok r~9is~Pr+, f
T t{ sK 2
rAi scel(6cKeovs tiwtev I, vj t-evtrclef. mask Ire,
p A C T L
eukSe occuMvt&J-or cov fel_f re-9 is+a1
ac 1 M
R CiiaH r"as k rtti34.&t
C) C t b
ft cln'ovt (J a ~a r e% i,fej
Q(X4 Q & c3 t e)L.o
T C N T
T irhei cauhfei,. rc15 is+e1
TIC 4- TICS
Tiwte ivPvt capbtite. re-S''S4*U ', 2,3
70c1- TO C 5
Ti rntn, ov~wt compw re-6 ~sf-ers t . X. 3i 4, S'
PAC N T
p JIse o ccvww( dor cook t re.ji et
~ ~-ct,+vs ~ i s+Q~o
T F- L G- I
T F L G-~
hl a.ih 4 wtU, ih+errva t
g1113 re q
KI S C t (("c ov % +i YWOL 9 1aq rcg I's fel,, t
FIGURE 11-1 Bit assignments for the Timer Control, Mask, and Flag Register
* Allo ,,ls 0 Se- -t o ?ra9rawl
OCI - o C-
c ah~Pi
s Q<6 ~ca ca9e-
LL Pin Cat) C T IC rt9is 4N
-to (4. '' i~L r4 . r~rhtK~
Gov~k
b u1r~hlot~ a bt
-tp
t1SK1
0 11 Z
4.QC" ih?u
C
uhc~loa }has t t 5 Duh
Si'u~VIs
l(At
-rkis
w ken ' S~lct~ Sc} s
~ furci„ ut
cqpC.our~-Ur
Pat I~ ~'
S ~GCt~ I~P ; A tot,
Peter SpasovMlcrocontroller Technology : The 68HC11,Fourth Edition
Peter SpasovMlerocontroller Technology: The 68HC11,Fourth Edition
I. . cc) tMt }S i h fra+c
(a) Encoder DiskFront Mew
(c) Schematic
(b) Slotted optical SwitchSide View
OpticalCenter Line
Phototronsistor
UQ To Mea0or .. ~0(W04j o+'
reverse C bidire-C- Kaj ) s Peed
Usc d u .JS1644-td
0 P -VCj s%o i 4ch .
e l lh ~
pt) lses r-orves PC-Ad
-t c) apte c)tS K revdh h t4
's o pulse c'9uoic . + S
rela lrcrj 3 ;4f-COy t a
speec) d c reVdLJhatl
- So we- c 4Yt CQKira
s ~ex.d a Ced ra c l~ .
ti ,Acader disk kain ttO(eo tka4
aIIdW If gh{ to pano tltradg 11
pl,ototrans ;S+cr $wifches an oKIy,
u) ketj cl I's Ic r e k }es -t o
. P o S464
such -tka.1 a disk hole ~'s
Jt'3kd bti+•re4it Iota E -trart.S.
Copyright 02002 by Pearson Education, Inc .Upper Saddle River, New Jersey 07458
All rights reserved.
v
~ 5s~e 5
VSe t I wtef d We-f t 'Zo
,~ Z
e e~
i t~*te- bekweeK ~~ tscs 7 6 5~ 5en,
s p
C~L)
tl l se 7 re t/ekC - O46 k h !
Mcasurewte 4 o f time
be4,^Ieer poses be cowtcs
impre ci se .
-lY~~iskcc br4Ki l s~skm 1. 1
T o preveAE S k i ddi K q ; }~'S ~+e.et~.oa .
to ?reve,Kt a,t~ 0 f tke wkcels
lockin UP -
Rea9 Time ivx}erfv p t
;,,Jut Ck I(Jre
P11o /1t3
Per iof e F SSS
An i^PufC(& t' C
r , • S e o F 4L.
5 55
ste
v
amout
65-
I. S o,d93 x CT X ( Xq {AN '
Y f j
O GCur S
OK
e- CL C tr
5 VahL w ave
C~terc~~c~
o -+ker A li C."'onS
--.~ 5~Q bdo K
Sect °"
if
F - pulse w ~ . 44t r(C QAUrem
S-C
boo kS e-c +'o~ ~ ~ • 3 .3
p 4't3
~a r
~er~'o
iMew u ire- +1!E '; 4
xi I se A cc v w~ u la4a c
1, 45
OL
SS - Oi
c o uK key -t ka E
e. J . !aell
o r nn Laoure
mode .
TzS cax app)t"c(,j o' S
O moni vorlll -r A pl° p0 Sl }iovi
Cc ,
Courli
i K q U 3c
pulse wla 14i dcPekd ;1 o V., 0~e cLkixq,
Q Mow +06 tai v'o Ivwe o f PA f (ow ;v,
w
~ loci wk e- dear
o ,r Qu j to i ( f-
0 d o iekv
-t ~rovl 4
t5e c&cCuw~ula~Y hqp OKe ~~ fut Phi (R A t)-T ke ~U
~0.~ 1o` L-
fl
,; v,
A 1
(
I, tS
dcc 'cn C&V\ 6c- dekefAivLea b
(p A C TL) Ipt ecc~
A &CCUwAvl0.Jor co,fi'0J rc_b s+e&v
S~ psCTL ~a°
DISC A CC
Pc E N) WW., \, Hn u s t b e.
t o91 C 'L
all
EDGE
bi ~s
~slQSA M
6(is~ tke c'"r-ch'Qt s
o tea'
x
p R C A (r C C o uti.1 r c3 Sl6L Cq`^ 6 e- read .6 ,t w ee 4E fl to
FIGURE 11-9 Pulse Accumulator in Event Counting Mode
K(,pR C N) bit i n (p OIL)
en &6 O I kt P 6 5ds}e~
Peter SpasovMicrocontroller Technology: The 68HC11,Fourth Edition
-~ PAIInput
0PACTL
PEDGE
1
ai 1eTMSK2Q ( "}`CtvP{Y °'`"
PAOVI
IncrementCount
PACNT
Input EdgeDetection
8-Bit Counter
Overflow
GenerateInterrupt
TFLG2
ty PAOVF
TFLG2
PAIF
• •
b~}se-~Xdh
+0
k
e e TMSK2
PAII
Generate
PACTL
Interrupt1
V
PAEN - I , PAMOD - 0
,eVe t
COUVA
a ~i cu. 'an Qa y%4l cats iv\ 4 kc4ac6l
W
BvP~~~~e}c~I ,
1
~i - QM e a e 1 Scc'{ C-d . A' f i s s erg
C p oiled >S sa&+wca4)
Copyright 02002 by Pearson Education, Inc .Upper Saddle River, New Jersey 07458
All rights reserved.
Sho t t Co u v iS
T1e Pulse CLCCUY" u la4ar car, b € Setup
-t 0 prod LI
cxh CIA1-err
a.
P re se
vhum 6er d f €-dies kave beeh
e
S ;M le
. f Pfesec I - 5 L a s~,~ ckd .
~5
CO ,,,,%e lemewt o f preset - t d
p A CAI T .
aP
veKfs have bee" ale.{ecfed
~keN
rGSe ~ h v w~be r
e~
J
P A CN T k1 a tj tia` ~L ~~"'~` pu,s~ ~ F~
t~ ccwS~
OverFtow Cpv'J ~ If(,"
LOr
COvA s
c,av` be COVn~'~6~
M~Ye tea" a 5~ e~`~
-t-r aCK
~
lse
O ~,~! and -t a kee p raCK d
Atf t nVrA 6er o
w
sfu v M) la{~r 0 ver f (oW S
will
51-"b of zfty/ a 5 6 Gver,6
cav"4'r
°-"d yer la w
overt (oWS 4'cjvjrej s tke
S dtie- K(jr L60r o
Iroa j ;v',a 6~ ~5~
P
v se-
c-( i,fit ° f
ove, OOli1S r\-
P
ASS
CQVt
kdlb5rema,i%d&
FIGURE 11-10 Pulse Accumulator in Gated-Time Accumulation Mode
E/64 Clock
Peter SpasovMicrocontroller Technology : The 68HCI /,Fourth Edition
PAI
Input PACTL
PWGE
1
Overflow Systemas in Fig. 11 .9
PACNT
8-Bit Counter
Input Edge DetectionSystem as in Fig . 11 .9
PACTL
PAEN = 1
PAMOD i- 1
a /1/ T ~Q N ~
K-~ P
e vex
6' 4c (oC ~' c1 c led
Copyright 02002 by Pearson Education, Inc .Upper Saddle River, New Jersey 07458
All rights reserved .
O
~~coin `
w~I
hbfi ihCy2meItaS
10h~ow
LrLJ
2A4 i°a
b
roo/~Iwv 1.47
cA ~7 D ~`'vj 1J'V
AAP '~p't»faP
yn 0 J
J
/ /;r o~1 bu ~ U~/h
'~
fc*^nomIan»o
as/nc
o
sw/ ,m Jt/AS
(,pf,JTv1 t' ry4
N) V d
?7 J
asjp ~ a f ` r'
Or ^
P.;- WVA b
a_Y+ tea/f ?9
L mw
ai~~~ M°""roN
a
Uv
gva
km ti , Fpw
S
a11deA 5[noc
1
14-
1
A b rv
s -
° a~' Q' ~}n Pa
fall o,tuo,:) S.1 aar,od 4nd-}no -" 1-
al' 9'D +n P - -DI .A o A
1m a5106 W M ~
IA „ „o t Aa d a-} n) -)C
S LIaP a I .- 110 MA'1 J
,VnlOM -y~nn b s a +'0"'~
o .~ Pas A -q ub2 r-' '
h („, ~J{so **-
TFI(.ii to ?
Output Compkite_ JeW(~
TC N T100E
T oc f
* tvf G
To CS
4Io1E
'o ibU ~~1.t Zt1
UNUMMMM
TIFLGI
t 43
I.41 02. 1-
*
e- C&h ahM or d 1 SaJu j *fiftC
m~m~mmn~Ocf I
1
ocic acaf
sof4uj*tt cav% J c4-erwi ;rte is ovspufcompare- event- kwO CC urred 6y 'r ding
T F f ~, ( rtji.1tat
C S
octF c~citor-IF]r
s
0ac3F oc4F I OcSF
{-ka T?i Sk 4
re,~i s l
v
IOC`fOc51
3
iY ividua.9
a
6 $ ((
iKcre, ofec) ever
6 - c(oc ( ; rack Q
aekv wkiKcdfKk., PRO
(
j OCI F se 4 esker,J TUC( = TcA/ T
0C- -5F Set wke"70C5 = TCNT
oF (a~5 Cte.~vc
6~
11 4
FIGURE 11-3 Output Compare Action
TOCx
Write
SpssovMicrocontroller Technology : The 68HCI1,Fourth Edition
TCNT
x=1,2,3,4,5,
P -two"t0 Wrlk.
C) 'r-cam -+hvu., nA cve 00i-PU4 comPatc
So f ~w t Jri }cp cam. V,0C rt o
s}eti (yc CX)
vi kevt -rc/Vr
To Cn
--~
OCxF ~-1a6 isSeb
sUCc 4u-pcowtip~
Written to by software
TFLG1
OCxF
Flag sets when TCNTincrements to TOCx
Counting
40k : t o w f1' fea vajxe to Tocxuse- a douh (e 6 ke ihSi
seParak i n3rucfion S ayc used2_ bjl& -the fc ~S a possi6ili
5T D Toe 5,n
10-_I-Peter
Copyright 02002 by Pearson Education, Inc .Upper Saddle River, New Jersey 07458
All rights reserved .
at
d 0c ReI
mas k
Q
~^3
T W U
Tke- Saw1e
a Paced i i
-t-- NT% .f IV
. 16 - b)'L ovfpu+ Compare
•
€x ferKJ o o+put p fK Dc"
G) A Force compare (o, + of bi 1
con+ro2 bits
i6_ bit TCAl T
j5 vs'c
a. cla1 bit
a.K ivLftrrvpt mask 611
0
cor
o n,Fi
F'o C
IJ FO C„l
j'" c remeK+kd
in pv+ cQp4uyc
avfpvf cowlpgY
61 <<h~
fPu t
1eSmad
COMP
0Cy
re-3 i's fe r
4\
(pv'-5.3
6 q < < of-#
W ke,K ee i +ker
~, TL - l6-bit TCWt
f-'~
(jr; }.mssS o
(; .e
01(-put coMpare pin isCL
V'
,0
uti of tkc co w,P" 'he~tc
Can b e used to con+re9 °L n
\A3- WkCA aloe's aK ou%pL1f co ,,neQife event
pen?
,Fo r ce C,° M pare
kea -Ike_ 16 - b i E O C. Y.t3 is}ek r
I -to tke F OC b i 1
IC-0 rt+ra jQ b i E
. F tai iS se l
®Wk0.+
i tke ro (e o ~ Orih, OLD b'fs
0 Vl,,F'j L, 0Lk
4~ns -rbaAi cu(ly, s peu wkaf aFfecb
oOPul
0
i(
oK
o vfput p c let
hctveC0niPwre event w I
ti FFcc{poeShoE ofc OchTv g91e OCn
C, I Cox OcK = a
t C ~ Ocvt = 1
Q w k ew D Cx F s Q-}-s/ i t- caAA wA
FIGURE 11.4
a,h a vw l t o O CC UY d C. f ena) Oo h
-th a coK F'9urai4ah Sei~4t'k~ ; vt tie
TC.TL1 % TrSk
TFLG1
OCxF
Flag sets
TMSK1
OCxl
InterruptEnable
x = 2, 3, 4, 5
Peter SpasovMkroeontroler Technology : The 68HC11,
Fourth Edition
TCTL1
OCx Output
No OutputToggle OutputDrive Output LowDrive Output High
Generate Interrupt
Copyright 02002 by Pearson Education, Inc .Upper Saddle River, New Jersey 07458
All rights reserved .
OMx OLx
0 00 11 01 1
JJkCd
o"s)
a, re,
d T k e Och
(D v(i fpuf
(S set the-
e cc r *ke
tke aCfiaKs reSV(~*VL1 frow
even f
C.o b%PA re
R n ;K f Lrru p t ,'s
oufpti
b ; E c ku ~~ ~
se :
re7vesfeJ (wkek
G. K
Crtafe a. ~'xr~ tlme delay ,
5{eps
Q . R~.ad the Current v&Qve oc I6_bit T(N ('
ca l cU (u ~-~
-f tie. %r jv e (-1xeJi-t TCIVrJ
ou~pu4 compare rei%s+ev
Xe J .;. T C N T i
o u+pot cd w j ) a re,
(tai t for the_ odfeu f C-Owi I'`tre c is 0 { ° b e
s e t
KfcrrvP 4
oifpt/+ corkpgr
v+1as k = ti
-t o
r81~~~ t 618
P 'Y'10 0 a r';
,,a ,1ia c o4
('u~^, .
a 6, o }-
3
s 4 --
.,
04- ~~Sn aq un~ AO! nbv ) 9
S ,.8 a~bchMO
tnc4n°i 14 O
o7Snv~
>>~M
Y" 4- %J ,)
f!
~- 1 N 1L
n o o.4
NA o
. a` 6IMnX-3 Jo
+ IA ~,AIN
i »a1o'.)
jo u''f'PP'O
s. a s) nd
PaZ A4O.A ,'UGS
nom S .11 1
as b d w o- >
)) 3 .9
a4 v.* 1) !M -4 1
40 0"VI -.)
I ndiP o un
uo
3 ° -0) Ni °
..hag vunu
7
4pd ar,
' fls~,ic,~ C ~~ J 0
O-J 4' P LOW/ '1
0001 $
= 1Mn s
~! ~) (S
11~~''~ lAa,lf!e?O
-a
2)a p-*-?
,o„1 O} S r M • M oO
i I
0
0
0 V-a ck o v t.pv4 C-O m Pa.¢ (0cxJ e.x ce p1 fO -c
QC 1 hao obe p;h a s sacsa+~a w' ~ ~ ~'
l octn3 cx.tn6 lactiolocir4oa - -- - j
4% oo c Oc I M
N17
Sb1Octloctt`oc,os`ouo4 `0003 j -[ -I- I
cphILCc~ S
t6 PA3 , PA 4
0 u
cki s co )Utecf s
S Vj Cd rMg- cZ. CV Y Ss v cccs f
LL bx
t35~T
sTAALbAA
sTA AasEr
C L I
s eK t -it 0dart- A c %n f
~E~t3A 5 i
p AC Tt_, X,00
q 1%
O C~ tA, x
.i t $
dCt0,x
T tAski, xi $ o
f
$ 100 0 0CI L)
A P11\6 O C t co rt , +'ro.R4
aA5
.
p Q i ,t } to r t3 fs 4e1`'a
nnw ke ?A -( 0 0 ~?u4
se} OCt M 3, '( 1
Chad l,e P A 3 i 4. 7
5 e,{- 0 C1 c 3i' C- (em, OCI0/i
t/d c ;~e fA3 • Y ~'`''9t,
; PA' lo
:K0. (e i h }errv ~~ {
oAe Sk 4 pukS& EXc.%pke
a_KHz clock -* o •S A45 even E cock
o R G
-,~ 100
E G?
2.0000
L D1)
TCNT, X
ST O
T oCai X
esf rL6AA
STAR
1 LOAA
STA A
o Y
drive p A Cf 0C-2ki
p~A • '~• x `1 0
$o raV%
a° 4 -~ a c leaf
'x
j t j i S (~h«{ o +%U4, OCXS
~ CTL ,X 4 0
cteovt. oc ac + F 5e{
"CFLGii X
OAAt TOG4 vo" ms
-r c
1OC~, X
b
pQi1iK °cZ k~9~'
cL~ T~LG1,X 4o wLsE~~
OC2 to~JOvj fpul~c-L R
porT A, A 40
c\cow p A(
L O AA
# 40
; c. lead, OCZ
be- Pcres -TAA
TFLGI ,X
16C LK T CTL(,X X80~i S cohKec''~M~ aC~
9KA
A-A-
L p0
aoo 0
Sib
20,000 G cycle"
S Q U
W GvQ. G~~Qn i~~
4 CA- +m Q ~C
*Listing 11 .3*Shows routines for generating square waves*using output OC3 .*A main application program varies frequency*by modifying 16-bit data in addresses HPERIOD .*Frequency = U(2 * HPERIOD)*User responsibility to set up vector addresses*and other initialization as required by application .
*Service routine RTOC3*Drives OC3 output for square wave by scheduling*time delay for next edge to be toggled .*The minimum permissible half-period is the number of clock*cycles in this routine plus those required to enter*and exit the routine .*Static variable (2 bytes)*Address HPERIOD = OC3 half-period time duration
*This routine executed after TOC3 == TCNT occurs
RTOC3LDX #REGBAS ;point to registers
LDD HPERIOD ;update TOC3ADDD TOC3,X
;by adding half periodSTD TOC3,X
to latest TOC3 value;to schedule the next interrupt
BCLR TFLG1,X $DF;clear flag OC3F
RTI
;return from service
*INITOC3
None, except CCR affected
PSHA ;preserve registersPSHBLDAA #$10 ;OM3:OL3=0:1STAA TCTL1,X to toggle OC3LDAA #$20 ;clear OC3F if setSTAA TFLG1,XSTAA TMSK1,X ;set OC31 to enableCLI ;interruptPULB ;restore registersPULARTS ;return
T65 C.xa*kp Ie. tcvte.ro` JtO a vah+'aI fe d v I Cyc le
sa,,vA.'re wave
vsivta
001pit cowtfarc
9 9
6 I (I
see. prcgfgwt
't,Yll~10 Q$Oav a&OO
'a.~ Sooo
DJ+j c c(e
45006
I
Zoo C+
fvo.
In
+ (ow
IAJi(( JAAj aj 5
or 5 'n 5
\ITJIL. J
%ni }o IZe ,
1
FT
~'~`~a~~I a ~s k;h
51
to gera;i
cOwk ma
he3k t low
4ex b oo k
ThS k) «ITC T L 1 re~
TF I GI
See- ce~<4ls ivt +e-X+ boat
u
43 4
e-Ivj
10/
o 0, c~c(eo
041c%c V V% b i }-s
4
J e krW% .VLWc 4-o n
O C pin
c tears Pa-AS
*Listing 11.4*Shows routines for handling PWM using output OC2 .'A main application program varies the duty cycle*by modifying 16-bit data in addresses OC2HI and OC2LO .*Duty cycle =100% * OC2HV(OC2HI + OC2LO)*User responsibility to set up vector addresses*and other initialization as required by application .*
*Service routine RTOC2*Drives OC2 output for PWM by schedulingtime delay for next edge. Also reconRgures
*next edge opposite to that of current edge .*Note that routine will not work property with*duty cycles dose to 0% or 100%.*Static variables (2 bytes each)*Address OC2HI - OC2 time duration for high pulse*Address OC2LO - OC2 dyne duration for low pulse
*This routine executed after TOM - TCNT occurs
OC21-11
EQU
$0006
OC2LO
RTOC2
**
EQU
LDX
$0008
#REGBAS ;point to registers;if low part of cyclethen load OC2L0
ADDD TOC2.XLDAA TCTL1,X ;invert 012 to toggleEORA i%01000000 ;next OC2 edgeSTAA TCTL1,X ;by updating control reg .BCLR TFLG1,X $BF ;clear flag OC2FRTl ;return from service