PIC初心者です。 PIC16F88のLED制御で以下のプログラムを実行すると点滅を繰り返します。
意図としては1度だけ光って消えてほしいのですが…
CONFIG部分がおかしいのでしょうか?
環境として、PCはVista、MPLABとPICkit2を使用しています
お分かりになる方、お願いいたします。
以下ソースです
LISTP=PIC16F88
INCLUDE"P16F88.INC"
__CONFIG _CONFIG1, _INTRC_IO & _CP_OFF & _CCP1_RB0 & _DEBUG_OFF & _WRT_PROTECT_OFF & _CPD_OFF & _LVP_OFF & _BODEN_OFF & _MCLR_OFF & _PWRTE_ON & _WDT_OFF
__CONFIG _CONFIG2, _IESO_OFF & _FCMEN_ON
BSFSTATUS,RP0
CLRFTRISB
BCFSTATUS,RP0
BCFSTATUS,0
CLRFPORTB
MAIN
BSFPORTB,0
NOP
NOP
NOP
(以下、NOPが100個ほど)
NOP
BCFPORTB,0
END
No.1ベストアンサー
- 回答日時:
END命令は議事命令といわれており、CPUに実行停止を命令するのではなく、コンパイラに対してコードの終端を明示しているだけです。
下記URLのコードを参考にしてみては如何でしょうか?
http://homepage1.nifty.com/rikiya/software/310pi …
プログラムの最後でループしているだけですが。
No.3
- 回答日時:
MAIN
BSFPORTB,0
NOP
NOP
NOP
(以下、NOPが100個ほど)
NOP
MAIN1
BCFPORTB,0
GOTO MAIN1
END
______________________________________¥
BSF PORTB,0がNOP100個分続いたあとに
BCF PORTB,0になって電源オフまでそこを繰り返すというプログラムです。
貴方のプログラムは途中で終わっている状況です。
エンドレスにしないとプログラムとして成立しません。
No.2
- 回答日時:
コンフィグについては、ハードウェアに依存するので
この質問だけでは私は判りません。
ひとつ問題なのは
クロックを最大の20MHZで動作させているとするとNOP命令1個に実行時間は50nsec.です。したがってそれを100個並べても5μsec.強にしかなりません。LEDの容量(キャパシタンス)と電流制限抵抗のCR積による時定数の問題で光らないか、光ったとしても人間の目で識別するのは不可能でしょう。
ループ10万回実行するか、マイコンの勉強ということであればタイマーを使用すべきです。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・人生のプチ美学を教えてください!!
- ・10秒目をつむったら…
- ・あなたの習慣について教えてください!!
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・【大喜利】【投稿~9/18】 おとぎ話『桃太郎』の知られざるエピソード
- ・街中で見かけて「グッときた人」の思い出
- ・「一気に最後まで読んだ」本、教えて下さい!
- ・幼稚園時代「何組」でしたか?
- ・激凹みから立ち直る方法
- ・1つだけ過去を変えられるとしたら?
- ・【あるあるbot連動企画】あるあるbotに投稿したけど採用されなかったあるある募集
- ・【あるあるbot連動企画】フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
- ・映画のエンドロール観る派?観ない派?
- ・海外旅行から帰ってきたら、まず何を食べる?
- ・誕生日にもらった意外なもの
- ・天使と悪魔選手権
- ・ちょっと先の未来クイズ第2問
- ・【大喜利】【投稿~9/7】 ロボットの住む世界で流行ってる罰ゲームとは?
- ・推しミネラルウォーターはありますか?
- ・都道府県穴埋めゲーム
- ・この人頭いいなと思ったエピソード
- ・準・究極の選択
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Macターミナルで実行中のプログ...
-
VBAで外部プログラムを非表示で...
-
sendkeysにてALT+CTRL+INSERTを...
-
ヘッダファイル? malloc.hと...
-
Windows10でDOSゲーム
-
並列計算をしたときのシステム...
-
VB6とExitProcess
-
vba GetAsyncKeyState関数について
-
他のPC上にあるexeを、そのP...
-
clock関数は正確じゃないの?
-
C言語でコマンドラインのカレン...
-
value=(*func)(*ax)
-
Cの本を読んでいて・・・
-
構文エラーについて教えてください
-
Spybotというソフトで免疫を実...
-
メトロノームが一定のリズムで...
-
バックグラウンドのプロセスの...
-
VBAの配列サイズとメモリに関して
-
アセンブラのタイマー割り込み
-
C++でシェルを起動
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Macターミナルで実行中のプログ...
-
sendkeysにてALT+CTRL+INSERTを...
-
並列計算をしたときのシステム...
-
VBAで外部プログラムを非表示で...
-
プロセス間通信について
-
C言語でプログラムを再起動
-
他のPC上にあるexeを、そのP...
-
Windows10でDOSゲーム
-
C言語でフォルダを開く
-
C言語で途中までしか、プログラ...
-
system関数を使用してsuコマン...
-
アクセス[ファイルを開かずに、...
-
終了してもプログラムが実行し...
-
実行中の実行ファイルの上書き
-
プログラムを走らせる
-
実行時エラー429
-
RPG パラメーターについて
-
MACで動く実行ファイルをWindow...
-
VB上で実行中の無限ループの止め方
-
他の実行ファイルを実行するプ...
おすすめ情報