2008年12月24日 星期三

如果8051電路沒有動作,硬體除錯流程



如果8051電路沒有動作,硬體除錯流程






2008/03/09 11:02




如果8051電路沒有動作~~大部份都是哪邊出了問題?
先撇開"程式沒燒入進去"這問題來說~

硬體除錯流程
0)確定 電路 VCC/GND 沒短路, 電壓是你要的
一般的 8051 大部分 4.8 ~5.1V 都會正常工作。
1)用示波器量一下 18, 19 pin, 看有沒有 clock
 有些 Crystal的輸出很弱,用示波器會把它吃掉變沒有信號。
 如果沒信號,建議要試試 ALE確認。
2)量 40 VCC, 31 EA pin 和 20pin 的壓差是否為 VCC
 因為大部分的 8051都使用內部程式空間開機,EA要 pull-high。
3)量 20 GND pin 是否為 GND(0V)
4)量 第9 RST pin 看RESET 時 是不是 拉到VCC(5V) 再下降到 GND(0V)
 8051 是 high reset,R/C下降曲線不要太長,一般 R 4.7K / C 0.1uF 就可以了。
 如果一直是high,那當然是不會工作囉。
5)如果使用 Port 0 記得加 提升電阻,一般加10K
 不然 High時沒sink 電流出去,輸出會變成 high-Z。
6)把 pin 31 EA 接地, 重開電源,量 ALE 應該有脈波信號。
 沒信號的話,也有可能是 AT89S5X的 lock bit 設定,不要誤殺喔!

上述信號都對, 但 51 還是沒正常工作, 恭喜你 --> CODE 不對。

但是有時一開機對,程式好像也沒錯,但是一下子電路就掛點了~
1) 輸出短路,這有可能是你控制錯誤,像電晶體導通時造成的。
2) 電壓不穩定
 有時用7805 降壓,但是實在太多壓降在7805上造成發燙過熱,會使 7805失常。
 負載超量,比方用USB電源只有 500mA,有些甚至是HUB 100mA而已,
 你多亮幾個LED 可能就超載了,要注意~
3) 電路雜訊太大
 控制交流輸出時,要避免輸出漣波交連回數位區,最好用隔離式控制,Relay / 光耦合。
4) 浮接點雜訊輸入
 只要有用到的點,都不可以浮接,要不pull-high
要嘛 pull-low,不要空接不確定。

沒有留言: