畢業(yè)設(shè)計(jì)車載酒精測(cè)試儀的設(shè)計(jì)外文翻譯及原文_第1頁(yè)
畢業(yè)設(shè)計(jì)車載酒精測(cè)試儀的設(shè)計(jì)外文翻譯及原文_第2頁(yè)
畢業(yè)設(shè)計(jì)車載酒精測(cè)試儀的設(shè)計(jì)外文翻譯及原文_第3頁(yè)
畢業(yè)設(shè)計(jì)車載酒精測(cè)試儀的設(shè)計(jì)外文翻譯及原文_第4頁(yè)
畢業(yè)設(shè)計(jì)車載酒精測(cè)試儀的設(shè)計(jì)外文翻譯及原文_第5頁(yè)
已閱讀5頁(yè),還剩14頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、簡(jiǎn)述AT89C51單片機(jī)及其在編程電路中的應(yīng)用電子信息工程111班 周芬玲 指導(dǎo)教師:譚歆(陜西科技大學(xué)職業(yè)教育師范學(xué)院學(xué) 陜西 西安 710021)單片機(jī)也被稱為微控制器(Microcontroller Unit),常用英文字母的縮寫MCU表示單片機(jī),它最早是被用在工業(yè)控制領(lǐng)域。單片機(jī)由芯片內(nèi)僅有CPU的專用 HYPERLINK /view/50152.htm t _blank 處理器發(fā)展而來。最早的設(shè)計(jì)理念是通過將大量外圍設(shè)備和CPU集成在一個(gè)芯片中,使計(jì)算機(jī)系統(tǒng)更小,更容易集成進(jìn)復(fù)雜的而對(duì)體積要求嚴(yán)格的控制設(shè)備當(dāng)中。INTEL的Z80是最早按照這種思想設(shè)計(jì)出的處理器,從此以后,單片機(jī)和專

2、用處理器的發(fā)展便分道揚(yáng)鑣。 單片機(jī)又稱單片微控制器,它不是完成某一個(gè)邏輯功能的芯片,而是把一個(gè)計(jì)算機(jī)系統(tǒng)集成到一個(gè)芯片上。相當(dāng)于一個(gè)微型的計(jì)算機(jī),和計(jì)算機(jī)相比,單片機(jī)只缺少了I/O設(shè)備。概括的講:一塊芯片就成了一臺(tái)計(jì)算機(jī)。它的體積小、質(zhì)量輕、價(jià)格便宜、為學(xué)習(xí)、應(yīng)用和開發(fā)提供了便利條件。同時(shí),學(xué)習(xí)使用單片機(jī)是了解計(jì)算機(jī)原理與結(jié)構(gòu)的最佳選擇。 AT89C51單片機(jī)簡(jiǎn)介 AT89C51是一個(gè)低功耗,高性能CMOS 8位單片機(jī),片內(nèi)含4k Bytes ISP(In-system programmable)的可反復(fù)擦寫1000次的Flash只讀程序存儲(chǔ)器,器件采用ATMEL公司的高密度、非易失性存儲(chǔ)技術(shù)

3、制造,兼容標(biāo)準(zhǔn)MCS-51指令系統(tǒng)及80C51引腳結(jié)構(gòu),芯片內(nèi)集成了通用8位中央處理器和ISP Flash存儲(chǔ)單元,功能強(qiáng)大的微型計(jì)算機(jī)的AT89C51可為許多嵌入式控制應(yīng)用系統(tǒng)提供高性價(jià)比的解決方案。 AT89C51具有如下特點(diǎn):40個(gè)引腳,4k Bytes Flash片內(nèi)程序存儲(chǔ)器,128 bytes的隨機(jī)存取數(shù)據(jù)存儲(chǔ)器(RAM),32個(gè)外部雙向輸入/輸出(I/O)口,5個(gè)中斷優(yōu)先級(jí)2層中斷嵌套中斷,2個(gè)16位可編程定時(shí)計(jì)數(shù)器,2個(gè)全雙工串行通信口,看門狗(WDT)電路,片內(nèi)時(shí)鐘振蕩器。AT89C51具有如下特點(diǎn):40個(gè)引腳,4k Bytes Flash片內(nèi)程序存儲(chǔ)器,128 bytes的

4、隨機(jī)存取數(shù)據(jù)存儲(chǔ)器(RAM),32個(gè)外部雙向輸入/輸出(I/O)口,5個(gè)中斷優(yōu)先級(jí)2層中斷嵌套中斷,2個(gè)16位可編程定時(shí)計(jì)數(shù)器,2個(gè)全雙工串行通信口,看門狗(WDT)電路,片內(nèi)時(shí)鐘振蕩器。 此外,AT89C51設(shè)計(jì)和配置了振蕩頻率可為0Hz并可通過軟件設(shè)置省電模式??臻e模式下,CPU暫停工作,而RAM定時(shí)計(jì)數(shù)器,串行口,外中斷系統(tǒng)可繼續(xù)工作,掉電模式凍結(jié)振蕩器而保存RAM的數(shù)據(jù),停止芯片其它功能直至外中斷激活或硬件復(fù)位。同時(shí)該芯片還具有PDIP、TQFP和PLCC等三種封裝形式,以適應(yīng)不同產(chǎn)品的需求。(1)功能特性:兼容MCS-51指令系統(tǒng)32個(gè)雙向I/O口2個(gè)16位可編程定時(shí)/計(jì)數(shù)器全雙工U

