2015-10-15 Thu
MPGをステッピングモーターに直接つないでコントロールするアダプターを作成するにあたって、LEDを使った表示を
ルーレット風にしましたが、同じようなもので、製品版が
あるんですね。
また、○ジナルマインドさんにも、A相B相をCW・CCWの信号
に変換するIC(16F84A)が販売されているようです。
ドライバーの入力がCW・CCW(DIR)しかないもののアダプター
にするようです。
私と同じ目的にも使えそうです。
全部ソフトでコントロールしてるんですね。
ソースリストでも見てみたい気がしますが、きっと、
アセンブラーでしょうね。
2015-10-13 Tue
PICのプログラムをPICに書き込むのに、ADWINのPICライターを使ってました。
16F88等の古いものを使ってるぶんにはいいのですが、
開発環境を新しいものに変更したついでに、16F1ファミリーの
新しいPICも使ってみようと思いました。
ところが、このADWINのPICライターは、新しいPICには対応
してないようで、書き込みができないので、新しいライター
を買うことにしました。
何にしようか迷いましたが、諸先輩がお使いになっている
定番のPICKIT3を購入することにしました。
ネットと値段を調べてみるとびっくり。だいたい同じ値段でしたが、
○mazonでは、10倍の値段のものが売られています。
多分、○月のと同じものだと思いますが、びっくりです。
それとも別物なのでしょうか。○mazonのものは、
パッケージに、「XYGstudy」の表記が見られますが、
○月のものにはありません。
同じものだとすると、この値段の違いは、
なんでしょうか。
2015-10-13 Tue
新しい環境で、あれこれやっています。TMR0(タイマー0)を使ったプログラムを作って検証していますが、いくつか
思うように動かないことがありました。
使ってるPICは、16F88というOLDなものですが、新しいの
を使うには、細かいところで、分からないところがあるので
未だに使ってます。
さて、内部クロックを使ってる時は、動いたように思いますが
20Mhzのセラロックを外部につけて動作させると、どうも、
プリスケラ-が使えないようで、値をかえても動作に変化
がありません。
また、TMR0の停止が思うようにできませんでした。
いろいろNETであさって見ると、諸兄のHPで、
<TIMER0>
TIMERのON/OFF制御が出来ない。
外部クロック入力同期(Sync2Cycles)がONに固定
されている。
の記事を見つけました。
16F88のTMR0については、「ON、OFFができない」という
ことで一つは解決しましたが、プリスケラ-が反映されないの
が分かりませんでした。
諸兄の回路図を見ると、水晶発振子を使って、RA7に入れ
ているようで、CONFIGの設定も、EXTCLKになっています。
私のセラロックは、RA6とRA7に入れて、CONFIGは、HSに
しています。こんな風にすれば、入力が1本ですみますね、
また、一つ勉強です。
CLOCKを外部入力にすると、TMR0は、固定されてしまう
のでしょうかね。
<追記>
どうやらプログラムの勘違いをしていたようです。
一部変更したら、動きました。
2015-10-11 Sun
○天のパソコン工房というお店から、VGAの変換アダプタを購入しました。
届いた物を確認してみると、どうも、製品名とパッケージの
中身が違うようです。
写真右側のものと思って注文しましたが、違う物が届いた
ようです。
同梱されていたチラシには、24時間36日受付と書いてあ
るので早速電話をしました。
すると、丁寧な対応をしてくれて、確認のために、写真を送って
くれとのことでした。
すぐに写真を送りました。
連休のため対応がすぐとれないとのことでしたが、24時間
365日対応というのが気に入りました。
私のなかでは、優秀の部類に入る、お店だと思います。
通常は、お店の名前は一部伏せてますが、今回は、宣伝
をします。
ただどうでしょうか。この後の対応が、
気になるところです。
2015-10-09 Fri
インターネットの接続で、NTTからOCNに変更したら、特定のサイトに接続ができなくなりました。
OCNのサイト等で調べて、DNSの設定は、「自動で取得」
でいいとのことだったので、その設定にしてました。
大きな不具合はなかったのですが、
http://ktsite.ddo.jp/PIC/
のサイトに接続ができませんでした。携帯では、できたので、
多分、DNSの不具合だろうと思いました。
ネットで検索すると、googleのDNSを使うといい、との記事
をみかけましたので、
優先 8.8.8.8
代替 8.8.4.4
にルーターのDNS(ドメインネームサーバー)の設定を変更
しました。やっと見えるようになりました。このサイトには、
16F88の情報がまとめられているので、重宝しています。
リングバッファーを使って、割り込みによる送信の
プログラム組みたくて、16F88のUSART割り込みについ
ていろいろ調べています。受信のプログラムは散見しますが、
送信のプログラムについては、AVR等のプログラムを
をよく見かけます。16F88の例題?があるとい
のですが。
2015-10-08 Thu
今回のプログラムの作成に使った回路?です。おきまりの基板+USBシリアル変換アダプター(○月)の構成
で、開発してます。
USBシリアル変換アダプターは、FT232RLという型番で、
完成品が、950円でした。
左端の小さな基板は、セラロックをつけたものです。はじめ、
空中配線で、使ってましたが、アースの端子が根元からおれ
てしまったので、基板につけました。
この開発に使ってる基板は、
「キットで遊ぼう電子回路シリーズNo9」
に付属のものですが、便利に使ってル反面、やはり、中途
半端な感じもします。使いやすいように、自作した方
がいいのでしょうが、ずっと使ってます。
2015-10-07 Wed
今日一日、正確にい言うと、昨夜から、もがいていました。その結果、やっと、割込を使った受信ができるようになりま
した。
今回はまったのは、諸兄のプログラムを移植していましたが、
16F88ではないPICのプログラムだったので、またもや入力
ピンの設定が違ってました。ここを直したら、すんなりでした。
また、割込の書式も違うのかなと思って旧の環境での記述と
新しい環境での、記述両方してみましたが、両方とも、通り
ました。
旧 RCIF = 1
新 PIR1bits.RCIF = 0
使えない表記だとすぐに、?マークがでるので、新しい環境
での開発は、楽です。
この割込のプログラムは、違う諸兄のプログラムを改変しました。
いろいろゴミが残ってますが、私の環境で、一応動いたもの
です。
2015-10-06 Tue
諸兄のプログラムをもとに、多少変更を加えて、PCのキーボードから、LEDのコントロールをするプログラムをつく
りました。
キーボードから、1~7の数字を押すことで、それに応じた
場所のLEDを点灯するプログラムです。
プログラムです。
ヘッダーファイルの「uart.h」と「uart.c」諸兄の作られたものを
そのまま使わせていただいています。
今回はポーリングのプログラムなので、次は、割込を使った
プログラムを作ってみようと思います。
2015-10-05 Mon
新しい環境で、諸兄の書いてくれたシリアル通信のプログラムを自分の環境で実現するべくもがいていました。
コンパイルはすんなり通るのに思った動作をしてくれません。
全部疑って、一つ一つつぶして、やっと思うような動作ができ
るようになりました。
まず、はまったのが、デバックのために、プログラムの間に
書き込んだ書式です。
int count=1000;
RA0=1;
RA1=0;
while(count>0){count--;}
count=1000;
RA0=0;
RA1=1;
while(count>0){count--;}
LEDが交互に点滅するはずですが、RA1に当てはまるLED
の変化がありません。
もしやと思い
PORTA=0b00000001;
PORTB=0b00000000;
・・・・・・・・・・・・・・・・・・・
・・・・・・・・・・・・・・・・・・・
PORTA=0b00000000;
PORTB=0b00000001;
のように変更したら動きました。「RA」の表記では、ポート
全体の値を書き換えてしまってるようでした。
よく見てみるとポートのビットの操作の記述が変更に変更に
なってました。
RA1→→PORTAbits.RA1
のように書かないとだめでした。
次にはまったのが、外部オシレーターの使用でした。
これは、デバックの方法の手落ちでした。外部オシレーター
でプログラムがうまく動いているのか確かめるのに、LEDの
点滅プログラムを挿入しましたが、ウエイトタイムが短くて
点灯しっぱなしで、うまく動いてないように見えてしまいま
した。何回、書き直したことか。
丸一日かかって、諸兄のプログラムの再現ができました。
PICのUART機能を使って、PCからのキー入力を
エコーバックするプログラムです。
それから、とんでもないミスをしてました。RXとTXのピンアサ
インを私の教科書(キットで遊ぼう電子回路シリーズNo9)で
確認しながらしてましたが、これが間違いでした。
教科書のPICは、16F627AというPICで、今回使ったのは、
16F88というPICでした。同じ18ピンのICなので、同じだろう
たたかをくっくってたのが間違いでした。なんと、
16F627
TX--8ピン(RB2)
RX--7ピン(RB1)
16F88
TX--11ピン(RB5)
RX-- 8ピン(RB2)
なんと、TXとRXが入れ替わってました。これでは、動きません
ね。やはり、データシートみないとだめなんですねえ。
TOP PAGE △