A generic timer/counter

117 downloads 32848 Views 897KB Size Report
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\V 7LPLQJ

([VHQVRU

&RXQWLQJ  ¾ ZHIHHGSXOVHV WKDWFRXQWDQHYHQW 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\V 7LPLQJ

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\V 7LPLQJ  

¾) 

) ZD\*HQHUDWHWLPHGHOD\V

;;;

 5HVHWWKHFRXQWHUUHJLVWHUDQGZDLWXQWLOLWUHDFKHVDFHUWDLQ QXPEHU;;; (; ,Q 0+] PLFURFRQWUROOHUKRZPDQ\FRXQWVQHHGHGWRJHQHUDWHDGHOD\RI—V"

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\V 7LPLQJ

)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 ELWWLPHUV 7LPHU 7LPHU  2QHELWWLPHU 7LPHU

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 :KHQFRPSDUHPDWFKRFFXUUHG 7&17

729

2&)

2&5

2&)  2&5 ¾ 7,)5 7LPHUFRXQWHU,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

 1RFORFNVRXUFH 7LPHU&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



1RFORFNVRXUFH 7LPHU&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 WKHWLPHURYHUIORZIODJ 729 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\RI—V „

%HFDXVH;7$/ 0+]WKHFRXQWHUFRXQWVXSHYHU\—V

„

7KLVPHDQVWKDWZHQHHG—V—V 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\LQ—V  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% &$//'(/$

Suggest Documents