5、ART串行中斷口線2個(gè)外部中斷源中斷喚醒省電模式看門狗(WDT)電路靈活的ISP字節(jié)和分頁(yè)編程4k可反復(fù)擦寫(1000次)ISP Flash ROM4.5-5.5V工作電壓時(shí)鐘頻率0-33MHz128x8bit內(nèi)部RAM低功耗空閑和省電模式3級(jí)加密位軟件設(shè)置空閑和省電功能雙數(shù)據(jù)寄存器指針(2)管腳說明: VCC:供電電壓。 GND:接地。 P0口:P0口為一個(gè)8位漏級(jí)開路雙向I/O口,每腳可吸收8TTL門電流。當(dāng)P1口的管腳第一次寫1時(shí),被定義為高阻輸入。P0能夠用于外部程序數(shù)據(jù)存儲(chǔ)器,它可以被定義為數(shù)據(jù)/地址的第八位。在FIASH編程時(shí),P0 口作為原碼輸入口,當(dāng)FIASH進(jìn)行校驗(yàn)時(shí),P0輸

6、出原碼,此時(shí)P0外部必須被拉高。 P1口:P1口是一個(gè)內(nèi)部提供上拉電阻的8位雙向I/O口,P1口緩沖器能接收輸出4TTL門電流。P1口管腳寫入1后,被內(nèi)部上拉為高,可用作輸入,P1口被外部下拉為低電平時(shí),將輸出電流,這是由于內(nèi)部上拉的緣故。在FLASH編程和校驗(yàn)時(shí),P1口作為第八位地址接收。 P2口:P2口為一個(gè)內(nèi)部上拉電阻的8位雙向I/O口,P2口緩沖器可接收,輸出4個(gè)TTL門電流,當(dāng)P2口被寫“1”時(shí),其管腳被內(nèi)部上拉電阻拉高,且作為輸入。并因此作為輸入時(shí),P2口的管腳被外部拉低,將輸出電流。這是由于內(nèi)部上拉的緣故。P2口當(dāng)用于外部程序存儲(chǔ)器或16位地址外部數(shù)據(jù)存儲(chǔ)器進(jìn)行存取時(shí),P2口輸出

7、地址的高八位。在給出地址“1”時(shí),它利用內(nèi)部上拉優(yōu)勢(shì),當(dāng)對(duì)外部八位地址數(shù)據(jù)存儲(chǔ)器進(jìn)行讀寫時(shí),P2口輸出其特殊功能寄存器的內(nèi)容。P2口在FLASH編程和校驗(yàn)時(shí)接收高八位地址信號(hào)和控制信號(hào)。 P3口:P3口管腳是8個(gè)帶內(nèi)部上拉電阻的雙向I/O口,可接收輸出4個(gè)TTL門電流。當(dāng)P3口寫入“1”后,它們被內(nèi)部上拉為高電平,并用作輸入。作為輸入,由于外部下拉為低電平,P3口將輸出電流(ILL)這是由于上拉的緣故。 P3.0 RXD(串行輸入口) P3.1 TXD(串行輸出口) P3.2 /INT0(外部中斷0) P3.3 /INT1(外部中斷1) P3.4 T0(記時(shí)器0外部輸入) P3.5 T1(記時(shí)

8、器1外部輸入) P3.6 /WR(外部數(shù)據(jù)存儲(chǔ)器寫選通) P3.7 /RD(外部數(shù)據(jù)存儲(chǔ)器讀選通) P3口同時(shí)為閃爍編程和編程校驗(yàn)接收一些控制信號(hào)。 I/O口作為輸入口時(shí)有兩種工作方式,即所謂的讀端口與讀引腳。讀端口時(shí)實(shí)際上并不從外部讀入數(shù)據(jù),而是把端口鎖存器的內(nèi)容讀入到內(nèi)部總線,經(jīng)過某種運(yùn)算或變換后再寫回到端口鎖存器。只有讀端口時(shí)才真正地把外部的數(shù)據(jù)讀入到內(nèi)部總線。上面圖中的兩個(gè)三角形表示的就是輸入緩沖器CPU將根據(jù)不同的指令分別發(fā)出讀端口或讀引腳信號(hào)以完成不同的操作。這是由硬件自動(dòng)完成的,不需要我們操心,1然后再實(shí)行讀引腳操作,否則就可能讀入出錯(cuò),為什么看上面的圖,如果不對(duì)端口置1端口鎖存

9、器原來的狀態(tài)有可能為0Q端為0Q為1加到場(chǎng)效應(yīng)管柵極的信號(hào)為1,該場(chǎng)效應(yīng)管就導(dǎo)通對(duì)地呈現(xiàn)低阻抗,此時(shí)即使引腳上輸入的信號(hào)為1,也會(huì)因端口的低阻抗而使信號(hào)變低使得外加的1信號(hào)讀入后不一定是1。若先執(zhí)行置1操作,則可以使場(chǎng)效應(yīng)管截止引腳信號(hào)直接加到三態(tài)緩沖器中實(shí)現(xiàn)正確的讀入,由于在輸入操作時(shí)還必須附加一個(gè)準(zhǔn)備動(dòng)作,所以這類I/O口被稱為準(zhǔn)雙向口。89C51的P0/P1/P2/P3口作為輸入時(shí)都是準(zhǔn)雙向口。接下來讓我們?cè)倏戳硪粋€(gè)問題,從圖中可以看出這四個(gè)端口還有一個(gè)差別,除了P1口外P0P2P3口都還有其他的功能。 RST:復(fù)位輸入。當(dāng)振蕩器復(fù)位器件時(shí),要保持RST腳兩個(gè)機(jī)器周期的高電平時(shí)間。 AL

