痞酷網_PIGOO

 找回密碼
 立即註冊
!!! [系統偵測到廣告阻擋軟體] !!!

如果您覺得痞酷網對您有些許幫助,或者您認同痞酷網的理想,

那麼希望您將痞酷網設定為白名單.

並請在上論壇的時候,動動您的手指,用行動支持我們.

謝謝!
查看: 4596|回復: 19

求助!! 7段動態顯示踢到鐵板 (已經解決)

  [複製鏈接]
發表於 2012-1-13 23:55:46 | 顯示全部樓層 |閱讀模式
本帖最後由 antlu 於 2012-1-14 04:30 PM 編輯

今天把 892051作的 18B20 溫度計 顯示出來時候, 實際 20.0度 卻顯示 28.0度 第二位數的 G段一值顯示著,其他都正常 0變8  1 7 中間那一段就是亮著,查過電路沒有短路 更換 ULN2003 沒有用 ...
   請問 問題會出在哪裡?
  因為使用 12V供電 共陽極  PNP & NPN 配對提供LED陽極電壓, 3LED 一串 限流電阻 100R 3*7=21支 七段輸出使用 ULN2003 , PNP & NPN 配對  12V-1K-PNP(B)-10K-NPN(C)  NPN(B)-100K-892051(P3^2.3.4)

   DSC01114 [800x600].JPG

DSC01113 [800x600].JPG

DSC01112 [800x600].JPG

DSC01115 [800x600].JPG



需要程式請告知!!
發表於 2012-1-14 02:13:43 | 顯示全部樓層
檢查一下P1.7是否一直都為Hi,查看看是否短路到Vcc,查看三個LED接ULN2003的點g,看看一直都為Lo,查看是否有短路到地.
最好用示波器測.
 樓主| 發表於 2012-1-14 09:36:44 | 顯示全部樓層
scottwang 發表於 2012-1-14 02:13 AM static/image/common/back.gif
檢查一下P1.7是否一直都為Hi,查看看是否短路到Vcc,查看三個LED接ULN2003的點g,看看一直都為Lo,查看是否有短 ...

SCOTTWANG大:
    開機起始動作時 可以全亮 也可以全滅 只是一工作就會變成這樣,我有確認過沒有短路!!  我再找時間確認一下!
發表於 2012-1-14 10:19:39 | 顯示全部樓層
本帖最後由 oldhan 於 2012-1-14 10:35 AM 編輯
antlu 發表於 2012-1-14 09:36 AM static/image/common/back.gif
SCOTTWANG大:
    開機起始動作時 可以全亮 也可以全滅 只是一工作就會變成這樣,我有確認過沒有短路!!   ...


那個有問題的位數 0~9 的顯示情形注意看看 a~f 那一段亮的時候 g 也被點亮就是那兩段短路.

發表於 2012-1-14 10:30:56 | 顯示全部樓層
那麼就是程式需要除錯了
發表於 2012-1-14 11:04:17 | 顯示全部樓層
阿乾大,如果兩邊的驅動很近,記得一定要把焊油洗掉,不然很容易出現這類狀況,而且,這是用電表量不太出來,因為根本沒有互相短路。
這狀況我有遇過,不知道您這狀況是不是跟我遇到的一樣。
 樓主| 發表於 2012-1-14 13:30:51 | 顯示全部樓層
oldhan 發表於 2012-1-14 10:19 AM static/image/common/back.gif
那個有問題的位數 0~9 的顯示情形注意看看 a~f 那一段亮的時候 g 也被點亮就是那兩段短路.

...

OLDHAN大;
    目前就是 1 7 8 這三個數字點亮時候 g段還是會亮,其他數字 因為本來就會亮 所以無從比較... 我要把c程式 傳給你看嗎?
 樓主| 發表於 2012-1-14 13:32:19 | 顯示全部樓層
chao0314 發表於 2012-1-14 10:30 AM static/image/common/back.gif
那麼就是程式需要除錯了

請問程式上面可以作哪方面的層別?
 樓主| 發表於 2012-1-14 13:34:12 | 顯示全部樓層
