AVR定时器使用范例_第1页
AVR定时器使用范例_第2页
AVR定时器使用范例_第3页
AVR定时器使用范例_第4页
AVR定时器使用范例_第5页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、AVRʹÓ÷¶Àý-¶¨Ê±Æ÷Ó¦Ó÷¶Àý±¾Ò³¹Ø¼ü´Ê£º avr¶¨Ê±Æ÷¼ÆËã avr¶¨Ê±

2、Æ÷Ó¦Óà avr¶¨Ê±Æ÷ÖжϷ¶Àý avr¶¨Ê±Æ÷ avr¶¨Ê±Æ÷0±à³Ì avr¶¨Ê±Æ÷µÄÓ¦Ó&

3、#195;³ÌÐò avr¶¨Ê±Æ÷ʹÓÃÀý³Ì avr¶¨Ê±Æ÷Êä³öÂö³å avr¶¨Ê±Æ÷³ÌÐò avr¶¨Ê±

4、98;÷³õÖµ ±¾ÎÄÏêϸ½éÉÜavr¶¨Ê±Æ÷timerµÄʹÓ÷½·¨£¬PWMµÄÉ趨Óë×¢Òâ

5、02;ÂÏͨ¹ý ICC¿ìËÙÍê³É²ÎÊýÉ趨£¬ ²¢Í¨¹ýÒ»¸öʵ¼ÊÀý×Ó¶¨Ê

6、7;LEDµÄÏÔʾ½â˵Ïêϸ¹ý³Ì¡£¶¨Ê±Æ÷ÔÚ¹¤³ÌÖÐÓ¦Ó÷dz£¹ã·º£¬avr

7、1;аËλºÍÊ®ÁùλÁ½ÖÖ¶¨Ê±Æ÷£¬AVR¶¨Ê±Æ÷Äܹ»·Ç³£¾«È·µÄ¶¨Ê±&

8、#163;¬ÏÂÃæ½éÉÜʹÓÃICC application builder¿ìËÙʹÓö¨Ê±Æ÷µÄ·½·¨¡£Ê¹ÓÃICC application builder¿ì

9、03;ÙÅäÖö¨Ê±Æ÷µÚÒ»²½£ºÐ½¨¹¤³Ì±£´æµ½Ìض¨Ä¿Â¼Ï¡£µÚ¶þ

10、78;½£ºICC>>Tools>>application builderµÚÈý²½£ºÉèÖõ¥Æ¬»úÐͺź;§ÕñƵÂÊ£¬ÈçÏÂÍ&#

11、188;£¬·Ç³£ÖØÒª£¬ÒòΪÕâ»á¹ØÏµµ½¶¨Ê±µÄ׼ȷÐÔÉõÖÁÕýÈ·ÐÔ¡&#

12、163;µÚËIJ½£ºÉ趨¶¨Ê±Æ÷Timer0£¬²Ù×÷ÈçÏÂͼ£¬Çë×ÐϸºË¶ÔÿһÏî&#

13、161;£ÕâÀïÎÒÃÇÌø¹ýÁ˶˿ÚIOµÄÉ趨£¬ÒòΪ¶ÔÎÒÃDz»ÊǺÜÖØÒª¡£

14、µã»÷OK£¬¼ì²éÉú³ÉµÄ³ÌÐò£¬ÏÂͼչʾÁËÉú³ÉµÄ³ÌÐòµÄÏêϸº

15、2;Òå¡£Ä㽫µÃµ½µÄ³ÌÐòÈçÏ£¬»ÒÉ«²¿·ÖΪÌí¼ÓµÄ×¢ÊÍ¡£Ö»½

16、3;Éܶ¨Ê±Æ÷²¿·Ö£¬ÆäËûÇë²Î¿¼ÐÂÊÖÈëÃÅÏà¹ØÄÚÈÝ£¬Èç¹ûÄã²

17、2;²»¼±ÓÚÀí½âÕâЩÄÚÈÝ£¬ÇëÌø¹ý¡£/*¶¨Ê±Æ÷µÄ¹¤×÷Ô­ÀíÊÇ£º¶&#

18、168;ʱÆ÷ÔÚÔ¤·ÖƵÕâô¶à¸öʱÖÓÖÜÆÚºóʹICNInµÄÖµ¼ÓÒ»£¬µ±TCNTnµ½´

19、9;×î´óֵʱ·¢ÉúÒç³öÖжϡ£Óû§ÔÚÒç³öÖжÏÖÐÌîд¶¨Ê±Æ÷Ö

20、6;ÔØÓï¾ä£¬¿ªÊ¼ÏÂÒ»´Î¶¨Ê±¹¤×÷£¬Í¨¹ýÉ趨TCNTnµÄÖµºÍOCRnµÄÖµ¿É&

21、#210;ÔÉèÖö¨Ê±Æ÷µÄ¶¨Ê±³¤¶Ì¡£*/TIMER0 initialize - prescale:1024 /*¶¨Ê±Æ÷Ô¤·ÖƵ£¬Ô¤·ÖƵ

22、;ÓÉTCCRnµÄCS02,CS01,CS00È·¶¨£¬ÏêÇé²é¿´Êý¾ÝÊÖ²á*/ WGM: Normal/*¶¨Ê±Æ÷*/ desired value: 20mSec/*¶¨Ê±Æ÷Æ

23、8;ÍûÉ趨ʱ¼ä*/ actual value: 19.861mSec (0.7%)/*¶¨Ê±Æ÷ʵ¼Ê¶¨Ê±Ê±¼ä£¬Îó²î±ÈÀý*/void timer0_init(void) TCCR0 = 0