10、E/PROG:當(dāng)訪問外部存儲(chǔ)器時(shí),地址鎖存允許的輸出電平用于鎖存地址的地位字節(jié)。在FLASH編程期間,此引腳用于輸入編程脈沖。在平時(shí),ALE端以不變的頻率周期輸出正脈沖信號(hào),此頻率為振蕩器頻率的1/6。因此它可用作對(duì)外部輸出的脈沖或用于定時(shí)目的。然而要注意的是:每當(dāng)用作外部數(shù)據(jù)存儲(chǔ)器時(shí),將跳過一個(gè)ALE脈沖。如想禁止ALE的輸出可在SFR8EH地址上置0。此時(shí), ALE只有在執(zhí)行MOVX,MOVC指令是ALE才起作用。另外,該引腳被略微拉高。如果微處理器在外部執(zhí)行狀態(tài)ALE禁止,置位無效。 /PSEN:外部程序存儲(chǔ)器的選通信號(hào)。在由外部程序存儲(chǔ)器取指期間,每個(gè)機(jī)器周期兩次/PSEN有效。但在訪

11、問外部數(shù)據(jù)存儲(chǔ)器時(shí),這兩次有效的/PSEN信號(hào)將不出現(xiàn)。 /EA/VPP:當(dāng)/EA保持低電平時(shí),則在此期間外部程序存儲(chǔ)器(0000H-FFFFH),不管是否有內(nèi)部程序存儲(chǔ)器。注意加密方式1時(shí),/EA將內(nèi)部鎖定為RESET;當(dāng)/EA端保持高電平時(shí),此間內(nèi)部程序存儲(chǔ)器。在FLASH編程期間,此引腳也用于施加12V編程電源(VPP)。 XTAL1:反向振蕩放大器的輸入及內(nèi)部時(shí)鐘工作電路的輸入。 XTAL2:來自反向振蕩器的輸出。 AT89SXX系列單片機(jī)實(shí)現(xiàn)了ISP下載功能,故而取代了89CXX系列的下載方式,也是因?yàn)檫@樣,ATMEL公司已經(jīng)停止生產(chǎn)89CXX系列的單片機(jī),現(xiàn)在市面上的AT89CXX

12、多是停產(chǎn)前的庫(kù)存產(chǎn)品。 總論當(dāng)不在進(jìn)行程序設(shè)計(jì)的時(shí)候,在電路設(shè)計(jì)中的AT89C51設(shè)計(jì)將變得透明化。在編程期間必須重視EA/VPP這一腳。在不使用外部程序存儲(chǔ)器的應(yīng)用程序中,這腳可能會(huì)永久接到VCC。應(yīng)用程序使用的外部程序存儲(chǔ)器要求這一腳為低電平才能正常運(yùn)行。RST在編程期間必須為高電平。應(yīng)該提供一種方法使得電路通入電源以后,使RST代替主要的復(fù)位電路起到復(fù)位的作用 。在編程過程中,PSEN必須保持低電平,在正常運(yùn)行期間絕不能使用。ALE/ PROG在編程過程中輸出低電平,在正常運(yùn)行期間絕不能使用。在編程過程中,AT89C51的I / O端口是用于模式應(yīng)用程序,地址和數(shù)據(jù)選擇的,可能需要該控制

13、器從應(yīng)用的電路隔離。如何做到這一點(diǎn)取決于應(yīng)用程序。輸入端口在編程過程中,控制器必須與應(yīng)用電路的信號(hào)來源隔離。帶有三個(gè)輸出狀態(tài)的緩沖區(qū)會(huì)在應(yīng)用程序之間插入電路和控制器,同時(shí)在編程時(shí)緩沖區(qū)輸出三種狀態(tài)。一個(gè)多路復(fù)用器可用于信號(hào)源之間進(jìn)行選擇,適用于任何一方的應(yīng)用電路或編程控制器電路的信號(hào)。輸出端口如果應(yīng)用的電路可以允許端口在編程過程中的狀態(tài)變化,則不需要改變電路。如果應(yīng)用電路的狀態(tài),必須事先在編程過程中的保持不變,可能在控制器和應(yīng)用電路中插入鎖存。鎖存在編程期間是可用的,并保存應(yīng)用程序的電路狀態(tài)。應(yīng)用實(shí)例 應(yīng)用是該AT89C51一個(gè)移動(dòng)的顯示情況。此應(yīng)用程序有在電路重新編程時(shí)將結(jié)果以圖表的形式顯示

