ブランド 買取
日常で気になった事発信してみます。 まぁ 気になったのも気のせいでしょう。

PIC 12F675利用での注意(反省)点

昨晩から12F675を弄っていたのだけど、
何点か手こずった点があったので忘れないうちにまとめておきます。

手こずった点
1.久しぶり過ぎて環境を思い出せないw
2.内部クロックを使う設定がうまくいかない
3.出力が思うようにいかないピンがある
4.AD変換の使い方

1.
自分の過去の記事を参照にして(GJ 書いててよかった(^_^;))
コンパイラは「mikroC」
書き込みは「PICProg4U」 を利用していた事が判明!
パソコン内を探したところ、
過去に作ったコード、デバイスの自分用設定値ともに無事発掘。

PICProg4では、
設定プログラマ⇒JDCプログラマ
デバイス    ⇒PIC12F675
のみ設定変更

今度USBメモリでも買って、ツール一式を入れておくようにしよう。


2.
プログラムを書きこんで回路を動作させても反応なし
全IOポートをオンオフするプログラムでもどのポートも反応なし
これはクロックが発生していないと判断して調査を開始。

「mikroC」のConfig設定で


・_HS_OSC
・_INTRC_OSC_CLKOUT
を同時に設定してしまっていたせいで _LP_OSC の設定として出力されていた様子


PICの仕様書
REGISTER 9-1: CONFIG . CONFIGURATION WORD 
の項を参照すれば一目瞭然で判るのですが

mikorCのぽちぽち選択する方式しか見ていなかったので
4Mhz ⇒ HS
内部  ⇒ INTRC  と思わず両方設定してしまっていました。

注意点:OSC絡みの項目は どれか一つだけを選択します。


3.
GPIO.3の出力が全くされていません。
仕様書をよくみると GPIO.3 は入力専用PINです。(I/Oじゃ無いやん!)

REGISTER 3-2: TRISIO の項辺りに
Note: TRISIO<3> always reads 1
The exception is GP3, which is input only and its
TRISIO bit will always read as '1'. Example 3-1 shows
how to initialize GPIO.

しょうがないので今回SWのinputピンに割り当てました。

次に、GPIO.0 GPIO.1 の出力が弱い・・・・
んーコレは悩みました。 12F629ではこんな事なかったから・・・
ということは 629との差分機能に関することか! と思い至り調べたら
12F675では
デフォルトで GPIO0 と GPIO1 のピンがコンパレータに接続されています。

6.2 Comparator Configuration の項で CMCON 下3桁 000 の場合を参照

何も追加機能をデフォルト設定にしなくてもいいじゃないですか(涙)
12F629からプログラムを移植する人! CMCONは必ず設定すること!!
コンパレータを利用するとき以外は
CMCON = 0b00000111  を設定する事!!

これで無事思ったとおりの出力を得られました。


4.
まぁこれは手こずったというか、
最初 ADCON0 レジスタを操作して
ゴチャゴチャやっていてめんどうだな~(-_-;) と思っていました。

ところが! 途中でmikroC のライブラリで Adc_Read というLibraryを発見!
コレは凄いです。

今までの ポート充電、取得命令、ウェイト、計測 の作業を
変数 = Adc_Read(取得したいポートの番号); ※変数は unsigned int で用意
の1文で完了です。 あまりの事に笑ってしまいましたw

肝の部分
TRISIO = 0b00000001;   ?インプットピンにして置くこと
ANSEL = 0b01000001; ?ADピンの宣言をして置くこと
ADCON0.VCFG = 0; ?PICの電源を比較対象とする
ADCON0.ADFM = 1; ?取得結果(10bit)を右詰に
PWM_wid1 = Adc_Read(2);

これで無事取得。


以上の点をクリアして在順調に開発作業を継続中。
プログラムした内容が
素直に回路で動作してくれるようになればこっちのもんです。

今回は完全に私のメモでしたね (`・ω・´)ゞ


お願い

    私への連絡は Twitterでお願いします。
    適当にリプライいただければ、ほぼリプ返しいたします。
    yohsuke_Goをフォローしましょう

今までの内容を下にまとめサイトをつくりました。

    いろいろ実験
    iPhone、ブログの小技、花粉症対策、電子書籍化
    何でもござれ。