freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

基于51單片機(jī)的交通燈-資料下載頁

2025-06-28 00:01本頁面
  

【正文】 { P0=0xed。 timer(i,50)。 // P0=0xff。 timer(i,50)。 // }程序中,先執(zhí)行“P0=0xed?!闭Z句,即讓兩個(gè)方向路口的黃燈點(diǎn)亮,;而后執(zhí)行“P0=0xff。”語句,即讓兩個(gè)方向路口的黃燈熄滅,如此循環(huán)下去。這樣就產(chǎn)生了黃燈閃爍的效果,來警告人們紅綠燈即將轉(zhuǎn)換。 車流量算法子程序主程序中最重要的子程序即為車流量的算法子程序[15],它是交通燈系統(tǒng)實(shí)現(xiàn)智能化的重要手段。該子程序通過兩方向?qū)嶋H車流量的大小[18]與事先預(yù)定的車流量的大小進(jìn)行一個(gè)簡單的算法得出一個(gè)合理的綠燈通行時(shí)間,使得兩方向上的車流能夠及時(shí)暢通地通過十字路口。我們在這里設(shè)定東西方向的預(yù)定車流量為60,南北方向的預(yù)定車流量為45。通過主程序中的算法子程序“uint suanfa(m)”我們可以發(fā)現(xiàn),局部變量x和y分別被賦值等于單片機(jī)計(jì)數(shù)器T0和T1的值,然后再進(jìn)行一個(gè)簡單的代數(shù)算法。這里對兩方向的車流量的大小分成了三種情況:(1),若兩方向上的車流量都小于或等于5,則綠燈時(shí)間都賦予20s(之所以選擇20s,是因?yàn)椴荒茏尵G燈通行時(shí)間太短,便于下一階段的車流量檢測);(2),若5x60或者5y45,即兩個(gè)方向上沒有都達(dá)到預(yù)定的車流量大小的情況下,我們就讓下一個(gè)階段的綠燈時(shí)間就等于計(jì)數(shù)器檢測到的車流量大??;(3),若兩個(gè)方向車流量大小均達(dá)到或超過預(yù)定值,則需要經(jīng)過下面一個(gè)簡單的算法:x=x60。y=y45。 z=xy。 x=x+60。y=y45。 if(x90) x=90。 if(y90) y=90。經(jīng)過以上的算法之后,得到的綠燈時(shí)間完全符合正常情況的紅綠燈時(shí)間,且不會(huì)太長,以免讓紅燈車道上的車輛等待太長時(shí)間。 緊急車輛子程序緊急車輛的通過功能也是本系統(tǒng)與現(xiàn)在市面上正在使用的交通燈的主要區(qū)別之一,這個(gè)設(shè)計(jì)很人性化。比如,一輛救護(hù)車需要緊急救人,但在十字路口處遇到紅燈,則這個(gè)功能的設(shè)計(jì)將會(huì)發(fā)揮很大的作用,為救人爭取更多的時(shí)間。當(dāng)有緊急車輛需要通過時(shí),操作員按下按鍵K1,使得接在這兩個(gè)端口上的兩個(gè)紅燈點(diǎn)亮,禁止普通車輛通過。下面是緊急車輛通過的子程序:void int0(){ P0=0xdb。 baojing=1。 P2=table[0]。 P1=table[0]。}5 系統(tǒng)實(shí)現(xiàn)本系統(tǒng)的仿真實(shí)現(xiàn)主要用到了兩個(gè)軟件:Proteus和Keil。其中Proteus主要用來畫電路圖和仿真,Keil主要用來編譯調(diào)試,下面分別對這兩個(gè)軟件進(jìn)行介紹: 仿真軟件簡介 Proteus軟件簡介Proteus ISIS是英國Labcenter公司開發(fā)的電路分析與實(shí)物仿真軟件。它運(yùn)行于Windows操作系統(tǒng)上,可以仿真、分析(SPICE)各種模擬器件和集成電路,該軟件的特點(diǎn)是:①實(shí)現(xiàn)了單片機(jī)仿真和SPICE電路仿真相結(jié)合。具有模擬電路仿真、數(shù)字電路仿真、單片機(jī)及其外圍電路組成的系統(tǒng)的仿真、RS232動(dòng)態(tài)仿真、I2C調(diào)試器、SPI調(diào)試器、鍵盤和LCD系統(tǒng)仿真的功能;有各種虛擬儀器,如示波器、邏輯分析儀、信號(hào)發(fā)生器等。②支持主流單片機(jī)系統(tǒng)的仿真。目前支持的單片機(jī)類型有:68000系列、8051系列、AVR系列、PIC12系列、PIC16系列、PIC18系列、Z80系列、HC11系列以及各種外圍芯片。③提供軟件調(diào)試功能。在硬件仿真系統(tǒng)中具有全速、單步、設(shè)置斷點(diǎn)等調(diào)試功能,同時(shí)可以觀察各個(gè)變量、寄存器等的當(dāng)前狀態(tài),因此在該軟件仿真系統(tǒng)中,也必須具有這些功能;同時(shí)支持第三方的軟件編譯和調(diào)試環(huán)境。④具有強(qiáng)大的原理圖繪制功能。總之,該軟件是一款集單片機(jī)和SPICE分析于一身的仿真軟件,功能極其強(qiáng)大。下面簡單地介紹一下在該軟件中畫電路圖的步驟:將所需元器件加入到對象選擇器窗口。單擊對象選擇器按鈕,彈出“Pick Devices”頁面,在“Keywords”輸入AT89C51,系統(tǒng)在對象庫中進(jìn)行搜索查找,并將搜索結(jié)果顯示在“Results”中。在“Results”欄中的列表項(xiàng)中,雙擊“AT89C51”,則可將“AT89C51”添加至對象選擇器窗口。同樣,可以添加7SEGCOMCATHODE、BUTTON、BUZZER、CAP、RES、LEDGREEN等元器件對象。若單擊AT89C51,在預(yù)覽窗口中,見到AT89C51的實(shí)物圖;若單擊RES或7SEGCOMCATHODE,在預(yù)覽窗口中,見到RES和7SEGCOMCATHODE的實(shí)物圖。此時(shí),我們已注意到在繪圖工具欄中的元器件按鈕處于選中狀態(tài)。放置元器件至圖形編輯窗口在對象選擇器窗口中,選中7SEGCOMCATHODE,將鼠標(biāo)置于圖形編輯窗口該對象的欲放位置、單擊鼠標(biāo)左鍵,該對象被完成放置。同理,將AT89C51和RES等放置到圖形編輯窗口中。若對象位置需要移動(dòng),將鼠標(biāo)移到該對象上,單擊鼠標(biāo)右鍵,此時(shí)我們已經(jīng)注意到,該對象的顏色已變至紅色,表明該對象已被選中,按下鼠標(biāo)左鍵,拖動(dòng)鼠標(biāo),將對象移至新位置后,松開鼠標(biāo),完成移動(dòng)操作。由于許多電阻的型號(hào)和電阻值均相同,因此可利用復(fù)制功能作圖。將鼠標(biāo)移到R1,單擊鼠標(biāo)右鍵,選中R1,在標(biāo)準(zhǔn)工具欄中,單擊復(fù)制按鈕,拖動(dòng)鼠標(biāo),按下鼠標(biāo)左鍵,將對象復(fù)制到新位置,如此反復(fù),直到按下鼠標(biāo)右鍵,結(jié)束復(fù)制。此時(shí)我們已經(jīng)注意到,電阻名的標(biāo)識(shí),系統(tǒng)自動(dòng)加以區(qū)分。放置總線至圖形編輯窗口單擊繪圖工具欄中的總線按鈕,使之處于選中狀態(tài)。將鼠標(biāo)置于圖形編輯窗口,單擊鼠標(biāo)左鍵,確定總線的起始位置;移動(dòng)鼠標(biāo),屏幕出現(xiàn)粉紅色細(xì)直線,找到總線的終了位置,單擊鼠標(biāo)左鍵,再單擊鼠標(biāo)右鍵,以表示確認(rèn)并結(jié)束畫總線操作。此后,粉紅色細(xì)直線被藍(lán)色的粗直線所替代。元器件之間的連線Proteus的智能化可以在你想要畫線的時(shí)候進(jìn)行自動(dòng)檢測。下面,我們來操作將電阻R1的右端連接到LED顯示器的A端。當(dāng)鼠標(biāo)的指針靠近R1右端的連接點(diǎn)時(shí),跟著鼠標(biāo)的指針就會(huì)出現(xiàn)一個(gè)“”號(hào),表明找到了R1的連接點(diǎn),單擊鼠標(biāo)左鍵,移動(dòng)鼠標(biāo)(不用拖動(dòng)鼠標(biāo)),將鼠標(biāo)的指針靠近LED顯示器的A端的連接點(diǎn)時(shí),跟著鼠標(biāo)的指針就會(huì)出現(xiàn)一個(gè)“”號(hào),表明找到了LED顯示器的連接點(diǎn),同時(shí)屏幕上出現(xiàn)了粉紅色的連接,單擊鼠標(biāo)左鍵,粉紅色的連接線變成了深綠色,同時(shí),線形由直線自動(dòng)變成了90186。的折線,這是因?yàn)槲覀冞x中了線路自動(dòng)路徑功能。Proteus具有線路自動(dòng)路徑功能(簡稱WAR),當(dāng)選中兩個(gè)連接點(diǎn)后,WAR將選擇一個(gè)合適的路徑連線。WAR可通過使用標(biāo)準(zhǔn)工具欄里的“WAR”命令按鈕來關(guān)閉或打開,也可以在菜單欄的“Tools”下找到這個(gè)圖標(biāo)。同理,我們可以完成其它連線。在此過程的任何時(shí)刻,都可以按ESC鍵或者單擊鼠標(biāo)的右鍵來放棄畫線。元器件與總線的連線畫總線的時(shí)候?yàn)榱撕鸵话愕膶?dǎo)線區(qū)分,我們一般喜歡畫斜線來表示分支線。此時(shí)我們需要自己決定走線路徑,只需在想要拐點(diǎn)處單擊鼠標(biāo)左鍵即可。給與總線連接的導(dǎo)線貼標(biāo)簽單擊繪圖工具欄中的導(dǎo)線標(biāo)簽按鈕,使之處于選中狀態(tài)。將鼠標(biāo)置于圖形編輯窗口的欲標(biāo)標(biāo)簽的導(dǎo)線上,跟著鼠標(biāo)的指針就會(huì)出現(xiàn)一個(gè)“”號(hào)。表明找到了可以標(biāo)注的導(dǎo)線,單擊鼠標(biāo)左鍵,彈出編輯導(dǎo)線標(biāo)簽窗口。 在“string”欄中,輸入標(biāo)簽名稱(如a),單擊“OK”按鈕,結(jié)束對該導(dǎo)線的標(biāo)簽標(biāo)定。同理,可以標(biāo)注其它導(dǎo)線的標(biāo)簽。注意,在標(biāo)定導(dǎo)線標(biāo)簽的過程中,相互接通的導(dǎo)線必須標(biāo)注相同的標(biāo)簽名。至此,我們便完成了整個(gè)電路圖的繪制。 Keil軟件簡介 隨著單片機(jī)開發(fā)技術(shù)的不斷發(fā)展,從普遍使用匯編語言到逐漸使用高級語言開發(fā),單片機(jī)的開發(fā)軟件也在不斷發(fā)展,Keil軟件是目前最流行開發(fā)MCS51系列單片機(jī)的軟件,這從近年來各仿真機(jī)廠商紛紛宣布全面支持Keil即可看出。Keil提供了包括C編譯器、宏匯編、連接器、庫管理和一個(gè)功能強(qiáng)大的仿真調(diào)試器等在內(nèi)的完整開發(fā)方案,通過一個(gè)集成開發(fā)環(huán)境(uVision)將這些部份組合在一起。運(yùn)行Keil軟件需要Pentium或以上的CPU,16MB或更多RAM、20M以上空閑的硬盤空間、WIN9NT、WIN2000、WINXP等操作系統(tǒng)。掌握這一軟件的使用對于使用51系列單片機(jī)的愛好者來說是十分必要的,如果你使用C語言編程,那么Keil幾乎就是你的不二之選(目前在國內(nèi)你只能買到該軟件、而你買的仿真機(jī)也很可能只支持該軟件),即使不使用C語言而僅用匯編語言編程,其方便易用的集成環(huán)境、強(qiáng)大的軟件仿真調(diào)試工具也會(huì)令你事半功倍。使用Keil要使用 Keil uVision3編寫一個(gè)單片機(jī)程序,通常的步驟如下:1. 打開 Keil uVision3軟件,單擊菜單“Project-New…-uVisi on Project…”以建立新的工程文件。 2. 在彈出的對話框中,選擇工程文件的目錄,輸入工程文件名,如“交通燈”,然后點(diǎn)擊“保存”。 3. 接著在彈出的對話框中,選擇你這個(gè)工程所使用的單片機(jī)型號(hào)。 4. 點(diǎn)擊確定后,會(huì)彈出一個(gè)對話框,問你要不要把標(biāo)準(zhǔn)8951啟動(dòng)代碼復(fù)制到工程目錄下并添加到工程中,通常選“否”。5. 然后點(diǎn)擊工具欄“新建文件”按鈕,新建一個(gè)程序源文件。6. 點(diǎn)擊“保存”按鈕,保存新建立的源文件,如果是C語言源文件,則文件名后綴為“.c”,如果是匯編源文件,則后綴為“.a”,如果是C語言頭文件,則后綴為“.h”。7. 然后用右鍵點(diǎn)擊左邊的“Source Group 1”,在跳出的菜單中選中“Add Files to Group‘Source Group 1’”。8. 在彈出的對話框中找到剛才建立的源文件,雙擊它,然后點(diǎn)擊“Close”,以添加源文件到工程中。,點(diǎn)擊“Flash”菜單下的“Configure Flash Tools…”進(jìn)行一下編譯器相關(guān)設(shè)置。,點(diǎn)擊“Output”標(biāo)簽,選中“Create Hex Fi…”左邊的復(fù)選框,使它打上勾,然后點(diǎn)擊“確定”。,就可以點(diǎn)擊“Build target”按鈕進(jìn)行編譯,如果程序有錯(cuò)誤,編譯時(shí)會(huì)在下面的“ Output Window”窗口中指示程序哪一行有什么錯(cuò)誤。如果沒有任何錯(cuò)誤,則會(huì)產(chǎn)行一個(gè)十六進(jìn)制格式的Hex文件,這個(gè)文件就是你編程的成果,把它用編程器燒寫到單片機(jī)中,就可以在單片機(jī)中運(yùn)行你的程序了。至此,用 Keil uVision3就編寫出來一個(gè)單片機(jī)的程序。下面就是本系統(tǒng)中單片機(jī)程序在Keil uVision3中編譯的畫面:圖51 Keil uVision3編譯畫面 仿真實(shí)現(xiàn)在Proteus繪制電路圖,在Keil uVision3對c語言程序進(jìn)行編譯調(diào)試,下面首先簡單地說明Keil uVision3與Proteus相結(jié)合的仿真步驟:假若Keil uVision3與Proteus均已正確安裝在C:\Program Files的目錄里,把C:\Program Files\Labcenter Electronics\Proteus 6 Professional\MODELS\:\Program Files\keilC\C51\BIN目錄中。用記事本打開C:\Program Files\keilC\C51\,在[C51]欄目下加入:TDRV5=BIN\ (Proteus VSM Monitor51 Driver)。其中“TDRV5”中的“5”要根據(jù)實(shí)際情況寫,不要和原來的重復(fù)(步驟1和2只需在初次使用設(shè)置)。進(jìn)入Keil uVision3開發(fā)集成環(huán)境,創(chuàng)建一個(gè)新項(xiàng)目(Project),并為該項(xiàng)目選定合適的單片機(jī)CPU器件(如:Atmel公司的AT89C51),并為該項(xiàng)目加入Keil uVision3源程序。單擊“Project菜單/Options for Target”選項(xiàng)或者點(diǎn)擊工具欄的“option for ta rget”按鈕,彈出窗口,點(diǎn)擊“Debug”按鈕。在出現(xiàn)的對話框里在右欄上部的下拉菜單里選中“Proteus VSM Monitor一51 Driver”。并且還要點(diǎn)擊一下“Use”前面表明選中的小圓點(diǎn)。再點(diǎn)擊“Setting”按鈕,設(shè)置通信接口,在“Host”后面添上“”,如果使用的不是同一臺(tái)電腦,則需要在這里添上另一臺(tái)電腦的IP地址(另一臺(tái)電腦也應(yīng)安裝Proteus)。在“Port”后面添加“8000”。設(shè)置好后,點(diǎn)擊“OK”按鈕即可。最后將工程編譯,進(jìn)入調(diào)試狀態(tài),并運(yùn)行。 Proteus的設(shè)置進(jìn)入Proteus的ISIS,鼠標(biāo)左鍵點(diǎn)擊菜單“Debug”, 選中“use romote debuger monitor”。此后,便可實(shí)現(xiàn)Keil uVision3與Proteus連接調(diào)試。Keil uVision3與Proteus連接仿真調(diào)試 單擊仿真運(yùn)行開始按鈕,我們能清楚地觀察到每一個(gè)引腳的電頻變化,紅色代表高電頻,藍(lán)色代表低電頻。仿真結(jié)果如圖52所示:圖52 仿真結(jié)果如圖52是交通燈控制系統(tǒng)的仿真電路,當(dāng)單片機(jī)上電復(fù)位時(shí),東西方向的綠燈點(diǎn)亮,初始時(shí)間為60s;相應(yīng)的是南北方向的紅燈點(diǎn)亮。需要注意的是:(1)軟件Proteus中沒有系統(tǒng)中所使用到的反射式紅外光電傳感器,所以在電路圖中使用兩個(gè)按鈕開關(guān)BUTTON代替,來模仿車輛經(jīng)過紅外傳感器檢測區(qū)時(shí)產(chǎn)生的高低電平變化。(2)LED燈DDD3分別代表的是東西方向的綠、黃、紅燈;NNN3分別代表的是南北方向的綠、黃、紅燈。(3)仿真中使用的數(shù)碼管為7段碼共陰數(shù)碼管。 實(shí)物設(shè)計(jì)在調(diào)試實(shí)物設(shè)計(jì)時(shí),我們要用到一種軟件模擬器——偉福仿真器[20]。這款南京偉福實(shí)業(yè)有限公司生產(chǎn)的仿真器的軟、硬件方面具有多種先進(jìn)特點(diǎn),特別是可以直接
點(diǎn)擊復(fù)制文檔內(nèi)容
公司管理相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1