【正文】
/*通知上位機(jī)編程器進(jìn)入就緒狀態(tài) */ SendData()。 } break。 SendData()。 SendData()。 nAddress=0x0000。 /*通知上位機(jī)編程器進(jìn)入就緒狀態(tài) */ SendData()。i++) { ComBuf[i]=Read00()。 default:break。 case 6: SendData()。 case 2: Erase()。 /* 初始化串口 */ SetVpp5V()。 /* 編程器復(fù)位 */void ReadSign()。 /* 從器件讀一個字節(jié) */BOOL Write01(BYTE Data)。 /* 編程結(jié)束后的工作,設(shè)置合適的引腳電平 */void Erase00()。//PROG/ALEsbit P3_4=P3^4。不積跬步何以至千里,各位任課老師認(rèn)真負(fù)責(zé)的態(tài)度,在他們的悉心幫助和指導(dǎo)下,使我能夠很好的掌握和運(yùn)用專業(yè)知識,并在設(shè)計中得以體現(xiàn),順利完成畢業(yè)論文。同時自身的知識和經(jīng)驗儲備不足,無法將自己的設(shè)計理念完全體現(xiàn)在實物上。“掌握信息,實事求是,實踐中創(chuàng)新”,這是我在這次畢業(yè)設(shè)計的體會。(8) 點擊“關(guān)閉軟件”和“使用方法”,可以關(guān)閉軟件和顯示軟件使用的方法。(3) 點擊“打開文件”,在文件緩沖區(qū)可以顯示所打開的數(shù)據(jù),與實際相比較,若成功,則可以進(jìn)行下一步操作,否則,修改程序。 PC機(jī)軟件的調(diào)試(1)將USB轉(zhuǎn)串口模塊連接到電腦的USB上,按照提示,安裝好CP2102芯片驅(qū)動。 單片機(jī)程序調(diào)試單片機(jī)程序設(shè)計,是實現(xiàn)整個功能的關(guān)鍵。 功能模塊調(diào)試在模塊調(diào)試中,模塊器件上出現(xiàn)了問題,可以按以下步驟進(jìn)行:(1)檢查原理圖連接是否正確、檢查原理圖與PCB圖是否一致、檢查原理圖與器件的DATASHEET上引腳是否一致、用萬用表檢查是否有虛焊,引腳短路現(xiàn)象。PCB板的設(shè)計是電路設(shè)計的最后一個環(huán)節(jié),也是對原理電路的再設(shè)計。⑤Summary 是對前面的選項的一個小結(jié),確認(rèn)后,就可以生產(chǎn)打包軟件了。①Wele頁加載工程文件(工程路徑下的*dsw文件)②Application Information頁,填寫應(yīng)用程序名,公司名稱,應(yīng)用程序類型,版本,應(yīng)用程序(.)等信息,前面幾個都可以按默認(rèn)設(shè)置,只有最后一個事最關(guān)鍵的地方,這里要選擇在Release文件夾中的*.exe文件。 和字符39。 HEX文件Intel HEX文件是由一行行符合Intel HEX文件格式的文本所構(gòu)成的ASCII文本文件。在編程過程中,就可以在OnComm事件處理函數(shù)中加入自己的處理代碼。具體的來說,它提供了兩種處理通信問題的方法:一是事件驅(qū)動(Event-driven)方法,一是查詢法。 用戶界面的設(shè)計用戶界面是一個應(yīng)用程序最重要的部分,對用戶而言,界面就是應(yīng)用程序,用戶感覺不到幕后正在執(zhí)行的代碼。Visual Basic推出了中文版,與前個版本相比,其功能有了很大提升。其流程圖如圖 (a)所示。此外加密位只能通過整片擦除的方法清除。(3)激活相應(yīng)的控制信號。在這種方式,擦除周期是自身定時的,大約為500ms。用于聲明該器件的廠商和型號等信息,讀簽名字節(jié)的過程和正常校驗相仿,返回值意義如下:(000H)=1EH聲明產(chǎn)品由ATMEL公司制造。圖 單片機(jī)編程流程圖基于USB接口的編程器制作的程序流程圖如圖 。根據(jù)單片機(jī)下載程序所需設(shè)置引腳的電平,并綜合考慮布線的容易及抗干擾的要求,將控制單片機(jī)的P0口接到下載單片機(jī)的P0口,控制單片機(jī)的P1口接到下載單片機(jī)的P1口,控制單片機(jī)的P2口接到下載單片機(jī)的P2口,控制單片機(jī)的P3_2口接到下載單片機(jī)的RST口,控制單片機(jī)的P3_3口接到下載單片機(jī)的ALE口,控制單片機(jī)的P3_4口接到下載單片機(jī)的P3_3口,控制單片機(jī)的P3_5口接到DCDC芯片電壓的控制口。對外接電容CC2 雖然沒有十分嚴(yán)格的要求,但電容容量的大小會輕微影響振蕩頻率的高低、振蕩器工作的穩(wěn)定性、起振的難易程序及溫度穩(wěn)定性,如果使用石英晶體,我們推薦電容使用30pF177。圖 MC34063芯片升壓電路當(dāng)三極管不導(dǎo)通時候,比較器的反相輸入端(腳5)通過外接分壓電阻R1R8監(jiān)視輸出電壓 。只要此頻率相對負(fù)載的時間常數(shù)足夠高,負(fù)載上便可獲得連續(xù)的直流電壓。單片機(jī)可直接識別CP2102的UART總線上信號,為確保數(shù)據(jù)收發(fā)的穩(wěn)定性,將RST采用一只10 kΩ電阻上拉至VDD。虛擬COM口(VCP)的器件驅(qū)動程序允許一個基于CP2102的器件以PC應(yīng)用軟件的形式作為一個增加的COM口獨立于任何現(xiàn)有的硬件。、EEPROM、緩沖器、和帶有調(diào)制解調(diào)器接口信號的異步串行數(shù)據(jù)總線(適用于RS232協(xié)議),同時具有一個集成的內(nèi)部時鐘和USB收發(fā)器,無需其他外部USB電路元件。輸出電壓可調(diào)范圍:1.25~40V。當(dāng)RST變?yōu)楦唠娖讲⒈3?個機(jī)器周期時,所有I/O引腳復(fù)位至“1”。同時由于編程中需要用到12V的電壓,因而需要使用DCDC升壓電路,將USB自身的5V電壓升壓到12V。將RST拉高后,在其它操作前必須發(fā)出編程使能指令,編程前需將芯片擦除。其中硬件部分制作一個制可以下載程序的單片機(jī)控制系統(tǒng),里面包含有DCDC升壓電路、控制單片機(jī)下載程序電路、USB轉(zhuǎn)串口的電路。編程器的下載方式很多,比如AT89S5X單片機(jī)就有二種下載方式:高壓并行編程、ISP串行編程。文中重點介紹了編程器硬件設(shè)計、DCDC升壓電路、USB轉(zhuǎn)串口模塊設(shè)計、單片機(jī)程序設(shè)計、上位機(jī)的軟件設(shè)計。單片機(jī)體積小、功能強(qiáng)、價格低廉、應(yīng)用十分廣泛。On the other hand, the USB interface itself can offer power, which means no power is needed.The AT89S5X microcontroller pogrammer production based on the USB interface is designed in this issue. The microcontroller programmer hardware, DCDC boost circuit, the module of USB to serial port, the microcontroller programming and PC software designing are described emphatically. In the part of hardware design the choice of the scheme, the calculation of device parameters, the attentions in the production process are detailed. In the part of software design, the process of PC programming based on VC++ is introduced emphatically and goodmanmachine conversation interface software is provided, which is easy to use. This system can achieve many functions, such as identification of series CPU chips, program downloading, erase, encrypting, paring, reading etc, and running or stoping of the MCU can be controlled by the PC.Key words: Download。隨著電子的快速發(fā)展,單片機(jī)機(jī)得到了廣泛地應(yīng)用,而單片機(jī)開發(fā)產(chǎn)品離不開編程器。傳統(tǒng)的編程器都是基于并口開發(fā),在筆記本中根本無法使用,因而開發(fā)基于USB接口的編程器具有非常重要的意義。 Microcontroller。但面對多則幾千元,少則幾百元的編程器,很多人望而卻步。其中在硬件方面,詳細(xì)介紹方案的選擇,電路設(shè)計、元件參數(shù)的計算,以及在制作過程中的注意事項;在軟件方面,詳細(xì)闡述了基于VC++上位機(jī)編程過程的每個步驟,并提供一個良好的人機(jī)對話界面軟件,其使用方便。每種方式其使用的編程協(xié)議都是不同,二種編程方式中,現(xiàn)在很多電腦已經(jīng)沒有并口和串口了,特別筆記本電腦中已經(jīng)看不到并口和串口的存在,以前使用的并口和串口的ISP下載線已經(jīng)無法再繼續(xù)使用了。軟件部分可以控制程序下載、芯片擦除、程序加密、數(shù)據(jù)比較、數(shù)據(jù)讀出,同時可以控制單片機(jī)復(fù)位,運(yùn)行,停止等功能。芯片擦除則將存儲代碼陣列全寫為FFH。 芯片介紹 AT89S51簡介AT89S51單片機(jī)是51系列單片機(jī)的一個成員,內(nèi)部自帶4K字節(jié)可編程FLASH可編程可擦除只讀存儲器的低電壓、高性能CMOS8位微處理器,與Intel MCS51系列單片機(jī)的指令和輸出管腳相兼容。XTAL1:反向振蕩放大器的輸入及內(nèi)部時鐘工作電路的輸入。輸出電流可達(dá):。高性能的CP2102與其他型號的同類芯片相比功耗更低、體積更小、集成度更高(無需外接元件)。 COM口使用運(yùn)行在PC上的應(yīng)用軟件以訪問一個標(biāo)準(zhǔn)硬件COM口的方式訪問基于CP2101的器件,PC與CP2101間的數(shù)據(jù)傳輸是通過USB完成的,因此,無需修改現(xiàn)有的軟件和硬件就可以通過USB向基于CP2101的器件傳輸數(shù)據(jù)。當(dāng)CP2102轉(zhuǎn)換器與主機(jī)連接后,必須根據(jù)操作系統(tǒng)選擇相對應(yīng)的虛擬串行口驅(qū)動程序。腳5電壓與內(nèi)部基準(zhǔn)電壓1.25V同時送人內(nèi)部比較器進(jìn)行電壓比較。其中,輸出電壓Uo=(1+ R17/R8),由公式可知輸出電壓僅與R1R8數(shù)值有關(guān),因5腳是1.25V為基準(zhǔn)電壓,恒定不變。10pF,而如使用陶瓷諧振器建議選擇40pF177。圖 MCU控制電路3 軟件方案選擇與設(shè)計硬件設(shè)計是基礎(chǔ),軟件設(shè)計是靈魂。單片機(jī)上電時,首先等待上位機(jī)的數(shù)據(jù),當(dāng)單片機(jī)接收到數(shù)據(jù)時,單片機(jī)讀取所接收到數(shù)據(jù)的標(biāo)志位,根據(jù)標(biāo)志位的數(shù)據(jù),控制單片機(jī)實現(xiàn)程序下載、芯片擦處、程序加密、程序比較、程序讀出,單片機(jī)運(yùn)行,單片機(jī)復(fù)位、停止等功能。(100H)=51H聲明為AT89S51單片機(jī)。擦除期間,用串行方式讀任何地址數(shù)據(jù),返回值均為00H。(4)將EA/Vpp端加上+12V編程電壓。其流程圖如圖 (a)所示。若要控制單片機(jī)的停止工作,方案有兩種:(1)CPU斷電;(2)在RST引腳加上高電平信號,單片機(jī)一直處于復(fù)位狀態(tài),單片機(jī)停止工作。VC++是微軟公司開發(fā)的一個IDE(集成開發(fā)環(huán)境),換句話說,就是使用C++的一個開發(fā)平臺。不論花多少時間和精力來編制和優(yōu)化代碼,應(yīng)用程序的可用性仍然在很大程度上依賴于界面的好壞。圖 上位機(jī)的軟件界面MSComm控件提供下列兩種處理通訊的方式:事件驅(qū)動方式和查詢方式。這種方法的優(yōu)點是程序響應(yīng)及時,可靠性高。在Intel HEX文件中,每一行包含一個HEX記錄。F39。 選擇Project菜單下Add To Project子菜單中的 Components and Controls…選項,在彈出的對話框中雙擊Registered ActiveX Controls項(稍等一會,這個過程較慢),則所有注冊過的ActiveX控件出現(xiàn)在列表框中。確定后,就進(jìn)入到了InstallShield的IDE環(huán)境。 (8)生成文件簡介,打開工程文件夾MediaNew MediaDisk Imagedisk1就可以看到我們所熟知的安裝文件了。因此PCB板的設(shè)計是理論設(shè)計到實際應(yīng)用一個十分重要的內(nèi)容印制電路板的設(shè)計是以電路原理圖為根據(jù),實現(xiàn)電路設(shè)計者所需要的功能。(2)飛線。本系統(tǒng)采用模塊程序設(shè)調(diào)試計術(shù),通過調(diào)試程序,實現(xiàn)程序的程序下載、芯片擦除、程序加密、數(shù)據(jù)比較、代碼讀出,并且可以控制單片機(jī)復(fù)位,停止等功能。(2)打開串口調(diào)試助手,將USB轉(zhuǎn)串口的模塊的RXD和TXD短接,使用串口調(diào)試助手發(fā)送數(shù)據(jù),看下接收緩沖區(qū)能否接收所發(fā)送的數(shù)據(jù)。(4) 點擊“擦除芯片”,若提示擦除芯片成功,通過“讀取代碼”按鍵,若讀會的代碼否是FFH,,表明擦除成功,若成功,則可以進(jìn)行下一步操作,否則,修改程序。 調(diào)試總結(jié)本系統(tǒng)的制作調(diào)試主要分為硬件調(diào)試、軟件調(diào)試和聯(lián)機(jī)調(diào)試等三大部分。作為一名設(shè)計者,首要目的就是要清楚設(shè)計的任務(wù)是什么,有什么樣的信息資料作為設(shè)計背景,是否有參照,只有充分掌握這些信息,才能有的放矢,達(dá)到設(shè)計目的。但是正是這些諸多的因素使我懂得了,作為一名設(shè)計者如何去做設(shè)計,如何來實現(xiàn)設(shè)計要求。同時,在論文寫作過程中,我還參考了有關(guān)的書籍和論文,在這里一并向有關(guān)的作者表示謝意。//sbit P3_5=P3^5。 /* 擦除器件 */void Delay_us(unsigned char nUs)。 /* 向器件寫一個字節(jié) */void Lock00()。 /* 讀特征字 */void Erase()。 /* 先初始化Vpp為5v */ Delay_ms(1000)。 break。 break。 } }}/***************************************************************************** 函數(shù)名稱 readdata**