14、的簡(jiǎn)單能力。文本顯示被設(shè)計(jì)作為其硬件的一部分,不能在無改編情況下變化。顯示的文本可在4位DIP開關(guān)選擇兩種模式之一中進(jìn)行。在第一種模式的時(shí)候,進(jìn)入一個(gè)字符從右邊顯示和快速移動(dòng),通過每個(gè)元素顯示其在最后的裝配位置的左側(cè)。在第二個(gè)模式,信息在信息窗口中右到左移動(dòng)顯示。這種模式與常常在股票價(jià)格的顯示器所使用的方法類似。輸出包括四個(gè)DL1414T,4位17段的積分解碼器和驅(qū)動(dòng)程序的字母數(shù)字顯示器。這就產(chǎn)生了16名顯示元素,每個(gè)數(shù)字有0-9的顯示能力,是大寫字母,標(biāo)點(diǎn)符號(hào)和一些字符??娠@示字符的ASCII 碼,范圍為20H-5FH。上電復(fù)位電路和一個(gè)6 MHz的晶體振蕩器完成應(yīng)用軟件程序。無論外部程序存

15、儲(chǔ)器或外部數(shù)據(jù)存儲(chǔ)器都時(shí)可用的。支持應(yīng)用程序的修改 據(jù)推測(cè),編程器在休眠時(shí),既不會(huì)驅(qū)動(dòng),也不會(huì)加載應(yīng)用程序。由于應(yīng)用程序不使用外部程序存儲(chǔ)器,EA/VPP腳接VCC電源。復(fù)位電路被兩種轉(zhuǎn)換器改變狀態(tài),此轉(zhuǎn)換器允許編程時(shí)RST接高電平。在基本應(yīng)用時(shí)未使用的PSEN和ALE/ PROG,是被程序員直接控制的。編程器的編程需要獲得所有數(shù)據(jù)表中記錄的AT89C51的I / O端口。編程器是與那些應(yīng)用程序未使用的控制器的引腳相連的,而這些應(yīng)用程序的引腳需要最低有效位的四所產(chǎn)生的地址是可獲得的,如下段所述。由編程器生成的最小的四位地址是與DIP轉(zhuǎn)換的數(shù)據(jù)在控制器的端口多路復(fù)用的請(qǐng)注意,加在開關(guān)上的四個(gè)電阻

16、在基本應(yīng)用中并不是必須的,因?yàn)锳T89C51的端口上提供一個(gè)內(nèi)部上拉電阻。在應(yīng)用程序的正常運(yùn)作時(shí),控制器端口0,1個(gè)分別在顯示器上提供數(shù)據(jù)和控制信號(hào)。在編程和程序驗(yàn)證時(shí),編程受端口0和端口2的一部分控制。程序設(shè)計(jì)器連接端口0和1,沒有緩沖,因?yàn)椋诓换顒?dòng)時(shí),它的存在不影響應(yīng)用程序的正常運(yùn)作。透明鎖存器被加在了控制器的兩個(gè)端口之間做輸入控制。鎖存持有的顯示控制信號(hào)在編程過程中不反應(yīng),從而消除端口0和2由于程序控制器的活動(dòng)造成操作失誤。顯示數(shù)據(jù)輸入是不能被孤立的,因?yàn)閿?shù)據(jù)應(yīng)用到輸入被忽略時(shí),控制信號(hào)無效。AT89C51單片機(jī)復(fù)位電路,輸入多路復(fù)用器和輸出鎖存器是由程序控制器生成一個(gè)單一的信號(hào)來控制

17、的。在編程過程中,復(fù)位鍵生效,多路開關(guān)信號(hào)輸入,以及凍結(jié)顯示鎖存控制線。為確??刂凭€顯示在已知的狀態(tài)前鎖定,AT89C51的外部中斷是用來允許程序控制器在復(fù)位之前向應(yīng)用程序發(fā)出信號(hào)。應(yīng)用程序固件響應(yīng)中斷顯示一條消息,關(guān)閉顯示控制線。編程后,當(dāng)復(fù)位生效,當(dāng)鎖存可視控制器端口輸出高電平。由于顯示控制輸入不為高電平,直到新的程序?qū)懭腼@示器內(nèi)部不被打亂。雖然這個(gè)應(yīng)用程序是沒有必要的,它可能在某些應(yīng)用中必須指出,在編程過程中不會(huì)擾亂外圍電路的狀態(tài)程序控制器程序控制器生成的地址,數(shù)據(jù)和控制信號(hào),對(duì)嵌入到程序中的AT89C51有重要作用。程序控制器電路由一個(gè)AT89C51和一個(gè)RS - 232電平轉(zhuǎn)換器組成

18、。該控制器運(yùn)行在11.0592兆HZ,此頻率允許串口運(yùn)行在一個(gè)標(biāo)準(zhǔn)波特率下。一個(gè)MAXIM MAX232線路驅(qū)動(dòng)器/接收器產(chǎn)生RS - 232水平,而只需要5伏的電源系統(tǒng)。程序控制器所產(chǎn)生的信號(hào)許多只需直接連接到AT89C51,無需緩沖。這些信號(hào),在不活動(dòng)時(shí),不再是三種狀態(tài),但被接高電平。AT89C51的端口1,2,3內(nèi)部有大約3000歐姆的上拉電阻,因?yàn)槎丝?沒有內(nèi)部上拉電阻,所以外部10千歐姆的上拉電阻已經(jīng)加上允許適當(dāng)?shù)某绦蛘J(rèn)證模式操作。示例應(yīng)用程序在這種環(huán)境下可正常運(yùn)行。如果有需要的應(yīng)用程序兼容性,程序發(fā)出的信號(hào)可能在類似74xx125三態(tài)緩沖緩沖區(qū)內(nèi)緩沖。AT89C51的程序不使用外部

