<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 有保護(hù)功能的51單片機(jī)編程器

          有保護(hù)功能的51單片機(jī)編程器

          作者: 時(shí)間:2012-05-22 來(lái)源:網(wǎng)絡(luò) 收藏

          這款簡(jiǎn)易具有自動(dòng)斷電,當(dāng)插反,電路會(huì)立刻切斷電源(電源指示燈進(jìn)入閃爍狀態(tài)),既、,也保護(hù)了計(jì)算機(jī)USB口,避免造成不必要的損失。它所支持的芯片型號(hào)如下表所示。

          本文引用地址:http://www.ex-cimer.com/article/171422.htm

          有保護(hù)功能的51單片機(jī)編程器Microcontroller Programmer

          一、特點(diǎn)及性能
          ①具有自動(dòng)斷電保護(hù),當(dāng)插反,保護(hù)電路會(huì)立刻切斷電源(電源指示燈進(jìn)入閃爍狀態(tài)),即保護(hù)了單片機(jī)、,也保護(hù)了計(jì)算機(jī)USB接口,避免造成不必要的損失。
          ②使用串口通信,芯片自動(dòng)判別,編程過(guò)程中的擦除、燒寫(xiě)、校驗(yàn)各種操作完全由編程器上的監(jiān)控芯片89C51控制,不受PC配置及其主頻的影響,因此燒寫(xiě)成功率高可以達(dá)到100%,燒寫(xiě)速度很快并且.燒寫(xiě)速度和微機(jī)的檔次無(wú)關(guān)。
          ③采用最高可達(dá)57600bps高速波特率進(jìn)行數(shù)據(jù)傳送,編程速度可以和一般并行編程器相媲美,經(jīng)測(cè)試,燒寫(xiě)一片4KBROM的AT89C51僅需要9.5s,而讀取和校驗(yàn)僅需要3.5s。
          ④體積小巧,省去笨重的外接電源適配器,直接使用USB端口5v電源,攜帶方便,非常適合初學(xué)者學(xué)習(xí)51單片機(jī)的要求。也可使用7~15V的直流電源作為輸入,內(nèi)有極性保護(hù)電路,無(wú)需擔(dān)心電源極性接反。
          ⑤40PIN和20pin鎖緊插座,所有器件全部以第①腳對(duì)齊,無(wú)附加跳線(xiàn),對(duì)于DIP封裝芯片無(wú)需任何適配器。
          ⑥上位機(jī)軟件可自動(dòng)搜索并識(shí)別插座上的器件型號(hào)。
          ⑦采用優(yōu)質(zhì)萬(wàn)用鎖緊插座,可燒寫(xiě)40腳單片機(jī)芯片和20腳單片機(jī)芯片⑧改進(jìn)的燒寫(xiě)深度確保每一片51系列芯片的反復(fù)燒寫(xiě)次數(shù)都能達(dá)到1000以上!內(nèi)部數(shù)據(jù)至少保存10年。
          二、電路原理介紹
          編程器的電路主要由電源保護(hù)電路、通信電路、編程電路、編程電壓選擇電路4部分組成。分別介紹如下:


          1.電源及保護(hù)電路
          有兩種輸入方式:7~15V的直流輸入或電腦USB的5V輸入。當(dāng)輸入7~15V的直流電壓時(shí),經(jīng)過(guò)7805三端穩(wěn)壓器轉(zhuǎn)換為5V電壓,C3、C4.C5、C7是濾波電容。Q4(8550)是一個(gè)受控于保護(hù)電路的電子開(kāi)關(guān),保護(hù)電路由單片機(jī)PIC12C508A和Q5(9014)、l{5、R6組成。正常情況下,電源的輸出電流很小,R5上的電壓也很小,Q5處于截止?fàn)顟B(tài),上拉電阻R6使GP2是高電平,PIC單片機(jī)的監(jiān)控程序使CP1輸出低電平,從而使Q4(8550)工作于飽和狀態(tài),CPO輸出低電平使電源指示燈LED1常亮;當(dāng)燒寫(xiě)單片機(jī)時(shí)不慎放反方向,電源的輸出電流會(huì)很大,大于400mA時(shí)R5上的電壓大于0.5v,Q5進(jìn)入飽和狀態(tài),使PIC單片機(jī)CP2輸入低電平,監(jiān)控程序使CP1輸出高電平,從而使Q4(8550)進(jìn)入截止?fàn)顟B(tài)這樣就切斷了編程器的電源輸出,同時(shí)使電源指示燈LED1進(jìn)入報(bào)警的閃爍狀態(tài),達(dá)到了保護(hù)單片機(jī)和編程器、電腦串行接口的目的。電源及保護(hù)電路原理圖如下圖所示。

          有保護(hù)功能的51單片機(jī)編程器電路圖Microcontroller Programmer

          2.通信電路
          編程器與計(jì)算機(jī)是通過(guò)DB9型9針對(duì)9孔的電纜連接的,因?yàn)橛?jì)算機(jī)RS232接口的電平是+12V(代表數(shù)字電路中的0)、-12V(代表數(shù)字電路中的1)而單片機(jī)的電平是+5V(代表數(shù)字電路中的1)、0v(代表數(shù)字電路中的0),所以?xún)烧咧g的通訊就需要電平轉(zhuǎn)換。電平轉(zhuǎn)換電路由IC3(MAX232CPE)、C8、C9、C10、C1l組成。同時(shí)為了滿(mǎn)足某些單片機(jī)需要12V的編程電壓,D2、D3、D4、C12、C13、C14、R4組成了從串口“借”12V電壓的電路。通信電路如下圖所示。

          有保護(hù)功能的51單片機(jī)編程器電路圖Microcontroller Programmer

          3.編程電路
          由一個(gè)事先寫(xiě)好監(jiān)控程序的單片機(jī)U1(AT89C51)和ZIP1、ZIP2組成,C15、R13組成上電復(fù)位電路,S2是手動(dòng)復(fù)位電路,C1、C2、Xl(11.0592M晶振)組成振蕩器電路,ZIP1用于DIP40封裝的單片機(jī),ZIP2用于DIP40封裝的單片機(jī)。在上位機(jī)軟件里指定待燒寫(xiě)的單片機(jī)型號(hào)后,當(dāng)把一個(gè)HEX文件(由KeilC51等軟件編譯生成)傳送到編程器的時(shí)候,監(jiān)控單片機(jī)就會(huì)由監(jiān)控程序把對(duì)應(yīng)的地址、數(shù)據(jù)和控制信號(hào)加載到目標(biāo)單片機(jī)。數(shù)據(jù)寫(xiě)入后再將寫(xiě)入目標(biāo)單片機(jī)的數(shù)據(jù)發(fā)送回計(jì)算機(jī)校驗(yàn)。編程電路如下圖所示。

          有保護(hù)功能的51單片機(jī)編程器電路圖Microcontroller Programmer

          4.編程電壓選擇電路
          不同類(lèi)型的單片機(jī)需要不同的編程電壓,像AT89C系列單片機(jī)的編程電壓一般是12V,而AT89S系列單片機(jī)的編程電壓一般則是SV,由監(jiān)控單片機(jī)的12、13引腳來(lái)選擇不同的編程電壓VPP,單片機(jī)和編程電壓的對(duì)應(yīng)關(guān)系如表l所示。單片機(jī)的特征字是單片機(jī)的身份證,監(jiān)控單片機(jī)U1(AT89C51)通過(guò)讀取單片機(jī)的特征字來(lái)判斷對(duì)于何種單片機(jī)應(yīng)該加哪一種編程電壓。編程電壓選擇電路如下圖所示。

          有保護(hù)功能的51單片機(jī)編程器電路圖Microcontroller Programmer



          評(píng)論


          相關(guān)推薦

          技術(shù)專(zhuān)區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();