無安定マルチバイブレータの続きです。トラ技9月号のマルチテスターキットで色々な波形を見ようとしています。
PWDのduty比を時間で変化させています。
goo blogの動画アップロードを使ってみました。動画を見るというリンクをクリックすると動画が(たぶん)見れるはずです。firefoxでは見れませんでしたが、internet explorerだと見れました。
元が携帯で撮っていてしょぼいので、あんまりよく分からないですね。
左のLEDがぼわーっと点いてぼわーっと消えるを繰り返しています。そのときのLEDのアノードの電圧をマルチテスターキットで見ています。パルスの幅が広がって縮んでを繰り返しています。
9/6 追記 使ったマイコンはMSP430F2013です。ソースを貼っておきます。<と>が全角になっています。
dutyという変数が100→1900(増加)→100(減少)と増減を繰り返します。MSP430の動作周波数が1MHzなので100が0.1m秒、1000が1m秒になります。
PWDのduty比を時間で変化させています。
goo blogの動画アップロードを使ってみました。動画を見るというリンクをクリックすると動画が(たぶん)見れるはずです。firefoxでは見れませんでしたが、internet explorerだと見れました。
元が携帯で撮っていてしょぼいので、あんまりよく分からないですね。
左のLEDがぼわーっと点いてぼわーっと消えるを繰り返しています。そのときのLEDのアノードの電圧をマルチテスターキットで見ています。パルスの幅が広がって縮んでを繰り返しています。
9/6 追記 使ったマイコンはMSP430F2013です。ソースを貼っておきます。<と>が全角になっています。
#include <msp430x20x3.h> void main(void) { register int i; int duty = 100; int delta = 100; WDTCTL = WDTPW + WDTHOLD; // WDT停止 P1DIR |= 4; // P1.2を出力にする P1SEL |= 4; // P1.2をTA1にする CCR0 = 2000 - 1; // PWM周期(500Hz ... 2ms) CCTL1 = OUTMOD_7; // CCR1 reset/set CCR1 = duty; // CCR1 PWM duty cycle TACTL = TASSEL_2 + MC_1; // SMCLK, up mode while(1){ for(i = 0; i < 5000; i++) ; if(duty >= 1900) delta = -100; if(duty <= 100) delta = 100; duty += delta; CCR1 = duty; } }
dutyという変数が100→1900(増加)→100(減少)と増減を繰り返します。MSP430の動作周波数が1MHzなので100が0.1m秒、1000が1m秒になります。