19、程序或數(shù)據(jù)存儲(chǔ)器,這需要犧牲所需要的I / O引腳。這就要求程序代碼和I / O緩沖區(qū)保持足夠小以適合片上存儲(chǔ)器。商業(yè)電話線遠(yuǎn)程編程 編程器和前面描述的顯示應(yīng)用是與通過調(diào)制解調(diào)器連接在遠(yuǎn)程站點(diǎn)電話線相連的。使用鏈接調(diào)制解調(diào)器的個(gè)人電腦,用戶可以上傳包含一個(gè)新的消息的程序,這個(gè)信息被變成進(jìn)了嵌入到應(yīng)用程序的AT89C51中。當(dāng)編程完成后,應(yīng)用程序執(zhí)行新的程序,它顯示新信息。本地配置測(cè)試配置的本地配置包括一臺(tái)IBM個(gè)人電腦級(jí)的計(jì)算機(jī)連接到與Hayes兼容的,普羅米修斯1200波特的調(diào)制解調(diào)器。選擇此調(diào)制解調(diào)器,因?yàn)樗橇畠r(jià)可得。更快的調(diào)制解調(diào)器如果需要的話可使用更快速的調(diào)制解調(diào)器,盡管一旦該文件的

20、傳輸時(shí)間低于1分鐘,進(jìn)一步削減的傳輸時(shí)間不會(huì)進(jìn)一步降低連接時(shí)間費(fèi)用。更高的傳輸速度的可能優(yōu)勢(shì)是在某些高速調(diào)制解調(diào)器內(nèi)的自動(dòng)錯(cuò)誤檢測(cè)和糾正。Procomm Plus版本2.01,是一個(gè)商業(yè)數(shù)據(jù)通信軟件包,用于配置調(diào)制解調(diào)器,建立通訊設(shè)置參數(shù),并建立與遠(yuǎn)程調(diào)制解調(diào)器的鏈接。Procomm Plus包括所謂的宏語言方面,它允許用戶編寫實(shí)現(xiàn)自定義的文件傳輸協(xié)議的腳本。一個(gè)簡(jiǎn)單的腳本編寫用來讀取一個(gè)程序文件的內(nèi)容,并上傳到遠(yuǎn)程編程器。文件傳輸協(xié)議(FTP)的實(shí)施,是一個(gè)簡(jiǎn)單的發(fā)送和等待的,數(shù)據(jù)包導(dǎo)向的協(xié)議。FTP模式發(fā)送和接收的是用數(shù)字4和5,如流程圖所示。不在流程控制下發(fā)射器發(fā)送每個(gè)數(shù)據(jù)包,并等待響應(yīng)

21、。在計(jì)算校驗(yàn)和時(shí)那個(gè)程序控制器(接收器)讀取并剖析了數(shù)據(jù)包。如果計(jì)算出的校驗(yàn)和是有效的,程序員通過發(fā)送一個(gè)ACK承認(rèn)此數(shù)據(jù)包。如果校驗(yàn)和錯(cuò)誤,程序員通過發(fā)送一個(gè)NAK來否定。當(dāng)接收一個(gè)ACK后,發(fā)射器發(fā)送下一個(gè)數(shù)據(jù)包。如果傳送者接收到NAK,它重新發(fā)送相同的數(shù)據(jù)包。以這種方式傳輸,直到整個(gè)文件已被移交。程序控制器可能通過發(fā)送一個(gè)CAN來響應(yīng)數(shù)據(jù)包,CAN表明一個(gè)不可恢復(fù)的錯(cuò)誤發(fā)生,而發(fā)射機(jī)應(yīng)立即中止文件傳輸。如果程序員沒有在有限的時(shí)間內(nèi)響應(yīng)到一個(gè)數(shù)據(jù)包,發(fā)送器將重新發(fā)送相同的數(shù)據(jù)包。發(fā)射器將繼續(xù)重發(fā),直到接收到一個(gè)有效的反應(yīng),或者,超出文件傳輸被中止的時(shí)間。每個(gè)數(shù)據(jù)包接收和通過程序員驗(yàn)證后,數(shù)

22、據(jù)包中包含的數(shù)據(jù)被加載到的AT89C51單片機(jī)控制器編程。編程后,數(shù)據(jù)從控制器讀回并對(duì)接收的數(shù)據(jù)包進(jìn)行驗(yàn)證。成功的審查表明,成功的程序設(shè)計(jì),使程序員發(fā)送ACK給傳送者。如果編程失敗,程序員發(fā)送CAN向傳送者發(fā)送信號(hào)中止文件傳輸。簡(jiǎn)單的FTP減少了AT89C51的程序在編程時(shí)使用的內(nèi)存量。由于AT89C51的編程和擦除時(shí)間可以很容易地吸收,F(xiàn)TP發(fā)送和等待的性質(zhì)允許跨包延遲。對(duì)程序驗(yàn)證的支持是透明的,不需要明確的命令或結(jié)果代碼,或轉(zhuǎn)讓的其他數(shù)據(jù)。上傳到程序控制器的文件是用英特爾MCS- 51軟件開發(fā)包來創(chuàng)建的。在包中包括了MCS - 51宏匯編,MCS - 51單片機(jī)Relocator和連接器,

