Sahara's WebLog

日記のような、備忘録のような、うらみつらみのような、自慢のような…。

はじめてmikroBASICを使ってみた

mikroBASIC Pro for PICというのがあるらしいという情報をつかんで検索をかけたらDANGAN4さんのところの「PICを始めよう」を見つけたので勝手に参考にさせていただくことにした。
初めのうちはほとんどパクリのような状態なので、本家をお訪ねになることを推奨する(私に言われるまでもないだろうが)。
mikroBASIC Proをもらってきてインストールするまでは何も問題がないので省略し、実際にプログラムを始める。

環境
PIC : PIC12F675
Compiler : mikroBASIC Pro version 5.40
Writer : PICKit3 + Handmade Adapter + PICKit3 Programmer
OS : Windows7 Pro 64BIT

mikroBASIC001
mikroBASIC002
mikroBASIC003
mikroBASIC004
mikroBASIC005
mikroBASIC006

赤線を引いた部分はDefaultから設定を変更したところ。
mikroBASIC007-2

program LED001

‘ Declarations section

main:
‘ Main program
CMCON = %00000111 ‘ Comparater is not Use
TRISIO = %00101000 ‘ GP0,1,2,4 is OUT
ANSEL = %00000000 ‘ A/D is not Use
mLoop:
GPIO = %00111110 ‘ GP0 = Low, Other = High
Delay_ms(1000) ‘ 1000mS Wait
GPIO = %00111101 ‘ GP1 = Low, Other = High
Delay_ms(1000) ‘ 1000mS Wait
GPIO = %00111011 ‘ GP2 = Low, Other = High
Delay_ms(1000) ‘ 1000mS Wait
GPIO = %00101111 ‘ GP4 = Low, Other = High
Delay_ms(1000) ‘ 1000mS Wait
goto mLoop
end.

アセンブラは昔ポケコンでやったっきりだし、Cはグダグダなので、PIC用の命令がチンプンカンプンだとはいってもなんかBASICは安心できる。もっとも、BASICだってCよりゃあちったあましという程度だが。


エラーが出た。
DANGAN4先生のソースをコピペしたときに余分なコードが入ったらしい。
直したら、無事コンパイルが完了した(上のコードは訂正済み)。

ただこれ、じっさいにブレッドボード上に回路を組んで動かすと、はじめの数回はプログラムどおりの点滅をするが、そのうち不安定になって止まる。
どこに問題があるのかはまだわかっていないが、一番可能性が高いのはブレッドボードの接触不良だ。
追記1
Edit Projectでの各種設定を上の図のようにしたところ(以前はどうだったか良くわからなくなったが)不安定な挙動はまったく無く、非常に安定するようになった。
ブレッドボードさん、疑ってごめんなさい。
追記2
ピン4はMCLR(Master Clear = リセットのことらしい)として働き、外部リセット信号を入力できるが、使わない時はVccに接続する必要がある。配線が面倒だったり使わないならMCLRをDisableにしておくのがいい。
らしい。
今回使った回路では4ピンはどこにも接続されていないので、MCLRをDisabledにしなければいけなかったのに、そうしなかったために動作が不安定になった。
事実、この設定を直してからは、もう数時間もまったく安定して同じ動作をずっと繰り返している。
このあたりを調べた結果の自分なりの解釈はこちらに書いた
一度PICの基本をちゃんと勉強しなきゃなあ(それが当たり前)。

最終的な回路図

このエントリーをはてなブックマークに追加

Posted under: mikroBasic


コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

Time limit is exhausted. Please reload CAPTCHA.