📢 Webサイト閉鎖と移転のお知らせ
このWebサイトは2026年9月に閉鎖いたします。
新しい記事は移転先で追加しております。(旧サイトでは記事を追加しておりません)
編集の要約なし |
細 文字列「</source>」を「</syntaxhighlight>」に置換 |
||
| (同じ利用者による、間の4版が非表示) | |||
| 81行目: | 81行目: | ||
| ピン出力 || OCR0A<br>OCR0B || OCR1A<br>OCR1B || OCR2A<br>OCR2B | | ピン出力 || OCR0A<br>OCR0B || OCR1A<br>OCR1B || OCR2A<br>OCR2B | ||
|- | |- | ||
| ピン名 || PD6(OCR0A)<br>PD5(OCR0B) || PB1(OCR1A)<br>PB2( | | ピン名 || PD6(OCR0A)<br>PD5(OCR0B) || PB1(OCR1A)<br>PB2(OCR1B) || PB3(OCR2A)<br>PD3(OCR2B) | ||
|} | |} | ||
</center> | </center> | ||
| 105行目: | 105行目: | ||
|- | |- | ||
| | | | ||
! colspan="2" | PWM出力方法(コンペアマッチA)<br>出力ピン : OCR0A | ! colspan="2" | PWM出力方法(コンペアマッチA)<br>出力ピン : OCR0A(PD6) | ||
! colspan="2" | PWM出力方法(コンペアマッチB)<br>出力ピン : OCR0B | ! colspan="2" | PWM出力方法(コンペアマッチB)<br>出力ピン : OCR0B(PD5) | ||
! 設定なし | ! 設定なし | ||
! 設定なし | ! 設定なし | ||
| 159行目: | 159行目: | ||
! colspan="5" | WGMの役割 タイマモード設定 | ! colspan="5" | WGMの役割 タイマモード設定 | ||
|- | |- | ||
! WGM02 !! WGM01 !! | ! WGM02 !! WGM01 !! WGM00 !! 動作モード !! TOP | ||
|- | |- | ||
| 0 || 0 || 0 || 標準 || 0xFF | | 0 || 0 || 0 || 標準 || 0xFF | ||
| 167行目: | 167行目: | ||
| 0 || 0 || 1 || 位相基準PWM || 0xFF | | 0 || 0 || 1 || 位相基準PWM || 0xFF | ||
|- | |- | ||
| 1 || 0 || 1 || 位相基準PWM || | | 1 || 0 || 1 || 位相基準PWM || OCR0A | ||
|- | |- | ||
| 0 || 1 || 0 || CTC || | | 0 || 1 || 0 || CTC || OCR0A | ||
|- | |- | ||
| 1 || 1 || 0 || 予約 || - | | 1 || 1 || 0 || 予約 || - | ||
| 175行目: | 175行目: | ||
| 0 || 1 || 1 || 高速PWM || 0xFF | | 0 || 1 || 1 || 高速PWM || 0xFF | ||
|- | |- | ||
| 1 || 1 || 1 || 高速PWM || | | 1 || 1 || 1 || 高速PWM || OCR0A | ||
|} | |} | ||
</center> | </center> | ||
| 222行目: | 222行目: | ||
|- | |- | ||
| | | | ||
! colspan="2" | PWM出力方法<br>(コンペアマッチA)<br>出力ピン : OCR1A | ! colspan="2" | PWM出力方法<br>(コンペアマッチA)<br>出力ピン : OCR1A(PB1) | ||
! colspan="2" | PWM出力方法<br>(コンペアマッチB)<br>出力ピン : OCR1B | ! colspan="2" | PWM出力方法<br>(コンペアマッチB)<br>出力ピン : OCR1B(PB2) | ||
! 設定なし | ! 設定なし | ||
! 設定なし | ! 設定なし | ||
| 251行目: | 251行目: | ||
<center> | <center> | ||
{| class="wikitable" | {| class="wikitable" | ||
! colspan="9" | TCCR1B | ! colspan="9" | TCCR1B タイマ1設定レジスタ | ||
|- | |- | ||
| | | | ||
| 278行目: | 278行目: | ||
! colspan="6" | WGMの役割 タイマモード設定 | ! colspan="6" | WGMの役割 タイマモード設定 | ||
|- | |- | ||
! WGM13 !! WGM12 !! WGM11 !! | ! WGM13 !! WGM12 !! WGM11 !! WGM10 !! 動作モード !! TOP | ||
|- | |- | ||
| 0 || 0 || 0 || 0 || 標準 || 0xFFFF | | 0 || 0 || 0 || 0 || 標準 || 0xFFFF | ||
| 487行目: | 487行目: | ||
なお、PORTB = 0b00000001とすることで、PB0のプルアップが有効になるので、プルアップ抵抗を付ける必要はない。<br> | なお、PORTB = 0b00000001とすることで、PB0のプルアップが有効になるので、プルアップ抵抗を付ける必要はない。<br> | ||
<br> | <br> | ||
< | <syntaxhighlight lang="c++"> | ||
// タイマ0 : 8bit : 0 - 255 | // タイマ0 : 8bit : 0 - 255 | ||
// タイマ1 : 16bit : 0 - 65535 | // タイマ1 : 16bit : 0 - 65535 | ||
| 553行目: | 553行目: | ||
return 0; | return 0; | ||
} | } | ||
</ | </syntaxhighlight> | ||
<br> | <br> | ||
===== PWMの設定 ===== | ===== PWMの設定 ===== | ||
| 580行目: | 580行目: | ||
タイマ割り込みでデューティ比を変化せるプログラムを以下に記述する。<br> | タイマ割り込みでデューティ比を変化せるプログラムを以下に記述する。<br> | ||
PWMの周期を2048[us]、12.5[ms]ごとに割り込みを発生させて、デューティ比を0.78と0.04に切り替える。<br> | PWMの周期を2048[us]、12.5[ms]ごとに割り込みを発生させて、デューティ比を0.78と0.04に切り替える。<br> | ||
< | <syntaxhighlight lang="c++"> | ||
#include <avr/io.h> | #include <avr/io.h> | ||
#include <util/delay.h> | #include <util/delay.h> | ||
| 633行目: | 633行目: | ||
} | } | ||
} | } | ||
</ | </syntaxhighlight> | ||
<br><br> | <br><br> | ||
__FORCETOC__ | __FORCETOC__ | ||
[[カテゴリ:AVR]] | [[カテゴリ:AVR]] | ||