本帖最後由 antlu 於 2012-1-14 01:36 PM 編輯
s10274chen 發表於 2012-1-14 11:04 AM static/image/common/back.gif
阿乾大,如果兩邊的驅動很近,記得一定要把焊油洗掉,不然很容易出現這類狀況,而且,這是用電表量不太出來 ...


S10274CHEN大:
   許久不見,放寒假了吧!!  我把電路清除看看!! 會不會是 2003輸入的偏壓電阻10K 出了些問題?
發表於 2012-1-14 15:27:06 | 顯示全部樓層
antlu 發表於 2012-1-14 01:32 PM static/image/common/back.gif
請問程式上面可以作哪方面的層別?

您說開機起始動作時 可以全亮 也可以全滅只是一工作就會變成這樣,

我是這麼想 硬體基本沒問題,應該是程式驅動上有錯誤,G這一段執行時變成和小數點一樣設成常亮.
 樓主| 發表於 2012-1-14 15:55:41 | 顯示全部樓層
本帖最後由 antlu 於 2012-1-14 04:03 PM 編輯
chao0314 發表於 2012-1-14 03:27 PM static/image/common/back.gif
您說開機起始動作時 可以全亮 也可以全滅只是一工作就會變成這樣,

我是這麼想 硬體基本沒問題,應該是 ...


chao0314大:
   我比較覺得怪異的是,為何我顯示了4位 P3^1 P3^2 P3^3 p3^4 因為電路的關係 我只做了 P3^2 P3^3 p3^4 但是 就只有 P3^3 的G段一值顯示,其他都OK!! 不明瞭!!!

unsigned char code  segment[10]={0x7e,0x0c,0xb6,0x9e,0xcc,0xda,0xfa,0x0e,0xfe,0xde};//
unsigned char code grid[4]={0x02,0x04,0x08,0x10};


