としぶぅ~の「工作部屋」...毎日少しのお勉強

趣味・関心事を書いていこうと思います。

PIC16F88を動かす。。。その40(PWM:その7)

2012-11-08 05:33:01 | PIC16F88

おはようございます。
としぶぅ~です。

今日も起きれました^^

昨日の続きしようと思いましたが、PWMで引っかかっていたところ解決!
よって今日はそこ確認します。

マニュアル見ていたらありました。
そこらじゅうに”CCPMX”という表記があるのに気づきました。。。
なんだこの”CCPMX”って・・・?
PWMに関連するところいろいろ探しましたが見つからない・・・・
で、マニュアルを検索!すると。。。。CONFIGの中に”CCPMX”がありました。

 ※PIC16F88データシート抜粋 


全く気がつかなかった・・・・(-o-)
CONFIGレジスタの12bit目がそれでした。
いつものごとく、プログラムの頭で設定してあげると・・・・動いた。。。(^^)

RB0を使うときは
__CONFIG(FOSC_INTOSCIO & WDTE_OFF & PWRTE_ON & MCLRE_OFF & CPD_OFF & BOREN_OFF & LVP_OFF & CP_OFF & FCMEN_OFF & IESO_OFF & CCPMX_RB0);

RB3を使うときは
__CONFIG(FOSC_INTOSCIO & WDTE_OFF & PWRTE_ON & MCLRE_OFF & CPD_OFF & BOREN_OFF & LVP_OFF & CP_OFF & FCMEN_OFF & IESO_OFF & CCPMX_RB3);

  マーカー部分です

とします。

あとは、PWMの出力として使用するポートをOUTに設定する。
/*************************************************
RB0 or RB3をPWM出力に設定
*************************************************/

// TRISB0=0; //RB0出力に設定
TRISB3=0; //RB3出力に設定
// RB0=0; //Lに初期化
RB3=0; //Lに初期化
CCP1CON=0x0f ; //00xx1100 CCP1(RB0 or RB3)はPWMモード出力優先に設定

TRISB0=0 or TRISB3=0のどちらかをコメントにする。

  マーカー部分です

これで動作します。

一応確認

ch1をRB0に、ch2をRB3にプローブを接続

CCPMX_RB0をコンフィグレジスタに追加した時の波形

ch1をRB0に、ch2をRB3にプローブを接続

CCPMX_RB3をコンフィグレジスタに追加した時の波形

という感じです。

一応意図したように動いているようです。

 

ちょっと最近思うこと。。。。LCDの処理速度が遅すぎる。

表示する関数を入れると、その次の処理が無視されたり。。。いろいろです。

一度処理速度を早くすべく見直しが必要かも。。。。

 

と、今日はこんなところです。

ちょっと戻りましたが、なんとかもやもやしたところは解決しました。

PWMはこれでかんりょうかな。。

 

明日はSPIのレジスタの訳をしていきます。。。

 

では今日はこの辺で。。。。皆様、よい一日を~(^o^)/

 

 


PIC16F88を動かす。。。その39(SPI:その1)

2012-11-07 05:33:07 | PIC16F88

おはようございます。

としぶぅ~です。

今日から出社を少し遅らせて朝、投稿・実験等やろうと思います。

朝の方がいいかな・・・・頭がすっきりしてるし(笑)

 

PWMは、とりあえず動きますので調査は進めながら、本日から次に進めたいと思います。

本日よりSSPの機能を利用した、SPIをお勉強・確認・実験・・・・やります。

 

簡単に、SSPとは?

SYNCHRONOUS SERIAL PORT (SSP) MODULE = 同期式シリアルポートモジュール

ということです。

調歩式のシリアルポートとは違い、通信時にデータとクロックを出力、入力して入力クロックに同期させて通信するシリアル

通信の方式です。

SPIは4線式の通信といわれるものです。

使用するポートは、

  1.データ出力:RB2/SDO/RX/DT

  2.データ入力:RB1/SDI/SDA

  3.クロック  :RB4/SCK/SCL

  4.チップセレクト:RB5/SSn/TX/CK

この4ポートです。

次に使用するレジスターは、

SSPCONレジスタ、SSPSTATレジスタ、SSPBUFレジスタ、TRISBレジスタの4つになるでしょうか。

設定しないといけない内容は

 • Master mode (SCK is the clock output)
 • Slave mode (SCK is the clock input)
 • Clock Polarity (Idle state of SCK)
 • Clock Edge (output data on rising/falling edge of SCK)
 • Clock Rate (Master mode only)
 • Slave Select mode (Slave mode only)             ※Dataシート抜粋

です。

これを見る限り簡単に使えるのかな??という感じを受けます。

あと、現在の回路を少しさわらないといけませんね。。。現状、RB2とRB5が非同期シリアル通信でのRS232Cドライバに

接続されてしまっているのでここをなんとかしないとできませんね^^;

 

さて、ちょうどいい時間・・・6時になりましたの今日はこの辺で。。。

明日は、レジスタの翻訳をしたいと思います。

 

それでは今日はこのへんで。。。いい一日を(^o^)/

 

 


