欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 5601|回復: 0
收起左側

avr單片機 Mega16定時器實驗報告

[復制鏈接]
ID:358936 發表于 2018-6-26 00:14 | 顯示全部樓層 |閱讀模式
1  實驗目的
通過實驗,掌握定時器的使用方法。著重掌握定時中斷的使用!
2  實驗內容
  • 使用Mega16單片機的timer0產生1ms間隔的定時中斷(建議采用application builder,既可以用Normal工作模式也可以使用CTC模式),(1)在定時中斷中實現4位數碼管的動態刷新。(2)在1ms的定時中斷中設計100mS的時間標志位,在主程序中查詢時間標志位,實現LED閃爍。
2、 重新配置TImer0工作在PWM模式,用按鍵改變PWM的占空比,調節電機轉速;
3  實驗預習要求
仔細閱讀教材中定時中斷的范例;
4        實驗步驟
1、啟動ICCAVR,創建一個工程文件,配置timer0,實現10ms的定時中斷,采用Application Builder來生成初始化代碼。注意:本次實驗使用的IO口也要初始化,包括數碼管驅動所使用的IO,按鍵等
2、在定時中斷中實現四位數碼管的定時刷新(注:要使用上次實驗課的HC595的驅動),并在定時中斷中實現100ms的時間標志(時標),在主程序中查詢時標,實現led(PORTC口任何一個LED都可)閃爍;
3、重新配置TImer0工作在PWM模式,初始占空比設置為10%,然后使用按鍵INT1(在原理圖中為SW8,連接到了單片機的PD3引腳上』來改變占空比,例如每按一次按鍵,占空比增加10%。
注:實驗中要使用的管腳有:PD4、PD5、PD6、PD7、PB0、PB1、PA0,PD3,各管腳連接請參照原理圖。


實驗三 定時器應用實驗

報 告 內 容

1  實驗目的

   通過實驗,掌握定時器的使用方法。著重掌握定時中斷的使用!

2  實驗內容

    1、使用Mega16單片機的timer0產生1ms間隔的定時中斷(建議采用application builder,既可以用Normal工作模式也可以使用CTC模式),(1)在定時中斷中實現4位數碼管的動態刷新。(2)在1ms的定時中斷中設計100mS的時間標志位,在主程序中查詢時間標志位,實現LED閃爍。
2、重新配置TImer0工作在PWM模式,用按鍵改變PWM的占空比,調節電機轉速;

3  使用Mega16單片機的timer0產生1ms間隔的定時中斷(建議采用application builder,既可以用Normal工作模式也可以使用CTC模式),寫出采用的工作模式,以及定時器各個寄存器的值。


  1. #include <iom16v.h>
  2. #include <macros.h>

  3. void port_init(void)
  4. {
  5. PORTA = 0x00;
  6. DDRA  = 0x00;
  7. PORTB = 0x00;
  8. DDRB  = 0x00;
  9. PORTC = 0x00; //m103 output only
  10. DDRC  = 0x00;
  11. PORTD = 0x00;
  12. DDRD  = 0x00;
  13. }

  14. //TIMER0 initialize - prescale:8
  15. // WGM: CTC
  16. // desired value: 1000Hz
  17. // actual value: 992.063Hz (-0.8%)
  18. void timer0_init(void)
  19. {
  20. TCCR0 = 0x00; //stop
  21. TCNT0 = 0x83; //set count計數
  22. OCR0  = 0x7D;  //set compare匹配
  23. TCCR0 = 0x0A; //start timer
  24. }

  25. //call this routine to initialize all peripherals
  26. void init_devices(void)
  27. {
  28. //stop errant interrupts until set up
  29. CLI(); //disable all interrupts
  30. port_init();
  31. timer0_init();

  32. MCUCR = 0x00;
  33. GICR  = 0x00;
  34. TIMSK = 0x00; //timer interrupt sources
  35. SEI(); //re-enable interrupts
  36. //all peripherals are now initialized
  37. }
復制代碼

4  在定時中斷中實現4位數碼管的動態刷新。(只寫出定時中斷相關的代碼,本部分要借用上次實驗課實現的HC595的驅動函數)

5、在1ms的定時中斷中設計1000mS的時間標志位,在主程序中查詢時間標志位,秒表功能。(只寫定時中斷服務程序和實現秒表的功能代碼)


完整的Word格式文檔51黑下載地址:
實驗三 定時器實驗.doc (62 KB, 下載次數: 13)



回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表