新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > AT89S52單片機的USB下載線設計

        AT89S52單片機的USB下載線設計

        作者: 時間:2012-02-01 來源:網絡 收藏

         1 引言

        本文引用地址:http://www.104case.com/article/172214.htm

          不同的有不同的線,一般來說,對應有不同的軟件和硬件驅動程序。這些軟件和程序隨著功能的完善和操作等原因還有不同的版本。這造成線的使用者需要不斷的更新軟件,也讓使用者在更換時不僅更換下載線,還要熟悉新的下載軟件。為此,如果能一種不需要下載軟件的下載線或統一操作的下載軟件,則能大大提高程序下載的操作效率。研究和開發一種通用而不需下載軟件的 接口的單片機的下載線更為必要。

          2 硬件

          2.1 思想

          為了能夠使用和兼容傳統的下載線,一種方式是在計算機中連接一個 轉并口(或串口)的連接線,然后再連接一根傳統的下載線。在市場上,很多 轉并口的線是給打印機專用的,它并不是一個模擬并口,而是模擬了一個USB 打印機,是不能用來連接并口下載線進行程序下載的。USB 轉串口則不一樣,因為它是真正的在電腦上模擬了一個串口,一般的編程軟件都可以對這個串口進行讀寫操作。

          另一種方式是單獨開發的USB 編程器,其功能包含了USB 接口和下載線(也有一部分還帶有編程器等功能),一些USB 編程器內部結構是一個USB 轉串口的芯片轉成串口后再接后續編程電路,這樣的方式與單獨的USB 轉串口加下載線的原理和連接是相同的。

          不管是哪一種下載線,都需要對應的驅動程序和下載程序,當然,這些下載線也支持在線仿真等功能。

          為了實現計算機中不需要安裝下載線驅動程序,在對下載線控制系統調試完成后,計算機系統就可使用系統中自有的USB 驅動程序實現程序對下載線進行讀寫,這樣既能保證了在所有計算機上都可以通用,又實現了在計算機中不需要專用的下載程序,只需要如磁盤操作一樣進行復制、粘貼或其他文件復制操作即可將程序寫入單片機。

          2.2 選用接口器件

          在考慮了若干USB 接口芯片后,選用Philips 公司的PDIUSBD12 作為系統的USB 接口芯片,該芯片僅是一塊USB轉并行接口的系統芯片,所有的應答數據都由單片機提供,能夠滿足設計需要。

          PDIUSBD12 是一款性價比很高的USB 器件,完全符合USB1.1 版的規范,PDIUSBD12 通常用作微控制器系統中實現與微控制器進行通信的高速通用并行接口。PDIUSBD12 引腳功能如圖1 所示。

          

        PDIUSBD12 引腳圖

          圖1 PDIUSBD12 引腳圖

          2.3 PDIUSBD12 與單片機連接

          在Philips 的PDIUSBD12 文檔中,發布了一個與80C51的典型應用電路,如圖2 所示。

          

          在圖2 中,ALE 接為低電平,表示一個獨立的地址和數據總線配置。PDIUSBD12 的A0 腳與80C51 的任意一個I/O 口相連。該端口控制PDIUSBD12 的命令和數據狀態。80C51 的多位地址和數據總線可直接與PDIUSBD12 的數據總線相連。

          80C51 的頻率輸入可由PDIUSBD12 的CLKOUT 提供。

          2.4 下載線接口電路

          下載線的電路由三個部分組成,分別是單片機控制部分、USB 接口處理電路和下載線接口電路。

          其中USB 接口處理電路是采用D12 芯片與系統控制單片機芯片的連接方式采用了模擬總線的方式進行連接,數據端口連接到單片機的P0 端口,并在P0 端口上接了一個上拉排阻實現了端口輸出高電平。將D12 的讀寫控制分別接到P3.6 和P3.7 引腳,地址端A0 接到P1.1 引腳上。其時鐘信號從CLKOUT 輸出,連接到單片機 的XTAL1 上,作為單片機的時鐘信號,電路如圖3 所示。

          


        上一頁 1 2 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 城口县| 临武县| 霸州市| 同德县| 大关县| 望城县| 安康市| 嘉禾县| 贞丰县| 左云县| 古田县| 胶南市| 昌吉市| 阜城县| 开原市| 阿城市| 绍兴市| 公主岭市| 华安县| 庐江县| 三门县| 商都县| 沁水县| 景泰县| 万全县| 晋州市| 铜川市| 都昌县| 甘肃省| 东平县| 中西区| 九龙坡区| 望江县| 成安县| 武宣县| 离岛区| 宁武县| 青阳县| 伊川县| 谢通门县| 牡丹江市|