Timer 1. Timer 2. â TOV0 (Timer0 overflow flag bit). â OCF0 (Timer0 output compare .... write a code to generate a square wave of 125 Hz frequency on pin PB3.
Dr. Hassan SHARABATY EEE Department, Faculty of Engineering University of Turkish Aeronautical Association
Ankara – December 2016
$JHQHULFWLPHUFRXQWHU 0LVVLRQ
&RXQWDQHYHQW&RXQWLQJ *HQHUDWHWLPHGHOD\V7LPLQJ
([VHQVRU
&RXQWLQJ ¾ ZHIHHGSXOVHVWKDWFRXQWDQHYHQW WKURXJKRQHRIWKH$95¶VSLQV ¾ WKHFRXQWHUVFRQWHQWUHSUHVHQWVKRZPDQ\WLPHVWKHHYHQWKDVRFFXUUHG AVR Microcontroller and Embedded System Using Assembly and C Mazidi, Naimi, and Naimi
2
© 2011 Pearson Higher Education, Upper Saddle River, NJ 07458. • All Rights Reserved.
$JHQHULFWLPHUFRXQWHU 0LVVLRQ
&RXQWDQHYHQW&RXQWLQJ *HQHUDWHWLPHGHOD\V7LPLQJ
7LPLQJ ¾ :HIHHGWKHFU\VWDORVFLOODWRULQWRWKHFRXQWHUUHJLVWHU ¾ :KHQWKHRVFLOODWRUWLFNVWKHFRQWHQWRIFRXQWHULVLQFUHPHQWHG ¾ 2VFLOODWRU6SHHGLVNQRZQÎ WKHFRXQWHUUHJLVWHUVFRQWHQWZLOOSRLQWWR AVR Microcontroller and Embedded System Using Assembly and C HODSVHGWLPH Mazidi, Naimi, and Naimi
3
© 2011 Pearson Higher Education, Upper Saddle River, NJ 07458. • All Rights Reserved.
$JHQHULFWLPHUFRXQWHU 0LVVLRQ
[[[
&RXQWDQHYHQW&RXQWLQJ
*HQHUDWHWLPHGHOD\V7LPLQJ
¾)
) ZD\*HQHUDWHWLPHGHOD\V
;;;
5HVHWWKHFRXQWHUUHJLVWHUDQGZDLWXQWLOLWUHDFKHVDFHUWDLQ QXPEHU;;; (; ,Q 0+] PLFURFRQWUROOHUKRZPDQ\FRXQWVQHHGHGWRJHQHUDWHDGHOD\RIV"
4 © 2011 Pearson Higher Education, AVR Microcontroller and Embedded System Using Assembly and C FRXQWVLHZHVKRXOGFOHDUWKHFRXQWHUDQGZDLWXQWLOLWEHFRPHVHTXDOWR Mazidi, Naimi, and Naimi
Upper Saddle River, NJ 07458. • All Rights Reserved.
))
$JHQHULFWLPHUFRXQWHU 0LVVLRQ
)( )'
&RXQWDQHYHQW&RXQWLQJ
*HQHUDWHWLPHGHOD\V7LPLQJ
)ODJ
ZD\*HQHUDWHWLPHGHOD\V
/RDGDYDOXHWRWKHFRXQWHUUHJLVWHUDQGZDLWXQWLOWKHFRXQWHU RYHUIORZVDQGWKHRYHUIORZIODJLVVHW ([,Q ELW0+] PLFURFRQWUROOHULIZHZDQWDWLPHGHOD\RIPLFURVHFRQGV Î /RDG WKHFRXQWHUUHJLVWHUZLWK)' AVR Microcontroller and Embedded System Using Assembly and C
ÎMazidi, DQGZDLWWKHRYHUIORZ RIWKHIODJDIWHUWLFNV Naimi, and Naimi
5
© 2011 Pearson Higher Education, Upper Saddle River, NJ 07458. • All Rights Reserved.
7LPHUVLQ$95
$950LFURFRQWUROOHUVKDYHWRWLPHUVZKLFKFDQEHXVHGDV ¾
7LPHUVWRJHQHUDWHDWLPHGHOD\
¾
&RXQWHUVWRFRXQWHYHQWVKDSSHQLQJRXWVLGHWKHPLFURFRQWUROOHU
7KHVHWLPHUVFRXQWHUVDUHELW RUELW
¾
$7PHJD FRQWDLQVWLPHUV 9
9
7ZR ELWWLPHUV7LPHU 7LPHU 2QHELWWLPHU7LPHU
AVR Microcontroller and Embedded System Using Assembly and C Mazidi, Naimi, and Naimi
6
© 2011 Pearson Higher Education, Upper Saddle River, NJ 07458. • All Rights Reserved.
,2UHJLVWHUVWKDWFRQWUROWLPHUV )RUHDFKWLPHUFRXQWHU
7&17Q
7LPHU&RX17HU UHJLVWHU
7KLVUHJLVWHUFRXQWVXSZLWKHDFKSXOVH 7KHFRQWHQWVRIWKHWLPHUVFRXQWHUVFDQ EHDFFHVVHGXVLQJWKLVUHJLVWHU
729Q
7&&5Q
7LPHU2YHUIORZIODJ
7&&5Q 7&17Q
7LPHU&RXQWHUFRQWUROUHJLVWHU
XVHGIRUVHWWLQJPRGHVRIRSHUDWLRQ 729Q
2&5Q
RXWSXWFRPSDUHUHJLVWHU
2&)Q
RXWSXWFRPSDUHPDWFKIODJ
2&)Q
2&5Q
2&5Q FRQWHQWLVFRPSDUHGZLWKFRQWHQWRIWKH7&17Q
7
:KHQWKH\DUHHTXDOÎ 2&)Q IODJZLOOEHVHW AVR Microcontroller and Embedded System Using Assembly and C
© 2011 Pearson Higher Education, Upper Saddle River, NJ 07458. • All Rights Reserved.
Mazidi, Naimi, and Naimi
7LPHUSURJUDPPLQJ ¾7LPHU LVELWLQ$7PHJD
7&17 LVELWUHJLVWHU 7&&5
729 7LPHURYHUIORZIODJELW :KHQ7&17RYHUIORZ JRLQJIURP))WR
7&17
729 2&) 7LPHURXWSXWFRPSDUHPDWFKIODJELW :KHQFRPSDUHPDWFKRFFXUUHG7&17
729
2&)
2&5
2&) 2&5 ¾ 7,)57LPHUFRXQWHU,QWHUUXSW)ODJ5HJLVWHU FRQWDLQVWKHIODJVRIGLIIHUHQWWLPHUV
AVR Microcontroller and Embedded System Using Assembly and C Mazidi, Naimi, and Naimi
7LPHU
7LPHU
8
© 2011 Pearson Higher Education,
Upper Saddle River, NJ 07458. • All Rights Reserved. 7LPHU
7LPHUSURJUDPPLQJ
7&&5
7LPHU&RXQWHUFRQWUROUHJLVWHU
LVELWUHJLVWHU
7&&5
&ORFN6HOHFWRU&6 &6&6&6 &RPPHQW
1RFORFNVRXUFH7LPHU&RXQWHUVWRSSHG FON 1R3UHVFDOLQJ FON FON FON FON ([WHUQDOFORFNVRXUFHRQ7SLQ&ORFNRQIDOOLQJHGJH ([WHUQDOFORFNVRXUFHRQ7SLQ&ORFNRQULVLQJHGJH 9 © 2011 Pearson Higher Education, AVR Microcontroller and Embedded System Using Assembly and C Upper Saddle River, NJ 07458. • All Rights Reserved.
Mazidi, Naimi, and Naimi
7LPHUSURJUDPPLQJ
7&&5
7LPHU&RXQWHUFRQWUROUHJLVWHU
LVELWUHJLVWHU
7&&5
7LPHU0RGH:*0
&ORFN6HOHFWRU&6
&6&6&6 &RPPHQW
1RFORFNVRXUFH7LPHU&RXQWHUVWRSSHG
:*0:*0 &RPPHQW FON 1R3UHVFDOLQJ
1RUPDO0RGH FON &7&&OHDU7LPHURQ&RPSDUH0DWFK FON 3:0SKDVHFRUUHFW FON )DVW3:0 FON
([WHUQDOFORFNVRXUFHRQ7SLQ&ORFNRQIDOOLQJHGJH ([WHUQDOFORFNVRXUFHRQ7SLQ&ORFNRQULVLQJHGJH 10 © 2011 Pearson Higher Education, AVR Microcontroller and Embedded System Using Assembly and C Mazidi, Naimi, and Naimi
Upper Saddle River, NJ 07458. • All Rights Reserved.
1RUPDOPRGH
,QWKLVPRGHWKHFRQWHQWRIWKHWLPHUFRXQWHULQFUHPHQWHGZLWKHDFKFORFNXQWLO LWUHDFKHVLWVPD[RI[)) :KHQWKHWLPHUUROOVRYHUIURP))WRWKH729 IODJLVVHWWR DQGLWUHPDLQVVHWXQWLOWKHVRIWZDUHFOHDUVLW 7&17
1RWHWRFOHDU729IODJ ZHQHHGWR ZULWHDORJLF WRLWVELWORFDWLRQ
[))
([ 7KHIROORZLQJSURJUDPFOHDUV729 ¾
/',5[
¾
2877,)55
729
729
729
WLPH
5 E ))
729
)(
7,)5
AVR Microcontroller and Embedded System Using Assembly and C Mazidi, Naimi, and Naimi
11
© 2011 Pearson Higher Education, Upper Saddle River, NJ 07458. • All Rights Reserved.
729
6WHSVWRSURJUDP7LPHULQ1RUPDOPRGH /RDGWKH7&17UHJLVWHUZLWKWKHLQLWLDOFRXQWYDOXH
7&17
/RDGWKHYDOXHLQWRWKH7&&5UHJLVWHULQGLFDWLQJ ZKLFKPRGHLVWREHXVHG
7&&5
3UHVFDOHU RSWLRQ $WWKHPRPHQWZKHQZHVHOHFWWKHFORFNVRXUFHWKHWLPHUFRXQWHUVWDUWVWR FRXQWDQGHDFKWLFNLQFUHPHQWWKHWLPHUFRXQWHUE\ 0RQLWRU WKHWLPHURYHUIORZIODJ729 DQGVWRSWKHWLPHUE\GLVFRQQHFWLQJ WKHFORFNVRXUFH:KHQ729EHFRPHVKLJK 7RVWRSWKHWLPHUXVHWKHIROORZLQJLQVWUXFWLRQV
7&17Q 729Q
/', 5[ 2877&&55
WLPHUVWRSSHGPRGH 1RUPDO
&OHDUWKH729IODJIRUWKHQH[WURXQG AVR Microcontroller and Embedded System Using Assembly and C Mazidi, Naimi, and Naimi
12
© 2011 Pearson Higher Education, Upper Saddle River, NJ 07458. • All Rights Reserved.
([DPSOH
+RZWRSURJUDPWLPHUWRZDLWPDFKLQHF\FOHVLQ1RUPDOPRGH 14 = $0E
))
)(
[
$100 -$0E )
$F2
729
:*0:*0 &RPPHQW
1RUPDO &7& 3:0SKDVHFRUUHFW )DVW3:0
AVR Microcontroller and Embedded System Using Assembly and C Mazidi, Naimi, and Naimi
13
© 2011 Pearson Higher Education, Upper Saddle River, NJ 07458. • All Rights Reserved.
([DPSOH8VLQJ7LPHUJHQHUDWHD'HOD\RI PDFKLQH F\FOHV
PDFKLQHF\FOHVRQ3& $100 -$0E $F2 Delay:
AGAIN:
¾ 4XHVWLRQ
LDI
R20,0xF2
OUT
TCNT0,R20
;load timer0
&DOFXODWHWKHGHOD\GXUDWLRQ
LDI
R20,0x01
; Start Timer0
JHQHUDWHGE\7LPHU"
OUT
TCCR0,R20
IN
R20,TIFR
SBRS
R20,0 ;if TOV0 is set skip next inst.
RJMP
AGAIN
LDI
R20,0x0
OUT
TCCR0,R20
;stop Timer0
LDI
R20, 0x01
;R20 = 0x01
OUT
TIFR,R20
;clear TOV0 flag
; Normal mode, int clk ;read TIFR
RET
7RJHWDPRUHDFFXUDWHWLPLQJZHVKRXOGWDNHLQ AVR Microcontroller and Embedded System Using Assembly and C DFFRXQWWKHFORFNF\FOHVGXHWRWKHLQVWUXFWLRQV Mazidi, Naimi, and Naimi
6XSSRVHWKDW;7$/ 0+] ¾ $QVZHU &DOFXODWLQJWKHSHULRG7 KRZPXFKRQHPDFKLQH FORFNODVWV 7 I 0 V &DOFXODWLQJGHOD\ 'HOD\ 7 QXPEHURI PDFKLQHF\FOHV
V V 14
© 2011 Pearson Higher Education, Upper Saddle River, NJ 07458. • All Rights Reserved.
)LQGLQJYDOXHVWREHORDGHGLQWRWKHWLPHU ([DPSOH$VVXPLQJWKDW;7$/ 0+]JHQHUDWHD'HOD\RIV
%HFDXVH;7$/ 0+]WKHFRXQWHUFRXQWVXSHYHU\V
7KLVPHDQVWKDWZHQHHGVV FORFNV
WKHYDOXHVWREHORDGHGLQWRWKH7&17UHJLVWHUVLV Delay:
AGAIN:
LDI
R20, 0XCE
OUT
TCNT0,R20
LDI
R20,0x01
OUT
TCCR0,R20
;Timer0,Normal mode, int clk
IN
R20,TIFR
;read TIFR
SBRS
R20,0
;if TOV0 is set skip next inst.
RJMP
AGAIN
LDI
R20,0x0
OUT
TCCR0,R20
;stop Timer0
LDI
R20, 0x01
;R20 = 0x01
OUT
TIFR,R20
;clear TOV0 flag
;load timer0
AVR Microcontroller and Embedded System Using Assembly and C Mazidi, Naimi,RET and Naimi
15
© 2011 Pearson Higher Education, Upper Saddle River, NJ 07458. • All Rights Reserved.
([DPSOH 0RGLI\ 7&17LQ([DPSOHWRJHWWKHODUJHVWWLPHGHOD\ SRVVLEOHZLWKQRSUHVFDOHU )LQGWKLVGHOD\LQV 7KLVGHOD\ZLOOEHXVHGWRJHQHUDWHDVTXDUHZDYH&DOFXODWHWKHVPDOOHVWIUHTXHQF\ ,Q\RXUFDOFXODWLRQGRQRWLQFOXGHWKHRYHUKHDGGXHWRLQVWUXFWLRQV
7RJHWWKHODUJHVW GHOD\ZHPDNH7&17]HUR
&DOFXODWLQJ7 7 I 0+] V
Delay:
AGAIN:
LDI
R20,0x0
OUT
TCNT0,R20
LDI
R20,0x01
OUT
TCCR0,R20
IN
R20,TIFR
SBRS
R20,0 ;if TOV0 is set skip next inst.
RJMP
AGAIN
LDI
R20,0x0
OUT
TCCR0,R20
;stop Timer0
LDI
R20, 0x01
;R20 = 0x01
OUT
TIFR,R20
;clear TOV0 flag
RET
&DOFXODWLQJGHOD\ ;load timer0
V V
;Normal mode, int clk ;read TIFR
&DOFXODWLQJWKHIRI JHQHUDWHGZDYH 0D[LPXP7 V
AVR Microcontroller and Embedded System Using Assembly and C Mazidi, Naimi, and Naimi
Î 6PDOOHVWIUHTXHQF\ ) +]
16
© 2011 Pearson Higher Education, Upper Saddle River, NJ 07458. • All Rights Reserved.
*HQHUDWLQJ/DUJHU 'HOD\V
8VLQJORRS
3UHVFDOHU
%LJJHUFRXQWHUVOLNH7LPHUZLWKELWV
AVR Microcontroller and Embedded System Using Assembly and C Mazidi, Naimi, and Naimi
17
© 2011 Pearson Higher Education, Upper Saddle River, NJ 07458. • All Rights Reserved.
3UHVFDOHU DQGJHQHUDWLQJDODUJHWLPHGHOD\
AVR Microcontroller and Embedded System Using Assembly and C Mazidi, Naimi, and Naimi
18
© 2011 Pearson Higher Education, Upper Saddle River, NJ 07458. • All Rights Reserved.
([DPSOH $VVXPH;7$/ 0+] D ,I3UHVFDOHU RSWLRQ LVVHOHFWHGILQGWKHFORFNSHULRGIHGLQWR7LPHU E :KDWLVWKHODUJHVWWLPHGHOD\ ZHFDQJHWXVLQJWKLVSUHVFDOHU RSWLRQDQG7LPHU
6ROXWLRQ D 'XHWRSUHVFDOHU 0+]î +] DQG7 +] ȝV PV
E 7RJHWWKHODUJHVWGHOD\ZHPDNH7&17]HUR LH 7&17ZLOOVWDUWFRXQWIURPWR[))WKHQ UROORYHUWRUDLVHWKH 729IODJ 7KHGHOD\LVî ȝV PV VHFRQGV
19
© 2011 Pearson Higher Education, Upper Saddle River, NJ 07458. • All Rights Reserved.
AVR Microcontroller and Embedded System Using Assembly and C Mazidi, Naimi, and Naimi
([DPSOH$VVXPLQJ;7$/ 0+] ZULWHDFRGHWRJHQHUDWHDVTXDUHZDYHRI+] IUHTXHQF\RQSLQ3% 8VH7LPHU1RUPDOPRGHZLWKSUHVFDOHU 6ROXWLRQ ¾ 7 +] PVRQHSHULRGRIWKHVTXDUHZDYH ¾ PVȝV FRXQWVDUHUHTXLUHG ¾ í LQGHFLPDOÎ 7&17
%(*,1
,1,767$&. 6%,''5% 6%,3257% &$//'(/$