|
|||||||||||
| 技術(shù)交流 | 電路欣賞 | 工控天地 | 數(shù)字廣電 | 通信技術(shù) | 電源技術(shù) | 測控之家 | EMC技術(shù) | ARM技術(shù) | EDA技術(shù) | PCB技術(shù) | 嵌入式系統(tǒng) 驅(qū)動編程 | 集成電路 | 器件替換 | 模擬技術(shù) | 新手園地 | 單 片 機 | DSP技術(shù) | MCU技術(shù) | IC 設(shè)計 | IC 產(chǎn)業(yè) | CAN-bus/DeviceNe |
郁悶,這個管腳電平怎么讀不了 |
| 作者:yangtse 欄目:單片機 |
代碼如下: “ if((P2&0x80)==0x80) level_cnt3=(level_cnt3<<1)|0x01; else level_cnt3<<=1; ” 說明,89c51cpu,p2口外上拉10k電阻。 很奇怪,當(dāng)p27電平有變化時(有意為之),levle_cnt3卻沒有變化。 如果將程序改為用p07,即 if((P0&0x80)==0x80) level_cnt3=(level_cnt3<<1)|0x01; else level_cnt3<<=1; 卻有效。 各位幫我分析一哈問題在哪里?謝謝先。 |
| 2樓: | >>參與討論 |
| 作者: computer00 于 2005/5/20 12:50:00 發(fā)布:
檢查P2口初始化是否正確。 |
|
| 3樓: | >>參與討論 |
| 作者: yangtse 于 2005/5/20 13:10:00 發(fā)布:
p2口p0口初始化一樣。 另外,89C51的管腳初始化會象其他非51需要定義其輸入輸出? 好像沒聽說過。 實際證明:初始化時p2=0xff與p2=0x7f沒有差別。 |
|
| 4樓: | >>參與討論 |
| 作者: 阿南 于 2005/5/20 13:12:00 發(fā)布:
re: 1、頭文件中定義的特殊功能寄存器地址錯了,查看一下頭文件,或用KEIL軟件仿真一下。 2、或者是你看錯管腳了,把P0和P2口看錯了! 3、單片機壞了! |
|
| 5樓: | >>參與討論 |
| 作者: 阿南 于 2005/5/20 13:16:00 發(fā)布:
還有,在讀一個管腳狀態(tài)前,先將其寫1 |
|
| 6樓: | >>參與討論 |
| 作者: yangtse 于 2005/5/20 14:04:00 發(fā)布:
to 阿南 “讀一個管腳狀態(tài)前,先將其寫1” 是何道理?多謝指教。 但我這里為何p0行,p2不行? 我也懷疑單片機壞了。所以將p27引到?jīng)]有用的p07。 但客戶換了幾片,也一樣。 在沒有找到原因而時間又急時,我現(xiàn)在暫時如下編程解決問題。真正郁悶。 #DEFINE TempratureIN 0X80 if(((P0&TempratureIN)==0x80)||((P2&TempratureIN)==0x80)) level_cnt3=(level_cnt3<<1)|0x01; else level_cnt3<<=1; |
|
| 7樓: | >>參與討論 |
| 作者: 阿南 于 2005/5/20 14:35:00 發(fā)布:
你可以找一本單片機的基礎(chǔ)書,參考一下I/O口部分 這是和單片機I/O口的內(nèi)部結(jié)構(gòu)有關(guān),內(nèi)部原理相當(dāng)于一個晶體管(或者說是三極管)!如果你將這個I/O口寫為0,無論你這個管腳輸入如何變化,讀進來的值總是0。 我建議你用KEIL軟件仿真一下你的程序,如果軟件都通不過,那肯定與實際的單片機無關(guān)啦 |
|
| 8樓: | >>參與討論 |
| 作者: 聶金華 于 2005/5/20 15:07:00 發(fā)布:
P2口為什么你也上拉? |
|
| 9樓: | >>參與討論 |
| 作者: yangtse 于 2005/5/20 16:55:00 發(fā)布:
現(xiàn)在只有懷疑單片機壞了 聶金華 發(fā)表于 2005-5-20 15:07 侃單片機 ←返回版面 P2口為什么你也上拉? -------------- 這個硬件不是我做的,不過,P2口上拉也沒錯。 我現(xiàn)在只有懷疑單片機壞了。 但手里沒更多的片子,客戶在異地又不大關(guān)心。暫無法確認。 |
|
| 10樓: | >>參與討論 |
| 作者: khw 于 2005/5/20 23:28:00 發(fā)布:
不一定是單片機壞了 P2口不用上拉也是可以的,但如果有上拉電阻就必須確保該上拉電阻 沒有被燒壞,可以檢查一下P2口的上拉電阻,這樣才能確保檢測信號 的正確性。 |
|
| 11樓: | >>參與討論 |
| 作者: yangtse 于 2005/5/23 9:26:00 發(fā)布:
已經(jīng)確認:芯片腳壞了。謝謝樓上各位熱心交流 |
|
| 12樓: | >>參與討論 |
| 作者: hotpower 于 2005/5/23 23:20:00 發(fā)布:
測管腳壞簡單可發(fā)55和AA兩次得到正確結(jié)果 在編程器能燒寫但不能正確使用時.這種方法非常有效. 最好嵌入到系統(tǒng)中進行實時檢測. |
|
|
|
| 免費注冊為維庫電子開發(fā)網(wǎng)會員,參與電子工程師社區(qū)討論,點此進入 |
Copyright © 1998-2006 m.58mhw.cn 浙ICP證030469號 |