請問8051能監測3位數七段顯示器嗎 |
缺席
|
v120514
一般會員 ![]() ![]() 發表:8 回覆:21 積分:5 註冊:2005-04-18 發送簡訊給我 |
|
㊣
版主 ![]() ![]() ![]() ![]() ![]() ![]() 發表:261 回覆:2302 積分:1667 註冊:2005-01-04 發送簡訊給我 |
1>用74138配合7448,138決定亮那個LED,7448決定亮什麼字 2>直接由51寫,不過要建表.
------
------------------------------------------------------------------------- 走是為了到另一境界,停是為了欣賞人生;未走過千山萬水,怎知生命的虛實與輕重!? |
暗黑破壞神
版主 ![]() ![]() ![]() ![]() ![]() ![]() 發表:9 回覆:2301 積分:1627 註冊:2004-10-04 發送簡訊給我 |
|
v120514
一般會員 ![]() ![]() 發表:8 回覆:21 積分:5 註冊:2005-04-18 發送簡訊給我 |
引言: 1>用74138配合7448,138決定亮那個LED,7448決定亮什麼字 2>直接由51寫,不過要建表.謝謝大大 你可能誤會了 例如時鐘不是有3位數七段顯示器嗎 想說直接抓取上面訊號例如7:00時要作其他動作 假設abc 分別第一個到第3個七段顯示器因為A到G腳位是共通的 這樣要怎做 |
QQOO
一般會員 ![]() ![]() 發表:9 回覆:9 積分:3 註冊:2005-03-26 發送簡訊給我 |
恩 版主說的沒錯 大概有兩種 第一是用7447(共陽)來減少I/O 程式原理是寫延遲時間 但是要讓人類視覺能暫留 另一種是用建表 但是增加I/O數
第一種程式的寫法
大概是
假使你有三個七段顯示器 那就讓共陽分別接電晶體接到8051輸出 然後A接A B接B....再接到7447然後7447就會四個BCD解碼到8051 接下來就是控制程式的精華 讓接共陽的三支接腳分別由8051控制 例如
要讓百位數字先亮 就讓控制輸出為1 其餘是0 所以 100再010 再001 (可以用RR RL指令寫)
所以總共會用到4 3=7枝I/O腳
加油 你可以找書來看 就OK 因為我今天也在搞這個東東
祝你成功 QQOO 發表人 - QQOO 於 2005/04/18 19:33:35
------
QQOO |
㊣
版主 ![]() ![]() ![]() ![]() ![]() ![]() 發表:261 回覆:2302 積分:1667 註冊:2005-01-04 發送簡訊給我 |
引言: 謝謝大大 你可能誤會了 例如時鐘不是有3位數七段顯示器嗎 想說直接抓取上面訊號例如7:00時要作其他動作 假設abc 分別第一個到第3個七段顯示器因為A到G腳位是共通的 這樣要怎做請問時鐘訊號是誰送的?如果一樣是51送的,自己做個暫存器,記錄時間.再規劃什麼時間要做什麼吧.
------
------------------------------------------------------------------------- 走是為了到另一境界,停是為了欣賞人生;未走過千山萬水,怎知生命的虛實與輕重!? |
wu-eric
中階會員 ![]() ![]() ![]() 發表:14 回覆:82 積分:64 註冊:2004-03-17 發送簡訊給我 |
|
㊣
版主 ![]() ![]() ![]() ![]() ![]() ![]() 發表:261 回覆:2302 積分:1667 註冊:2005-01-04 發送簡訊給我 |
引言: 因三位數的七段顯示器在顯示時,同時間只有一個位數會有訊號 故 1.8051先將七段顯示器的10隻接腳的值先放入暫存器 2.從暫存器判斷七段顯示器的a~g是那一個位數這個方式要用輪循的方式去寫.而且須建表確認是顯示那一個數字. Q1>你如何知道送掃瞄訊號的要送下一個顯示數字了? 或許你會想到中斷,但一般51外部中斷只有2個. Q2>你要確定51速度比送訊號的快(你還要做比對,儲存.比較) 這些單純靠I/O抓,又很容易Loss.除非清楚的知道timing,51的速度又比較快.
------
------------------------------------------------------------------------- 走是為了到另一境界,停是為了欣賞人生;未走過千山萬水,怎知生命的虛實與輕重!? |
wu-eric
中階會員 ![]() ![]() ![]() 發表:14 回覆:82 積分:64 註冊:2004-03-17 發送簡訊給我 |
引言: 這個方式要用輪循的方式去寫.而且須建表確認是顯示那一個數字. Q1>你如何知道送掃瞄訊號的要送下一個顯示數字了? 或許你會想到中斷,但一般51外部中斷只有2個. Q2>你要確定51速度比送訊號的快(你還要做比對,儲存.比較) 這些單純靠I/O抓,又很容易Loss.除非清楚的知道timing,51的速度又比較快.我想我提供的方法就是用輪循法 A1>因輪循法,所以不用外部中斷 A2>我想因電路的應用不明,只能先假設"51速度比送訊號的快" 若51的速度比送訊號的速度慢,我想用什麼方法都很難達到要求 |
v120514
一般會員 ![]() ![]() 發表:8 回覆:21 積分:5 註冊:2005-04-18 發送簡訊給我 |
引言:因為電路不是8051送的.是從一台機器上送的.我只是想抓取上面訊號作控制 又想利用它原有七段顯示器作顯示 那訊號會不會就如板主大大說的可能容易Loss掉.. 因為我是新手.無意間看到這網站想說好像不錯玩. 就買了一本書研究..可是書上找不到實體做參考 大部分是從8051直接控制七段顯示器作輸出.. 看書看的一個頭2個大.. 發表人 - v120514 於 2005/04/19 09:23:41引言: 例如時鐘不是有3位數七段顯示器嗎 想說直接抓取上面訊號例如7:00時要作其他動作 假設abc 分別第一個到第3個七段顯示器因為A到G腳位是共通的 這樣要怎做因三位數的七段顯示器在顯示時,同時間只有一個位數會有訊號 故 1.8051先將七段顯示器的10隻接腳的值先放入暫存器 2.從暫存器判斷七段顯示器的a~g是那一個位數 |
暗黑破壞神
版主 ![]() ![]() ![]() ![]() ![]() ![]() 發表:9 回覆:2301 積分:1627 註冊:2004-10-04 發送簡訊給我 |
1.先看看它的數字是不是也用掃的。
2.如果不是掃描的方式。直接抓INPUT過來解碼。
3.如果是掃描的方式。你去抓 input 的時間點要跟它會合。
不然,你就要利用它那個 digit 腳去做 interrupt 的動作
去抓。可是三位數。而 51 的INT 又只有兩個。
所以。你可能要做一下 share int 的動作。
這樣應可以拿到你要的數據。 --------------------------------------
又一塊 ARM 控制板蛋生了 ^___________^
|
㊣
版主 ![]() ![]() ![]() ![]() ![]() ![]() 發表:261 回覆:2302 積分:1667 註冊:2005-01-04 發送簡訊給我 |
share int的做法可行,前提:51必須比較快,因還須做許多處理動作,若未做完下一中斷又進來呢?SO~你可以try看看.
------
------------------------------------------------------------------------- 走是為了到另一境界,停是為了欣賞人生;未走過千山萬水,怎知生命的虛實與輕重!? |
v120514
一般會員 ![]() ![]() 發表:8 回覆:21 積分:5 註冊:2005-04-18 發送簡訊給我 |
|
暗黑破壞神
版主 ![]() ![]() ![]() ![]() ![]() ![]() 發表:9 回覆:2301 積分:1627 註冊:2004-10-04 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |