本帖最后由 zshyl621 于 2018-5-18 23:58 編輯
AT89S52單片機無法進入編程模式,求大神指點.
昨天同事給了我一堆(30pcs都是沒用過的)PLCC封裝的AT89S52,說是換STM8淘汰下來的^_^,記得S52可以直接ISP燒錄的,就想做個東西玩玩。結果....試了10多片都無法進入編程模式.(事后問了同事確定沒有用過的)
燒錄環境:winxp x32 , win7 x64.
下載線: ZF-007 v1.0, usbasp(某寶上的ATMEG8A芯).[圖1]
燒錄軟件:ProgIsp v1.66/v1.67/v1.68/v172/v2.0(zf-007只能在v1.68-2.0版檢測到,usbasp都可以用)
轉換座:PLCC轉DIP40,ATMEGA16A轉DIP40[圖2]
開發板:某寶上的最小系統板(插12Mhz晶振/11.0592Mhz)[圖2]
供電:DC 5V 1A(適配器),ISP下載線供電.
異常現象:各種方法都試驗盡了,都是提示“進入編程模式錯誤,請檢查編程器與目標板連線是否正確”或“chip enable Program error”.[圖4]
排除方法:1.更換ATS52芯片(30pcs中隨機挑),更換10次, 結果:都是異常
2.更換下載器和線(70cm/30cm),zf免驅版和usbasp驅動板, 結果:都是異常
3.更換燒入軟件版本progisp v1.66-2.0(速度:從自動到每個手動), 結果:都是異常
4.重新檢查開發板連接線(按datasheet圖中連接,EA->vcc)正常 [圖3],檢查晶振正常起振(12M/11.0592M交換試驗),檢查供電正常5V(DC獨立供電和下載線交換試驗),
5.更換其他型號芯片/開發板(ATMEGA16A(轉換DIP40插最小系統板上),Aduino開發板(328p),aduino2560) ,每種隨機拔插燒錄讀寫3次,結果:都正常,沒有一次異常現象。(可以排除下載器和線,最小系統板問題)
6.根據ATS52 Datashet 引腳圖逐個排查轉換座的連線都正確且導通。
7.實在沒轍了,示波器抓圖對比沒發現什么大問題..... [看示波器抓的圖]
求論壇各位大神指點,問題出現在哪里?什么原因導致的?如還需要提供其他技術參數請留言,謝謝了.....
示波器抓的圖:
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
讀寫正常的時序圖:
atmega16a:
atmega16a_zf-007
328p開發板:
328p_zf-007
328p_usbasp
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
無法進入編程模式的時序圖:
AT89S52:
ZF-007下載器:
USBasp下載器:
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
圖1
圖1
圖2
S52轉換座_最小系統
MEGA16轉換座_最小系統
圖3
S52_DATSHEET1
S52_DATSHEET0
圖4
V1.68
V1.72
今天就先倒騰到這吧..先去睡覺了 zzzzzzzzzzzzz
2018.5.18更新======================================================
看到幾位論壇的朋友回復都說: “AT89S52” 不能用ISP直接燒?需要專用編程器。(對于這個問題我問了我購買USBASP的店家,他們那邊還做了試驗確定可以用USBASP 直接燒,芯片datasheet里也說了可以在線ISP編程。)
還有幾位回復說:用并口ISP(74HC373方案),我昨天下班后特意去買了74HC373芯片和DB25插頭根據《Easy 51Pro v2.0宇宙版》提供的電路圖和燒錄軟件
搭建測試......發現以下幾個問題:
1.無法獲取芯片特征值(一直都是00 00 00,沒辦法只好自己新建了個S52, 00特征值的型號).[圖5]
2.可以成功執行讀取(0000-1ff8的值都是00,2000-fff8的值都是FF)。[圖6]
3.可以成功執行擦除。[圖7]
4.執行寫入文件時提示“寫器件時發生錯誤”。[圖8]
5.校驗數據時提示發現8178個單元不對(寫任何數據,校驗讀出來的全部都是00 ,感覺像無法讀取內部flash數據.)。[圖9]
-----------------------------------------------------------------------------------------------------------------------
圖5
圖6
6
圖7
7
圖8
8
圖9
9
9
============================================================
目前手上沒有專用編程器...沒法試,"難道還要去買一個................... "
|