マイコンにDIPスイッチを配線する方法

〔マイコン使用による電子部品の使い方に戻る〕


DIPスイッチ(ディップスイッチ:Dual In-line Package switch)は、ICパッケージと同様に
パッケージングした小型のスイッチです、写真撮りが面倒だったのでぇ下写真は秋月電子通商から拝借
しました。えへっ
DIPスイッチ 左は4PタイプのDIPスイッチで、他に2P〜10Pの種類が有ります。
通常はマイコンや周辺機器の各種設定に用いられます。
普通のスイッチが4個有るのと同じなので配線も同じ様になります。
スイッチ的な使い方の他に、下のロータリスイッチと同じく二進数コードを出せる様にする事も出来ます。

DIPロータリースイッチ こちらはDIPロータリスイッチ16ポジションタイプで、10ポジションも有ります

ポジションに応じた0(0b0000)-F(0b1111)のコードを出します、このタイプを
リアルコードと言い、反転したコードを出すのをコンプリメントコードタイプと
2種類有ります。
詳しくは、上の販売ページのPDF資料を参照下さい。

《配線について》

下は、コンプリメントコードタイプでの配線でPIC16F1829を使った例です。

DIPロータリスイッチ配線図

コンプリメントコードタイプなので、ポジションが””の場合は端子2/4/8C端子と接続されるので
GND
となりPICではLOW(0)ですね、1の端子はプルップされるのでPICではHIGH(1)です。
入力されるコードは”0001”で数値の””と読み取られます。

16F1829ピン構成図注意は、接続するピンは同じポートの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.