整数電卓
はじめに
PIC を使ったシンプルな電卓をご紹介します。部品点数が少なく、製作が容易です。
仕様
桁数 | 10進数8桁 |
演算 | 整数四則演算(加算、減算、かけ算、わり算) |
消費電流 | 2mA at 5V |
表示方式 | LCD直読式 |
動作原理
- クロックは精度を要求されないので、RC による発振としました。
- 工夫点は LCD 駆動端子とスイッチを兼用させていることです。
- これにより入出力ピンの少ない PIC16F84 で実現させることができました。
- AC キーはリセットと共用させています。
- チャタリング・キャンセルをかけながらキースキャンを行っており、
押されたボタンに応じて、マッピング・テーブルから数値に変換します。
- 数値は内部レジスタに二進数で保存され、同時に表示されます。
- 演算キーあるいは「=」キーが押された時点で2つの内部レジスタが
数値の間に押された演算キーをもとに四則演算され、結果が表示されます。
- 数値の間に押された演算キーをもとに四則演算され、結果が表示されます。
- 内部的には32ビットの四則演算ルーチンを装備しています。
回路図
部品表
値 | 数 | 備考 |
PIC16F84 | 1 | U1 マイクロチップ |
ジャンク | 1 | LCD1 16x1行表示 |
3.3K | 1 | R1 カーボン皮膜抵抗1/4W |
10K | 1 | R2 カーボン皮膜抵抗1/4W |
36pF | 1 | C1 セラミックコンデンサ |
0.01uF | 2 | C2,C3 積層セラミックコンデンサ |
1S1588 | 2 | D1,D2 ダイオード |
SW | 17 | タクト・スイッチ |
改良
- 電池2本で動作するように改良しました。
- 通常、液晶表示には5V必要です。これ以下ではコントラストが低すぎて表示が見えません。
- そこで、CONT端子にマイナスを供給し、コントラストを稼ぎます。
- マイナス電源は適当なクロックを整流して生成します。
- 電流はほとんど消費しないので、できる業です。
ソフトウェア
使用感
- 設計どおり非常にシンプルな電卓が完成しました。
- フィーリングも全く普通の電卓とかわりません。
- チャタリング・キャンセルには試行錯誤が必要でしたが、満足いくものになりました。
- 最小限のエラー処理(ゼロわり算など)は施されていますが、浮動小数点演算へ発展させた時点で強化させたいと考えています。
(C)2000 All rights reserved by Einstein.