1、頻繁插拔電時,PIC單片機容易死機。用一個10K電阻並在LM7805的5V輸出端到地。
2、單片機的復位端的電容不能太大。
使用PIC單片機去設計工控電路,最頭痛的問題,就是 PIC 單片機在受幹擾後經常硬體死鎖,大部份人歸咎於「CMOS的可控矽效應」 因而產生死鎖現象,一般都認為「死鎖後硬體復位都是無效的,只有斷電」。但是一個成熟的商品,那須要你去斷電呢?就好像一臺電冰箱,壓縮機一啟動,產生幹擾,CPU受幹擾因而『硬體死鎖』,死機在那兒,假如發現了,可以馬上拔掉電源插頭,隔幾秒再插回,如此的動作可以接受嗎?假如死機時沒發現,死機幾十天,你猜它會如何呢?應該是供給CPU電源的穩壓IC燒毀了。
PIC單片機為什麼會硬體死鎖,PIC單片機在受幹擾後經常硬體死鎖,那麼PIC要『看門狗』有何用,有沒有人深入去探討其原因,在各 PIC 單片機論壇也提得很多,各有各的觀點,總具體的原因不外是「CMOS的可控矽效應」而產生死鎖現象, 依我各人的觀點,應與 「CMOS的可控矽效應」無關,但很多大蝦皆認為是「CMOS的可控矽效應」所引起的,所以一直以來我也不方便提出,說不定是我的觀點錯誤,提出來反而誤了大家,但至今,針對PIC 單片機產生死鎖現象,都還沒有詳細的原因說明及對應之道,在別的PIC 單片機論壇也還在提此問題,我就將本人找尋PIC 『死鎖現象』的經過提供大家參考。
許久年前,PIC16C5x剛出產一兩年,(PICxxxx 原先只有165x,屬於NMOS結構,大量用於通用-GI的選臺器、有線電視解鎖器,後來改為CMOS結構,更名為16C5x),當時只有 16C54、55、56、57 四個型號,仿真器只有頂尖公司製造的 16C5x DOS版仿真器(第一代),它也是Microchip第一個OEM仿真器廠。16C5x 當年為最省電的OTP、QTP 單片機,價格又比其它的單片機便宜,只是它很容易受幹擾死機,很多大廠不敢使用它。有一天,有位朋友要我兼差幫他們公司設計汽車防盜器,當時市場上的汽車防盜器都還用CD40xx的邏輯電路去設計,各個時控都須一組RC電路,電路板上十幾個IC(加上遙控解碼IC),至少有7~8個VR,調整時非常複雜,當時我就以一個16C55+一個ULN2003+一個解碼IC (當時技術未成熟,還沒用PIC程序解碼,後期的已將解碼IC省略),總計三個IC就解決,電路方面有某些是依書本上的電路移植過來(重置電路也由一本 PIC 應用的書本移植過來),樣品出來後,當時對方存著很多疑問,電路怎麼這樣簡單,同時間內有4、5個『計時器』在計時,又要做那麼多的I/O偵測工作,時控能準確嗎?性能如何呢?穩定性?。..。..。總體而言, CPU所設計的電路, 對於功能-絕對是比邏輯電路所設計的好太多了,時控的準確性-我為它保證所有的時控誤差在1%之內, 至於穩定性----當時的樣品時常當機、死機,CPU 發燙,也就是大家所談的PIC的硬體死鎖。
為了此問題(大家最怕的問題),找遍所有的資料,都毫無所獲,在PIC的書上都沒有看到類似訊息,只好自己單打獨鬥的去奮鬥、去找原因。我花了幾天的時間,模擬了各種狀況,做了各式各樣的實驗,製造各種幹擾,用示波器測量各點所發生的異常波形。
其中一個簡單的實驗,(/MCLR 的接腳上,接一個提升電阻至 V+,接一個 0.1uf至地,接一個按鍵開關至地),讓我得到一個我所需要的答案,實驗時我多次的按按鍵開關,應該只是重置而已,但很容易進入所謂的『硬體死鎖』,連續測試,都會重覆發生,機率非常高,最後得到一個答案,PIC晶片的MCLR硬體設計有問題,與其他I/O腳無關聯,不是 I/O 腳受幹擾, 而是/MCLR 在重置或受幹擾時,/MCLR 腳會產生一個振蕩信號,當/MCLR 腳的外部接有電容時,它就永在發振,而PIC晶片內部某種硬體原因,導致於VDD與VSS之間產生很大的電流,所以VDD與VSS像短路一樣,CPU因而發燙,當把電容移開後, CPU就重新工作,耗電流也就恢復正常了,所以我就認為PIC它不是硬體死鎖 ,它沒CMOS的可控矽效應,可能是大家還沒找出原因,而懷疑是PIC內部CMOS的可控矽效應。而此問題解決方式,我當時也反應給Microchip公司反應,之後Microchip晶片內部有無修改就不得而知。
為了方便大家更好的學習,您還可以關注暢學電子和EDA的公眾號,每天推送相關知識,希望能對你的學習有所幫助!