湘南工科大学ロボット技術研究会活動日誌

ロボット技術研究会に青春を捧げた者たちの活動記録なんだって

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
[ --/--/-- --:-- ] スポンサー広告 | TB(-) | CM(-)

無駄な挑戦

ふと思ったのですが・・・
逕サ蜒柔convert_20100214022229

この7セグLED いつもならPICとか使って数字を表示させてるんですけど
マイコンを使わずにどうにかならんかな~とか思ったりしてゲート回路(AND OR NOT等)だけで構成してみようと考えてみました。
ようするに専用ICの中身を再現してみよっかなーというわけです


まず0から9までの10通りの表示が必要です
これを2進数に対応させるには

0 → 0000
1 → 0001
2 → 0010
3 → 0011
4 → 0100
5 → 0101
6 → 0110
7 → 0111
8 → 1000
9 → 1001

となり4ビット(桁)必要になります。

つぎに表示させるための真理値表を書きます。
ここで4ビットの
1桁目a
2桁目b
3桁目c
4桁目d
としました。

真理値表
手書きで見づらいですよね・・・・ごめんなさい

表の右上に7セグLEDの点灯部分の記号を書きました。
AからGまで7つあります ← だ~から7セグなのかぁ
(本当は右下にドット(小数点用)が1つあって8つなのですが、今回これは使用しません)
えーっと、光らせたい部分をオン(真理値表で  )に、光らせたくない部分はオフ(真理値表で  )にすればいいので
たとえば「0」と表示させたかったらABCDEFをオンにしてGをオフにすればいいってことですね

そんなわけで入力されたabcdの4ビットをABCDEFGの7ビットに真理値表の通りにうまーく変換させる論理回路をつくれないかなーってことになったんです

0000と入力されたら1111110と出力し、
0001と入力されたら0110000を出力・・・・といった具合です

なんかめっちゃ複雑になりそうな予感がするねえ
とりあえずなんとかやってみようか


AからGまでを1つずつ考えていくことにしました
まずAから

えーまず4桁目の a は8と9を表示させるときだけ必要でEの表示以外両方とも全部1なのでE以外は同じような回路にできそうかな?なのでとりあえず a はおいといて・・・・
残りのb , c , dの3ビット、0から7までの表示を考えよう

bcd   A
000 → 1
001 → 0
010 → 1
011 → 1
100 → 0
101 → 1
110 → 1
111 → 1

このようになってますね

次に、この中からAがのものを取り出します
000 , 010 , 011 , 101 , 110 , 111
この6つですね

ここからブール代数を使って論理式を立てます

入力が1のビットはそのままに(b,c,d)
入力が0のビットは記号の上に ̄(バー)をつけて「否定」を表します( b ̄,c ̄,d ̄ )・・・・ホントは真上に書くんですが
そして記号の間に論理積を表す・(ドット)を入れます
すると
000 → b ̄・c ̄・d ̄ (←「ビーバードットシーバードットディーバー」ト、ヨムノダ)

010 → b ̄・c・d ̄

011 → b ̄・c・d

101 → b・c ̄・d

110 → b・c・d ̄

111 → b・c・d

・・・・・となります

んでもってこの6つの論理和を表す+(プラス)で結合してやります

(b ̄・c ̄・d ̄) + (b ̄・c・d ̄) + (b ̄・c・d) + (b・c ̄・d) + (b・c・d ̄) + (b・c・d) = A

となります  なげぇー

んで今まで忘れていた4桁目の a をここにいれますが、真理値表を見ると a が1のとき d が1でも0でも出力はオンなので最後に論理和で結合します

(b ̄・c ̄・d ̄) + (b ̄・c・d ̄) + (b ̄・c・d) + (b・c ̄・d) + (b・c・d ̄) + (b・c・d) + a = A


えーーっとそしたら
論理否定NOT回路
論理積AND回路
論理和OR回路
を入れれば目的の論理回路として一応働きますが、このままだとものすごい数のゲートが必要になっちゃいますね
くそまじめに一個一個対応させて入れてったら
NOT→ 8個
AND→12個
OR → 7個
こんなにつかうことになってしまいます

そこで、さっきのなが~い論理式を簡単化しましょうか

やり方としてはカルノー図を書いたりド・モルガンの定理をつかったりします、詳しくは省略で(オイっ)

結果
A.jpg
こうなりましたー {毎度きたない走り書きで申し訳ないッス}
んーもしかしたらもっと簡単な回路にできるかも?

でもこれでずいぶんとコンパクトになりましたねぇ
以上でやっと A の表示回路が完成です

同じ要領でGまで作っていきまして
B.jpg C.jpg
D.jpg E.jpg


F.jpg G.jpeg

ちなみに2入力ロジックしか使ってません(これしか在庫がない)
いちおう製作を見据えてということで・・・・


とりあえず今回はここまて”
なんだか長々と書いてしまった、こりゃ読みづらい文章になっちまったかな?

まぁ時間があったら実際に作ってみますね

by藤田

スポンサーサイト
[ 2010/02/15 01:04 ] 日常生活 | TB(0) | CM(3)
W900度大回転!!
作るんだ!さあいざゆかん
[ 2010/02/15 03:12 ] [ 編集 ]
No title
そんな事してる暇があるんだったら全部リレーで作れよ!

そんでそのまま電卓作っちまえ!w
[ 2010/02/15 16:42 ] [ 編集 ]
どうせなら
小数点も表示させるように論理回路を組んだら?
[ 2010/02/20 23:42 ] [ 編集 ]
コメントの投稿












管理者にだけ表示を許可する
トラックバック
この記事のトラックバックURL

ろぼ研

湘工大ロボ研

Author:湘工大ロボ研
みんなものづくりが大好き!

twitter
<
FC2ブログランキング
らんきんぐ

上のボタンをおすと あなたに幸運が訪れます
ランキングTOPをめざせ!
[ジャンルランキング]
学校・教育
1302位
アクセスランキングを見る>>

[サブジャンルランキング]
クラブ・サークル活動
96位
アクセスランキングを見る>>


上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。