■ トピック関連記事
すみません 投稿者:yas 投稿日:2007/12/04(Tue) 00:20 No.706

なんか初心者のマイコンQ&Aみたいになっていますね〜
やっとTIMR0の割り込みソフト見つけました ^^;
いろんな人が説明してくれているのですがどれも解らなくて
今日、わりと初心者に解りやすく書かれているサイトをみつけました
近日中にタイマーを使ったLED点滅が出来そうです^^

Re: すみません - yamasan   2007/12/05(Wed) 02:55 No.707
ソフトの作成環境が違うので直接は答えられませんが、内容が判ればいつでもOKです。
なんとか出来ました - yas   2007/12/05(Wed) 10:09 No.708
何とか出来たのですが例のごとく切り貼りなので
内容がすべて理解したわけではありません
周期的な割り込みはどうすればいいのかな?
添付ファイルって テキストも添付できます?

やはり テキストは無理ですね
テキストファイルの添付 - yamasan   2007/12/05(Wed) 13:47 No.709
 ファイルの拡張子を ".txt"に変更してから添付するとOKでした。

[添付]: 204 bytes

ほんとだ! - yas   2007/12/05(Wed) 16:23 No.710
ちゃんと添付できますね ^^
今現状のソフト添付します
オシロで見ると250μsごとに割り込みが入っているのが見えます

[添付]: 3599 bytes

Re: すみません - yamasan   2007/12/05(Wed) 19:40 No.711
OPTION レジスタの設定で TMR0 の前に 1/2 のプリスケーが入っているので
このくらいの定数になるのですね。

なお、割込みの中で TMR0に加算する部分は少しいい方法があるので添付しておきます。

[添付]: 800 bytes

Re: すみません - yas   2007/12/06(Thu) 00:41 No.712
ホントだ! 2命令でいけますね。
もう少し勉強すると基本的な部分でも色々改善できそうですね。

今度割り込み内でパルス幅を計測したいのですが、カウンターを使って計るしかないですよね〜
Re: すみません - yamasan   2007/12/06(Thu) 01:22 No.714
 測定するパルス幅の分解能が割込み周期間隔でOKなら
入力ポートがオンの期間のみメモリをインクリメント(+1)
していけばOK。
 この場合、8ビットの演算で済ませる場合で割込み周期を
100[uS] に設定したとすると
 ・測定最大パルス幅: 100[uS] * 255 = 25.5[mS]
 ・測定分解能   : 100[uS]

となります。16ビット演算をするなら
 ・測定最大パルス幅: 100[uS] * 65535 = 6.5535[S]
 ・測定分解能   : 100[uS]

16ビットのインクリメントはそんなに面倒ではないですが、
後で実際に使用する場合、16ビットの比較ルーチンなども
必要になると思われます。
処理 記事No 暗証キー

- Joyful Note -