楽釣工房では、小魚用しゃくり機、わかさぎ用しゃくり機、Picマイコン制御による自動しゃくり機(しゃくりパターン制御)、赤外線リモコンの応用回路(電気機器のON/OFF、温度制御、リモコンに依る数値設定など)、電子回路について書いて行きます。

 ブログの投稿記事に画像データを多く使用している為、他の投稿記事を読む事に不便をかけると思われます。
従って、投稿記事の前文をブログで公開し、全体の記事は ホーム・ページ [ 楽釣119 ] で公開する事にしました。
ホーム・ページ [ 楽釣119 ] では、今までの記事の内容を整理し、内容の不具合を修正し、又、記事の追加をして、ホーム・ページで公開しています。
  
___________________________________________________________________________________________________________________

2012年1月31日火曜日

LED 間欠表示器の製作

PIC 16F1823 の基本設定 
  
最近、色々な種類のPICデバイスが発売されています。又、安い価格で販売されています。
この様な新しいPIC デバイスを使おうとすると、どの様にしたら良いか迷ってしまいます。
Web上で検索して、情報を集めて使い方を調べる方法が有りますが、万全ではありません。
  
そこで、データ・シートを頼りに使い方を調べる事にしました。
使うデバイスは、'PIC 16F1823' です。
このデバイスは、14PINの中規模デバイスです。
  
まず、最初にする事は、'CONFIG’ワードの設定です。このCONFIGワードは、
データ・シートには記載されていません。
では、どの様にして調べると良いのでしょうか?
それは、'HI-TECH C’プログラムの中の 'include’フォルダーの中のファイルを調べる事です。
デバイス毎の'h'ファイルが有るのでメモ帳などで開いて見ます。
PIC 16F1823は、'pic16f1823.h'です。
  
それぞれ、#define 命令等で定義されているのが分かります。
  
CONFIGワードは、以前の設定方法とは、異なり、'***_ON''***_OFF'と、云う記述になっています。
  
* 回路図

  
次に、オシレータの設定をします。これには、データ・シートの'OSCCON' レジスターの設定を見ます。
  
  
次に、I/Oの設定をします。
  
 ■ TRISA,TRISC の入出力設定をします。
   I/O ポートの設定をします。
  
 ■ アナログ・チャンネルの設定をします。'ANSELA'、'ANSELC'レジスターを参照します。
   設定を'1'にすると、アナログ・チャンネル'ON'
      設定を'0'にすると、デジタルに設定されます。
  
  
  
次に、'A/D CONTROL REGISTER 0' を設定します。'ADCON0' レジスターを参照します。
  
  
このレジスターの 'bit1' の名称が 'GODONE' になっていますが、仕様が変更されているので使えません。
'GODONE' は、A/D変換開始(A/D変換終了フラグ)ビットなのですが、どの様に変更されたかを見てみます。
それには、'pic16f1823.h'の中の'ADCON0 'の設定項目を見ます。
  
  ■'GO_nDONE'
 ■'GO'
 ■'nDONE'
 ■'ADGO'
  
この4つのキー・ワードが使えます。
  
  
次に、'A/D CONTROL REGISTER 1' を設定します。'ADCON1' レジスターを参照します。
  
  
これで、主な設定が済みました。後は、プログラムを組むだけです。
  
その他のデバイスも同様な方法で設定すれば、'OK'です。
データ・シートさえ有れば、基本設定が出来る様になります。

楽釣工房・ホームへ戻る ] [ ホーム・ページ  楽釣119 へ移動 ] 
    

2012年1月6日金曜日

MPLAB IDE のアップ・デート

私が MPLAB IDE を久しぶりにアップ・デート(V8.60 から V8.80へ)して、以前に作成したプロジェクトを開こうとしたが、エラーが出て開く事が出来ませんでした。(MPLAB IDE プロジェクトのアイコンをダブル・クリックする。)
又、MPLAB IDE を起動して、プロジェクトを開こうとしても、エラーが出てプロジェクトを開く事が出来ませんでした。
同じようなプロジェクトを作成した類似プログラムでテストしてみると、開けるプロジェクトと、開けないプロジェクトが有りました。
このプロジェクトの違いを調べて見ても、変数の設定等が違うだけでした。
何か分からないけれど、バグが有りそうです?
この様な状態なので、最初からプロジェクトを作成しなければならないのかと心配しました。
  
そこで、色々、試しているうちに、簡単に修正する方法を見つけました。画像は、サンプル・プログラムです。
  
 
 


MPLAB IDE V8.60  のプログラム"LCD 16F886" を例題にしています。
  
■ まず、MPLAB IDE を起動します。
  
■ ① の目的のプロジェクトで使われているファイルを開きます。表示される全てのファイルを開きます。
  
■ ファイルを開くと、エディター画面に選択したファイルが表示されます。
  
■ ② の、目的のプロジェクトを開きます。
  
■ これで、目的のプロジェクトを開く事が出来ました。
  
■ 但し、このままでは、コンパイルしてもエラーが出ます。それは、V8.66? 以降、仕様が変更されているので、エラーが出ます。
これを回避する為に、'C' ファイルの先頭に次の一文を追加します。プログラムの途中は、無効です!。
  
#define _LAGACY_HEADERS
  
これで、旧バージョンのファイルをコンパイルする事が出来ます。
  
又、別の方法として、HI-TECH C コンパイラーのバージョンを切り替えて、コンパイルする方法も有ります。
私のブログ記事の "HI-TECH C のバージョンの切り替え方" を参照して下さい。
  
■ 一度コンパイルしてプロジェクトを保存すると、次回からは、普通にプロジェクトを開くことが出来ます。
   
■ もし、上記のやり方でコンパイルエラーが発生した場合、プロジェクトを新規に作成する必要があるかも知れません。

せっかく作成したプロジェクトを無駄なく使いたい物です。
  
ちなみに、下記画像は、私がインストールしている'HI-TECH C コンパイラー'のバージョンです。
  

  
次の2つの画像(新・旧2つのバージョン)を比べて下さい。'CONFIGワード'の設定法が違います。
詳しい事は、新しいバージョンのデバイスごとのインクルード・ファイルを開いて見ると、分かります。
  




楽釣工房・ホームへ戻る ] [ ホーム・ページ  楽釣119 へ移動 ]