圖解單片機下載程序電路原理之USB轉串口線、CH340、PL2303、MAX232晶片的使用!

2021-02-14 電子愛好者

目前為止,我接觸單片機已有不少時日,從選擇元器件、原理圖、PCB、電路硬體調試、軟體開發也算小有心得

。單片機軟體開發裡面第一步當屬下載程序了,如果這一步都有問題,那麼後面的一切便無從談起,本人當初剛接觸單片機時,對於下載電路方法及原理也是一頭霧水。好在隨著經驗的積累以及自己的努力探求,現在對此問題算是有了點點自己的理解。故今天在此針對常用51單片機下載程序問題做下詳解,以求新手們少走彎路。當然,有誤之處還望各位指教!

原理:單片機的TXD、RXD是TTL電平,所以你得萬變不離其宗的將其它信號轉成TTL電平,只有這樣給單片機下載程序才有可能成功!其中CH340、PL2303等晶片是直接將USB信號轉換為TTL電平,而MAX232等晶片是將TTL轉換為RS232信號或者將RS232信號轉換為TTL.下面請看利用這種原理的兩種常用方法:

方法一:

請看圖一,這是我們最常見的單片機下載電路了,其中從②到⑥屬於大家常用的USB轉串口線,用這種方案的好處是,如果自己的PC帶有串口(可能很老的機器沒有USB接口),那麼就可以直接給單片機開發板下載程序,因為採用這種方法的開發板必定帶有串口接口嘛。當然,如果PC僅有USB接口而不帶串口,那麼只能找根USB轉串口線了(其電路原理就是圖中②到⑥),這裡我推薦大家使用採用CH340晶片的USB轉串口線,而不要採用PL2303的USB轉串口線,因為PL2303價錢便宜所以山寨的水貨較多,這會導致下載電路不穩定,甚至無法正常下載。同時此方案的壞處是電路板上必定要做一個9針串口接口(太巨大了),這必將增加了電路PCB的面積,當然也就增加了成本啦!(順便發表下個人見解:那個9針接口實在太醜,又大又重,無形中便降低了自己的設計檔次,哈哈。所以不推薦這種方法!)

方法二:

請看圖二,這是我經常採用的單片機下載電路。實踐證明效果非常好,幾乎沒出過任何問題!它的好處是只需要找根普通的USB2.0線(如圖二中②)就可以下載了,比找根USB轉串口線要輕鬆的多,同時由於將串口9針接口換成了USB接口,所以電路板的體積、重量也減少了不少,也顯得更美觀時尚,呵呵。在此強調一點:推薦使用CH340晶片(可以用CH340G,它引腳間距大很容易焊接)而不是PL2303,上文已說PL2303水貨多,況且PL2303的外圍電路比較複雜,這也給硬體電路的調試增加了難度。當然如果項目對成本特敏感,那麼採用價錢相對較低的PL2303也無可厚非。大家看到沒,圖二的電路結構比圖一要簡化很多,那麼是不是可以說明圖二的性能比圖一要更好呢?應該是吧!簡單的結構出問題的概率當然更小了!

值得一提的是在使用CH340時,有些問題得注意下,因為很多同學反映用CH340下程序失敗,但其實一般都很容易解決的。經本人總結常見原因有三:

1、某些CH340的引腳給單片機供了電導致單片機斷電不徹底(下載程序要斷電重啟),從而導致程序沒法下載。解決方案:在CH340的TXD引腳反向串聯一個二極體(推薦肖特基二極體)、在CH340的RXD引腳串聯一個約300歐姆的電阻。如此單片機可以徹底斷電,問題解決!!(特別注意:此種情況不適用於stm32等晶片)

2、有些同學在給單片機供電時,為了防反接保護電路,在電源處串聯了個二極體,由於二極體的正向壓降導致單片機供電不足,從而導致程序無法下載。解決方案:將二極體用0歐電阻代替或者採用正向壓降很小的二極體,以確保單片機的正常供電。問題解決!!

3、有些同學由於粗心將CH340的TXD引腳連接了單片機的TXD引腳,RXD引腳連接了單片機的RXD引腳,這自然不能下載程序了,一收一發不用多說吧,呵呵。解決方案:將CH340的TXD引腳連接單片機的RXD引腳,RXD引腳連接單片機的TXD引腳。問題解決!!