23、以及一個(gè)有用的工具,OH。OH將8051絕對(duì)目標(biāo)文件轉(zhuǎn)換為為等效的ASCII十六進(jìn)制目標(biāo)文件。遠(yuǎn)程配置在測(cè)試配置中的遠(yuǎn)程配置包括顯示應(yīng)用程序和程序員電路,如前所述,連接到一個(gè)與Hayes兼容的普羅米修斯1200波特調(diào)制解調(diào)器。在正常操作時(shí),應(yīng)用程序執(zhí)行其內(nèi)部程序,而調(diào)制解調(diào)器和程序員監(jiān)測(cè)來電電話線。通話被檢測(cè)到并連接建立后,程序器強(qiáng)迫暫停其程序的執(zhí)行。新的程序就被下載并嵌入到應(yīng)用程序中的AT89C51的編程。當(dāng)編程完成后,應(yīng)用軟件程序獲準(zhǔn)開始其新的程序執(zhí)行,而程序控制器返回監(jiān)督下一個(gè)通話的電話線。程序控制輸出無效時(shí)程序控制器上電,允許應(yīng)用程序正常運(yùn)行。在配置調(diào)制解調(diào)器接聽來電后,程序控制器停止

24、工作。是程序控制器不會(huì)影響到程序直到一個(gè)新的程序應(yīng)用程序被下載。程序員通過發(fā)送控制在串行接口上的ASCII命令字符串來控制調(diào)制解調(diào)器,對(duì)此調(diào)制解調(diào)器響應(yīng)海斯式調(diào)制解調(diào)器的ASCII數(shù)字代碼。該軟件是專為與海斯兼容使用的調(diào)制解調(diào)器,其中包括這里使用的1200普羅米修斯ProModem。串行接口,程序員通過它連接到調(diào)制解調(diào)器,它支持兩個(gè)握手信號(hào),DTR和DSR。上電時(shí),程序控制器判定DTR,斷定為DTR后調(diào)制解調(diào)器響應(yīng)。如果調(diào)制解調(diào)器不響應(yīng)任何命令,包括命令掛斷,程序控制器抬高DTR點(diǎn)位,強(qiáng)制調(diào)制解調(diào)器下降。當(dāng)程序控制器停止工作后,監(jiān)測(cè)調(diào)制解監(jiān)聽電話線,等待來電呼叫。當(dāng)檢測(cè)到輸入,調(diào)制解調(diào)器響應(yīng)并

25、試圖與輸入建立通信。如果建立了連接,調(diào)制解調(diào)器發(fā)送一個(gè)代碼,喚醒程序控制器。程序控制器驗(yàn)證連接的代碼,并開始審查有效的數(shù)據(jù)包報(bào)頭。傳入數(shù)據(jù)包必須在少于30秒內(nèi)到達(dá),否則調(diào)制解調(diào)器掛斷和程序控制器繼續(xù)停止工作,等待下一次呼叫。如果來電掛斷,在得到下一次呼叫之前,三十秒時(shí)間必須終止。在復(fù)位延遲時(shí)間傳入是被忽略的。如果復(fù)位延遲時(shí)間結(jié)束之前收到一個(gè)有效的數(shù)據(jù)包報(bào)頭,程序控制器將嘗試讀取和驗(yàn)證傳入的數(shù)據(jù)包。在數(shù)據(jù)包的接收過程中的任何時(shí)間,無效字符,奇偶校驗(yàn)錯(cuò)誤或超時(shí)的時(shí)間內(nèi)接待字符將導(dǎo)致部分?jǐn)?shù)據(jù)包被宣布無效,并丟棄。兩個(gè)數(shù)據(jù)包類型定義:數(shù)據(jù)和最終文件。數(shù)據(jù)包包含五個(gè)領(lǐng)域,除了包報(bào)頭,是一個(gè)可變長(zhǎng)度的數(shù)據(jù)

26、字段。數(shù)據(jù)字段包含程序的數(shù)據(jù)在應(yīng)用程序中被寫入在AT89C51的控制器。負(fù)載地址字段中包含數(shù)據(jù)寫入的地址。末端文件包中包含與數(shù)據(jù)包相同的領(lǐng)域的文件,但該數(shù)據(jù)字段是空的。這包類型對(duì)程序控制器具有特殊的意義,如下所述。任何包含有效文種的數(shù)據(jù)包,記錄長(zhǎng)度或校驗(yàn)和無效。程序數(shù)據(jù)在一個(gè)無效的數(shù)據(jù)包被丟棄的處理過程中被積累。編程器給傳送者發(fā)送一個(gè)NAK作為信號(hào)數(shù)據(jù)包的接收和恢復(fù)為一個(gè)有效的數(shù)據(jù)包報(bào)頭審查的警示信號(hào)。第一個(gè)有效數(shù)據(jù)的接收引起編程器中斷應(yīng)用程序控制器。該控制器的中斷響應(yīng)放棄其正在運(yùn)行的程序,并顯示一條消息,表明程序已經(jīng)被替代。如果這是由于接收了末端文件或者是電源觸發(fā)從而接收的第一個(gè)有效的數(shù)據(jù)包

