在單片機(jī)開(kāi)發(fā)過(guò)程中,當(dāng)前期的程序編寫(xiě)或仿真完成后,或者程序需要升級(jí)修改時(shí)。都需要將程序?qū)懙?a target="_blank">單片機(jī)中?,F(xiàn)在比較流行的編程方式是ISP。常用的51S系列單片機(jī)大都使用并口在線(xiàn)編程器,而當(dāng)前大多筆記本電腦都沒(méi)有并口。
USB接口卻有幾個(gè),針對(duì)這種情況,筆者結(jié)合工作中開(kāi)發(fā)5l單片機(jī)的經(jīng)驗(yàn)。制作了基于USB接口的ISP,現(xiàn)介紹如下。
一、工作原理
整個(gè)方案使用CH341T與計(jì)算機(jī)進(jìn)行通信。將計(jì)算機(jī)應(yīng)用程序產(chǎn)生的下載數(shù)據(jù),通過(guò)USB接口輸出,通過(guò)CH341T將數(shù)據(jù)轉(zhuǎn)化為串口協(xié)議數(shù)據(jù),通過(guò)單片機(jī)AT89C2051將串口數(shù)據(jù)轉(zhuǎn)化為51S系列單片機(jī)的下載協(xié)議數(shù)據(jù),最后通過(guò)驅(qū)動(dòng)芯片74245輸出。整個(gè)制作無(wú)需外接電源,直接使用USB接口的5V電源。該制作簡(jiǎn)單。體積可以制作得很小。
需要注意的是,AT89C2051最好使用11.0592MHz的晶振。如果沒(méi)有的話(huà),可以通過(guò)修改定時(shí)器的定時(shí)值達(dá)到相同的波特率。電路原理見(jiàn)圖1。
二、芯片簡(jiǎn)介
CH341T在《電平報(bào)》2006年第8期的《將串口通訊升級(jí)到USB接口》
文章中已作了詳細(xì)介紹。該芯片自帶硬件驅(qū)動(dòng)。使用時(shí)只需要安裝好驅(qū)動(dòng)軟件就可正常工作,驅(qū)動(dòng)軟件可以在官方網(wǎng)站上下載。其基本原理是將USB控制器轉(zhuǎn)化為虛擬的串口,可以在“我的電腦/屬性,硬件,設(shè)備管理器”中看到對(duì)應(yīng)的串口。該串口名字用于下載應(yīng)用程序的串口設(shè)置,見(jiàn)圖2所示。
三、軟件編程
為了減少制作時(shí)間,計(jì)算機(jī)中和AT89C2051中運(yùn)行的程序都可以在網(wǎng)上下載得到,其名稱(chēng)為“Easv51Pmv2.0宇宙版”的軟件包。
AT89C2051中運(yùn)行的程序在子文件夾下的串行編程器源程序中。該源程序適應(yīng)用于所有的C51系列單片機(jī)編程。但本文制作只針對(duì)51S系列單片機(jī)進(jìn)行下載。并且AT89C2051中程序空間較小。必須將不必要的代碼刪除掉和更改部分代碼才能使用。下面詳細(xì)介紹修改方法:
1.將文件E51PR0.C中。Main()函數(shù)下的switch(ComBuf【l】)中的case(和case1去掉,由于不需要對(duì)2051和C51編程,因此可以去掉。將函數(shù)setVpp5V0、setVppOVO、setVpp12V0去掉。
2.在文件AT89S5lPR0.C中增加#defineRSTP1_4,將函數(shù)voidInitPro020中的1到6行刪除,將11行的P3_5=1,改為RST=1。將函數(shù)voidProOver020中程序全部刪除,增加RST=0。
3.將文件E51PR0.H中的#include改為#include。
整個(gè)文件修改完畢后。新建工程。將文件E51PRO.C、AT89S51PRO.C和E51PR0.H加入工程。編譯通過(guò)后將文件下載到AT89C2051中即可。
四、整體調(diào)試
硬件電路制作好以后。將USB接口插入計(jì)算機(jī)。第一次使用計(jì)算機(jī)會(huì)提示發(fā)現(xiàn)新硬件。按照安裝向?qū)?。完成?qū)動(dòng)程序的安裝。卜載軟件使用Easy5lPro.exe,該程序位于子文件夾中。打開(kāi)應(yīng)用程序。設(shè)置選項(xiàng)使用圖3設(shè)置,選擇使用Easv51Pm串行編程器,波特率為28800.串口設(shè)置按照CH341T的使用方法設(shè)置。
如果硬件電路安裝無(wú)誤。不需調(diào)試,電路即可正常工作。
-
單片機(jī)
+關(guān)注
關(guān)注
6041文章
44615瀏覽量
637331 -
ISP
+關(guān)注
關(guān)注
6文章
478瀏覽量
51927
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論