我使用51單片機時間雖很久了,但基本上是用的Aemel的AT89S52系列,第一次用STC89C52RC時,自己做的開發板上的板載的CH340能正常工作,即電腦能與STC89C52RC串口通信;但不能通過電腦向STC89C52RC下載程序。一開始,不能確定是什么問題,為了方便定位問題,找出原因,我就把手上有的單獨的CH340模塊插在電腦的USB口,再從CH340模塊TTL接線端跳3根杜邦線(TXD,RXD,GND)到開發板上對應的STC89C52RC的端子,來下載程序,是能夠正常下載程序到STC89C52RC的。
這就是說,板載的CH340不能下載程序到STC89C52RC,而用CH340模塊,能夠下載程序到STC89C52RC。
這有點說不過去,上網查了一下,哦、喲,網上好多新手都發帖,稱:自己做的開發板,板載的CH340不能下載程序到STC89C52RC,而用CH340模塊,能夠下載程序到STC89C52RC。在向網友詢問,求助。但沒看到有人回應,解答。
我在對比 STC89C52RC 下載程序過程時,找到了這個板載的CH340不能下載程序到STC89C52RC,而用CH340模塊,能夠下載程序到STC89C52RC 的原因。
1、STC89C52RC 系列單片機是上電時才檢測下載程序的握手信號。
正常的操作過程是這樣的,在電腦的下載軟件上點擊下載,然后,再要關閉一下開發板的電源,然后,再開電源,程序才能下載到STC89C52RC。
2、沒經驗的小白,做開發板時,板上的芯片的電源都是在電源開關之后,即 CH340的電源也受電源開關控制。
3、這就導致,板載的CH340下載程序到 STC89C52RC ,那個關電源的動作,把 CH340的電源 也關了,再上電時,STC89C52RC 就不能從 CH340 檢測到 電腦軟件發出的下載程序的握手信號,所以 這樣的開發板的板載的CH340 不能下載程序到 STC89C52RC。
4、而 CH340模塊 是插在電腦上的,是由電腦供電,不受開發板上的電源開關控制,所以 STC89C52RC 就能從 CH340 檢測到 電腦軟件發出的下載程序的握手信號,這樣就能下載程序到 STC89C52RC。
理論上的原因分析是這樣,那到底實際情況是不是如此呢?下面實際解答:
我看了 宋雪松 老師寫的《手把手教你學51單片機-C語言版》這本書,這是一本非常值得稱贊的書。其中結尾處講的51單片機電子鐘實驗,我覺得不過癮,不大氣,太零散,原因是一個電子鐘,分成了1602液晶顯示一部分內容,LED數碼管顯示一部分內容,LED點陣模塊顯示一部分內容。我就自己用12864作為顯示屏 + STC89C52RC ,做了一個51單片機電子鐘開發板來驗證自己的想法。
這就出現了,第一次用STC89C52RC時,自己做的開發板上的板載的CH340能正常工作,即電腦能與STC89C52RC串口通信;但不能通過電腦向STC89C52RC下載程序。
我用刀片,斷開了 板載的CH340單元 的VCC與開發板的VCC連線,然后跳飛線,把 板載的CH340單元 的VCC ,與電源開關前的電源進線相連,也就是說,板載的CH340單元 的VCC 不受電源開關控制,直接連接了開發板的電源進線的+5V(VCC)。
這樣處理后,再試,就能夠,用開發板上的板載CH340下載程序到STC89C52RC 了。
這樣,也就,找出了,很多小白網友的,板載的CH340不能下載程序到STC89C52RC,而用CH340模塊,能夠下載程序到STC89C52RC 的原因。
|