![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?8acaa2e)
No.2ベストアンサー
- 回答日時:
PICは1サイクルを4クロックで実行します。
従って1サイクル実行するには、50ns*4=200nsecです。CNT1;-----------カウント値1
CNT2;-----------カウント値2
L1;-------------ループカウンタ1
L2;-------------ループカウンタ2
とします。
MOVF CNT1,W;---------WにCNT1を読み込む(1)
MOVWF L1;-------------L1にCNT1をセット(2)
LB1
MOVF CNT2,W;---------WにCNT2を読み込む(3)
MOVWF L2;-------------L2にCNT2をセット(4)
LB2
DECFSZ CNT2,F;-------CNT2を減算、0ならスキップ(5)
GOTO LB2;------------(6)
DECFSZ CNT1,F;-------CNT1を減算、0ならスキップ(7)
GOTO LB1;------------(7)
RETUEN;---------------(8)
MOV命令は1サイクルです。
GOTO命令は2サイクルです。
DECFSZ命令はスキップする場合2サイクル、スキップしない場合は1サイクルです。
CNT2を調整して(3)~(6)で0.01mSECのwaitを作っておけば、CNT1を変更するだけで、0.08~0.3msecのwaitを作れます。正確さを求めるのであれば、内側ループ内にNOP命令などを入れて、若干調整が必要かもしれません。
No.1
- 回答日時:
;***************************
; Timer Subroutines
;***************************
; 0.4msec Timer Subroutine
TIM10
MOVLW 0F9H ;1
MOVWF CNT1 ;1+1=2
TIMLP1NOP
DECFSZ CNT1,F ;1+1+2=4
GOTO TIMLP1 ;2+4*249-1=997
RETURN ;997+1=998*0.4usec=0.4msec
下記のURLのサンプルから引っ張って来ました。
あとはご自身で宜しく。
参考URL:http://www.picfun.com/picframe.html
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- WordPress(ワードプレス) Wordpress 複数プラグインの不具合? 1 2022/10/09 21:52
- モニター・ディスプレイ 画像解像度について 4 2022/05/30 16:05
- PHP htmlspecialcharsが機能していないです。 バグですか? 1 2022/04/05 01:22
- その他(プログラミング・Web制作) Microsoft Forms とか、それに似たツールで計算をすることはできないか? 2 2023/01/14 11:26
- その他(プログラミング・Web制作) プログラムの勉強のおすすめは 7 2022/12/09 20:09
- モニター・ディスプレイ 自室のモニターのみ目が疲れる原因が知りたい。 3 2022/12/17 19:59
- その他(パソコン・スマホ・電化製品) エクセル初心者です。 仕事でエクセルを使っていて、普段は素人でもできる簡単な関数を使ったことがある程 1 2022/05/25 11:17
- C言語・C++・C# C言語 3 2022/10/04 15:07
- Windows 10 Windows10搭載の画面録画 容量を小さくする方法ありますか? 3 2022/06/21 09:45
- その他(プログラミング・Web制作) プログラムの起動、利用について、使用期間を設定する方法 3 2023/08/06 21:03
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
画面を強制的に再描画させる方法
-
csh foreachで「*」でエラ...
-
GIFアニメをループさせたくない
-
UWSCの終了の仕方
-
多重ループの抜けだし方
-
アセンブラによるウェイト(WAIT...
-
フラグについて
-
DOSコマンドのループ内のTIMEコ...
-
ボタンが押された時にループか...
-
CSVファイルの特定の行だけを読...
-
Escキーを押すと、中断する時と...
-
CやJAVa,Rubyなどプログラミン...
-
イベントの発生を待つ
-
.htaccessがループしてる?それ...
-
vbscriptでIE自動入力(途中で...
-
テキストボックスの名前に変数...
-
DoEventsが必要な理由について
-
objective-cの多重ループbreak
-
データベースをEOFまでループさ...
-
EXCEL VBA ユーザーフォームの...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
画面を強制的に再描画させる方法
-
VBAでの一時停止と再開の方法
-
UWSCの終了の仕方
-
DoEventsが必要な理由について
-
VBAで3秒だけ時間を止めたい
-
範囲指定したセルを1つずつ飛...
-
Escキーを押すと、中断する時と...
-
DOSコマンドのループ内のTIMEコ...
-
vbscriptでIE自動入力(途中で...
-
乱数の桁数指定、または範囲指定。
-
GIFアニメをループさせたくない
-
プログラミングについて。 1つ...
-
テキストボックスの名前に変数...
-
エクセルの当番表を作っていま...
-
vb.netからエクセル関数書き込み
-
ループフリー
-
CSVファイルの特定の行だけを読...
-
VBA for i=1 to lastrow
-
どなたかこのプログラミングを...
-
Do whileでExitせず、ループの...
おすすめ情報