2011-06-01から1ヶ月間の記事一覧
初期表示は意外と簡単に出ましたが、 i2cのスレーブ動作はダメ。LCD画面にCCP受信情報をダンプする ことにします。PICFUN掲載のストロベリーリナックス液晶試験表示用のプログラムを走らせ、横からモニターします。受信文字数とか、1バイト目から順々に出し…
ここでちょっと脱線。PIC12F1822を買って あったのを思い出し、PICKIT2がこの新し いPICシリーズに対応するようにします。 まずはMicrochipのホームページのPICKIT2 の頁に行きます このデータファイルをダウンロードして適 当なディレクトリーで解凍します…
久しぶりにアキバへ出撃。といってもお出 かけ途中に立ち寄っただけです。帰宅して 買い物を出そうとしたら、家内から 「チャブクロだ、ジャンクだ」 とチェックされてしまいました。喜び勇ん で買って来るものの、買ったものの2,3割 は未活用。反省です。 B…
まずは液晶接続接続は以前使ったLCD関数 を取り出してきます。液晶に初期表示を出 し、その後i2cスレーブ動作に取り掛かる ことにします。LCDは手持ち在庫のSC2402 を使います。SC1602とは電源グランドのピ ン#が反対接続なので注意が必要です。 以前反対に…
まずは回路図です。4ビットモードで、2402 液晶をつながねばならないので、いつもの8P のシリーズでは信号線が足りませんからまず はPIC16F88を使うことにします。PIC16F88で CCPを使うにはSCLがRB4,SDAがRB1と指定され ています。以前4ビットモードで液晶つ…
PIC16F88のマニュアルを読みながら、勉強 中です。今日はそのテキスト説明で最後4 回目になります。SSPの使い方の次はアドレッシングとライト 動作の解説です。これで一通りのSSPを使用 したスレーブ動作がわかったということに して実験に取り掛かります。 …
SSPにおけるI2Cの使い方, 次はアドレッシングとライト動作解説です。
SSPのI2C通信への使い方、次はスレーブ動作の解説です。 SSPでSTART/STOPコンディッション検知とか、 アドレス一致とか、〜ACK返答とか、ビット 単位のSCL同期をやってくれるようです。 MPUはバイト単位で面倒を見る(割り込みで) お約束です。
次にはi2cのスレーブを試作してみること にしました。まずはPIC16F88のシリコン マニュアルにSSPの使い方が載っていたの で、それをお勉強しました。紹介します。
実験用の小道具紹介です。これはまあ、 子供だまし内容ですね。 ブレッドボード実験中並列PICポート 状態をLEDでちょっと監視してみたい 時があります。そんなときのために 作りました。表面実装LEDと抵抗4.7k オームです。 This is a trifle tool for chec…
いつものようにホームページへ記載しました。 http://chitose6thplant.web.fc2.com/ 左側「PIC12F・・」 →「PIC12F683電池駆動簡易カウンタの実験」 です。I resumed the report of PIC12F683 simple frequency counter on the WEB. Sorry such is Japanese …
当初バッテリー2本2.6Vで何とか動作 させられないか試しましたが、LCD コントラスト取れず断念しました。 結局バッテリー3本約3.8Vで動かしま した。カウンタ値そのまま表示してい るため最下位1ディジットが動いてし まいます。ゲートタイムをもう少…
PIC12F683のバッテリー動作するという簡 易カウンタに移植したi2c関数です。(HI-TECH C) MAIN関数 http://chitose6thplant.web.fc2.com/pic12f/683_i2c_cnt/683_cnt_lcd_main_c.pdf 従来LCD制御関数をi2c経由にした http://chitose6thplant.web.fc2.com/pic1…
あとさきになってしまいましたが、PIC12F683 によるバッテリー駆動LCD表示簡易カウンタの 仕様です。
続いて、PIC12F683のバッテリー動作する という簡易カウンタに移植します。まず は回路図はこれです。 I applied these i2c functions on battery operated simple frequency counter. The conventional LCD as SC1602 could be turned on 5V, however i2c i…
PIC12F683に移してみます。なんなく動き ました。
いつものようにWEB記載です。http://chitose6thplant.web.fc2.com/ 左側「実験用チップス」 →「i2c接続関数試作その1(LCDへ書き込み)」です。 使用しているコンパイラはHI-TECH C LITE版の 少し古いバージョンです。
今回のPICKIT2のLOGIC TOOL利用で活躍?し たのが、このミノムシクリップハーネスで す。長さが長くて絶縁部分が2段になったシ ングルラインのヘッダに線をハンダ付けし ただけです。LOGIC TOOLはグランドだけで なく、電源のプロービングが必要です。 今回…
PIC16F88を使用したi2cを使う関数プロ グラムです。 実験用PIC16F88回路でMainから従来作った LCD表示ルーチン関数lcd_i2c_func.cを呼 びます。その下に今回試作したi2c.cがあ ります。#defineでバーチャルに定義して いるためか、スタックを5つぐらい使いま…
PIC16F88にI2CインターフェイスLCD(スト ロベリーリナックス社)をつないでi2C関 数を作る実験の回路図です。 This is a trial circuit for i2c master functions connecting to LCD of i2c slave. C language is HI-TECH C lite and for PIC16F88.
動きましたあー。真似したルーチンはマル チマスター対応、更にソフト方式とハード SSP方式コンパイラオプションなので、 ちょっと身に余る複雑構造でした。更に WRITE/READデバイス用両方を網羅しており、 デバッグも苦労しました。まずはマルチマ スターと…
動きませんので、デバッグ用のメモを作ります。 図中アドレス0x7Fは0x7Cの間違いです。 関数呼びはかなりスタックが深い。 Lcd_init(); > lcd_cmd(**); -> i2c_writeto(0X7F); -> i2c_open(**,i2c_write(*)); -> i2c_start;,i2c_sendaddres(0x7F);,i2c_rea…
LOGIC TOOLで見た感じそんなにはずれで はない感じです。ひとつひとつビットを 追いますが、おかしくなさそうだし、大 体、LCD側からACKが返っているし、LCD イニシャルできて表示はでますし、輝度 コマンド変えたら変わったし・・・しか し表示文字がおかし…
PICKIT2のLOGIC TOOLを久しぶりに触りま した。とりあえず、一番始まりをキャプ チャします。 STARTコンディションはOKなようです。 LCDのアドレス0x7Cも出ているし、 (画像中の記述0x7Fは間違いです。→正0x7C) ACKも返ってます。 STOPコンディションの方…
関数一覧に沿ってサンプルプログラムを参 考に作ってみましたが、当然ながら動きま せん。 I2cの状態遷移図を頭に入れてPICKI2のロ ジックツールを用いてデバッグすることに します。 まずは接続用にハーネスを作ります。Vdd とGNDとch1とch2へワニ口使った…
i2cの関数出来上がりましたので、早速以前に 作成した1602コンパチ液晶制御関数の下位部 に組み込みます。アドレスが0x7Cとか、RS ビット立ててファンクション書き込みすると かです。 そしてストロベリーリナックスのLCDにつなぎ ますが、うんともすんとも…
Hi-TECH付属のサンプルプログラムから抽出 した関数一覧です。これを参考に汎用マス タープログラムを作ります。 http://chitose6thplant.web.fc2.com/exp/i2c/i2c_list.pdf
i2cコードの情報源を調べてみた。CQ出版のこの本読めばよいらしい。だが、CCSとかWIZらしい。 CQ出版の本:http://www.cqpub.co.jp/hanbai/books/42/42081.htmμテクニカといういところに、877Cソースサンプルとい うのがあるが、肝心のドライバ部分につい…
人検知LED照明回路の試作では焦電型セン サーからのADC値取得と検知処理でちょっ と苦労し、結局はRC1がLレベルで検知と いう安易な仕様にしました。2.6V電源PIC デバッグ途中で変数途中結果をのぞけな いので、暗中模索で断念。2.6V電源でも 動作可能なスト…
いつものようにWEB記載です。 http://chitose6thplant.web.fc2.com/