




版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、摘要隨著社會(huì)經(jīng)濟(jì)的發(fā)展,城市交通問(wèn)題越來(lái)越引起人們的關(guān)注。而現(xiàn)代社會(huì)交通十分發(fā)達(dá)十字路口車(chē)輛穿梭,行人熙攘,車(chē)行車(chē)道,人行人道,有條不紊。靠的就是城市交通信號(hào)燈的自動(dòng)指揮控制系統(tǒng)。城市交通自動(dòng)指揮控制系統(tǒng)是用于城市交通數(shù)據(jù)監(jiān)測(cè)、交通信號(hào)燈控制與交通疏導(dǎo)的計(jì)算機(jī)綜合管理系統(tǒng),它是現(xiàn)代城市交通監(jiān)控指揮系統(tǒng)中最重要的組成部分。文中采用proteus制作的智能交通燈可以根據(jù)城市道路的具體情況設(shè)計(jì)出一種較好的控制電路,交通燈設(shè)在十字路門(mén),在醒目位置用紅、綠、黃三種顏色的指示燈。加上一個(gè)倒計(jì)時(shí)的顯示計(jì)時(shí)器來(lái)控制行車(chē)。文中采用proteus制作的智能交通燈在keil ,wave6000上進(jìn)行交通模擬仿真軟件
2、上測(cè)試,測(cè)試結(jié)果表明該智能交通燈各項(xiàng)功能在實(shí)際運(yùn)行中的可行性,同時(shí)在實(shí)際應(yīng)用及運(yùn)行中也取得了不錯(cuò)的效果。關(guān)鍵詞:proteus ;交通燈;單片機(jī);仿真目錄摘要1前言3第一章 交通燈的設(shè)計(jì)思路41.1系統(tǒng)模擬交通燈的控制要求41.2 設(shè)計(jì)方案41.3 設(shè)計(jì)思路5第二章 單片機(jī)主控電路和中斷系統(tǒng)72.1主控電路及管腳說(shuō)明72.1.1 主控電路72.1.2管腳說(shuō)明82.2 mcs-51的中斷源92.3 中斷處理流程102.4 交通燈的中斷處理流程112.5 交通燈的硬件設(shè)計(jì)原理圖112.6交通燈的軟件設(shè)計(jì)流程圖及部分程序12第三章 基于proteus的電路設(shè)計(jì)和仿真153.1 proteus軟件簡(jiǎn)介
3、153.2 proteus軟件的強(qiáng)大功能153.3 用proteus繪制電路圖153.4 proteus和keil編譯器的結(jié)合使用183.5 proteus對(duì)單片機(jī)的仿真20第四章 總結(jié)24謝辭25參考文獻(xiàn)26前言交通是一個(gè)城市經(jīng)濟(jì)的動(dòng)脈,它不但體現(xiàn)了一個(gè)城市的發(fā)展活力,也直接與老百姓的生活息息相關(guān)。隨著我國(guó)經(jīng)濟(jì)的高速發(fā)展,人們對(duì)私家車(chē)、公交車(chē)的需求越來(lái)越大。相應(yīng)地,我國(guó)進(jìn)入wto以后,我國(guó)經(jīng)濟(jì)貿(mào)易與世界接軌,汽車(chē)業(yè)關(guān)稅大大降低,使很多人都能負(fù)擔(dān)得起,買(mǎi)私家車(chē)已經(jīng)不再是遙不可及的夢(mèng)。但是,車(chē)輛的增加無(wú)疑會(huì)對(duì)我國(guó)城市交通系統(tǒng)帶來(lái)沉重的壓力。而交通燈在這個(gè)交通環(huán)境中起著一個(gè)重要的角色,智能的交通燈
4、能有效地緩解城市的交通壓力,減少交通事故;智能的交通燈能為當(dāng)?shù)厝嗣窆?jié)省大量出行時(shí)間,創(chuàng)造出更多的社會(huì)價(jià)值;智能的交通燈為交通順暢提供了保障,對(duì)當(dāng)?shù)亟?jīng)濟(jì)起著一個(gè)不可估量的作用。目前設(shè)計(jì)交通燈的方案有很多,有應(yīng)用cpld設(shè)計(jì)實(shí)現(xiàn)交通信號(hào)燈控制器方法,有應(yīng)用plc實(shí)現(xiàn)對(duì)交通燈控制系統(tǒng)的設(shè)計(jì)。有應(yīng)用單片機(jī)實(shí)現(xiàn)對(duì)交通信號(hào)燈設(shè)計(jì)的方法。目前,國(guó)內(nèi)的交通燈一般設(shè)在十字路口,在醒目位置用紅、綠、黃三種顏色的指示燈。加上一個(gè)倒計(jì)時(shí)的顯示計(jì)時(shí)器來(lái)控制行車(chē)。對(duì)于一般情況下的安全行車(chē),車(chē)輛分流尚能發(fā)揮作用。但在十字路口,經(jīng)常一個(gè)車(chē)道為主干道,車(chē)輛較多,放行時(shí)間應(yīng)該長(zhǎng)些;另一車(chē)道為副干道,車(chē)輛較少,放行時(shí)間應(yīng)該短些。但
5、在實(shí)際行車(chē)過(guò)程中,兩車(chē)道的車(chē)輛輪流放行時(shí)間相同且固定。這樣就會(huì)存在一定的缺陷。目前國(guó)內(nèi)交通燈的發(fā)展趨勢(shì)是擁有自動(dòng)調(diào)整亮燈時(shí)間長(zhǎng)短的功能。譬如說(shuō),它能自動(dòng)感應(yīng)該地區(qū)的交通情況,如果塞車(chē)的話(huà)該交通燈能自行控制紅、黃與綠等的亮燈時(shí)間長(zhǎng)短。系統(tǒng)還可以加上紅外線(xiàn)接收器,相應(yīng)地,緊急車(chē)輛(如消防車(chē)、救護(hù)車(chē)等)上應(yīng)當(dāng)裝置紅外線(xiàn)放射器。這樣,在離交通信號(hào)燈遠(yuǎn)處,緊急車(chē)輛就可以開(kāi)紅外線(xiàn)放射器使交通信號(hào)燈全部顯示紅燈,避免因交通問(wèn)題導(dǎo)致不必要的人命傷亡和金錢(qián)損失。另外系統(tǒng)還可以加一個(gè)點(diǎn)陣式led中文顯示屏,用以顯示溫度、天氣情況、空氣指數(shù)等,方便司機(jī)對(duì)外界情況的了解。第一章 交通燈的設(shè)計(jì)思路1.1系統(tǒng)模擬交通燈的
6、控制要求假設(shè)十字路口為東西南北走向,初始狀態(tài)0東西南北都是紅燈,然后轉(zhuǎn)狀態(tài)1東西綠燈通車(chē)25s,南北紅燈,過(guò)25s轉(zhuǎn)狀態(tài)2東西綠燈閃3s轉(zhuǎn)黃燈亮2s,南北仍亮紅燈。過(guò)后轉(zhuǎn)狀態(tài)3南北綠燈通車(chē)25s,東西紅燈,過(guò)25s轉(zhuǎn)狀態(tài)4南北綠燈閃3s轉(zhuǎn)黃燈亮2s,東西仍亮紅燈。依次循環(huán)執(zhí)行下去。1.2 設(shè)計(jì)方案目前設(shè)計(jì)交通燈的方案有很多,有應(yīng)用cpld實(shí)現(xiàn)交通信號(hào)燈控制器的設(shè)計(jì),有應(yīng)用plc實(shí)現(xiàn)對(duì)交通燈控制系統(tǒng)的設(shè)計(jì)。有應(yīng)用單片機(jī)實(shí)現(xiàn)對(duì)交通信號(hào)燈設(shè)計(jì)的方法。由于at89s51單片機(jī)自單帶有2計(jì)數(shù)器,6個(gè)中斷源,能滿(mǎn)足系統(tǒng)的設(shè)計(jì)要求。用單片機(jī)設(shè)計(jì)不但設(shè)計(jì)簡(jiǎn)單,而且成本低,用其設(shè)計(jì)的交通燈也滿(mǎn)足了要求,所以本文
7、采用單片機(jī)設(shè)計(jì)交通燈,系統(tǒng)構(gòu)圖如(圖1-1)所示: 圖1-1 系統(tǒng)構(gòu)圖1.3 設(shè)計(jì)思路用6只發(fā)光二極管模擬交通信號(hào)燈,以單片機(jī)的p2口控制東西南北燈的走向;口線(xiàn)輸出高電平則“信號(hào)燈”亮,口線(xiàn)輸出低電平則“信號(hào)燈”熄,各口線(xiàn)控制功能及相應(yīng)的控制碼如(表1-1)所示:p2.1p2.2p2.3p2.4p2.5p2.6東西綠燈東西黃 燈東西 紅 燈南北 綠 燈南北 黃 燈南 北 紅 燈100001010001001100001010表1-1控制碼表控制碼所對(duì)應(yīng)的流程圖如(圖1-2)所示圖1-2流程圖第二章 單片機(jī)主控電路和中斷系統(tǒng)2.1主控電路及管腳說(shuō)明2.1.1 主控電路單片機(jī)主控電路一般采用的主要
8、元件是at89c51,但在實(shí)際應(yīng)用中我們主要采用at89s51,at89s51相對(duì)于at89c51增加的新功能包括:- 新增加很多功能,性能有了較大提升,價(jià)格基本不變,甚至比89c51更低。- isp在線(xiàn)編程功能,這個(gè)功能的優(yōu)勢(shì)在于改寫(xiě)單片機(jī)存儲(chǔ)器內(nèi)的程序不需要把芯片從工作環(huán)境中剝離。是一個(gè)強(qiáng)大易用的功能。- 最高工作頻率為33mhz,而89c51的極限工作頻率是24m,就是說(shuō)s51具有更高工作頻率,從而具有了更快的計(jì)算速度。- 具有雙工uart串行通道。- 內(nèi)部集成看門(mén)狗計(jì)時(shí)器,不再需要像89c51那樣外接看門(mén)狗計(jì)時(shí)器單元電路。- 雙數(shù)據(jù)指示器。- 電源關(guān)閉標(biāo)識(shí)。- 全新的加密算法,這使得對(duì)
9、于89s51的解密變?yōu)椴豢赡?,程序的保密性大大加?qiáng),這樣就可以有效的保護(hù)知識(shí)產(chǎn)權(quán)不被侵犯。- 兼容性方面:向下完全兼容51全部字系列產(chǎn)品。比如8051、89c51等早期mcs-51兼容產(chǎn)品。也就是說(shuō)所有教科書(shū)、網(wǎng)絡(luò)教程上的程序(不論教科書(shū)上采用的單片機(jī)是8051還是89c51還是mcs-51等等),在89s51上一樣可以照常運(yùn)行,這就是所謂的向下兼容。at89s51的外形及單片機(jī)最小系統(tǒng)如(圖2-1)所示:圖2-1 at89s51外形及最小系統(tǒng)at89s51 是一個(gè)低功耗,高性能cmos 8位單片機(jī),片內(nèi)含8k bytes isp(in-system programmable)的可反復(fù)擦寫(xiě)10
10、00次的flash只讀程序存儲(chǔ)器,器件采用atmel公司的高密度、非易失性存儲(chǔ)技術(shù)制造,兼容標(biāo)準(zhǔn)mcs-51指令系統(tǒng)及80c51引腳結(jié)構(gòu),芯片內(nèi)集成了通用8位中央處理器和isp flash存儲(chǔ)單元,功能強(qiáng)大的微型計(jì)算機(jī)的at89s51可為許多嵌入式控制應(yīng)用系統(tǒng)提供高性?xún)r(jià)比的解決方案。at89s51是一個(gè)低功耗高性能單片機(jī),40個(gè)引腳,8k bytes flash片內(nèi)程序存儲(chǔ)器,128 bytes的隨機(jī)存取數(shù)據(jù)存儲(chǔ)器(ram),5個(gè)中斷優(yōu)先級(jí)2層中斷嵌套中斷,看門(mén)狗(wdt)電路,片內(nèi)時(shí)鐘振蕩器。32個(gè)外部雙向輸入/輸出(i/o)端口,同時(shí)內(nèi)含2個(gè)外中斷口,2個(gè)16位可編程定時(shí)計(jì)數(shù)器,2個(gè)全雙工
11、串行通信口,at89s51可以按照常規(guī)方法進(jìn)行編程,也可以在線(xiàn)編程。此外,at89s51設(shè)計(jì)和配置了振蕩頻率可為0hz并可通過(guò)軟件設(shè)置省電模式??臻e模式下,cpu暫停工作,而ram定時(shí)計(jì)數(shù)器,串行口,外中斷系統(tǒng)可繼續(xù)工作,掉電模式凍結(jié)振蕩器而保存ram的數(shù)據(jù),停止芯片其它功能直至外中斷激活或硬件復(fù)位。同時(shí)該芯片還具有pdip、tqfp和plcc等三種封裝形式,以適應(yīng)不同產(chǎn)品的需求。其將通用的微處理器和flash存儲(chǔ)器結(jié)合在一起,特別是可反復(fù)擦寫(xiě)的flash存儲(chǔ)器可有效地降低開(kāi)發(fā)成本。2.1.2管腳說(shuō)明vcc(40):供電電壓,引入單片機(jī)的工作電源。(本設(shè)計(jì)中隱藏)gnd(20):接地。(本設(shè)計(jì)
12、中隱藏)p0口(32-39)雙向輸入/出口,如果系統(tǒng)接有外部存儲(chǔ)器則p0口作為數(shù)據(jù)總線(xiàn)和低8位的地址總線(xiàn),通過(guò)分時(shí)操作達(dá)到服用的目的。cpu對(duì)外部存儲(chǔ)器操作時(shí)先作地址總線(xiàn),在ale信號(hào)的下降沿,將地址鎖存,然后轉(zhuǎn)為數(shù)據(jù)總線(xiàn)。p1口(1-8)準(zhǔn)雙向輸入/出口,準(zhǔn)雙向是指該口內(nèi)部有上拉電阻,能驅(qū)動(dòng)4個(gè)ls/ttf負(fù)載。p2口(21-28)準(zhǔn)雙向輸入/出口,能驅(qū)動(dòng)4個(gè)ls/ttf負(fù)載。如果系統(tǒng)接有外部存儲(chǔ)器,則cpu訪問(wèn)外部存儲(chǔ)器時(shí)改口成為高8位地輸出線(xiàn)。p3口(10-17)準(zhǔn)雙向輸入/出口,能驅(qū)動(dòng)4個(gè)ls/ttf負(fù)載。p3口每一引腳都有兩種功能,其第二功能如下: p3.0 rxd, 串行口接收端。
13、 p3.1 txd,串行口發(fā)送端。 p3.2 ,外部中斷請(qǐng)求0的輸入端。 p3.3 ,外部中斷請(qǐng)求0的輸入端。 p3.4 t0, 定時(shí)/計(jì)數(shù)器0的外部計(jì)數(shù)信號(hào)輸入端。 p3.5 t1, 定時(shí)/計(jì)數(shù)器1的外部計(jì)數(shù)信號(hào)輸入端。 p3.6 , 外部數(shù)據(jù)存儲(chǔ)器寫(xiě)選通信號(hào)。 p3.7 ,外部數(shù)據(jù)存儲(chǔ)器讀選通信號(hào)。 p3口同時(shí)為閃爍編程和編程校驗(yàn)接收一些控制信號(hào)。rst: 復(fù)位輸入。當(dāng)振蕩器復(fù)位器件時(shí),要保持rst腳兩個(gè)機(jī)器周期的高電平時(shí)間。此引腳也可作為備用電源輸入端,當(dāng)vcc失電期間,由vpd向片內(nèi)ram提供電源,以保護(hù)其中內(nèi)容。ale/ (30)用于輸出允許地址鎖存信號(hào)。8051單片機(jī)可尋址64kb
14、,應(yīng)有16條地址線(xiàn),其中低8位的地址線(xiàn)與數(shù)據(jù)線(xiàn)共用p0口,在發(fā)出低8位的地址信號(hào)時(shí)ale有效,用它控制外部鎖存器鎖存地址低8位,發(fā)出數(shù)據(jù)時(shí),ale無(wú)效,p0輸出數(shù)據(jù)。正常操作時(shí)又因能按主振頻率1/6的固定頻率,從ale端發(fā)出正脈沖信號(hào)。所以有時(shí)可以加以利用,但應(yīng)注意,每次訪問(wèn)外部數(shù)據(jù)存儲(chǔ)器時(shí)會(huì)少輸出一個(gè)ale脈沖。這個(gè)引腳另一功能是在eprom編程時(shí),作為編程脈沖輸入。(29)用于輸出外部程序存儲(chǔ)器選通信號(hào)。在對(duì)外部程序存儲(chǔ)器取指操作時(shí)非psen置有效(低電平);在執(zhí)行對(duì)片內(nèi)程序存儲(chǔ)器取指操作時(shí),非psen為無(wú)效(高電平)。對(duì)外部取指時(shí),每個(gè)機(jī)器周期有效兩次。/vpp(31)用于輸入從外部程序
15、存儲(chǔ)器取指或從內(nèi)部程序存儲(chǔ)器取指的選擇信號(hào)。當(dāng)接高電平時(shí)低4kb指令在片內(nèi)讀取,接低電平時(shí)則所有指令均在片外讀取。xtal1 ( 18 ) 外接晶體的一個(gè)引腳,若采用外部時(shí)鐘信號(hào),此引腳接地。xtal2(19)外接晶體的另一個(gè)引腳,若采用外部時(shí)鐘信號(hào),此引腳接外部振蕩器。2.2 mcs-51的中斷源引起終端的原因,或者能發(fā)出中斷申請(qǐng)的來(lái)源,稱(chēng)為中斷源。中斷可以認(rèn)為設(shè)定,也可以是為響應(yīng)突發(fā)性隨機(jī)事件而設(shè)置,通常有i/o設(shè)備,實(shí)時(shí)控制系統(tǒng)中的隨機(jī)參數(shù)和信息故障源等,8051有5個(gè)中斷源,它們是兩個(gè)外中斷int0(p3.2)和int1(p3.3)、兩個(gè)片內(nèi)定時(shí)/計(jì)數(shù)器溢出中斷tf0和tf1,一個(gè)是片
16、內(nèi)串行口中斷ti或ri,這幾個(gè)中斷源由tcon和scon兩個(gè)特殊功能寄存器進(jìn)行控制。其中5個(gè)中斷源的程序入口地址如(表2-1)所示:中斷源的服務(wù)程序入口地址中斷源入口地址外中斷00003h定時(shí)/計(jì)數(shù)器0000bh外中斷10013h定時(shí)/計(jì)數(shù)器1001bh串行口中斷0023h(表2-1) 中斷源程序入口地址2.3 中斷處理流程cpu響應(yīng)中斷請(qǐng)求后,就立即轉(zhuǎn)入執(zhí)行中斷服務(wù)程序。它們的一般處理流程如圖(2-2)所述: 圖2-2 中斷一般處理流程但對(duì)于不同的中斷源、不同的中斷要求可能有不同的中斷處理方法,具體如圖(2-3)所述: 圖2-3 具體的中斷處理流程()現(xiàn)場(chǎng)保護(hù)和現(xiàn)場(chǎng)恢復(fù):中斷是在執(zhí)行其它任務(wù)
17、的過(guò)程中轉(zhuǎn)去執(zhí)行臨時(shí)的任務(wù),為了在執(zhí)行完中斷服務(wù)程序后,回頭執(zhí)行原先的程序時(shí),知道程序原來(lái)在何處打斷的,各有關(guān)寄存器的內(nèi)容如何,就必須在轉(zhuǎn)入執(zhí)行中斷服務(wù)程序前,將這些內(nèi)容和狀態(tài)進(jìn)行備份即保護(hù)現(xiàn)場(chǎng)。我們舉個(gè)例子,在看書(shū)時(shí),電話(huà)玲響需傳去接電話(huà)時(shí),必須在書(shū)本上做個(gè)記號(hào),以便在接完電話(huà)后回來(lái)看書(shū)時(shí),知道從哪些內(nèi)容繼續(xù)往下看。計(jì)算機(jī)的中斷處理方法也如此,中斷開(kāi)始前需將有關(guān)寄存器的內(nèi)容壓入堆棧進(jìn)行保存,以便在恢復(fù)原來(lái)程序時(shí)使用。中斷服務(wù)程序完成后,繼續(xù)執(zhí)行原先的程序,就需把保存的現(xiàn)場(chǎng)內(nèi)容從堆棧中彈出,恢復(fù)積存器和存儲(chǔ)單元的原有內(nèi)容,這就是現(xiàn)場(chǎng)恢復(fù)。如果在執(zhí)行中斷服務(wù)時(shí)不是按上述方法進(jìn)行現(xiàn)場(chǎng)保護(hù)和恢復(fù)現(xiàn)場(chǎng)
18、,就會(huì)是程序運(yùn)行紊亂,程序跑飛,自然使單片機(jī)不能正常工作。()中斷打開(kāi)和中斷關(guān)閉:在中斷處理進(jìn)行過(guò)程中,可能又有新的中斷請(qǐng)求到來(lái),這里規(guī)定,現(xiàn)場(chǎng)保護(hù)和現(xiàn)場(chǎng)恢復(fù)的操作是不允許打擾的,否則保護(hù)和恢復(fù)的過(guò)程就可能使數(shù)據(jù)出錯(cuò),為此在進(jìn)行現(xiàn)場(chǎng)保護(hù)和現(xiàn)場(chǎng)恢復(fù)的過(guò)程中,必須關(guān)閉總中斷,屏蔽其它所有的中斷,待這個(gè)操作完成后再打開(kāi)總中斷,以便實(shí)現(xiàn)中斷嵌套。()中斷服務(wù)程序:中斷服務(wù)程序從中斷入口地址執(zhí)行,到返回指令reti為止,一般包括兩部分內(nèi)容:一是保護(hù)現(xiàn)場(chǎng);二是完成中斷源請(qǐng)求的任務(wù)。既然有中斷產(chǎn)生,就必然有其具體的需執(zhí)行的任務(wù),中斷服務(wù)程序就是執(zhí)行中斷處理的具體內(nèi)容,一般以子程序的形式出現(xiàn),所有的中斷都要轉(zhuǎn)
19、去執(zhí)行中斷服務(wù)程序,進(jìn)行中斷服務(wù)。()中斷返回:中斷返回通常是指中斷服務(wù)完成后,計(jì)算機(jī)返回原來(lái)斷開(kāi)的位置(即斷點(diǎn)),繼續(xù)執(zhí)行原來(lái)的程序,中斷返回由中斷返回指令reti來(lái)實(shí)現(xiàn),這條指令的功能是指斷點(diǎn)地址從堆棧中彈出,送回到程序計(jì)時(shí)器pc,此外,還通知中斷系統(tǒng)已完成中斷處理,并同時(shí)消除優(yōu)先級(jí)狀態(tài)觸發(fā)器。2.4 交通燈的中斷處理流程()現(xiàn)場(chǎng)保護(hù)和現(xiàn)場(chǎng)恢復(fù):有特殊車(chē)輛要通過(guò)時(shí)就要進(jìn)行中斷,在中斷之前,先將交通燈中斷前情況保護(hù)好,當(dāng)中斷執(zhí)行后再恢復(fù)現(xiàn)場(chǎng),包括信號(hào)燈和時(shí)間顯示電路。()中斷打開(kāi)和中斷關(guān)閉:為了使特殊車(chē)輛通行按一下打開(kāi)中斷開(kāi)關(guān)就可以打開(kāi)中斷,關(guān)閉中斷開(kāi)關(guān)就關(guān)閉中斷。()中斷服務(wù)程序:如有中斷
20、產(chǎn)生,就必然有其具體的需執(zhí)行的任務(wù),中斷服務(wù)程序就是執(zhí)行中斷處理的具體內(nèi)容:即如果有特殊車(chē)輛需要經(jīng)過(guò)時(shí),南北東西均亮紅燈,讓特殊車(chē)輛通過(guò)。()中斷返回:執(zhí)行完中斷服務(wù)程序后,必然要返回,中斷返回就是被程序運(yùn)行從中斷服務(wù)程序轉(zhuǎn)回到原工作程序上來(lái)。在mcs-51單片機(jī)中,中斷返回是通過(guò)一條專(zhuān)門(mén)的指令實(shí)現(xiàn)的,自然這條指令是中斷服務(wù)程序的最后一條指令。2.5 交通燈的硬件設(shè)計(jì)原理圖交通燈的硬件設(shè)計(jì)原理圖如(圖2-4)所示:圖2-4 原理圖2.6交通燈的軟件設(shè)計(jì)流程圖及部分程序根據(jù)智能交通燈的設(shè)計(jì)要求與原理我們?cè)O(shè)計(jì)的交通燈的軟件設(shè)計(jì)流程圖如(圖2-5)所示: 設(shè)t0的工作方式為工作方式1,t0的定時(shí)初值
21、為50ms,設(shè)東西南北各路口的時(shí)間顯示初值為25s。但東西南北時(shí)間警告時(shí)設(shè)定的東西南北計(jì)時(shí)初值為5s,綠燈閃爍3s,黃燈閃爍2s。2s到否?3s到否?20s到否?開(kāi)始工作方式、設(shè)定初值設(shè)各路口顯示初值25s東西綠燈亮20s,南北亮紅燈東西綠燈閃爍3s東西黃燈亮2s南北綠燈亮20s,東西亮紅燈20s到否?南北綠燈閃爍3s3s到否?南北黃燈亮2s2s到否?下一個(gè)循環(huán)圖2-5 程序設(shè)計(jì)流程圖待添加的隱藏文字內(nèi)容2部分程序如下:loop: movr2,#20;置1s計(jì)數(shù)初值,50ms*20=1smovr3,#20 ;紅燈亮20smovsecond1,#25;東西路口計(jì)時(shí)顯示初值25smovsecond
22、2,#25;南北路口計(jì)時(shí)顯示初值25slcall displaylcall state1;調(diào)用狀態(tài)1wait1: jnbtf0,wait1;查詢(xún)50ms到否clrtf0 movth0,#3ch ;恢復(fù)t0定時(shí)初值50msmovtl0,#0b0h djnzr2,wait1 ;判斷1s到否?未到繼續(xù)狀態(tài)1movr2,#20;置50ms計(jì)數(shù)初值 decsecond1;東西路口顯示時(shí)間減1sdecsecond2;南北路口顯示時(shí)間減1slcall displaydjnzr3,wait1 ;狀態(tài)1維持20s子程序如下:display: ;數(shù)碼顯示 mova,second1;東西路口計(jì)時(shí)寄存器 movb,#
23、10;16進(jìn)制數(shù)拆成兩個(gè)10進(jìn)制數(shù) divab movdbuf+3,a mova,b movdbuf+2,a mova,second2;南北路口計(jì)時(shí)寄存器 movb,#10;16進(jìn)制數(shù)拆成兩個(gè)10進(jìn)制數(shù) divab movdbuf+1,a mova,b movdbuf,a movr0,#dbuf movr1,#temp movr7,#4state1: ;狀態(tài)1 setbled_g1 ;東西路口綠燈亮 clrled_y1 clrled_r1 clrled_g2 clrled_y2 setbled_r2 ;南北路口紅燈亮 ret第三章 基于proteus的電路設(shè)計(jì)和仿真3.1 proteus軟件簡(jiǎn)
24、介proteus嵌入式系統(tǒng)仿真與開(kāi)發(fā)平臺(tái)是由英國(guó)公司開(kāi)發(fā)的eda工具軟件,是目前世界上最先進(jìn)最完整的嵌入式系統(tǒng)設(shè)計(jì)和仿真平臺(tái),proteus軟件有十多年的歷史,在全球廣泛使用,除了其具有和其它eda工具一樣的原理布圖、pcb自動(dòng)或人工布線(xiàn)及電路仿真的功能外,其革命性的功能是,他的電路仿真是互動(dòng)的,針對(duì)微處理器的應(yīng)用,還可以直接在基于原理圖的虛擬原型上編程,并實(shí)現(xiàn)軟件源碼級(jí)的實(shí)時(shí)調(diào)試,如有顯示及輸出,還能看到運(yùn)行后輸入輸出的效果,配合系統(tǒng)配置的虛擬儀器如示波器、邏輯分析儀等??傊?,該軟件是一款集單片機(jī)和spice分析于一身的仿真軟件, proteus為我們建立了完備的電子設(shè)計(jì)開(kāi)發(fā)環(huán)境。真正實(shí)現(xiàn)了
25、在沒(méi)有目標(biāo)原形時(shí)就可對(duì)系統(tǒng)進(jìn)行調(diào)試,測(cè)試和驗(yàn)證,proteus軟件大大提高了企業(yè)的開(kāi)發(fā)效率,降低了開(kāi)發(fā)風(fēng)險(xiǎn)。3.2 proteus軟件的強(qiáng)大功能proteus組合了高級(jí)原理布圖、混合模式spice仿真,pcb設(shè)計(jì)以及自動(dòng)布線(xiàn)來(lái)實(shí)現(xiàn)一個(gè)完整的電子設(shè)計(jì)系統(tǒng)。此系統(tǒng)受益于15年來(lái)的持續(xù)開(kāi)發(fā),被電子世界在其對(duì)pcb設(shè)計(jì)系統(tǒng)的比較文章中評(píng)為最好產(chǎn)品“the route to pcb cad”。proteus 產(chǎn)品系列也包含了我們革命性的vsm技術(shù),用戶(hù)可以對(duì)基于微控制器的設(shè)計(jì)連同所有的周?chē)娮悠骷黄鸱抡?。用?hù)甚至可以實(shí)時(shí)采用諸如led/lcd、鍵盤(pán)、rs232終端等動(dòng)態(tài)外設(shè)模型來(lái)對(duì)設(shè)計(jì)進(jìn)行交互仿真。其
26、功能模塊:個(gè)易用而又功能強(qiáng)大的isis原理布圖工具;prospice混合模型spice仿真; ares pcb設(shè)計(jì).prospice 仿真器的一個(gè)擴(kuò)展proteus vsm:便于包括所有相關(guān)的器件的基于微處理器設(shè)計(jì)的協(xié)同仿真。此外,還可以結(jié)合微控制器軟件使用動(dòng)態(tài)的鍵盤(pán),開(kāi)關(guān),按鈕,led甚至lcd顯示cpu模型. (1)支持許多通用的微控制器,如pic,avr,hc11以及8051.(2)交互的裝置模型包括:led和lcd顯示,rs232終端,通用鍵盤(pán),(3)強(qiáng)大的調(diào)試工具,包括寄存器和存儲(chǔ)器,斷點(diǎn)和單步模式(4)iar c-spy 和keil uvision2等開(kāi)發(fā)工具的源層調(diào)試(5)應(yīng)用特
27、殊模型的dll界面-提供有關(guān)元件庫(kù)的全部文件 proteus與其它單片機(jī)仿真軟件不同的是,它不僅能仿真單片機(jī)cpu的工作情況,也能仿真單片機(jī)外圍電路或沒(méi)有單片機(jī)參與的其它電路的工作情況。因此在仿真和程序調(diào)試時(shí),關(guān)心的不再是某些語(yǔ)句執(zhí)行時(shí)單片機(jī)寄存器和存儲(chǔ)器內(nèi)容的改變,而是從工程的角度直接看程序運(yùn)行和電路工作的過(guò)程和結(jié)果。對(duì)于這樣的仿真實(shí)驗(yàn),從某種意義上講,是彌補(bǔ)了實(shí)驗(yàn)和工程應(yīng)用間脫節(jié)的矛盾和現(xiàn)象。所以說(shuō)protues是一種十分優(yōu)秀的軟件。3.3 用proteus繪制電路圖運(yùn)行proteus vsm 的isis 后出現(xiàn)如(圖3-1) 所示的界面, 點(diǎn)狀的柵格區(qū)域?yàn)槔L圖區(qū)。左側(cè)的上方為電路圖概覽區(qū)
28、, 下方是元器件列表區(qū)。單擊p后出現(xiàn)(圖3-2) 所示的pick device添加元器件的對(duì)話(huà)框, 輸入所要添加的器件名稱(chēng), 則該器件就會(huì)出現(xiàn)在右側(cè), 單擊ok 按鈕, 完成一個(gè)元器件的添加。重復(fù)以上過(guò)程, 添加好電路中所需的元器件。概覽區(qū)元器件列表區(qū)繪圖區(qū)圖 3-1運(yùn)行proteus vsm 的isis 后出現(xiàn)的界面圖 3-2添加元器件的對(duì)話(huà)框在元器件列表區(qū)選中某元器件后, 在電路圖概覽區(qū)會(huì)出現(xiàn)該元器件, 用鼠標(biāo)將其拖至繪圖區(qū), 將所有需要的元器件在繪圖區(qū)放置好, 即可開(kāi)始連線(xiàn)。連線(xiàn)方法很簡(jiǎn)單, 將鼠標(biāo)移至元器件引腳后會(huì)出現(xiàn)一個(gè)小十字, 單擊鼠標(biāo)左鍵后移動(dòng)鼠標(biāo), 將線(xiàn)引至某一引腳處會(huì)再次出現(xiàn)
29、小十字, 再次單擊左鍵就完成了一條連線(xiàn)。在布線(xiàn)時(shí), 如果需要轉(zhuǎn)彎,可以在轉(zhuǎn)彎處單擊鼠標(biāo)左鍵。此處以89s51 構(gòu)成的交通燈為例, (圖 3-3)是繪制完成的電路圖。圖3-3 繪制完成的電路圖3.4 proteus和keil編譯器的結(jié)合使用proteus在設(shè)計(jì)時(shí)已經(jīng)注意到和單片機(jī)各種編譯程序的整合了,如它可以和keil ,wave6000等編譯模擬軟件結(jié)合使用。由于keil使用方便,具備強(qiáng)大的軟件仿真和硬件仿真功能。把proteus和keil結(jié)合起來(lái)調(diào)試硬件就方便多了,本設(shè)計(jì)就是采用“proteus+keil”的仿真方法,具體步驟如下:(1) 首先運(yùn)行proteus vsm 的isis,選擇so
30、urcedefine code generation tool 菜單項(xiàng),將出現(xiàn)如(圖 3-4)所示定義代碼生成工具對(duì)話(huà)框。圖3-4 定義代碼生成工具對(duì)話(huà)框在tool下拉列表框中選擇代碼生成工具,在這一示例中,電路中的微處理器為8051系列單片機(jī),因此選擇asem51, 單擊browse按鈕,選取keil的安裝路徑。單擊ok按鈕,結(jié)束代碼生成工具的定義。選擇sourceadd/remove source file 菜單項(xiàng),將出現(xiàn)add/remove source code files對(duì)話(huà)框,如(圖 3-5)所示: 圖 3-5 添加/刪除源文件對(duì)話(huà)框在code generation tool 選項(xiàng)
31、區(qū),單擊下三角按鈕,選擇asem51工具。(2)單擊new按鈕,將出現(xiàn)如(圖3-6)所示對(duì)話(huà)框。圖 3-6 創(chuàng)建源代碼對(duì)話(huà)框選擇用keil創(chuàng)建好的aa.asm文件,即完成了文件的創(chuàng)建。就這樣當(dāng)用keil對(duì)aa.asm 文件進(jìn)行更改時(shí)每一次運(yùn)行proteus vsm 的isis對(duì)電路進(jìn)行仿真時(shí)keil都會(huì)對(duì)aa.asm進(jìn)行編譯,aa.hex文件也會(huì)隨時(shí)更新。3.5 proteus對(duì)單片機(jī)的仿真電路圖繪制完成后, 再添加at89s51 的應(yīng)用程序。將鼠標(biāo)移至at89s51 上, 單擊鼠標(biāo)右鍵使之處于選中狀態(tài), 在該器件上單擊左鍵, 打開(kāi)如(圖 3-7) 所示的對(duì)話(huà)框。在 program file
32、欄添加編譯好的十六進(jìn)制格式的程序文件aa.hex(可以接受3 種格式的文件) ,給at89s51輸入晶振頻率,此處默認(rèn)為8mhz, 單擊ok 按鈕完成程序添加工作, 下面就可以進(jìn)行系統(tǒng)仿真了。單擊主界面下方的按鈕開(kāi)始系統(tǒng)仿真。proteus vsm 所進(jìn)行的是一種交互式仿真, 在仿真進(jìn)行中可以對(duì)各控制按鈕、開(kāi)關(guān)等進(jìn)行操作, 系統(tǒng)對(duì)輸入的響應(yīng)會(huì)被真實(shí)的反映出來(lái)。仿真結(jié)果如(圖 3-8、3-9、3-10、3-11)所示。在本設(shè)計(jì)中, 開(kāi)始仿真后,開(kāi)關(guān),按鈕通過(guò)鼠標(biāo)單擊來(lái)改變狀態(tài),所改變狀態(tài)的狀態(tài)會(huì)在led和數(shù)碼管顯示出來(lái)。 圖3-7 為at89s51添加程序圖 3-8 東西綠燈南北紅燈圖3-9 東西黃燈警告圖3-10 東西紅燈南北綠燈圖3-11 南北黃燈警告以上是一個(gè)完整的交通燈仿真結(jié)果。圖(3-8)是東西綠燈南北紅燈,顯示時(shí)間是25s,若25s未到則繼續(xù)執(zhí)行,若25s時(shí)間到則轉(zhuǎn)至圖(3-9)東西黃燈警告黃燈亮2s;若2s時(shí)間到就繼續(xù)循環(huán)執(zhí)行轉(zhuǎn)至圖(3-10)東西紅燈南北綠燈,同樣執(zhí)行25s,若25s未到則繼續(xù)執(zhí)行,若25s時(shí)間到則轉(zhuǎn)至圖(3-11)南北黃燈警告黃燈亮2s。程序則一直如此循環(huán)執(zhí)行下去。第四章 總結(jié)我國(guó)人民生活水平不斷提高,汽車(chē)的擁有量越來(lái)越多,交通運(yùn)輸壓力越來(lái)越大,本設(shè)計(jì)的智能交通燈在實(shí)際應(yīng)用中能有效的緩解交通壓
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 懸掛滅火器安裝施工方案
- 新中式挑高客廳施工方案
- 委托中介代理銷(xiāo)售合同
- 2024-2025學(xué)年下學(xué)期高中英語(yǔ)必修三第二單元B卷
- 公司內(nèi)部員工借款合同書(shū)
- 2025年產(chǎn)科門(mén)診護(hù)理考試題及答案
- 4.2 提公因式法 -八年級(jí)數(shù)學(xué)下冊(cè)10分鐘課前預(yù)習(xí)練(北師大版)(原卷版)
- 2025年四川勞務(wù)員試題及答案
- 酒席辦理方案
- 高壓配電工程施工方案
- 《豎提》課件
- 中國(guó)藥膳理論與實(shí)踐-藥膳基本理論和技能
- 華東師大版七年級(jí)初一數(shù)學(xué)下冊(cè)全套試卷(單元、期中、期末)
- 南非醉茄產(chǎn)業(yè)發(fā)展規(guī)劃(十四五)
- 復(fù)古簡(jiǎn)約中國(guó)古典名著導(dǎo)讀三國(guó)演義培訓(xùn)PPT模板
- 不銹鋼排煙風(fēng)管施工實(shí)施方案
- PMC部門(mén)工作流程圖
- IPC-4101剛性多層印制線(xiàn)路板的基材規(guī)范
- Oracle-EBS模塊講解
- 漿砌條石磚項(xiàng)施工方案
- 帶你領(lǐng)略淵海子平
評(píng)論
0/150
提交評(píng)論