27、,運(yùn)用必要的控制信號(hào)清除在應(yīng)用控制器內(nèi)的記憶程序。然后編程器在程序模式中放置控制器。當(dāng)接收到第一個(gè)和其后的有效數(shù)據(jù)程序包時(shí),將它們分開,它們包含的數(shù)據(jù)被編程到程序包負(fù)載地址域中的地址中的應(yīng)用控制器內(nèi)。編程后,從控制器內(nèi)將數(shù)據(jù)讀回并與接收到的數(shù)據(jù)包中的數(shù)據(jù)進(jìn)行比較。成功的核查表明,方案是成功的,導(dǎo)致編程器向傳送者發(fā)送ACK信號(hào)。由于30秒的復(fù)位延遲,編程器重新對(duì)有效的數(shù)據(jù)包報(bào)頭進(jìn)行測(cè)試。如果編程失敗,編程器向傳送者發(fā)送信號(hào)CAN中止文件傳輸。調(diào)制解調(diào)器掉線,程序器繼續(xù)休眠等待下一次呼叫。應(yīng)用控制在程序模式中被保留,用以阻止它包含的不完整的或無效的程序。重要的是要注意,無效的數(shù)據(jù)包永遠(yuǎn)不會(huì)規(guī)劃到應(yīng)

28、用程序控制器。這樣做將要求錯(cuò)誤被糾正之前,編程器中的記憶程序被徹底抹掉,造成先前所有數(shù)據(jù)的不可恢復(fù)。根據(jù)末端文件的接收,編程器向閑置的狀態(tài)電源返回其控制輸出,允許應(yīng)用程序控制器,開始執(zhí)行新的程序。然后編程器在三十秒延遲之下重新開始對(duì)一個(gè)數(shù)據(jù)包報(bào)進(jìn)行審查。如果一個(gè)有效的數(shù)據(jù)包在30秒延遲之前接收,另一個(gè)只能被接受一個(gè)有效的末端文件而終止的程序循環(huán)開始執(zhí)行。如果復(fù)位在收有效末端文件之前終止,那么調(diào)制解調(diào)器會(huì)掉線,編程器停止工作,等待下一次傳入。在這種情況下應(yīng)用控制器被保留在程序設(shè)計(jì)模式,以防止它執(zhí)行這個(gè)程序。要返回應(yīng)用程序的正常運(yùn)行,另一個(gè)傳入必須被接收,一個(gè)有效的程序文件被上傳,由末端文件包終止

29、。Brief AT89C51 microcontroller programming circuit電子信息工程111班 周芬玲 指導(dǎo)教師:譚歆(陜西科技大學(xué)職業(yè)教育師范學(xué)院學(xué) 陜西 西安 710021)Microcontroller is also known as the micro-controller (Microcontroller Unit), the commonly used letters of the abbreviation MCU MCU, it was first used in the field of industrial control. SCM evolved

30、 by the only dedicated processor CPU chip. The first design concept by a large number of peripherals and CPU integrated in a single chip, the computer system is smaller, more easily integrated into complex and require strict control equipment on the volume. INTEL Z80 is the first processor designed

31、in accordance with this idea, since then, the development of microcontroller and dedicated processor have grown apart. The single-chip, also known as single-chip microcontroller, it is not the completion of a logical function of the chip, but a computer system integrated onto one chip. Equivalent to

32、 a mini-computer and computer, microcontroller only the lack of I / O devices. Speaking in general terms: a chip has become a computer. Its small size, light weight, inexpensive, and provide favorable conditions for learning, application and development. At the same time, learning to use the microco

33、ntroller is the best choice for the understanding of computer theory and structure.AT89C51 microcontroller DescriptionThe AT89C51 is a low-power, high-performance CMOS 8-bit microcontroller with 4K bytes of in-system programmable Flash memory. The device is manufactured using Atmels high-density non

34、volatile memory technology and is compatible with the indus- try-standard 80C51 instruction set and pinout. The on-chip Flash allows the program memory to be reprogrammed in-system or by a conventional nonvolatile memory pro- grammer. By combining a versatile 8-bit CPU with in-system programmable Fl

35、ash on a monolithic chip, the Atmel AT89S51 is a powerful microcontroller which provides a highly-flexible and cost-effective solution to many embedded control applications. The AT89C51 provides the following standard features: 4K bytes of Flash, 128 bytes of RAM, 32 I/O lines, Watchdog timer, two d

36、ata pointers, two 16-bit timer/counters, a five- vector two-level interrupt architecture, a full duplex serial port, on-chip oscillator, and clock circuitry. In addition, the AT89C51 is designed with static logic for operation down to zero frequency and supports two software selectable power saving

37、modes. The Idle Mode stops the CPU while allowing the RAM, timer/counters, serial port, and interrupt system to continue functioning. The Power-down mode saves the RAM con- tents but freezes the oscillator, disabling all other chip functions until the next external interrupt or hardware reset.The AT

38、89C51 has the following characteristics: 40-pin, 4k Bytes Flash on-chip program memory, 128 bytes of random access data memory (RAM), 32 external bi-directional input / output (I/O) ports, five interrupt prioritylayer interrupt interrupt nesting, two 16-bit programmable timer counters, two full dupl

39、ex serial port, watchdog (WDT) circuit, on-chip clock oscillator. In addition, the AT89C51 design and configuration of the oscillation frequency is 0Hz and supports two software selectable power saving modes. Idle mode, the CPU to suspend work, the RAM, timer counters, serial port, and interrupt sys

40、tem to continue to work, but freezes the oscillator power-down mode saves the RAM contents, disabling all other chip functions until the next interrupt or hardware reset. The chip also has a PDIP, TQFP and PLCC three packages to suit the needs of different products.(1) the main features* Compatible