最後附上一張CH340的典型應用圖(截自STC的文檔)供大家參考!若碰到相關問題可以給我留言!!!

相關焦點

  • rs485轉rs232接口電路
    rs485通信的電平轉換晶片有全雙工的和半雙工的,為了便於軟體開發,本次設計採用全雙工晶片max488。如圖3所示,電平轉換電路採用max488全雙工集成晶片,使用時將單片機的串行收發端接人rs488的發收端。為保持通信信號的穩定,一般會在max488加上、下拉電阻。上拉電阻把不確定的信號通過一個電阻嵌位在高電平,此電阻還起到限流的作用。同理,下拉電阻將不確定的信號嵌位在低電平。
  • max232引腳圖及RS232引腳定義
    max232是一種把電腦的串行口rs232信號電平(-10 ,+10v)轉換為單片機所用到的TTL信號點平(0 ,+5)的晶片,這個晶片的價格比較貴大約要
  • 單片機實驗報告與心得體會
    串行口連接max232串行口轉換晶片,p1口留出作為一些控制量的輸入輸出用以擴展使用。在實驗板上可編寫鍵盤掃描程序、顯示程序、時間的設定及計時程序、從鍵盤上輸入兩個加數或減數顯示結果程序、位變量的邏輯運算程序及串行口和上位機通訊程序等,還可和其它課程相結合,進行實驗。
  • 基於CH371的USB接口虛擬示波器設計
    在這個方案裡,筆者選用了一款不需要開發協議固件和驅動程序的USB總線接口晶片。 南京沁恆公司(www.winchiphead.com)推出的CH371是一個USB總線的通用接口晶片,它利用硬體邏輯屏蔽了USB 通訊中的所有協議,在計算機應用層與本地端控制器之間提供端對端的連接。
  • S12單片機模塊應用及程序下載調試
    大獎賽中車模對跑道的識別有可能會用到A/D模塊,識別電路的前端數據採集系統有很多種實現方案,如紅外發光二極體或是CMOS攝像頭來進行數據採集。 Codewarrior軟體使用     大賽中採用Codewarrior 3.1 for HCS12作為推薦的程序編譯軟體。
  • 51單片機輕鬆入門與實踐 — 暢學單片機
    本課程打破了單片機教學的傳統模式,採取實例模塊製作的方法,從該模塊需用到的單片機理論知識,再加上該模塊用到的「器件介紹」環節,外圍電路設計講解部分以及要實現該模塊的軟體功能-編程詳解,巧妙地將單片機原理與應用、外圍電路設計、單片機C語言編程的知識點融入各個模塊項目中,不僅開闢了單片機應用的視野,又充實了對單片機從基礎到應用所需要的知識。
  • 555定時器晶片實現單片機看門狗電路
    在單片機系統中,因為幹擾的原因,在非預期的情況下,使得程序計數器PC 的值發生隨機的變化,從而使得程序的流向指向不確定區域,這便是程序的跑飛。程序跑飛後或者會使指令的地址碼和操作碼發生改變,PC 把操作數當作指令來執行;或者PC值指向一條不合邏輯關係的指令甚或是非程序區,運行結果常常會使單片機進入死循環———便是大家常說的「死機」。
  • 基於單片機的視力保護器設計
    針對這一問題,本文將單片機與視力保護相結合,利用單片機晶片的智能處理功能,結合超聲波測距原理,光敏電阻隨光強變化的特點,單片機定時器T0,T1的工作原理,以及LCD1602液晶顯示器的使用方法,設計了一個多功能視力保護器。
  • 單片機硬體電路設計實例分析
    點擊文末「閱讀原文」免費下載《單片機硬體電路設計實例(工程師多年經驗總結)》也可複製以下連結打開下載地址
  • 改造win10平板——增加標準USB口和充電口
    「充電OTG」呢,我之前是不理解原理的,在改我這個平板的時候我通過電路(待會傳上)大概了解了這樣原理:充電晶片AXP288有兩個引腳專門用來檢測usb的D+、D-兩個線的,叫做ChargeDetection,就是充電檢測,依靠兩個線的電平差來判斷充電和OTG的,然後用所謂的上下拉電阻來「欺騙」這兩個引腳實現「充電OTG」,但這要會導致充電特別慢,甚至充不進去。
  • PIC單片機之步進電機
    現在我們就趁熱打鐵,再向上跨一步,一起來學習一下步進電機的工作原理及使用方法,這是我們用單片機來控制機械進行運動的開始。步進電機是一種將電脈衝轉化為角位移的執行機構。當步進驅動器接收到一個脈衝信號,它就驅動步進電機就按設定的方向轉動一個固定的角度(步距角)。
  • ADC0804模數轉換51單片機程序與電路
    打開APP ADC0804模數轉換51單片機程序與電路 發表於 2017-11-12 09:46:13   集成A/D轉換器品種繁多,選用時應綜合考慮各種因素選取集成晶片。
  • DIY製作嵌入單片機晶片的貼心小杯墊
    STC系列單片機作為控制晶片,電源的通斷由三個開關S1、S2、S3共同控制,水杯重量達到一定程度時,開關閉合電源接通,通過溫度傳感器DS18B20採集水杯溫度信號,並輸出與之對應的電信號,送入STC15L104單片機控制晶片,經過信號的處理與運算,以PWM方式調節電壓佔空比,佔空比越大,平均電壓越大,燈也就越亮,佔空比越小,平均電壓越小,燈也就越暗,不同亮度的彩色LED經過混色,從而調製出彩色光,控制它變色
  • 超聲波測距的原理和超聲波測距系統的電路設計詳細概述
    三、 超聲波測距系統的電路設計 本系統的特點是利用單片機控制超聲波的發射和對超聲波自發射至接收往返時間的計時,單片機選用8751,經濟易用,且片內有4K的ROM,便於編程。電路原理圖如圖2所示。其中只畫出前方測距電路的接線圖,左側和右側測距電路與前方測距電路相同,故省略之。
  • 快速上手51單片機
    京東上有大量的開發版,板上除了基於 51 晶片構建的 最小系統 (電源、晶振、復位)和燒寫電路之外。還在設計了很多學習會使用到的元器件(LED 燈、蜂鳴器、數碼管、矩陣按鍵、溫溼度傳感器等)。記得當時是大二上期,去選了機電學院的一節專業課《單片機原理與應用》,所以自己買了一塊開發板,但是是真的學不懂,所以就成了 吃灰板。
  • 步進電機的單片機控制
    方案二:使用L298N晶片驅動電機 L298N晶片可以驅動兩個二相電機(如圖1-1),也可以驅動一個四相電機,輸出電壓最高可達50V,可以直接通過電源來調節輸出電壓;可以直接用單片機的IO口提供信號;而且電路簡單,使用比較方便。
  • 基於AT89S52單片機和ISD4004語音晶片實現語音播報記事器的設計
    該設計以ISD4004:語音晶片和AT89S52單片機為中心,很好地實現了語音存儲與自動播放。 1 硬體設計原理 語音播報記事器的主要功能是實現語音存儲與定時播放。要實現語音存儲與定時播放的方法很多,可供選擇的器件也很多。由於單片機等微控制器的出現和數字電路技術的發展,使得現在的語音存儲與自動播放變得易於實現。本設計採用單片機作為微控制器。
  • 暢學三合一51單片機實戰教程
    本課程打破了單片機教學的傳統模式,採取實例模塊製作的方法,從該模塊需用到的單片機理論知識,再加上該模塊用到的「器件介紹」環節,外圍電路設計講解部分以及要實現該模塊的軟體功能-編程詳解,巧妙地將單片機原理與應用、外圍電路設計、單片機C語言編程的知識點融入各個模塊項目中,不僅開闢了單片機應用的視野,又充實了對單片機從基礎到應用所需要的知識。
  • JTAG/SWD/ISP/SWIM詳解單片機的四種燒寫方式
    單片機是一種可編程控制器,搭好硬體電路後,可以利用程序實現很多非常複雜的邏輯功能,與純硬體電路相比,簡化了硬體外圍的設計、方便了邏輯的設計、豐富了邏輯的輸出。不同廠家的單片機需要不同編程IDE來實現編程。