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