41、with MCS-51 Products* 4K Bytes of In-System Programmable (ISP) Flash Memory Endurance: 1000 Write/Erase Cycles* 4.0V to 5.5V Operating Range* Fully Static Operation: 0 Hz to 33 MHz* Three-level Program Memory Lock* 128 x 8-bit Internal RAM* 32 Programmable I/O Lines* Two 16-bit Timer/Counters* Six I

42、nterrupt Sources* Full Duplex UART Serial Channel* Low-power Idle and Power-down Modes* Interrupt Recovery from Power-down Mode* Watchdog Timer* Dual Data Pointer* Power-off Flag* Fast Programming Time* Flexible ISP Programming (Byte and Page Mode(2)Pin DescriptionVCC: Supply voltage. GND: Ground. P

43、0 port: P0 port is an 8-bit open drain bidirectional I / O port, each pin can absorb 8TTL gate current. When the port P1 pins for the first time to write, is defined as high-impedance input. P0 can be used for the external program data memory, it can be defined as the eighth bit of the data / addres

44、s. Programming in FIASH, P0 port as the input port of the original code, when When FIASH verify the P0 output of the original code, P0 external must be pulled. P1 port: P1 port is an internal pull-up resistor of 8-bit bidirectional I / O port P1 port buffer can receive output of 4TTL gate current. P

45、ort P1 pins 1 after the write, the internal pull-up is high, can be used as input, P1 port external pull-down low, the output current, which is due to internal pull-ups sake. P1 port as the eighth bit address to receive the FLASH programming and verification. P2 port: P2 port for an internal pull-up

46、 resistor 8 bidirectional I / O port, P2 port buffer to receive output 4 TTL gate current, when the P2 I write 1, the pin is the internal pull-up resistor pulled up, and as an input. And therefore as an input port P2 pins are externally pulled low, the output current. This is due to internal pull-up

47、s sake. P2 port access for external program memory or external data memory 16 address output port P2 address eight. Given the address 1, which uses the internal pull-up advantage when eight address data to external memory read and write, P2 I output the contents of the special function registers. P2

48、 port to receive high eight address signals and control signals in flash programming and verification. Port P3: P3 port pins with internal pull-up resistor 8 bi-directional I / O port to receive the output 4 TTL gate current. Write 1, they are internal pull-up is high, and is used as an input port P

49、3. Low, the P3 port as input, an external pull-down output current (ILL) which is due to pull-ups sake. P3.0 RXD (serial input port) P3.1 TXD (serial output port) P3.2 / INT0 (external interrupt 0) P3.3 / INT1 (external interrupt 1) P3.4 T0 (timer 0 external input) The P3.5 T1 (timer 1 external inpu

50、t) P3.6 / WR (external data memory write strobe) P3.7 / RD (external data memory read strobe) Port 3 also receives some control signals for blinking programming and programming verification. I / O port as an input port when there are two ways of working, called the read port reads the pins. Read por

51、ts do not actually read from the outside into the data, but read the contents of the port latch into the internal bus, and then write some sort of operation or transform back to the port latch. Only read the port when the real external data read into the internal bus. Two triangles in the figure abo

52、ve is expressed in the input buffer CPU to complete the different operating according to different instructions were issued for the read port or read pin signal. This is done automatically by the hardware, we do not need to worry about, and then to implement the read pin operation, or may be read in

53、to an error, why look at the diagram above, if the original state of the wrong port set port latch may 0Q side 0Q 1 added to the FET gate signal is 1, the FET turn-on presents low impedance signal at this time even if the input pin is 1, also due to the low impedance of the port leaving the signal i

54、s low makes the additional signal may not necessarily be read into the a. First implementation of set operations, you can make the FET directly added to the tri-state buffer to read into the correct cut-off pin signal input operation also must attach a preparatory actions so this type of I / O port

55、quasi-bidirectional port. Are quasi-bidirectional the 89C51 P0/P1/P2/P3 port as input. Lets look at another problem, can be seen from the figure the four ports, there is a difference, in addition to the P1 the estuary P0P2P3 mouth are other features. RST: Reset input. When the oscillator to reset th

56、e device to maintain the high time of the RST pin for two machine cycles. The ALE / PROG: when access to external memory address latch allows the output level of the status byte for latch address. During FLASH programming, this pin is used to enter the programming pulse. Normally, the output of the

57、ALE client to the same frequency cycle is pulse signals, the frequency of the oscillator frequency 1/6. Therefore, it can be used as an external output pulse or for timing purposes. It should be noted, however, is: whenever used as an external data memory, it will skip that one ALE pulse. If you wan

58、t to prohibit ALE output can be set to 0 in the SFR8EH address. At this point, ALE is only in the MOVX, MOVC instruction is ALE works. In addition, the pin is pulled slightly. If the microprocessor is in external execution state ALE prohibition, set invalid. / PSEN: strobe for external program memor

59、y. During fetches from external program memory, each machine cycle twice / PSEN. Access to external data memory, two effective / PSEN signal will not appear. / EA / VPP: When / EA is held low, the external program memory (0000H-FFFFH), during this period regardless of whether the internal program me

60、mory. The Note encrypted 1:00, the / the EA internal lock for RESET; / EA side to maintain the high, here the internal program memory. During the FLASH programming, this pin is also used to impose the 12V programming supply (VPP). XTAL1: the input of the inverting oscillator amplifier and internal c

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論