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

51單片機定時/計數(shù)器詳解(工作原理及模式、應(yīng)用)
MCS51單片機的結(jié)構(gòu)與原理及應(yīng)用實例說明

51單片機的硬件與工作原理的詳細(xì)資料說明

理解51單片機最小系統(tǒng)的工作原理

第二章 MCS-51單片機硬件結(jié)構(gòu)與工作原理

51單片機(一)—— 51單片機簡介

評論