PIC16F88を動かす。。。その38(PWM:その6)

2012-11-06 23:01:43 | PIC16F88

こんばんわ

としぶぅ~です。

寒いですね^^;

 

今日はPWMでちょっと気になったところ確認してみました。

何が気になったかというと、PIC16F88にはPWM出力が2つあるんですが、

「いったいどうやって出力する方を設定するんや!?」

ということです。

TRISBの0bitまたは、3bitを”0”にすると、OUT設定になり、PWM出力が優先になると書いてある。。。

上記図にもありようにRB0とRB3にCCP1があるのでここから出力できるはずですが。。。。

何をやってもRB0しかでないですね。。。

RB3からはPWM出力が出ないです。

どうやればれるんだろうか^^;

わかりません!

出せるはずなんだけどな~・・・・だれかしりません?(笑)

 

ま、いいか。。。今日は疑問点を確認してみました。

PIC12F1822はどちらから出すかのレジスタがあったんだけど。。。。PIC16F88はないように見えるけど。。。

少し探してみることにします。

 

それでは今日はこの辺にしておきます。

おやすみなさい~

 

 


今宵は。。。最近入手したパーツを紹介!

2012-11-05 23:07:22 | パーツ購入!

こんばんわ

としぶぅ~です。

 

ちょっと仕事が忙しくなってきましたね。。。。

そろそろブログ書いてる場合ではなくなってきたかも(^^;

今宵は最近入手したパーツを紹介します。

まずは、最近使っているデバッグ可能なPICです。

PIC16F88.。。。かな~りお気に入りです(^^)

次は、TLC5390.。。これはなんでしょうか。。。。

SPIでコントロールできる、LEDのPWMドライバーです。

1個のICで16chを制御可能です。しかも数珠つなぎにするともっと多くのLEDを制御できます。

今度、PICで使ってみましょうかね。

さて次は、定番のシリアルフラシュROMです。

これは、先ほどのSPIとわ違って、I2Cでの通信になります。

これもPICで使いますかね。

さて、次は。。PIC16F876・・・

これは、足の数がPIC16F88よりも足の多い、Pickitでデバッグ可能なPICです。

足が足りなくなってきたらこれを使おうと思っています。

次は、PCF8573・・・これはIOエキスパンダーというものです。

シリアルでIOを拡張するためのものです。

これもI2Cを使用して、パラレルIOを拡張するもの。。。これもPIC16F88とかに使うといいのかも。。。。LCDとか

これ使って表示させれば、ポートがあきます。

次は、FT2232CというICでUSB⇔シリアル変換用のICです。

といっても、USB⇔パラレルもできます。。。。I2CとかSPIとかも可能だったはず。

JTAGインターフェースにもなったような。。。。

結構すごいインターフェースです。

最後に、これは日昇テクノロジーで購入したモジュールですが、電流を電圧に変換するモジュールです。

30Aまで行けたはず。。。調ピンボケでわかりにくいですね。。。

http://www.csun.co.jp/SHOP/2012011801.html

これです。

結構便利だと思います。

直接このモジュールに突っ込めばいいので簡単なはず・・・

大きな電流を計らないのでなかなか使う機会がありませんが。。。今度使ってみようかな!

なんか、関心があるものどんどん手出していますので使っていないパーツがいっぱいです。

ま、ブログで書いているので少しづつ公開できればいいなと思います。

 

ん?いらない?(笑)

ま、自己満足ですから・・・・

 

それでは今日はこの辺で。。。

おやすみなさい~(^^/

 

 

 

 

 


買っちゃいました・・・

2012-11-04 16:46:52 | マイコン(PIC)

こんにちわ

としぶぅ~です。

 

昨日は、嫁さんと飲んでて・・・そのままねちゃいました^^;

起きたら日が変わってました。。

話は変わりますが、facebookでは下記の本買ったこと書いたんですが。。。「PICで楽しむAndroidアクセサリの自作」

中身を読んでみると実は、

http://blog.goo.ne.jp/kaoharu12/e/db2bd2402f0d96e09cf17e05cdb9cb17

このブログの一番下で紹介したTOOLを使ってアンドロイドとつなぐという内容なんです。

ま、なかなか面白そうなので、給料も出たことだし買っちゃいました!

 

外箱はこんな感じ

 中身はこんなん・・・pickit3はもっているので無バージョンを買いました。

でボードはこれ

なんか本を読んでると面白そうですよね。。。

これもテンプレートさえできてしまえばなんでも応用していけそうです。

是非やってみようと思います。

 

ARMもやってみたいんですけどね~

ちょっと先延ばし・・・もしくは同時進行!?

ま、PICでやって移植すればいいのかな?

出来ればですが。。。。またじっくりやってみます。

興味があれば見に来てください。

 

 

今日はこの辺にしておきます。

それでは(^^/

P.S.PIC16F88はもう少しつづけます。まだやらなければいけないことがある・・・I2C、SPI・・・外部割込み。

    この辺がおわればとりあえず終了かな。。。といっても応用していきたいこともありますが。。。