版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、<p> 基于89C51的智能交通燈設(shè)計(軟件)</p><p> 學(xué)院名稱: 電氣信息工程學(xué)院 </p><p> 專 業(yè): 電氣工程及其自動化 </p><p> 班 級: 05自控1W </p><p> 姓 名: 王
2、士林 </p><p> 指導(dǎo)教師姓名: 路子赟 劉偉 </p><p> 指導(dǎo)教師職稱: 助教 副教授 </p><p> 2009年 6 月 </p><p> 基于89C51的智能交通燈設(shè)計</p><p><b> 摘要:&
3、lt;/b></p><p> 本設(shè)計將運動檢測技術(shù)與交通燈控制結(jié)合起來,除了具有正常的交通燈時序控外,當(dāng)發(fā)現(xiàn)有闖紅燈的情況時還能發(fā)出報警,從而使交通燈控制系統(tǒng)具有初步的視覺感知功能。系統(tǒng)是由顯示模塊、控制模塊、運動檢測處理模塊,以及MATLAB環(huán)境下PC 機STC89C51單片機的實時串口通信模塊等組成。本次設(shè)計中的關(guān)鍵技術(shù)環(huán)節(jié)是用軟件模擬了一個串行口,即用P1口的P1.6和P1.7來分別模擬RXD和T
4、XD,通過模擬串口控制74HC164來實現(xiàn)數(shù)碼管的顯示;PC機串口與單片機原有串口之間通過MAX232電平轉(zhuǎn)換芯片和RSR-232數(shù)據(jù)總線進行硬件連接,利用MATLAB設(shè)備控制工具箱中提供的serial函數(shù)來創(chuàng)建串口設(shè)備對象,PC機對串口的讀寫操作都通過調(diào)用設(shè)備控制工具箱的各種函數(shù)對串口對象的操作來實現(xiàn)。運動檢測模塊屬于圖像處理的內(nèi)容,采用簡單的幀間差分和閾值判斷來實現(xiàn),程序在MATLAB環(huán)境下運行。最后,做出了實物,并且實驗表明達到了
5、設(shè)計目標(biāo)。</p><p> 關(guān)鍵詞:89C51單片機;交通燈;模擬串行口;運動檢測;MATLAB</p><p> The design of intelligent traffic lights based on 89C51</p><p> Abstract: </p><p> This design unifies the
6、movement examination technology and the traffic light control, besides has the normal traffic light sequential control, when discovered has when situation which runs a red light also can send out reports to the police, t
7、hus enable the traffic light control system to have the preliminary visual sensation function.The system is by the demonstration module, the control module, the movement examination processing module, as well as under th
8、e MATLAB environment PC machine and </p><p> Key words: 89C51 single-chip computer ; Traffic lights ; Simulation serial port ; Motion detection ; MATLAB</p><p><b> 目 錄</b></p&g
9、t;<p> 引言........................................................1</p><p> 第1章 交通管理方案論證.....................................3</p><p> 2.1 設(shè)計任務(wù)..........................................
10、........3</p><p> 2.2 方案介紹..................................................3</p><p> 第2章 交通燈控制系統(tǒng)硬件設(shè)計...............................7</p><p> 2.1 單片機概述...........................
11、.....................7</p><p> 2.2 系統(tǒng)構(gòu)成..................................................8</p><p> 2.3芯片選擇與介紹.............................................9 </p><p> 2.3.1 STC89C
12、51芯片................................................9</p><p> 2.3.2 89系列單片機的優(yōu)點.........................................9</p><p> 2.3.3 ATMEL89系列單片機的分類...................................10</
13、p><p> 2.3.4 I/O口的功能...............................................10</p><p> 2.3.5 結(jié)構(gòu)框圖...................................................11</p><p> 2.3.6 引腳描述.....................
14、..............................12</p><p> 第3章 交通燈控制系統(tǒng)軟件設(shè)計</p><p> 3.1 程序設(shè)計流程圖............................................20</p><p> 3.2延時的設(shè)定.......................................
15、.........22</p><p> 3.2.1 計數(shù)器初值計算..............................................22</p><p> 3.2.2 相應(yīng)程序代碼................................................23</p><p> 3.3 MATLAB的運用..
16、...........................................24</p><p> 3.4 MAX232實現(xiàn)單片機與PC機之間的通訊...........................31</p><p> 3.5 程序的主控制循環(huán)調(diào)用.............................................35</p><
17、;p> 3.6 對現(xiàn)有程序的擴充..........................................36</p><p><b> 第4章 系統(tǒng)測試</b></p><p> 4.1實驗平臺.................................................38</p><p> 4.
18、2實驗步驟.................................................38</p><p> 4.2.1 編寫程序代碼................................................38</p><p> 4.2.2 按照系統(tǒng)硬件連線圖連接好系統(tǒng)并調(diào)試..........................38</
19、p><p> 結(jié)論.......................................................41</p><p> 參考文獻...................................................42</p><p> 附錄1 ....................................
20、................44</p><p> 附錄2……......…………………………………………………………….49</p><p> 附錄3……...………………………………………………………………51</p><p> 附錄4...........................................................
21、................................................53</p><p><b> 引言</b></p><p> 今天,紅綠燈安裝在各個道口上,已經(jīng)成為疏導(dǎo)交通車輛最常見和最有效的手段。但這一技術(shù)在19世紀就已出現(xiàn)了。1858年,在英國倫敦主要街頭安裝了以燃煤氣為光源的紅,藍兩色的機械扳手式信號燈,用以指揮馬車通行。這
22、是世界上最早的交通信號燈。1868年,英國機械工程師納伊特在倫敦威斯敏斯特區(qū)的議會大廈前的廣場上,安裝了世界上最早的煤氣紅綠燈。它由紅綠兩塊以旋轉(zhuǎn)式方形玻璃提燈組成,紅色表示“停止”,綠色表示“注意”。1869年1月2日,煤氣燈爆炸,使警察受傷,遂被取消。</p><p> 1914年,電氣啟動的紅綠燈出現(xiàn)在美國。這種紅綠燈由紅綠黃三色圓形的投光器組成,安裝在紐約市5號大街的一座高塔上。紅燈亮表示“停止”,綠燈
23、亮表示“通行”。</p><p> 1918年,又出現(xiàn)了帶控制的紅綠燈和紅外線紅綠燈。帶控制的紅綠燈,一種是把壓力探測器安在地下,當(dāng)車輛接近時,紅燈便變?yōu)榫G燈;另一種是用擴音器來啟動紅綠燈,司機遇紅燈時按一下喇叭,就使紅燈變?yōu)榫G燈。紅外線紅綠燈當(dāng)行人踏上對壓力敏感的路面時,它就能察覺到有人要過馬路。紅外光束能把信號燈的紅燈延長一段時間,推遲汽車放行,以免發(fā)生交通事故。</p><p>
24、 信號燈的出現(xiàn),使交通得以有效管制,對于疏導(dǎo)交通流量、提高道路通行能力,減少交通事故有明顯效果。1968年,聯(lián)合國《道路交通和道路標(biāo)志信號協(xié)定》對各種信號燈的含義作了規(guī)定。綠燈是通行信號,面對綠燈的車輛可以直行,左轉(zhuǎn)彎和右轉(zhuǎn)彎,除非另一種標(biāo)志禁止某一種轉(zhuǎn)向。左右轉(zhuǎn)彎車輛都必須讓合法地正在路口內(nèi)行駛的車輛和過人行橫道的行人優(yōu)先通行。紅燈是禁行信號,面對紅燈的車輛必須在交叉路口的停車線后停車。黃燈是警告信號,面對黃燈的車輛不能越過停車線,但
25、車輛已十分接近停車線而不能安全停車時可以進入交叉路口。</p><p> 隨著經(jīng)濟的發(fā)展,交通運輸中出現(xiàn)了一些傳統(tǒng)方法難以解決的問題。道路擁擠現(xiàn)象日趨嚴重,造成的經(jīng)濟損失越來越大,并一直保持大比例的增長?,F(xiàn)在交通系統(tǒng)已不能滿足經(jīng)濟發(fā)展的需求。由于生活水平的提高,人們對交通運輸?shù)陌踩约胺?wù)水平提出了更高的要求。在交通中管理引入單片機交通燈控制代替交管人員在交叉路口服務(wù),有助于提高交通運輸?shù)陌踩?、提高交通管理?/p>
26、服務(wù)質(zhì)量。并在一定程度上盡可能的降低由道路擁擠造成的經(jīng)濟損失,同時也減小了工作人員的勞動強度。 </p><p> 中國車輛數(shù)量不斷增加,交通管制的工作量越來越大,利用計算機代替人進行高效交通管理是必然的發(fā)展趨勢,而讓計算機控制的交通燈擁有類似人類的感知智能,具有很強的現(xiàn)實意義,比如通過攝像機讓交通燈控制系統(tǒng)獲得視覺感知功能,就可以代替人類的眼睛,
27、使系統(tǒng)根據(jù)所“看到”交通情況自適應(yīng)改變管制策略,提高了交通管理的自動化水平,使得交通更高效、更順暢。</p><p> 第1章 交通管理方案論證</p><p><b> 2.1 設(shè)計任務(wù)</b></p><p> 東西(A)、南北(B)兩干道交于一個十字路口,各干道有一組紅、左轉(zhuǎn)綠、綠三個指示燈,指揮車輛和行人安全通行。紅燈亮禁止通行,
28、綠燈亮允許通行。紅燈的設(shè)計時間為40秒,綠燈及左轉(zhuǎn)綠燈各為20秒,并通過圖像處理來檢測是否闖紅燈,如果有闖紅燈,通過報警燈報警。設(shè)A道和B道的車流量相同。</p><p><b> 2.2 方案介紹</b></p><p> 把設(shè)計任務(wù)細化為四個狀態(tài),其對應(yīng)狀態(tài):如圖1-1:</p><p> 圖1-1 狀態(tài)轉(zhuǎn)換圖</p>
29、<p> 整個交通燈控制由四個狀態(tài)組成,可以用程序設(shè)計實現(xiàn),也可用時序邏輯實現(xiàn).以下方案就是分別用了這兩種方法。</p><p><b> 方案1設(shè)計思想:</b></p><p> 采用分模塊設(shè)計的思想,程序設(shè)計實現(xiàn)的基本思想是一個計數(shù)器 , 選擇一個單片機,其內(nèi)部為一個計數(shù),是十六進制計數(shù)器,模塊化后,通過設(shè)置或程序清除來實現(xiàn)狀態(tài)的轉(zhuǎn)換, 由于每
30、一個模塊的計數(shù)多不是相同, 這里的各模塊是以預(yù)置數(shù)和計數(shù)器計數(shù)共同來實現(xiàn)的,所以要考慮增加一個置數(shù)模塊,其主要功能細分為,對不同的狀態(tài)輸入要產(chǎn)生相應(yīng)狀態(tài)的下一個狀態(tài)的預(yù)置數(shù), 如圖中A道和B道,分別為次干道的置數(shù)選擇和主干道的置數(shù)選擇。以主干道為例,簡述其設(shè)計思想。如前分析,已經(jīng)確定該系統(tǒng)有四個狀態(tài),而置數(shù)子模塊可定要將下一狀態(tài)的預(yù)置數(shù)準備好,所以很容易得到主干道的置數(shù)表如表1-1:</p><p> 表1-1
31、 置數(shù)表</p><p> 由該表,就可以通過程序循環(huán)的方法設(shè)計該模塊,主要思想是通過數(shù)據(jù)判斷指令、跳轉(zhuǎn)指令實現(xiàn),由主控制器計時和中斷產(chǎn)生的四個狀態(tài)去譯碼,從而得到不同的輸出,即預(yù)置數(shù),由上分析可用一個計數(shù)器和跳轉(zhuǎn)指令去完成的預(yù)置數(shù)。而紅綠燈的顯示也是一樣,由狀態(tài)分析可以得出紅綠燈的變化表如表1-2:</p><p> 表1-2 紅綠燈變化表</p><p&g
32、t; 通過這張表就可以用組合電路實現(xiàn)該功能了,可以用數(shù)據(jù)選擇器的思想,在本系統(tǒng)中,直接通過門電路的譯碼,接下來就是計數(shù)模塊了,其主要的功能細分為,要從預(yù)置數(shù)開始遞減計數(shù),一個狀態(tài)結(jié)束,通過判斷,通知主控制模塊,使之進入下一模塊。還有一個必須考慮到的就是,預(yù)置數(shù)必須在下一個狀態(tài)來之前準備好,而紅綠燈的狀態(tài)變化,必須和計數(shù)狀態(tài)同步,于是引起預(yù)置數(shù)變化的程序要超前于系統(tǒng)本身的狀態(tài)變化,所以,系統(tǒng)中的兩個狀態(tài)轉(zhuǎn)換時,在上一狀態(tài)結(jié)束時設(shè)置預(yù)置數(shù)
33、,而控制紅綠燈的是隨著系統(tǒng)本身狀態(tài)的變化而變化,體現(xiàn)在本子電路中就是有兩組電路去判斷符合的狀態(tài)。</p><p> 方案2 設(shè)計思想:</p><p> 狀態(tài)轉(zhuǎn)換表如表1-3:</p><p> 表1-3 狀態(tài)轉(zhuǎn)換表</p><p><b> 本方案分三步:</b></p><p>
34、?。?)要建立三路信號燈的控制系統(tǒng),本設(shè)計采用7408 芯片通過組合邏輯控制三路燈的顯示關(guān)系。</p><p> ?。?)建立顯示控制系統(tǒng),本設(shè)計采用74190 芯片倒計時控制,每個方向用兩片相連實現(xiàn),另外用74153芯片,因為分析中設(shè)置的時間末位均為5,所以只要用一片74153 對高位置位,將低位的初值預(yù)置鎖定為5,而高位則根據(jù)需要由反饋部分提供預(yù)置值。</p><p> ?。?)建立反
35、饋和細節(jié)連接部分,本部分主要解決顯示和燈控的同步問題本系統(tǒng)采用倒計時系統(tǒng)減為0,如當(dāng)系統(tǒng)減為0 時通過兩個D觸發(fā)器得到兩個變量,即為開頭分析中的狀態(tài),通過它的變化得到不同的邏輯關(guān)系,驅(qū)動74153 控制哪組燈亮(對應(yīng)關(guān)系如表所示),另外他還要同步反饋到顯示系統(tǒng)的置數(shù)環(huán)節(jié)。</p><p> 注意:本實驗中若采用更復(fù)雜的四片74190控制主干道的兩組燈,再用八片74153分別對74190置數(shù)可實現(xiàn)任意數(shù)值的交通燈
36、系統(tǒng)。另外對7408 片子的控制紅燈的端口用一個與門將一端再接一個頻率一定的方波,使一邊為黃燈時,另一邊的紅燈在閃爍。</p><p><b> 方案比較:</b></p><p> 方案1(以下稱1)用了模塊設(shè)計,而方案2(以下稱2)采用的是一般設(shè)計,相比之下1有較強的可讀性和較強的可修改性,而2則在設(shè)計上顯得較簡單,設(shè)計純樸,便于測試,它的優(yōu)勢則在于提供了一條
37、較為便捷的解決方案。2首先將許多邏輯關(guān)系簡化到極點,而后將其一起集成用較少的芯片去完成所需功能。</p><p> 我們從中可以得出的是,我們最終的設(shè)計應(yīng)該盡量使用模塊化設(shè)計。對工程設(shè)計人員來說,將來的產(chǎn)品無論從修改還是升級考慮對有好處,但另外我們又需將設(shè)計簡單化,因此我覺得在設(shè)計初期盡可能的簡單化設(shè)計,而一旦設(shè)計的各項測試通過了,在有可能的條件下將設(shè)計模塊化,所以本設(shè)計以第一方案為主進行。</p>
38、<p> 第2章 交通燈控制系統(tǒng)硬件設(shè)計</p><p><b> 2.1 單片機概述</b></p><p> 單片機是由運算器、控制器、存儲器、輸入設(shè)備以及輸出設(shè)備共五個基本部分組成的。單片機是把包括運算器、控制器、少量的存儲器、最基本的輸入輸出口電路、串行口電路、中斷和定時電路等都集成在一個尺寸有限的芯片上。</p><p
39、> 通常,單片機由單個集成電路芯片構(gòu)成,內(nèi)部包含有計算機的基本功能部件:中央處理器、存儲器和I/O接口電路等。因此,單片機只需要和適當(dāng)?shù)能浖巴獠吭O(shè)備相結(jié)合,便可成為一個單片機控制系統(tǒng)。</p><p> 單片機經(jīng)過1、2、3、3代的發(fā)展,目前單片機正朝著高性能和多品種方向發(fā)展,它們的CPU功能在增強,內(nèi)部資源在增多,引腳的多功能化,以及低電壓、低功耗。</p><p> 可以
40、說,二十世紀跨越了三個“電”的時代,即電氣時代、電子時代和現(xiàn)已進入的電腦時代。不過,這種電腦,通常是指個人計算機,簡稱PC機。它由主機、鍵盤、顯示器等組成。還有一類計算機,大多數(shù)人卻不怎么熟悉。這種計算機就是把智能賦予各種機械的單片機。顧名思義,這種計算機的最小系統(tǒng)只用了一片集成電路,即可進行簡單運算和控制。因為它體積小,通常都藏在被控機械的“肚子”里。它在整個裝置中,起著有如人類頭腦的作用,它出了毛病,整個裝置就癱瘓了?,F(xiàn)在,這種單片
41、機的使用領(lǐng)域已十分廣泛,如智能儀表、實時工控、通訊設(shè)備、導(dǎo)航系統(tǒng)、家用電器等。各種產(chǎn)品一旦用上了單片機,就能起到使產(chǎn)品升級換代的功效,常在產(chǎn)品名稱前冠以形容詞——“智能型”,如智能型洗衣機等?,F(xiàn)在有些工廠的技術(shù)人員或其它業(yè)余電子開發(fā)者搞出來的某些產(chǎn)品,不是電路太復(fù)雜,就是功能太簡單且極易被仿制。究其原因,可能就卡在產(chǎn)品未使用單片機或其它可編程邏輯器件上。 </p><p> 目前單片機滲透到我們生活的各個領(lǐng)域,
42、幾乎很難找到哪個領(lǐng)域沒有單片機的蹤跡。導(dǎo)彈的導(dǎo)航裝置,飛機上各種儀表的控制,計算機的網(wǎng)絡(luò)通訊與數(shù)據(jù)傳輸,工業(yè)自動化過程的實時控制和數(shù)據(jù)處理,廣泛使用的各種智能IC卡,民用豪華轎車的安全保障系統(tǒng),錄像機、攝像機、全自動洗衣機的控制,以及程控玩具、電子寵物等等,這些都離不開單片機。更不用說自動控制領(lǐng)域的機器人、智能儀表、醫(yī)療器械了。它主要是作為控制部分的核心部件。因此,單片機的學(xué)習(xí)、開發(fā)與應(yīng)用將造就一批計算機應(yīng)用與智能化控制的科學(xué)家、工程師
43、。</p><p><b> 2.2 系統(tǒng)構(gòu)成</b></p><p> 電路板一塊,STC89C51單片機一片,74HC164芯片八片,七段數(shù)碼管八個。74LS04反向器一片,發(fā)光二極管13個(8個綠的,4個紅的用于交通控制,1個用于標(biāo)識電源),7805三端穩(wěn)壓電源一個,一個按鍵,一條數(shù)據(jù)下載線。</p><p> 系統(tǒng)結(jié)構(gòu)框圖如圖2-
44、1:</p><p> 圖2-1 系統(tǒng)結(jié)構(gòu)框圖</p><p><b> 系統(tǒng)各部分工作:</b></p><p> (1)程序設(shè)置初始時間,通過STC89C51單片機寄存器實現(xiàn)。</p><p> (2) 由STC89C51單片機就通過P3.0口向74HC164的數(shù)據(jù)端口送信息,由74HC164的輸出口顯示紅、
45、綠、黃燈的點亮?xí)r間情況;由STC89C51的P1.0、P1.1、P1.2、P1.3口顯示每個燈的點亮情況。</p><p> (3) STC89C51通過程序設(shè)置各個信號燈的點亮?xí)r間,通過程序設(shè)置左轉(zhuǎn)綠、綠、紅時間依次為20秒、20秒、40秒循環(huán),由AT89S51的 P3口向74HC164的數(shù)據(jù)口輸出。</p><p> (4)通過STC89C51單片機的P3口來控制系統(tǒng)是工作。<
46、;/p><p> (5)74HC164的A、B口用于串行輸出時間位,經(jīng)過串并轉(zhuǎn)換送到七段數(shù)碼管的八的引腳。而P1口用于輸出控制信號.而通過74LS04反向器實現(xiàn)控制各個燈的情況.它采用5V的直流電來驅(qū)動二極管。</p><p> (6)STC89C51本身集成了看門狗指令,當(dāng)系統(tǒng)出現(xiàn)異??撮T狗將發(fā)出溢出中斷。通過專用端口輸出,引起RESET復(fù)位信號復(fù)位系統(tǒng)。</p><
47、p> 2.3芯片選擇與介紹</p><p> 2.3.1 STC89C51芯片</p><p> ATMEL 89系列單片機是以8031為結(jié)構(gòu)的,所以,它和8051系列單片機是兼容的系列。</p><p> 2.3.2 89系列單片機的優(yōu)點</p><p> 89系列單片機對于一般的用戶來說,存在下面很明顯的優(yōu)點:</
48、p><p> 1. 含有FLASH存儲器</p><p> 因此在系統(tǒng)的開發(fā)過程中可以十分容易進行修改,這就大大縮短了系統(tǒng)的開發(fā)周期。同時,在系統(tǒng)工作過程中,能有效地保持一些數(shù)據(jù)信息,即使外界損壞也不影響到信息的保持。</p><p> 2. 和80C51插座兼容</p><p> 89系列單片機的引腳是和80C51一樣的,所以,當(dāng)89系
49、列單片機取代80C51時,可以進行代換。</p><p><b> (1)靜態(tài)時鐘方式</b></p><p> 89系列單片機采用靜態(tài)時鐘方式,所以可以節(jié)省電能,這對于降低便攜式產(chǎn)品的功耗十分有用。</p><p> ?。?)錯誤編程亦無廢品產(chǎn)生</p><p> 一般的OPT產(chǎn)品,一旦錯誤編程就成了廢品。而89
50、系列單片機內(nèi)部采用了FLASH存儲器,所以,錯誤編程后可以重新編程,直到正確為止,故不存在廢品。</p><p> ?。?)可進行反復(fù)系統(tǒng)試驗</p><p> 用89系列單片機設(shè)計的系統(tǒng),可以反復(fù)進行系統(tǒng)試驗;每次試驗可以不同的程序,這樣可以保證用戶的系統(tǒng)設(shè)計達到最優(yōu)。而且隨用戶的需要和發(fā)展,還可以進行修改,使系統(tǒng)不斷能追隨用戶的最新要求。</p><p>
51、3. 89系列單片機內(nèi)部結(jié)構(gòu)</p><p> 89系列的內(nèi)部結(jié)構(gòu)和89C51相近,它主要含有如下一些部件。</p><p> ?。?)8031CPU</p><p><b> (2)振蕩電路</b></p><p><b> ?。?)總線控制部件</b></p><p>
52、;<b> ?。?)重點控制部件</b></p><p> ?。?)片內(nèi)FLASH存儲器</p><p><b> ?。?)片內(nèi)RAM</b></p><p> ?。?)并行I/O接口</p><p><b> ?。?)定時器</b></p><p>
53、?。?)串行I/O接口</p><p> 2.3.3 ATMEL89系列單片機的分類</p><p> ATMEL89系列單片機可分成標(biāo)準型號、低檔型號和高檔型號三類。</p><p> 89系列單片機的標(biāo)準型有STC89C51等4種型號,它們基本結(jié)構(gòu)和89C51是類似的,是80C51的兼容產(chǎn)品,89系列單片機的低檔型有STC89C1051等2種型號,它們的C
54、PU和89C51是相同的,但是并行I/O口較少。高檔型的有STC89C8252,這是一種可下載FLASH單片機,它和IBM微機通信進地程序是十分方便的。</p><p> 2.3.4 I/O口的功能</p><p> 在STC89C51中有四個雙向I/O端口P0 ~ P3口,每個端口都是由鎖存器、輸出驅(qū)動器、輸入緩沖器組成。當(dāng)CPU控制系統(tǒng)與外部設(shè)備交換信息時,都是通過端口鎖存器進行的
55、。四個I/O端口都可作輸出輸入使用,其中P0和P2口通常用于對外部存儲器的訪問。</p><p> 接通鎖存器時,P0口作為雙向I/O使用,如P0口的鎖存器的值為1,使輸出驅(qū)動器中的場效應(yīng)管截止,引腳空,此時端口可作高阻輸入。鎖存器的值為0時,下面的場效應(yīng)管導(dǎo)通,輸出為0。P0口作為地址/數(shù)據(jù)總線口使用時,由“控制”線控制將電子開關(guān)接通至“地址/數(shù)據(jù)”端,分別輸出擴展外存的低8位地址A0 ~ A7和數(shù)據(jù)D0 ~
56、 D7。一般情況下,當(dāng)P0口作輸入輸出線使用時,都要外接拉高電阻。</p><p> 在STC89C51和STC89C52中,I/O端口復(fù)位值均為1。</p><p><b> 寫端口操作:</b></p><p> 當(dāng)執(zhí)行指令來改變端口鎖存器的值時,新的值在最后一個指令S6P2被寫入鎖存器的。在每一個時鐘周期的S1P1,鎖存器的值由輸出
57、緩沖器采樣并保存至下一個機器周期的S1P1才到引腳。當(dāng)鎖存器的狀態(tài)發(fā)生變化時,這個變化不會立即出現(xiàn)在輸出端,至少經(jīng)過一個時鐘周期后,才把新的值輸出。</p><p> 在P1、P2、P3端口內(nèi),都接有內(nèi)部上拉電阻,此上拉電阻分為固定部分和附加部分,當(dāng)端口的狀態(tài)要從0變?yōu)?時,在發(fā)生變化的哪個機器周期的S1P1和S1P2接通附加的拉高電路以增加變化的速度,否則這個狀態(tài)的變化將十分緩慢。附加的拉高電路允許通過的電流
58、比普通的上拉電阻大100倍。</p><p><b> 讀端口及接口操作:</b></p><p> P1 ~ P3口的輸出緩沖器每個都能取代4個LSTTL輸入。CMOS型的芯片引腳可由集電極開路電路的漏極開路電路驅(qū)動,但在狀態(tài)從0變1時,邊化的速度很慢,輸入0時,TP3截止,僅靠TP2非常微弱的上拉來驅(qū)動狀態(tài)的變化。</p><p>
59、在外部總線方式下,P0口的輸出緩沖器能驅(qū)動8個LSTTL輸入,但P0口用作輸入輸出口時需外接上拉電路驅(qū)動輸入。</p><p> 2.3.5 結(jié)構(gòu)框圖 </p><p> 圖2-2 8051結(jié)構(gòu)框圖</p><p> STC89C51具有下列主要性能:</p><p> 1. 4KB可改編程序FLASH存儲器(可經(jīng)受1,000次的寫入
60、/擦除周期)</p><p> 2. 全靜態(tài)工作:0HZ ~ 24MHZ</p><p> 3. 三級程序存儲器保密</p><p> 4. 128*8字節(jié)內(nèi)部RAM</p><p> 5. 32條可編程I/O線</p><p> 6. 2個16位定時器/計數(shù)器</p><p><
61、;b> 7. 6個中斷源</b></p><p> 8. 可編程串行通道</p><p> 9. 片內(nèi)時鐘振蕩器</p><p> 另外,STC89C51是靜態(tài)邏輯來設(shè)計,其工作可下降到0HZ并提供可用軟件來選擇的省電方式——空閑方式(IDLE MODE)和掉電方式(POWER DOWN MODE)。在空閑方式中,CPU停止工作,而RAM、
62、定時器/計數(shù)器、串行口和中斷系統(tǒng)都繼續(xù)工作。在掉電方式中,單片機振蕩器停止工作,由于時鐘被“凍結(jié)”,使一切功能都暫停,只保存片內(nèi)RAM中的內(nèi)容,直到下一次硬件復(fù)位為止。</p><p> 2.3.6 引腳描述</p><p> 圖2-3 是STC89C51的引腳結(jié)構(gòu)圖:</p><p> 圖2-3 8051引腳圖</p><p> S
63、TC89C51有40 條引腳,分為端口線、電源線和控制線三類</p><p> 1.端口線(4*8=32條)</p><p> 8051有四個并行I/O端口,每個端口有8條口線,用于傳送數(shù)據(jù)和地址。</p><p> ?。?)P0.0~ P0.7:這組引腳共有8條,為P0口所專用,其中P0.7為最高位,P0.0為最低位。這8條引腳口有兩種不同的功能,分別使用于兩
64、種不同的功能。第一種情況是89C51不帶片外存儲器,P0口可以作為通用I/O使用,P0.0~ P0.7用于傳送CPU的輸入/輸出數(shù)據(jù)。這時,輸出數(shù)據(jù)可以得到鎖存,不需外接專用鎖存器,輸入數(shù)據(jù)可以得到緩沖,增加了數(shù)據(jù)輸入的可靠性;第二種情況是89C51帶片外存儲器,P0.0~ P0.7在CPU訪問片外存儲器時用于傳送片外存儲器的第8位地址,然后傳送CPU對片外存儲器的讀寫數(shù)據(jù)。</p><p> (2)1.0~
65、P1.7:這8條引腳和P0口的8條引腳類似,P1.7為最高位,P1.0為最低位,當(dāng)P1口作為通用I/O使用時,P1.0~ P1.7的功能和P0口的第一功能相同,也用于傳送用戶的輸入和輸出數(shù)據(jù)。</p><p> (3)P2.0~ P2.7:這組引腳的第一功能和上述兩組引腳的第一功能相同,即它可以作為通用I/O口使用。它的第二功能和P0口的第二功能相配合,用于輸出片外存儲器的高8位地址,共同選中片外存儲器單元,但
66、并不能像P0口那樣是可以傳送存儲器的讀寫數(shù)據(jù)。</p><p> ?。?)3.0~ P3.7:這組引腳的第一功能和其余端口的第一功能相同。第二功能作控制用,每個引腳并不完全相同,如表2-1所列。</p><p> 表2-1 P3口第二功能</p><p><b> 2.電源線(2條)</b></p><p> V
67、CC為+5V電源線,VSS為接地線。</p><p><b> 3.控制線(6)條</b></p><p> ?。?)外接晶體引腳XTAL1和XTAL2</p><p> MCS-51的時鐘可以利用它內(nèi)部的振蕩器產(chǎn)生,只要在XTAL1、XTAL2引腳上外接這時反饋電路,內(nèi)部振蕩器便自激振蕩,產(chǎn)生時鐘輸出到內(nèi)部的定時控制邏輯。定時反饋電路一般
68、為石英晶振和電容組成的并聯(lián)回路。這種方式稱為內(nèi)部方式,這種方式的外部元件連接如圖2-5所示。如果振蕩器已起振,則在XTAL2引腳上輸出3V左右的正弦波。</p><p> (2)ALE/PROG:地址鎖存允許/編程線,配合P0口引腳的第二功能使用,在訪問片外存儲器時,89C51CPU在P0.0~P0.7引腳線上輸出片外存儲器低8位地址的同時還在ALE/PROG線上輸出一個高電位脈沖,用于把這個片外存儲器低8位地
69、址鎖存到外部專用地址鎖存器讀寫數(shù)據(jù)。在不訪問片外存儲器時,89C51自動在ALE/PROG線上輸出頻率為F0SC/6的脈沖。</p><p><b> 圖2-4 晶振電路</b></p><p> (3)EA/VPP:允許訪問片外存儲器編程電源線,可以控制89C51使用片內(nèi)ROM還是使用片外ROM。若EA=1,則允許使用ROM;若EA=0,則允許使用片外ROM。&
70、lt;/p><p> ?。?)PSEN:片外ROM選通線,在執(zhí)行訪問片外ROM的指令MOVC時,8051自動在PSEN線上產(chǎn)生一個負脈沖,用于為片外ROM芯片的選通。其他情況下,PSEN線均為高電平封鎖狀態(tài)。</p><p> (5)RST/VPD:復(fù)位電源線,可以使89C51處于復(fù)位工作狀態(tài)。通常,89C51的復(fù)位有自動上電復(fù)位和1 ~ 2按鈕復(fù)位兩種,如圖3-6所示。</p>
71、<p><b> 圖2-5 復(fù)位電路</b></p><p> 4.中斷與定時/計數(shù)系統(tǒng)</p><p><b> 1.中斷</b></p><p> 在單片機中,中斷技術(shù)主要用于實時控制。所謂實時控制,就是要求計算機能及時地相應(yīng)被控對象提出的分析、計算和控制等請求,使被控對象保持在最佳工作狀態(tài),以到
72、達預(yù)定的控制效果。由于這些控制參量的請求都是隨機發(fā)出,而且要求單片機必須作出快速響應(yīng)并及時處理,對此只有靠中斷技術(shù)才能實現(xiàn)。</p><p> 向CPU發(fā)出中斷請求的來源稱之為中斷源。MCS-51是一個多中斷源的單片機,以80C51為例有3類共五個中斷源,分別是外部中斷2個,定時中斷2個和串行中斷1個。</p><p> 在MCS-51單片機中,控制寄存器共有4個,即定時器控制寄存器、
73、中斷允許控制寄存器、中斷優(yōu)先控制寄存器及串行口控制寄存器。這4個控制寄存器都屬于專用寄存器之列。MCS-51的中斷優(yōu)先級控制比較簡單,因為系統(tǒng)只定義高低2個優(yōu)先級。各中斷源的優(yōu)先級由中斷優(yōu)先級寄存器(IP)進行設(shè)定。從中斷相應(yīng)到轉(zhuǎn)向執(zhí)行中斷服務(wù)程序,完成中斷所要求的操作任務(wù),是一個很復(fù)雜的過程。中斷完成后,TCON或SCON中的中斷請求標(biāo)志應(yīng)及時清除。否則就意味著中斷請求仍然存在,弄不好就會造成中斷的重復(fù)查詢和相應(yīng),因此就存在一個中斷請
74、求的撤銷問題。MCS-51是通過只有在一條指令的最后一個機器周期的查詢有效才能進行中斷相應(yīng)來實現(xiàn)。它有一種單步工作方式,所謂單步執(zhí)行就是由外來脈沖控制程序的執(zhí)行。而外來脈沖是通過按鍵產(chǎn)生的,因此實際上單步執(zhí)行就是按一次鍵執(zhí)行一條指令。</p><p><b> 中斷系統(tǒng)的控制</b></p><p> 2.定時器/計數(shù)器的控制寄存器</p><
75、p> ?。?)、定時器控制寄存器(TCON)</p><p> TCON寄存器既參與中斷控制又參與定時控制?,F(xiàn)對其定時功能加以介紹。其中有關(guān)定時的控制位共有4位:</p><p> ?F0和TF1—計數(shù)溢出標(biāo)志位</p><p> 當(dāng)計數(shù)器計數(shù)溢出(計滿)時,該位置“1”;使用查詢方式時,此位作狀態(tài)位供查詢,但應(yīng)注意查詢有效后應(yīng)以軟件方法及時將該位清“0
76、”;使用中斷方式時,此位作中斷標(biāo)志位,在轉(zhuǎn)向中斷服務(wù)程序時由硬件自動清“0”。</p><p> ?R0和TR1—定時器運行控制位</p><p> TRO(TR1)=0 停止定時器/計數(shù)器工作</p><p> TRO(TR1)=1 啟動定時器/計數(shù)器工作</p><p> ?。?)、工作方
77、式控制寄存器(TMOD)</p><p> TMOD寄存器是一個專用寄存器,用于設(shè)定兩個定時器/計數(shù)器的工作方式。但TMOD寄存器不能位尋址,只能用字節(jié)傳送指令設(shè)置其內(nèi)容。各位定義如表2—2:</p><p> 表2—2 TMOD定義表</p><p> 位一組的結(jié)構(gòu)使它不能位尋址, 一定義就是4位。</p><p> 從寄存器的位格
78、式中可以看出,它的低半字節(jié)定義定時器/計數(shù)器0,高半字節(jié)定義定時器/計數(shù)器1。</p><p><b> ?ATE——門控位</b></p><p> GATE=O 以運行控制位TR啟動定時器</p><p> GATE=1 以外中斷請求信號(或)啟動定時器</p><p> ?——定時方式或計數(shù)方式
79、選擇位 </p><p> =0 定時工作方式 </p><p> =1 計數(shù)工作方式 </p><p> ?M1M0——工作方式選擇 </p><p> M1M0=00 方式0</p><p> M1M0=01 方式1</p><p>
80、 M1M0=10 方式2</p><p> M1M0=11 方式3</p><p> (3)、中斷允許控制寄存器(IE)</p><p> ?EA——中斷允許總控制位</p><p> ?ET0和ET1——定時/計數(shù)中斷 </p><p> 定時器/計數(shù)器提供給用戶使用的有:8位計數(shù)
81、器TH和TL,以及有關(guān)的控制位。這些內(nèi)容只能以軟件方法使用。中斷源和中斷標(biāo)志位能夠產(chǎn)生中斷申請的部件被稱為中斷源。8051型單片機提供了五個中斷源:兩個外部中斷源和三個內(nèi)部中斷源。每一個中斷源都有一個中斷申請標(biāo)志位,但是串行口占有兩個中斷標(biāo)志位。一共有六個中斷標(biāo)志位。表2—3給出了它們各自的名稱。</p><p> 表2—3中斷的說明表</p><p><b> 3.定時工作
82、方式0</b></p><p> (1)、電路邏輯結(jié)構(gòu)</p><p> 方式0是13位計數(shù)結(jié)構(gòu)的工作方式,其計數(shù)器由TH0全部8位和TL0的低五位構(gòu)成。TL0的高3位棄之不用。其中OCS是Oscillator(震蕩器)的縮寫。當(dāng)C/=0時,多路開關(guān)接通振蕩脈沖的12分頻輸出,13位計數(shù)器以此進行計數(shù),這就是所謂定時器工作方式。當(dāng)C/=1時,多路開關(guān)接通計數(shù)引腳(T0),外
83、部計數(shù)脈沖由引腳T0輸入。當(dāng)計數(shù)脈沖發(fā)生負跳變時,這就是所謂計數(shù)工作方式。</p><p> 不管是哪種工作方式,當(dāng)TL0的低五位計數(shù)溢出時,向TH0進位,而全部13位計數(shù)溢出時,則向計數(shù)溢出標(biāo)志位TF0進位。</p><p> 門控位GATE:當(dāng)GATE=0時,由于GATE信號封鎖了或門,使用TRO引腳信號無效。而這時或門輸出端的高電平狀態(tài)卻打開了與門。因此可以由TRO(TCON)的
84、狀態(tài)來控制計數(shù)脈沖的接通與斷開。這時如果TRO=1,TRO則接通模擬開關(guān),使計數(shù)器進行加法計數(shù),即定時器/計數(shù)器0工作。如果TRO=0,則斷開模擬開關(guān),停止計數(shù),定時器/計數(shù)器0不能工作。因此在單片機的定時或計數(shù)應(yīng)用中要注意GATE位的清“0”。</p><p> 當(dāng)GATE=1,同時又TRO=1時,有關(guān)電路的或門和與門全都打開,計數(shù)脈沖的接通與斷開由外引腳信號控制。當(dāng)該信號為高電平時計數(shù)器工作;當(dāng)該信號為低電
85、平時計數(shù)器停止工作。這種情況可用于測量外信號的脈沖寬度。</p><p> (2)、定時和計數(shù)應(yīng)用</p><p> 兩個前提:溢出停止和加法計數(shù)</p><p><b> A、定時工作方式0</b></p><p> 在方式0工作方式下,當(dāng)為計數(shù)工作方式時,計數(shù)值的范圍是:</p><p&g
86、t; 1~8192(213)</p><p> 當(dāng)為定時工作方式時,定時時間的計算公式為:</p><p> ?。?13-計數(shù)初值)×晶振周期×12</p><p> 或 (213-計數(shù)初值)×機器周期</p><p> 其時間單位與晶振周期或機器周期相同(us).</p>
87、<p><b> B、定時工作方式1</b></p><p> 方式1是16位計數(shù)結(jié)構(gòu)的工作方式,計數(shù)器由TH0全部8位和TL0全部8位構(gòu)成。其邏輯電路和工作情況與方式0完全相同。所不同的只是組成計數(shù)器的位數(shù)。</p><p> 當(dāng)為計數(shù)工作方式時,計數(shù)值的范圍是:</p><p> 1~65536(216)</p&g
88、t;<p> 當(dāng)為定時工作方式時,定時時間計算公式為:</p><p> ?。?16-計數(shù)初值)×晶振周期×12</p><p> 或 (216-計數(shù)初值)×機器周期</p><p> 其時間單位與晶振周期或機器周期相同。</p><p> 在方式0和方式1中,每當(dāng)CPU響
89、應(yīng)中斷后,都應(yīng)該在中斷服務(wù)子程序中對T0和T1初始化,即軟件重裝初值n。而且必須用兩條指令對TH0 和TL0(TH1和TL1)分別裝載初值。還應(yīng)該注意到中斷服務(wù)子程序執(zhí)行的時間可能部分地影響定時時間。</p><p> 5. 交通燈控制線路圖</p><p><b> 圖2-6</b></p><p> 第3章 交通燈控制系統(tǒng)軟件設(shè)計&l
90、t;/p><p> 3.1 程序設(shè)計流程圖</p><p> 3.1.1 程序設(shè)計總框圖:如圖4所示,按功能分為4個模塊</p><p> 1.顯示模塊:顯示模塊中用到了8個數(shù)碼管,該模塊是負責(zé)數(shù)碼管的正確顯示</p><p> 2.控制模塊:控制模塊中用到了STC89C51芯片的P1口設(shè)置紅、綠燈點亮的功能。交通燈的點亮采用發(fā)光二極管
91、實現(xiàn)。控制模塊實現(xiàn)的是紅、綠的時序控制。接收控制結(jié)果,并啟動報警。</p><p> 3.PC機與單片機的串行通訊模塊:PC機與單片機的串行通訊是通過MAX232的電平轉(zhuǎn)換和RSR232總線來實現(xiàn)的,它工作時,通過調(diào)用MATLAB設(shè)備控制工具箱中的serial 類及相關(guān)函數(shù),來創(chuàng)建串口設(shè)備對象,得到設(shè)備的文件句柄, 從而以操作文件的方式實現(xiàn)對串行口的讀寫操作。</p><p> 4.模
92、擬串行口模塊:因為PC機和單片機的數(shù)據(jù)通訊,要用到單片機的串行口,而8個數(shù)碼管的顯示也要用到串行口,這就需要設(shè)置一個模擬串行口。而模擬串行口是通過P1.6來模擬(RXD)、P1.7來模擬(TXD)來實現(xiàn)控制74HC164的。</p><p> 5.圖像處理模塊:采用MATLAB函數(shù)編寫,在PC機上運行,負責(zé)判斷是否在規(guī)定區(qū)域內(nèi)存在運動目標(biāo)。</p><p><b> 如圖3-
93、1</b></p><p> 3.1.2 程序詳細流程圖:如圖3-2</p><p> 圖3-2 程序詳細流程圖</p><p><b> 流程圖說明:</b></p><p> 圖中定時器在每50ms中斷一下,設(shè)置為循環(huán)20次(此時為1秒),每1秒以后,R0,R1自動減1。</p>&
94、lt;p> 程序中的判斷在相等情況下從右邊出,不相同的情況往下走。</p><p><b> 3.2延時的設(shè)定</b></p><p> 延時方法可以有兩種一種是利用AT89S51內(nèi)部定時器的溢出中斷來確定1秒的時間,另一種是采用軟件延時的方法。</p><p> 3.2.1 計數(shù)器初值計算</p><p&g
95、t; 定時器工作時必須給計數(shù)器送計數(shù)器初值,這個值是送到TH和TL中的。他是以加法記數(shù)的,并能從全1到全0時自動產(chǎn)生溢出中斷請求。因此,我們可以把計數(shù)器記滿為零所需的計數(shù)值設(shè)定為C和計數(shù)初值設(shè)定為TC 可得到如下計算通式:</p><p><b> TC=M-C</b></p><p> 式中,M為計數(shù)器模值,該值和計數(shù)器工作方式有關(guān)。在方式0時M為213 ;在
96、方式1時M的值為216;在方式2和3為28 ; </p><p><b> 算法公式:</b></p><p> T=(M-TC)T計數(shù) 或TC=M-T/T計數(shù)</p><p> T計數(shù)是單片機時鐘周期TCLK的12倍;TC為定時初值</p><p> 如單片機的主脈沖頻率為TCLK12MHZ ,經(jīng)過12分頻
97、</p><p> 方式0 TMAX=213 ×1微秒=8.192毫秒</p><p> 方式1 TMAX=216 ×1微秒=65.536毫秒</p><p> 顯然1秒鐘已經(jīng)超過了計數(shù)器的最大定時間,所以我們只有采用定時器和軟件相結(jié)合的辦法才能解決這個問題.</p><p><b> 實現(xiàn)1
98、秒的方法:</b></p><p> 我們采用在主程序中設(shè)定一個初值為20的軟件計數(shù)器和使T1定時50毫秒。這樣每當(dāng)T1到50毫秒時CPU就響應(yīng)它的溢出中斷請求,進入他的中斷服務(wù)子程序。在中斷服務(wù)子程序中,CPU先使軟件計數(shù)器減1,然后判斷它是否為零。為0表示1秒已到可以返回到輸出時間顯示程序。</p><p> 3.2.2 相應(yīng)程序代碼</p><p
99、> (1)定時器的設(shè)置 </p><p> 定時器需定時50毫秒,故T1工作于方式1。 </p><p> 初值計算: TC=M-T/T計數(shù)?。?16-50ms/1us=15536=3CBOH</p><p> START: MOV TMOD, #10H ;令TO為定時器方式1</p><p> MOV TH
100、0, #3CH ;裝入定時器初值</p><p> MOV TL0, #0BOH </p><p> SETB EA ; 打開總中斷</p><p> SETB ET1 ;開T1中斷</p><p> SETB ER ;啟動T1計數(shù)器&
101、lt;/p><p> CLR FLAG1 </p><p> CLR FLAG2 </p><p> CLR FLAG3 </p><p> MOV R3, #20H ;軟件計數(shù)器賦初值</p><p> ?。ǎ玻┫鄳?yīng)中斷服務(wù)子程序</
102、p><p> ORG 001BH</p><p><b> LJMP DSD</b></p><p> ORG 0030H</p><p> DSD: INC R3</p><p> MOV TH0, #3CH ;重裝入定時器初值</p>&l
103、t;p> MOV TL0, #BOH </p><p> CJNE R3,#20,F(xiàn)H</p><p><b> DEC R0 </b></p><p><b> DEC R1</b></p><p> MOV R3,#00H</p><p> F
104、H: RETI</p><p><b> 程序的軟件延時:</b></p><p> STC89C51的工作頻率為0—33MHZ,我們選用的STC89C51單片機的工作頻率為12MHZ。機器周期與主頻有關(guān),機器周期是主頻的12倍,所以一個機器周期的時間為12*(1/12M)=1us。我們可以知道具體每條指令的周期數(shù),這樣我們就可以通過指令的執(zhí)行條數(shù)來確定1秒
105、的時間。</p><p> 具體的延時程序分析:</p><p> DELAY: MOV R4,#08H 延時1秒主程序</p><p> DE2: LCALL DELAY1 </p><p> DJNZ R4, DE2</p><p><b> RET</b></p>
106、<p> DELAY1:MOV R4,#00H ;延時125us 子程序</p><p> D1: MOV R5,#00H</p><p> D2: DJNE R5,DL2</p><p> DJNE R4,D1</p><p><b> RET </b></p>&
107、lt;p> DELAY1為一個雙重循壞 循環(huán)次數(shù)為256*256=65536 所以延時時間=65536*2=131072us 約為125us </p><p> DELAY R4設(shè)置的初值為8 主延時程序循環(huán)8次,所以125us*8= 1秒</p><p> 由于單片機的運行速度很快其他的指令執(zhí)行時間可以忽略不計。</p><p> 3.3 MAT
108、LAB的運用</p><p> 3.3.1 MATLAB的實驗平臺</p><p> 我們采用的是MATLAB的軟件。運行在Windows XP操作平臺下。開啟計算機進入MATLAB的軟件介面。</p><p> 3.3.2 MATLAB的概況</p><p> MATLAB是矩陣實驗室
109、(Matrix Laboratory)之意。除具備卓越的數(shù)值計算能力外,它還提供了專業(yè)水平的符號計算,文字處理,可視化建模仿真和實時控制等功能。</p><p> MATLAB的基本數(shù)據(jù)單位是矩陣,它的指令表達式與數(shù)學(xué),工程中常用的形式十分相似,故用MATLAB來解算問題要比用C,FORTRAN等語言完相同的事情簡捷得多.</p><p> 當(dāng)前流行的MATLAB 5.3/Simuli
110、nk 3.0包括擁有數(shù)百個內(nèi)部函數(shù)的主包和三十幾種工具包(Toolbox).工具包又可以分為功能性工具包和學(xué)科工具包.功能工具包用來擴充MATLAB的符號計算,可視化建模仿真,文字處理及實時控制等功能.學(xué)科工具包是專業(yè)性比較強的工具包,控制工具包,信號處理工具包,通信工具包等都屬于此類.</p><p> 開放性使MATLAB廣受用戶歡迎.除內(nèi)部函數(shù)外,所有MATLAB主包文件和各種工具包都是可讀可修改的文件,
111、用戶通過對源程序的修改或加入自己編寫程序構(gòu)造新的專用工具包.</p><p> 3.3.3 MATLAB產(chǎn)生的歷史背景</p><p> 在70年代中期,Cleve Moler博士和其同事在美國國家科學(xué)基金的資助下開發(fā)了調(diào)用EISPACK和LINPACK的FORTRAN子程序庫.EISPACK是特征值求解的FOETRAN程序庫
112、庫LINPACK是解線性方程的程序庫.在當(dāng)時,這兩個程序庫代表矩陣運算的最高水平.</p><p> 到70年代后期,身為美國New Mexico大學(xué)計算機系系主任的Cleve Moler,在給學(xué)生講授線性代數(shù)課程時,想教學(xué)生使用EISPACK和LINPACK程序庫,但他發(fā)現(xiàn)學(xué)生用FORT編寫接口程序很費時間,于是他開始自己動手,利用業(yè)余時間為學(xué)生編寫EISPACKLINP的接口程序.Cleve Moler給這
113、個接口程序取名為MATLAB,該名為矩陣(matrix)和實驗室兩個英文單詞的前三個字母的組合.在以后的數(shù)年里,MATLAB在多所大學(xué)里作為教學(xué)輔軟件使用,并作為面向大眾的免費軟件廣為流傳.</p><p> 1983年春天,Cleve Moler到Standford大學(xué)講學(xué),MATLAB深深地吸引了工程師John Little.John Little敏銳地覺察到MATLAB在工程領(lǐng)域的廣闊前景.同年,他和Cl
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 基于89c51的智能交通燈軟件設(shè)計
- 基于89c51單片機交通燈課程設(shè)計
- 基于89c51單片機的現(xiàn)代交通燈設(shè)計
- 基于at89c51的交通燈設(shè)計
- 基于89c51單片機交通燈設(shè)計(附設(shè)計程序)
- 基于89c51的智能時鐘設(shè)計
- 智能交通燈畢業(yè)設(shè)計---以89c51單片機為核心的新交通控制控制系統(tǒng)的設(shè)計
- 基于89c51單片機的智能小車設(shè)計
- 基于at89c51單片機的交通燈設(shè)計畢業(yè)論文
- 基于at89c51單片機的交通燈控制系統(tǒng)設(shè)計
- 基于89c51單片機的智能窗簾
- plc控制交通燈畢業(yè)設(shè)計---基于89s51的交通燈控制系統(tǒng)設(shè)計
- 89c51試題
- 基于89c51的籃球計分器設(shè)計
- 基于89c51的計算器設(shè)計
- 基于89c51的轉(zhuǎn)速測量系統(tǒng)設(shè)計c程序
- 基于51單片機智能交通燈的控制
- 基于89c51電子密碼鎖設(shè)計
- 基于51單片機的智能交通燈課程設(shè)計
- 基于89c51的led數(shù)字鐘設(shè)計
評論
0/150
提交評論