void Display(unsigned char n,unsigned char dn)
{
      unsigned char i;
           n=0;//已經沒有用了,但先前程式設計關係還是把他設為0
          for(i=0;i<dn;i++)
           {
           DataPort=TempData; // TempData[1]
           DrivePort= grid;      
                 DelayMs(3); //0908 update 因閃爍把20改成10 >>5
       }

感謝提醒!! 應該是小數點的問題!! 因為原先程式上面有小數點的"附加",我在裝置LED的時候把小數點獨立出來,所以會有這樣的問題... 先回應給你..我去改程式確認...
發表於 2012-1-14 16:10:29 | 顯示全部樓層
我以為你只是用現成的軟體,昨天想軟體問題想了一半就把它停了.
你查一查你的字型輸出資料表看看.

如果0也有的話就是g已固定為1,也就是隨時都會亮,若只是1,7,8,則只查1,7即可,因為8本來就會亮了.


    g f  e d c b a
  ===============
0  0 1 1 1 1 1 1
1  0 0 0 0 1 1 0    1
2  1 0 1 1 0 1 1
3  1 0 0 1 1 1 1
4  1 1 0 0 1 1 0
5  1 1 0 1 1 0 1
6  1 1 1 1 1 0 1
7  0 0 0 0 1 1 1    7
8  1 1 1 1 1 1 1    8
9  1 1 0 1 1 1 1
發表於 2012-1-14 16:30:13 | 顯示全部樓層
看來你需要寫一小段debug程式了.
就是由左至右顯示0...9
十位數 : 0...9
個位數 : 0...9
小數位 : 0...9
 樓主| 發表於 2012-1-14 16:38:07 | 顯示全部樓層
scottwang 發表於 2012-1-14 04:30 PM static/image/common/back.gif
看來你需要寫一小段debug程式了.
就是由左至右顯示0...9
十位數 : 0...9

SCOTTWANG大:
   感謝!! 經過 CHAO0314大 的提醒,因為原先程式有小數點的"動作" 我在修改程式的時候忘了把它修改!! 原來的實驗板程式配合 74LS573 兩個 作為LATCH的功能,而我因為沒有 74573 還有我增加了 ULN2003 所以程式需要改寫 當然因為使用 89C2051 這與 89S51 也是接腳不同 於是發生了一些插曲...
   在此感謝大家的熱心協助... Orz.....
發表於 2012-1-14 16:56:22 | 顯示全部樓層
antlu 發表於 2012-1-14 04:38 PM static/image/common/back.gif
SCOTTWANG大:
   感謝!! 經過 CHAO0314大 的提醒,因為原先程式有小數點的"動作" 我在修改程式的時候忘了 ...

寫軟體和硬體設計一樣,就是改了那裡,而忘了記錄,然後以後問題就接著來...
習慣就好...恭喜...又進一步了.

對了,你之前說的溫度感知器,你買一個多少?
 樓主| 發表於 2012-1-14 17:09:36 | 顯示全部樓層
scottwang 發表於 2012-1-14 04:56 PM static/image/common/back.gif
寫軟體和硬體設計一樣,就是改了那裡,而忘了記錄,然後以後問題就接著來...
習慣就好...恭喜...又進一步了. ...

DS 1820 網路有一位"金剛"先生 1個30元, 我說的另外一種溫度紀錄計IC 台灣買不到(好像只有香港有賣!)

89C2051 也是30元...
發表於 2012-1-14 17:15:06 | 顯示全部樓層
bug解掉了.....呵!水喔!

是啊!阿乾大,這星期開始放寒假了。不過這個寒假也蠻有意思的,不像放假。
 樓主| 發表於 2012-1-14 19:20:06 | 顯示全部樓層
s10274chen 發表於 2012-1-14 05:15 PM static/image/common/back.gif
bug解掉了.....呵!水喔!

是啊!阿乾大,這星期開始放寒假了。不過這個寒假也蠻有意思的,不像放假。

s10274chen大:
    新年快樂!! 寒假快樂!! 看樣子我以後要作玩具的話,要把 測試小程式先寫出來,否則光是I/O就會把人累死!!!
發表於 2012-1-14 21:23:43 | 顯示全部樓層
阿乾大,問題雖然解決了,但還是建議寫個字節測試程式RUN一下,很快就可找到答案。

每次一個字逐一字節跑完再換下一個字,用時間延遲或按按鍵換下一字節,對於硬體除錯有很大的幫助。

每次對於新設計的硬體我都會先寫顯示與按鍵測試程式,確定硬體都沒問題了再接下去寫程式,只要一次架構寫好了,下次新的硬體設計只要稍加修改都可套用,長期下來省了不少時間,也可將這些I/O測試程式附加在實際程式之內,透過按鍵程序隨時測試硬體都很方便。

以上請您參考......
 樓主| 發表於 2012-1-15 00:49:29 | 顯示全部樓層
ysc 發表於 2012-1-14 09:23 PM static/image/common/back.gif
阿乾大,問題雖然解決了,但還是建議寫個字節測試程式RUN一下,很快就可找到答案。

每次一個字逐一字節跑 ...

YSC大:
    真是高見!! 這一定累積多年的經驗!! 我先前從沒有小到這些細節,一方面是"貪快"一方面是經驗不足,畢竟到現在為止玩具只做了幾個,跌跌撞撞也算是學到不少經驗.
    上次,向YSC大提到 ISP的經驗時候,順興大建議我用排線來模擬,這次讓我省了不少時間,我先用排線和顯示模組先把程式作一些鎖定,而8951轉換892051之間這次因為I/O 腳位的不熟悉所以混亂了一陣子,上次作大LED數字鐘時候的62003 接地腳忘了接,這次就特別注意, 再次感謝YSC大的建議.Orz.....
您需要登錄後才可以回帖 登錄 | 立即註冊

本版積分規則

關閉

站長小叮嚀上一條 /1 下一條

禁閉室|手機版|連繫我們|痞酷網電子技術論壇

GMT+8, 2024-11-23 04:27 PM , Processed in 0.209687 second(s), 19 queries , Gzip On.

Powered by Discuz! X3.4 Licensed

© 2001-2023 Discuz! Team.