SOGO論壇

標題: AVR ATmega16 產生 三角波 [列印本頁]

作者: if8051    時間: 2013-11-3 08:21:32     標題: AVR ATmega16 產生 三角波

對應累積式的功率驅動元件如電熱絲,燈光亮度,直流馬達速度控制 ...
都可以透過 PWM 的輸出加以驅動控制 。

ATmega16 內 64 個 I/O Register 的 OCR1A : Output Compare Register 1 A
只要改變 OCR1A 的值就能控制 pin 19 (OC1A)PD5 引腳上的 duty cycle 占空比;
改變 delay_ms( ) 內的 argument 就可以改變 三角波 的頻率 。

主要程式:
  1.     while (1)
  2.     {
  3.         for(i=0; i<255; i++)
  4.         {
  5.             OCR1A = i;
  6.             delay_ms(1);
  7.         }
  8.         for(i=255; i>0; i--)
  9.         {
  10.             OCR1A = i;
  11.             delay_ms(1);
  12.         }
  13.     }
複製代碼




附件: 1.jpg (2013-11-3 08:14:24, 173.58 KB) / 下載次數 6
https://oursogo.com/forum.php?mod=attachment&aid=NzAxOTAyMXxlYzBkY2IzMHwxNzM4ODY4MDQ5fDB8MA%3D%3D




歡迎光臨 SOGO論壇 (https://oursogo.com/) Powered by OURSOGO.COM