24、x00; /stop/*¶¨Ê±Æ÷Í£Ö¹£¬TCCR0¼Ä´æÆ÷ÍêÈ«¿ØÖÆtimer0µÄÔËÐÐÇé¿ö£¬Ïêϸ¿É²Î&

25、#191;¼Êý¾ÝÊֲᡣ*/ TCNT0 = 0x71; /set count/*¶¨Ê±Æ÷¼Ä´æÆ÷¿ªÊ¼Öµ*/ OCR0 = 0x8F; /set compare/*¶¨Ê±Æ÷±È½Ï&#

26、214;µ*/ TCCR0 = 0x05; /start timer/*¶¨Ê±Æ÷¿ªÊ¼*/#pragma interrupt_handler timer0_comp_isr:20void timer0_comp_isr(void) /compare occured TCNT0=OCR0 /*¶¨Ê±Æ÷±È½ÏÆ¥ÅäÖÐ

27、¶Ï£¬ÕâÀïûÓÐÌí¼ÓÈκÎÓï¾ä£¬Êµ¼Ê²Ù×÷ÖпÉÒÔÓôËʵÏÖ×Ô

28、ÖÆPWM*/#pragma interrupt_handler timer0_ovf_isr:10void timer0_ovf_isr(void) TCNT0 = 0x71; /reload counter value /*¶¨Ê±Æ÷Òç³öºóÐèÒªÖØÔØTCNTn£¬È»ºóÔÚ

29、14;®ºóÌí¼ÓÓû§³ÌÐò£¬ ¼Çס²»ÒªÔÚ¶¨Ê±Æ÷ÖжÏÀïÌí¼ÓÌØ±ðºÄ&#

30、202;±µÄ³ÌÐò¡£*/call this routine to initialize all peripheralsvoid init_devices(void) /stop errant interrupts until set up CLI(); /disable all interrupts port_init(); timer0_init(); MCUCR = 0x00; GICR = 0x00; TIMSK = 0x03; /timer interrupt sources/*Õ

31、âÀïÉ趨ÔÊÐíTimer0±È½ÏÖжϺÍÒç³öÖжϡ£*/ SEI(); /re-enable interrupts /all peripherals are now initializedÏÂÃæÍ¨

32、5;ýÓÃͬÑùµÄ·½·¨²Ù×÷×öÒ»¸ö¡°Ð¡Ãë±í¡±£¬ LEDÿÃë¸üÐÂÒ»´Î£¬

33、Ч¹ûÈçÏÂͼ£º±¾³ÌÐòÎÒÃÇÓÃÁ˶¨Ê±Æ÷¶þ£¬ÒòΪtimer0ÊǰË붨Ê

34、±Æ÷£¬ÎÞ·¨Íê³ÉÒ»ÃëµÄ¶¨Ê±ÈÎÎñ¡£ÏÂÔØÏà¹ØÎļþ³ÌÐòÈçÏ£

35、º/ICC-AVR application builder : 2006-11-24 11:46:03/ Target : M16/ Crystal: 7.3728Mhz#include #include const led_table16=0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x88,0x86,0xc7,0xc4,0x83,0x8b;/ 0f/¶¨ÒåLEDµÄÊý¾Ý±í£¬&#

36、215;¢Ò⣬ֻÓÐ0µ½9ÊÇÕýÈ·µÄ£¬A-FÎÒûÓÐÈÏÕæÐ´¡£typedef unsigned char uint8;uint8 i;void port_init(void) PORTA = 0x00; DDRA = 0xF

37、F; PORTB = 0x00; DDRB = 0x00; PORTC = 0x00; /m103 output only DDRC = 0x00; PORTD = 0x00; DDRD = 0x00;/TIMER1 initialize - prescale:1024/ WGM: 0) Normal, TOP=0xFFFF/ desired value: 1Sec/ actual value: 1.000Sec (0.0%)void timer1_init(void) TCCR1B = 0x00; /stop TCNT1H = 0xE3; /setup TCNT1L = 0xE1; OCR1AH = 0x1C; OCR1AL = 0x1F;

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论