マイコンにDIPスイッチを配線する方法
〔マイコン使用による電子部品の使い方に戻る〕
DIPスイッチ(ディップスイッチ:Dual In-line Package switch)は、ICパッケージと同様に
パッケージングした小型のスイッチです、写真撮りが面倒だったのでぇ下写真は秋月電子通商から拝借
しました。えへっ
左は4PタイプのDIPスイッチで、他に2P〜10Pの種類が有ります。
通常はマイコンや周辺機器の各種設定に用いられます。
普通のスイッチが4個有るのと同じなので配線も同じ様になります。
スイッチ的な使い方の他に、下のロータリスイッチと同じく二進数コードを出せる様にする事も出来ます。
こちらはDIPロータリスイッチ16ポジションタイプで、10ポジションも有ります
ポジションに応じた0(0b0000)-F(0b1111)のコードを出します、このタイプを
リアルコードと言い、反転したコードを出すのをコンプリメントコードタイプと
2種類有ります。
詳しくは、上の販売ページのPDF資料を参照下さい。
《配線について》
下は、コンプリメントコードタイプでの配線でPIC16F1829を使った例です。
コンプリメントコードタイプなので、ポジションが”1”の場合は端子2/4/8がC端子と接続されるので
GNDとなりPICではLOW(0)ですね、1の端子はプルップされるのでPICではHIGH(1)です。
入力されるコードは”0001”で数値の”1”と読み取られます。
注意は、接続するピンは同じポートの0〜3ビットに
並ぶ様に配線を設計する事です。
これによりPIC側のプログラムが簡単になるのです、即ち、
data = PORTC & 0x0F
とするだけで読み取れるからです。
左は実態配線図です、
電源は3.3Vとしました。
DIP-SWとI2C用のプルアップ抵抗は
PIC内蔵を使いました。
尚、DIP-SWの右上が1番ピンです。
ここでは読込んだスイッチのコードを
LCDに表示しましたが、
4個のLEDにて行っても良いでしょう。
I2C接続小型LCDについてはこちらのページを参照下さい。
↓ここからサンプルプログラムソースファイルをダウンロードして下さい。
DIP-SW.zip
プログラムソースをダウンロードしたら、MPLAB X(v3.60)にてプロジェクトを作成します。
以下のファイルをプロジェクトディレクトリにコピーしてプロジェクトに取込んで下さい。
次にコンパイルとPIC書き込みを実行して下さい。
MPLAB(R) XC8 C Compiler Version 1.32コンパイラを使用しています。
ダウンロードファイルを解凍すると下記の様なファイル構成です。
test.c・・・・・・・・・・・・ 本体のサンプルプログラムソースファイル
skI2CLCDlib.c・・・・・I2C接続LCDライブラリ関数ソースファイル
skI2CLCDlib.h・・・・・I2C接続LCDライブラリ用ヘッダファイル
skI2Clib.c・・・・・・・・ I2C通信を行うライブラリ関数ソースファイル
skI2Clib.h・・・・・・・・ I2C通信を行う関数のヘッダファイル
ここの実験はPICのシステムクロック 16MHzでの実験となっています。
test.c
起動させるとLCDの1行目に[ DIP-SW ]と表示を行い、2行目にDIP-SWのコードを表示します。
もし、DIP-SWのポジションが"3"であれば[3]と表示します。
skI2CLCDlib.c
skI2CLCDlib.h
skI2Clib.c
skI2Clib.h
この内容は”秋月電子I2C接続小型LCDモ ジュールに表示を行う”を参照下さい。
16MHz以外で利用する人は"16000000"や通信速度を書き換えて下さい。
【きむ茶工房ガレージハウス】
Copyright (C) 2006-2020 Shigehiro Kimura All Rights Reserved.