基于51單片機(jī)的交通信號(hào)燈模擬控制系統(tǒng)設(shè)計(jì)_第1頁(yè)
基于51單片機(jī)的交通信號(hào)燈模擬控制系統(tǒng)設(shè)計(jì)_第2頁(yè)
基于51單片機(jī)的交通信號(hào)燈模擬控制系統(tǒng)設(shè)計(jì)_第3頁(yè)
基于51單片機(jī)的交通信號(hào)燈模擬控制系統(tǒng)設(shè)計(jì)_第4頁(yè)
基于51單片機(jī)的交通信號(hào)燈模擬控制系統(tǒng)設(shè)計(jì)_第5頁(yè)
已閱讀5頁(yè),還剩25頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

./WORD格式可編輯XXXX學(xué)院畢業(yè)設(shè)計(jì)〔論文課題名稱交通信號(hào)燈模擬控制系統(tǒng)學(xué)生姓名XXX學(xué)號(hào)XXXXXXXXXXXXX系別自動(dòng)化工程系專業(yè)班級(jí)機(jī)電一體化X班指導(dǎo)教師XX技術(shù)職務(wù)講師XXXXXX學(xué)院教務(wù)處制.XXXXX學(xué)院畢業(yè)設(shè)計(jì)〔論文任務(wù)書(shū)學(xué)生姓名XXX學(xué)號(hào)XXXXXXXXXXX指導(dǎo)教師XXX技術(shù)職務(wù)講師課題名稱基于51單片機(jī)設(shè)計(jì)交通信號(hào)燈模擬控制系統(tǒng)課題內(nèi)容用51單片機(jī)設(shè)計(jì)一個(gè)十字路口的紅、綠、黃交通信號(hào)燈控制系統(tǒng),要求如下:1、用紅、綠、黃三色發(fā)光二極管作信號(hào)燈。只考慮一條道路相對(duì)的兩個(gè)方向,每個(gè)方向有紅、綠、黃三個(gè)燈。紅燈亮禁止通行,綠燈亮允許通行,每隔30秒紅綠燈交替變化。在每次由綠燈亮變成紅燈亮或者由紅燈亮變成綠燈亮的交替變化轉(zhuǎn)換時(shí)要求黃燈閃爍5秒,給行駛中的車輛有時(shí)間停靠到禁行線之外;2、能實(shí)現(xiàn)正常的計(jì)時(shí)顯示功能。用倒計(jì)時(shí)方法顯示紅燈、綠燈、黃燈還需亮的時(shí)間;3、能實(shí)現(xiàn)控制器總清零功能。按下某個(gè)鍵后,系統(tǒng)實(shí)現(xiàn)總清零,計(jì)數(shù)器由初始狀態(tài)開(kāi)始計(jì)數(shù),對(duì)應(yīng)狀態(tài)的指示燈亮。相關(guān)要求1有完整的硬件檢測(cè)電路2有必要的程序流程圖與單片機(jī)系統(tǒng)設(shè)計(jì)3上位機(jī)程序的編寫(xiě)或規(guī)劃4要求格式正確,模塊完整進(jìn)度安排第五學(xué)期第2周學(xué)生完成設(shè)計(jì)開(kāi)題報(bào)告第五學(xué)期第3-5周學(xué)生完成畢業(yè)設(shè)計(jì)初稿,指導(dǎo)教師給予修改建議。第五學(xué)期第6--16周學(xué)生全部完成畢業(yè)設(shè)計(jì),并上交給指導(dǎo)教師。第六學(xué)期第4周 指導(dǎo)教師完成畢業(yè)設(shè)計(jì)〔論文評(píng)閱,指導(dǎo)教師完成畢業(yè)設(shè)計(jì)評(píng)閱,第六學(xué)期7-11周各系對(duì)畢業(yè)設(shè)計(jì)進(jìn)行抽答辯和評(píng)定成績(jī)。并將最后評(píng)定的成績(jī)登錄上網(wǎng)。指導(dǎo)教師:XXX2016年9月5日.XXXXX學(xué)院畢業(yè)設(shè)計(jì)〔論文開(kāi)題報(bào)告學(xué)生姓名XXX學(xué)號(hào)XXXXXXXXXXX系別自動(dòng)化工程系專業(yè)班級(jí)機(jī)電一體化技術(shù)X班指導(dǎo)教師XXX技術(shù)職務(wù)講師課題名稱基于51單片機(jī)設(shè)計(jì)交通信號(hào)燈模擬控制系統(tǒng)閱讀中外文獻(xiàn)資料情況[1]李亞伯等編著,數(shù)字電路與系統(tǒng),北京:電子工業(yè)出版社,2001年6月出版130-150[2]李雙慶等編著,常用半導(dǎo)體器件簡(jiǎn)明手冊(cè),北京:電子工業(yè)出版社,1989年6月出版53-84[3]徐建仁主編,數(shù)字集成電路應(yīng)用與實(shí)驗(yàn),XX:國(guó)防科技大學(xué)出版社,1990年2月出版,66-123[4]郝鴻安編著,常用數(shù)字集成電路應(yīng)用手冊(cè),北京:中國(guó)計(jì)量出版社,1987年10月出版,153-197立題依據(jù)及主要內(nèi)容在當(dāng)今電子信息發(fā)達(dá)的時(shí)代,在各界領(lǐng)域都能發(fā)現(xiàn)各種單片機(jī)控制系統(tǒng)的應(yīng)用,如:工廠、火車站、醫(yī)院可想而知單片機(jī)控制系統(tǒng)的實(shí)用性、廣泛性,單片機(jī)控制系統(tǒng)不僅成本低、體積小、應(yīng)用簡(jiǎn)便等優(yōu)點(diǎn),而且便于更換?;贏T89C51單片機(jī)的性能參數(shù)和工作原理,應(yīng)用Keil單片機(jī)編譯軟件的C語(yǔ)言編程以及使用該軟件開(kāi)發(fā)單片機(jī)程序,說(shuō)明設(shè)計(jì)的交通信號(hào)燈模擬控制系統(tǒng)的工作原理、程序流程和硬件結(jié)構(gòu)等相關(guān)技術(shù),指出該系統(tǒng)的特點(diǎn)。設(shè)計(jì)方案或論文提綱設(shè)計(jì)一種基于AT89C51超低功耗單片機(jī)的交通信號(hào)燈模擬控制系統(tǒng),詳細(xì)闡明交通信號(hào)燈模擬控制系統(tǒng)的工作原理,實(shí)現(xiàn)了一般交通信號(hào)燈控制系統(tǒng)的主要功能及要求,具有實(shí)用性。而以一般情況下的交叉十字路口的交通情況為背景,設(shè)計(jì)并介紹一種通用性很強(qiáng)的交通信號(hào)燈模擬控制系統(tǒng),最終完成系統(tǒng)的仿真達(dá)到了設(shè)計(jì)目標(biāo)。畢業(yè)設(shè)計(jì)〔論文工作計(jì)劃2016年9月份確定選題、9月20號(hào)完成初稿、9月30號(hào)交給指導(dǎo)老師進(jìn)行考核修正、10月下旬再將修改設(shè)計(jì)交給指導(dǎo)老師評(píng)定指導(dǎo)教師審核意見(jiàn)指導(dǎo)教師簽字:年月日.用51單片機(jī)設(shè)計(jì)交通信號(hào)燈模擬控制系統(tǒng)機(jī)電一體化X班XXX指導(dǎo)老師:XXX摘要:城市交通信號(hào)燈模擬控制系統(tǒng)模擬了能夠?qū)π盘?hào)燈進(jìn)行遠(yuǎn)程投時(shí)的城市十字路口控制系統(tǒng)功能。借助于單片機(jī)開(kāi)發(fā)板上的已有資源,構(gòu)建了模擬實(shí)際系統(tǒng)功能的單片機(jī)擴(kuò)N82C55控制LED燈模塊、8位七段數(shù)碼管顯示控制模塊和板上擴(kuò)展接線模塊。在分析實(shí)際系統(tǒng)工作流程的基礎(chǔ)上,給出了針對(duì)單片機(jī)開(kāi)發(fā)板的模擬系統(tǒng)C51控制程序流程。用于實(shí)際系統(tǒng)時(shí),只需要將代碼移植到現(xiàn)場(chǎng)設(shè)備并進(jìn)行具體設(shè)置和適當(dāng)修改即可,可以在滿足客戶需求的前提下最小化系統(tǒng)開(kāi)發(fā)成本。交通信號(hào)燈模擬控制系統(tǒng)模擬了能夠?qū)π盘?hào)燈進(jìn)行遠(yuǎn)程授時(shí)的城市十字路口控制系統(tǒng)功能。基于AT89C51單片機(jī)的性能參數(shù)和工作原理,應(yīng)用Keil單片機(jī)編譯軟件的C語(yǔ)言編程以及使用該軟件開(kāi)發(fā)單片機(jī)程序,說(shuō)明設(shè)計(jì)的交通信號(hào)燈模擬控制系統(tǒng)的工作原理、程序流程和硬件結(jié)構(gòu)等相關(guān)技術(shù),指出該系統(tǒng)的特點(diǎn)。設(shè)計(jì)一種基于AT89C51超低功耗單片機(jī)的交通信號(hào)燈模擬控制系統(tǒng),詳細(xì)闡明了交通信號(hào)燈模擬控制系統(tǒng)的工作原理,實(shí)現(xiàn)了一般交通信號(hào)燈控制系統(tǒng)的主要功能及要求,具有實(shí)用性。該系統(tǒng)充分利用了AT89C51單片機(jī)的特點(diǎn),使用現(xiàn)今單片機(jī)廣泛采用的C語(yǔ)言編制了系統(tǒng)程序,并利用KeiluVision3軟件進(jìn)行編譯運(yùn)行,最終通過(guò)Proteus完成了模擬控制系統(tǒng)的仿真。關(guān)鍵詞:AT89C51單片機(jī)Keil單片機(jī)編譯軟件仿真軟件Proteus6C語(yǔ)言交通燈XXXXX學(xué)院畢業(yè)設(shè)計(jì)〔論文指導(dǎo)記錄表學(xué)生姓名XXX學(xué)號(hào)XXXXXXXXXXX系別自動(dòng)化工程工程系專業(yè)班級(jí)2014級(jí)機(jī)電一體化X班指導(dǎo)教師XXX技術(shù)職務(wù)講師課題名稱基于51單片機(jī)設(shè)計(jì)交通信號(hào)燈模擬控制系統(tǒng)第一次指導(dǎo)情況指導(dǎo)教師簽字:年月日第二次指導(dǎo)情況指導(dǎo)教師簽字:年月日注:指導(dǎo)情況須填明學(xué)生在畢業(yè)設(shè)計(jì)〔論文撰寫(xiě)過(guò)程中存在的問(wèn)題,指導(dǎo)教師要求修改的內(nèi)容或改進(jìn)措施。指導(dǎo)情況填寫(xiě)不包括下達(dá)任務(wù)書(shū)和開(kāi)題報(bào)告意見(jiàn)。XXXXX學(xué)院畢業(yè)設(shè)計(jì)〔論文初評(píng)成績(jī)表學(xué)生姓名XXX學(xué)號(hào)XXXXXXXXXXX系別自動(dòng)化工程系專業(yè)班級(jí)2014級(jí)機(jī)電一體化X班指導(dǎo)教師XXX技術(shù)職務(wù)講師課題名稱基于51單片機(jī)設(shè)計(jì)交通信號(hào)燈模擬控制系統(tǒng)指導(dǎo)教師意見(jiàn)評(píng)語(yǔ):指導(dǎo)教師簽字:年月日初評(píng)成績(jī):指導(dǎo)教師簽字:年月日XXXXX學(xué)院畢業(yè)設(shè)計(jì)〔論文成績(jī)?cè)u(píng)定表學(xué)生姓名XXX學(xué)號(hào)XXXXXXXXXXX系別自動(dòng)化工程系專業(yè)班級(jí)2014級(jí)機(jī)電一體化X班指導(dǎo)教師XXX技術(shù)職務(wù)講師課題名稱基于51單片機(jī)設(shè)計(jì)交通信號(hào)燈模擬控制系統(tǒng)評(píng)閱教師意見(jiàn)評(píng)閱評(píng)語(yǔ):評(píng)閱成績(jī):評(píng)閱教師簽字:年月日答辯小組意見(jiàn)答辯評(píng)語(yǔ):答辯成績(jī):答辯小組成員簽字:年月日系畢業(yè)設(shè)計(jì)〔論文評(píng)審委員會(huì)意見(jiàn)評(píng)定成績(jī)系畢業(yè)設(shè)計(jì)〔論文評(píng)審委員會(huì)主任簽字:年月日.目錄20040引言1257671 AT89C51單片機(jī)的性能參數(shù)和工作原理245371.1 AT89C51單片機(jī)的簡(jiǎn)要介紹2265311.1.18051單片機(jī)的基本結(jié)構(gòu) 213951.1.251單片機(jī)管腳說(shuō)明 4267631.1.3各端口工作原理講解 6307461.1.451單片機(jī)的時(shí)鐘及復(fù)位1050211.2 定時(shí)器、計(jì)數(shù)器的基本結(jié)構(gòu)及工作原理13175252 基于Keil單片機(jī)編譯軟件的C語(yǔ)言編程以及使用該軟件開(kāi)發(fā)單片機(jī)程序的方法14168902.1基于Keil單片機(jī)編譯軟件的C語(yǔ)言編程1427372.1.1Keil單片機(jī)編譯軟件的簡(jiǎn)單介紹14226312.1.2Keil單片機(jī)編譯軟件的使用14298623 交通信號(hào)燈模擬控制系統(tǒng)的工作原理、程序流程和硬件結(jié)構(gòu)介紹18227763.1 交通信號(hào)燈模擬控制系統(tǒng)的工作原理的講解18259273.2 交通信號(hào)燈模擬控制系統(tǒng)的硬件結(jié)構(gòu)介紹18100424 交通信號(hào)燈模擬控制系統(tǒng)的工作測(cè)試仿真介紹20134854.1 仿真軟件Proteus6簡(jiǎn)介20150064.2 交通信號(hào)燈模擬控制系統(tǒng)的工作測(cè)試仿真20259474.2.1控制系統(tǒng)程序分析206440結(jié)論2925764致謝: 301205參考文獻(xiàn):31.引言2005年最新統(tǒng)計(jì)數(shù)據(jù)表明,在中國(guó)每5分鐘就有一人喪身車輪,每一分鐘都會(huì)有一人因?yàn)榻煌ㄊ鹿蕛簜麣垺C磕暌蚪煌ㄊ鹿仕斐傻牡慕?jīng)濟(jì)損失達(dá)數(shù)百億元。為了減少交通事故,如今交通紅綠燈已經(jīng)安裝在各個(gè)交通路口上,已經(jīng)成為疏導(dǎo)交通車輛最常見(jiàn)和最有效的手段。但這一技術(shù)在19世紀(jì)就已出現(xiàn)了。1858年,在英國(guó)倫敦主要街頭安裝了以燃煤氣為光源的紅,藍(lán)兩色的機(jī)械扳手式信號(hào)燈,用以指揮馬車通行。這是世界上最早的交通信號(hào)燈。1868年,英國(guó)機(jī)械工程師納伊特在倫敦威斯敏斯特區(qū)的議會(huì)大廈前的廣場(chǎng)上,安裝了世界上最早的煤氣紅綠燈。它由紅綠兩以旋轉(zhuǎn)式方形玻璃提燈組成,紅色表示"停止",綠色表示"注意"。1869年1月2日,煤氣燈爆炸,使警察受傷,遂被取消。電氣啟動(dòng)的紅綠燈出現(xiàn)在美國(guó),這種紅綠燈由紅綠黃三色圓形的投光器組成,1914年始安裝于紐約市5號(hào)大街的一座高塔上。紅燈亮表示"停止",綠燈亮表示"通行"。1918年,又出現(xiàn)了帶控制的紅綠燈和紅外線紅綠燈。帶控制的紅綠燈,一種是把壓力探測(cè)器安在地下,車輛一接近紅燈便變?yōu)榫G燈;另一種是用擴(kuò)音器來(lái)啟動(dòng)紅綠燈,司機(jī)遇紅燈時(shí)按一下嗽叭,就使紅燈變?yōu)榫G燈。紅外線紅綠燈當(dāng)行人踏上對(duì)壓力敏感的路面時(shí),它就能察覺(jué)到有人要過(guò)馬路。紅外光束能把信號(hào)燈的紅燈延長(zhǎng)一段時(shí)間,推遲汽車放行,以免發(fā)生交通事故本文以一般情況下的交叉十字路口的交通情況為背景,設(shè)計(jì)并介紹一種通用性很強(qiáng)的交通信號(hào)燈模擬控制系統(tǒng),最終完成系統(tǒng)的仿真達(dá)到了設(shè)計(jì)目標(biāo)。系統(tǒng)的核心是AT89C51超低功耗單片機(jī),利用Keil軟件進(jìn)行控制程序的開(kāi)發(fā)來(lái)對(duì)交通信號(hào)燈模擬控制系統(tǒng)的模擬及控制。文中詳細(xì)闡述了AT89C51單片機(jī)的性能參數(shù)和工作原理,并介紹了基于Keil單片機(jī)編譯軟件的C語(yǔ)言編程以及使用該軟件開(kāi)發(fā)單片機(jī)程序的方法,說(shuō)明了設(shè)計(jì)的交通信號(hào)燈模擬控制系統(tǒng)的工作原理、程序流程和硬件結(jié)構(gòu)等相關(guān)技術(shù),指出了該系統(tǒng)的特點(diǎn)。另外,文中還簡(jiǎn)單介紹了電子仿真軟件Proteus6的特點(diǎn)及使用方法。1 AT89C51單片機(jī)的性能參數(shù)和工作原理1.1 AT89C51單片機(jī)的簡(jiǎn)要介紹微控制器是交通信號(hào)燈模擬控制系統(tǒng)的核心,它完成對(duì)模擬信號(hào)的輸入接受處理和控制信號(hào)的輸出控制外部設(shè)備的功能。AT89系列單片機(jī)是通用性強(qiáng)、功耗小、使用廣泛、性能優(yōu)良的微處理芯片??紤]本設(shè)計(jì)的具體設(shè)計(jì)要求,選擇AT89C51單片機(jī)作為控制核心,它是高性能8位微處理芯片,兼容MCS-51,具有4KB的FLASH存儲(chǔ)空間,32個(gè)全雙工可編程I/O口,兩個(gè)16位的定時(shí)器/計(jì)數(shù)器以及6個(gè)中斷源等特點(diǎn),大大的簡(jiǎn)化了系統(tǒng)設(shè)計(jì)。1.1.18051單片機(jī)的基本結(jié)構(gòu)在介紹單片機(jī)的內(nèi)部結(jié)構(gòu)之前,我們先了解下我們現(xiàn)在正在使用的計(jì)算機(jī)五個(gè)組成部分:運(yùn)算器:用于實(shí)現(xiàn)算術(shù)和邏輯運(yùn)算。計(jì)算機(jī)的運(yùn)算和處理都在這里進(jìn)行;控制器:是計(jì)算機(jī)的控制指揮部件,使計(jì)算機(jī)各部份能自動(dòng)協(xié)調(diào)的工作;存儲(chǔ)器:用于存放程序和數(shù)據(jù);〔又分為內(nèi)存儲(chǔ)器和外存儲(chǔ)器,內(nèi)存儲(chǔ)器就如我們電腦的硬盤(pán),外存儲(chǔ)器就如我們的U盤(pán)輸入設(shè)備:用于將程序和數(shù)據(jù)輸入到計(jì)算機(jī)〔例如我們電腦的鍵盤(pán)、掃描儀;輸出設(shè)備:輸出設(shè)備用于把計(jì)算機(jī)數(shù)據(jù)計(jì)算或加工的結(jié)果以用戶需要的形式顯示或保存〔例如我們的打印機(jī)。注:1、通常把運(yùn)算器和控制器合在一起稱為中央處理器〔CentralProcessingUnit,簡(jiǎn)稱CPU。

2、通常把外存儲(chǔ)器、輸入設(shè)備和輸出設(shè)備合在一起稱之為計(jì)算機(jī)的外部設(shè)備。典型系列單片機(jī)是由下圖所示的器件組成的:1中央處理器〔CPU:

剛剛講過(guò),需要提醒的是MCS-51的CPU能處理8位二進(jìn)制數(shù)或代碼;2內(nèi)部數(shù)據(jù)存儲(chǔ)器〔RAM:

8051芯片共有256個(gè)RAM單元,其中后128單元被專用寄存器占用〔稍后我們?cè)斀?能作為寄存器供用戶使用的只是前128單元,用于存放可讀寫(xiě)的數(shù)據(jù)。因此通常所說(shuō)的內(nèi)部數(shù)據(jù)存儲(chǔ)器就是指前128單元,簡(jiǎn)稱內(nèi)部RAM。地址范圍為00H~FFH〔256B。是一個(gè)多用多功能數(shù)據(jù)存儲(chǔ)器,有數(shù)據(jù)存儲(chǔ)、通用工作寄存器、堆棧、位地址等空間。3內(nèi)部程序存儲(chǔ)器〔ROM:

在前面也已講過(guò),8051內(nèi)部有4KB的ROM,用于存放程序、原始數(shù)據(jù)或表格。因此稱之為程序存儲(chǔ)器,簡(jiǎn)稱內(nèi)部RAM。地址范圍為0000H~FFFFH〔64KB。4定時(shí)器/計(jì)數(shù)器

8051共有2個(gè)16位的定時(shí)器/計(jì)數(shù)器,以實(shí)現(xiàn)定時(shí)或計(jì)數(shù)功能,并以其定時(shí)或計(jì)數(shù)結(jié)果對(duì)計(jì)算機(jī)進(jìn)行控制。定時(shí)時(shí)靠?jī)?nèi)部分頻時(shí)鐘頻率計(jì)數(shù)實(shí)現(xiàn),做計(jì)數(shù)器時(shí),對(duì)P3.4〔T0或P3.5〔T1端口的低電平脈沖計(jì)數(shù)。5并行I/O口

MCS-51共有4個(gè)8位的I/O口〔P0、P1、P2、P3以實(shí)現(xiàn)數(shù)據(jù)的輸入輸出。6串行口

MCS-51有一個(gè)全雙工的串行口,以實(shí)現(xiàn)單片機(jī)和其它設(shè)備之間的串行數(shù)據(jù)傳送。該串行口功能較強(qiáng),既可作為全雙工異步通信收發(fā)器使用,也可作為移位器使用。RXD〔P3.0腳為接收端口,TXD〔P3.1腳為發(fā)送端口。7中斷控制系統(tǒng)

MCS-51單片機(jī)的中斷功能較強(qiáng),以滿足不同控制應(yīng)用的需要。共有5個(gè)中斷源,即外中斷2個(gè),定時(shí)中斷2個(gè),串行中斷1個(gè),全部中斷分為高級(jí)和低級(jí)共二個(gè)優(yōu)先級(jí)別。8時(shí)鐘電路

MCS-51芯片的內(nèi)部有時(shí)鐘電路,但石英晶體和微調(diào)電容需外接。時(shí)鐘電路為單片機(jī)產(chǎn)生時(shí)鐘脈沖序列。系統(tǒng)允許的晶振頻率為12MHZ。1.1.251單片機(jī)管腳說(shuō)明MCS-51是標(biāo)準(zhǔn)的40引腳雙列直插式集成電路芯片,引腳分布請(qǐng)參照單片機(jī)引腳圖:lP0.0~P0.7P0口8位雙向口線〔在引腳的39~32號(hào)端子。lP1.0~P1.7P1口8位雙向口線〔在引腳的1~8號(hào)端子。lP2.0~P2.7P2口8位雙向口線〔在引腳的21~28號(hào)端子。lP3.0~P3.7P2口8位雙向口線〔在引腳的10~17號(hào)端子。這4個(gè)I/O口具有不完全相同的功能,需要不同等待。P0口有三個(gè)功能:1、外部擴(kuò)展存儲(chǔ)器時(shí),當(dāng)做數(shù)據(jù)總線〔如圖1中的D0~D7為數(shù)據(jù)總線接口2、外部擴(kuò)展存儲(chǔ)器時(shí),當(dāng)作地址總線〔如圖1中的A0~A7為地址總線接口3、不擴(kuò)展時(shí),可做一般的I/O使用,但內(nèi)部無(wú)上拉電阻,作為輸入或輸出時(shí)應(yīng)在外部接上拉電阻。P1口只做I/O口使用:其內(nèi)部有上拉電阻。P2口有兩個(gè)功能:1、擴(kuò)展外部存儲(chǔ)器時(shí),當(dāng)作地址總線使用2、做一般I/O口使用,其內(nèi)部有上拉電阻;P3口有兩個(gè)功能:除了作為I/O使用外〔其內(nèi)部有上拉電阻,還有一些特殊功能,由特殊寄存器來(lái)設(shè)置,具體功能請(qǐng)參考我們后面的引腳說(shuō)明。有內(nèi)部EPROM的單片機(jī)芯片〔例如8751,為寫(xiě)入程序需提供專門(mén)的編程脈沖和編程電源,這些信號(hào)也是由信號(hào)引腳的形式提供的,即:編程脈沖:30腳〔ALE/PROG編程電壓〔25V:31腳〔EA/Vpp。ALE地址鎖存控制信號(hào):在系統(tǒng)擴(kuò)展時(shí),ALE用于控制把P0口的輸出低8位地址送鎖存器鎖存起來(lái),以實(shí)現(xiàn)低位地址和數(shù)據(jù)的隔離。參見(jiàn)圖2〔8051擴(kuò)展2KBEEPROM電路,在圖中ALE與4LS373鎖存器的G相連接,當(dāng)CPU對(duì)外部進(jìn)行存取時(shí),用以鎖住地址的低位地址,即P0口輸出。由于ALE是以晶振六分之一的固定頻率輸出的正脈沖,當(dāng)系統(tǒng)中未使用外部存儲(chǔ)器時(shí),ALE腳也會(huì)有六分之一的固定頻率輸出,因此可作為外部時(shí)鐘或外部定時(shí)脈沖使用PSEN外部程序存儲(chǔ)器讀選通信號(hào):在讀外部ROM時(shí)PSEN低電平有效,以實(shí)現(xiàn)外部ROM單元的讀操作。1、內(nèi)部ROM讀取時(shí),PSEN不動(dòng)作;2、外部ROM讀取時(shí),在每個(gè)機(jī)器周期會(huì)動(dòng)作兩次;3、外部RAM讀取時(shí),兩個(gè)PSEN脈沖被跳過(guò)不會(huì)輸出;4、外接ROM時(shí),與ROM的OE腳相接。EA/VPP訪問(wèn)和序存儲(chǔ)器控制信號(hào)1、接高電平時(shí):CPU讀取內(nèi)部程序存儲(chǔ)器〔ROM擴(kuò)展外部ROM:當(dāng)讀取內(nèi)部程序存儲(chǔ)器超過(guò)0FFFH〔80511FFFH〔8052時(shí)自動(dòng)讀取外部ROM。2、接低電平時(shí):CPU讀取外部程序存儲(chǔ)器〔ROM。3、8751燒寫(xiě)內(nèi)部EPROM時(shí),利用此腳輸入21V的燒寫(xiě)電壓。RST復(fù)位信號(hào):當(dāng)輸入的信號(hào)連續(xù)2個(gè)機(jī)器周期以上高電平時(shí)即為有效,用以完成單片機(jī)的復(fù)位初始化操作。XTAL1和XTAL2外接晶振引腳。當(dāng)使用芯片內(nèi)部時(shí)鐘時(shí),此二引腳用于外接石英晶體和微調(diào)電容;當(dāng)使用外部時(shí)鐘時(shí),用于接外部時(shí)鐘脈沖信號(hào)。VCC:電源+5V輸入VSS:GND接地。1.1.3各端口工作原理講解P0端口:總線I/O端口,雙向,三態(tài),數(shù)據(jù)地址分時(shí)復(fù)用,該端口除用于數(shù)據(jù)的輸入/輸出外,在8031單片機(jī)外接程序存儲(chǔ)器時(shí),還分時(shí)地輸出/輸入地址/指令。由Po端口輸出的信號(hào)無(wú)鎖存,輸入的信息有讀端口引腳和讀端口鎖存器之分。P0端口8位中的一位結(jié)構(gòu)圖見(jiàn)下圖:PO口的結(jié)構(gòu)及工作原理PO口的結(jié)構(gòu)及工作原理由上圖可見(jiàn),P0端口由鎖存器、輸入緩沖器、切換開(kāi)關(guān)與相應(yīng)控制電路、場(chǎng)效應(yīng)管驅(qū)動(dòng)電路構(gòu)成。

在輸出狀態(tài)下,當(dāng)切換開(kāi)關(guān)MUX向下時(shí),從內(nèi)部總線來(lái)的數(shù)據(jù)經(jīng)鎖存器反相和場(chǎng)效應(yīng)管T2反相,輸出到端口引腳線上。此時(shí),場(chǎng)效應(yīng)管T1關(guān)斷,因而這種輸出方式應(yīng)為外接上拉電阻的漏極開(kāi)路式。當(dāng)切換開(kāi)關(guān)MUX向上時(shí),一位地址/數(shù)據(jù)信號(hào)分時(shí)地輸出到端口線上。此外,由T1、T2的通斷組合,形成高電平、低電平與高阻浮動(dòng)三態(tài)的輸出。

在輸入狀態(tài)下,從鎖存器和從引腳上讀來(lái)的信號(hào)一般是一致的,但也有例外。例如,當(dāng)從內(nèi)部總線輸出低電平后,鎖存器Q=0,Q=1,場(chǎng)效應(yīng)管T2開(kāi)通,端口線呈低電平狀態(tài)。此時(shí)無(wú)論端口線上外接的信號(hào)是低電乎還是高電平,從引腳讀入單片機(jī)的信號(hào)都是低電平,因而不能正確地讀入端口引腳上的信號(hào)。又如,當(dāng)從內(nèi)部總線輸出高電平后,鎖存器Q=1,Q=0,場(chǎng)效應(yīng)管T2截止。如外接引腳信號(hào)為低電平,從引腳上讀入的信號(hào)就與從鎖存器讀入的信號(hào)不同。為此,8031單片機(jī)在對(duì)端口P0一P3的輸入操作上,有如下約定:為此,8051單片機(jī)在對(duì)端口P0一P3的輸入操作上,有如下約定:凡屬于讀-修改-寫(xiě)方式的指令,從鎖存器讀入信號(hào),其它指令則從端口引腳線上讀入信號(hào)。P1端口:通用I/0端口,準(zhǔn)雙向靜態(tài)口。輸出的信息有鎖存,輸入有讀引腳和讀鎖存器之分。P1端口的一位結(jié)構(gòu)見(jiàn)下圖.由圖可見(jiàn),P1端口與P0端口的主要差別在于,P1端口用內(nèi)部上拉電阻R代替了P0端口的場(chǎng)效應(yīng)管T1,并且輸出的信息僅來(lái)自內(nèi)部總線。由內(nèi)部總線輸出的數(shù)據(jù)經(jīng)鎖存器反相和場(chǎng)效應(yīng)管反相后,鎖存在端口線上,所以,P1端口是具有輸出鎖存的靜態(tài)口。

由下圖可見(jiàn),要正確地從引腳上讀入外部信息,必須先使場(chǎng)效應(yīng)管關(guān)斷,以便由外部輸入的信息確定引腳的狀態(tài)。為此,在作引腳讀入前,必須先對(duì)該端口寫(xiě)入l。具有這種操作特點(diǎn)的輸入/輸出端口,稱為準(zhǔn)雙向I/O口。8031單片機(jī)的P1、P2、P3都是準(zhǔn)雙向口。P0端口由于輸出有三態(tài)功能,輸入前,端口線已處于高阻態(tài),無(wú)需先寫(xiě)入l后再作讀操作。P1口功能結(jié)構(gòu)圖P1口功能結(jié)構(gòu)圖

單片機(jī)復(fù)位后,各個(gè)端口已自動(dòng)地被寫(xiě)入了1,此時(shí),可直接作輸入操作。如果在應(yīng)用端口的過(guò)程中,已向P1一P3端口線輸出過(guò)0,則再要輸入時(shí),必須先寫(xiě)1后再讀引腳,才能得到正確的信息。此外,隨輸入指令的不同,H端口也有讀鎖存器與讀引腳之分。

Pl端口是803l單片機(jī)中唯一僅有的單功能I/O端口,并且沒(méi)有特定的專用功能,輸出信號(hào)鎖存在引腳上,故又稱為通用靜態(tài)口。P2端口:P2端口的一位結(jié)構(gòu)見(jiàn)下圖:P2端口功能結(jié)構(gòu)圖P2端口功能結(jié)構(gòu)圖由圖可見(jiàn),P2端口在片內(nèi)既有上拉電阻,又有切換開(kāi)關(guān)MUX,所以P2端口在功能上兼有P0端口和P1端口的特點(diǎn)。這主要表現(xiàn)在輸出功能上,當(dāng)切換開(kāi)關(guān)MUX向左時(shí),從內(nèi)部總線輸出的一位數(shù)據(jù)經(jīng)反相器和場(chǎng)效應(yīng)管反相后,輸出在端口引腳線上;當(dāng)MUX向右時(shí),輸出的一位地址信號(hào)也經(jīng)反相器和場(chǎng)效應(yīng)管反相后,輸出在端口引腳線上。由于8031單片機(jī)必須外接程序存儲(chǔ)器才能構(gòu)成應(yīng)用電路,而P2端口就是用來(lái)周期性地輸出從外存中取指令的地址<高8位地址>,因此,P2端口的切換開(kāi)關(guān)MUX總是在進(jìn)行切換,分時(shí)地輸出從內(nèi)部總線來(lái)的數(shù)據(jù)和從地址信號(hào)線上來(lái)的地址。因此P2端口是動(dòng)態(tài)的I/O端口。輸出數(shù)據(jù)雖被鎖存,但不是穩(wěn)定地出現(xiàn)在端口線上。其實(shí),這里輸出的數(shù)據(jù)往往也是一種地址,只不過(guò)是外部RAM的高8位址。在輸入功能方面,P2端口與P0和H端口相同,有讀引腳和讀鎖存器之分,并P2端口也是準(zhǔn)雙向口。P3端口:雙功能靜態(tài)I/O口P3端口的一位結(jié)構(gòu)見(jiàn)下圖:P3口功能結(jié)構(gòu)圖P3口功能結(jié)構(gòu)圖由上圖可見(jiàn),P3端口和Pl端口的結(jié)構(gòu)相似,區(qū)別僅在于P3端口的各端口線有兩種功能選擇。當(dāng)處于第一功能時(shí),第二輸出功能線為1,此時(shí),內(nèi)部總線信號(hào)經(jīng)鎖存器和場(chǎng)效應(yīng)管輸入/輸出,其作用與P1端口作用相同,也是靜態(tài)準(zhǔn)雙向I/O端口。當(dāng)處于第二功能時(shí),鎖存器輸出1,通過(guò)第二輸出功能線輸出特定的內(nèi)含信號(hào),在輸入方面,即可以通過(guò)緩沖器讀入引腳信號(hào),還可以通過(guò)替代輸入功能讀入片內(nèi)的特定第二功能信號(hào)。由于輸出信號(hào)鎖存并且有雙重功能,故P3端口為靜態(tài)雙功能端口。P3口的特殊功能〔即第二功能:口線第二功能信號(hào)名稱P3.0RXD串行數(shù)據(jù)接收P3.1TXD串行數(shù)據(jù)發(fā)送P3.2INT0外部中斷0申請(qǐng)P3.3INT1外部中斷1申請(qǐng)P3.4T0定時(shí)器/計(jì)數(shù)器0計(jì)數(shù)輸入P3.5T1定時(shí)器/計(jì)數(shù)器1計(jì)數(shù)輸入P3.6WR外部RAM寫(xiě)選通P3.7RD外部RAM讀選通使P3端品各線處于第二功能的條件是:1\串行I/O處于運(yùn)行狀態(tài)<RXD,TXD>;2\打開(kāi)了處部中斷<INT0,INT1>;3\定時(shí)器/計(jì)數(shù)器處于外部計(jì)數(shù)狀態(tài)<T0,T1>4\執(zhí)行讀寫(xiě)外部RAM的指令<RD,WR>在應(yīng)用中,如不設(shè)定P3端口各位的第二功能<WR,RD信叼的產(chǎn)生不用設(shè)置>,則P3端口線自動(dòng)處于第一功能狀態(tài),也就是靜態(tài)I/O端口的工作狀態(tài)。在更多的場(chǎng)合是根據(jù)應(yīng)用的需要,把幾條端口線設(shè)置為第二功能,而另外幾條端口線處于第一功能運(yùn)行狀態(tài)。在這種情況下,不宜對(duì)P3端口作字節(jié)操作,需采用位操作的形式。1.1.451單片機(jī)的時(shí)鐘及復(fù)位單片機(jī)的時(shí)鐘信號(hào)用來(lái)提供單片機(jī)片內(nèi)各種微操作的時(shí)間基準(zhǔn),復(fù)位操作則使單片機(jī)的片內(nèi)電路初始化,使單片機(jī)從一種確定的初態(tài)開(kāi)始運(yùn)行。時(shí)鐘電路:

8051單片機(jī)的時(shí)鐘信號(hào)通常用兩種電路形式得到:內(nèi)部振蕩方式和外部振蕩方式。

在引腳XTAL1和XTAL2外接晶體振蕩器<簡(jiǎn)稱晶振>或陶瓷諧振器,就構(gòu)成了內(nèi)部振蕩方式。由于單片機(jī)內(nèi)部有一個(gè)高增益反相放大器,當(dāng)外接晶振后,就構(gòu)成了自激振蕩器并產(chǎn)生振蕩時(shí)鐘脈沖。內(nèi)部振蕩方式的外部電路如下圖所示。

圖中,電容器Col,C02起穩(wěn)定振蕩頻率、快速起振的作用,其電容值一般在5-30pF。晶振頻率的典型值為12MH2,采用6MHz的情況也比較多。內(nèi)部振蕩方式所得的時(shí)鐘情號(hào)比較穩(wěn)定,實(shí)用電路中使用較多。

外部振蕩方式是把外部已有的時(shí)鐘信號(hào)引入單片機(jī)內(nèi)。這種方式適宜用來(lái)使單片機(jī)的時(shí)鐘與外部信號(hào)保持同步。外部振蕩方式的外部電路如下圖所示。內(nèi)部振蕩方式外部振蕩方式內(nèi)部振蕩方式外部振蕩方式由上圖可見(jiàn),外部振蕩信號(hào)由XTAL2引入,XTAL1接地。為了提高輸入電路的驅(qū)勸能力,通常使外部信號(hào)經(jīng)過(guò)一個(gè)帶有上拉電阻的TTL反相門(mén)后接入XTAL2?;緯r(shí)序單位:?jiǎn)纹瑱C(jī)以晶體振蕩器的振蕩周期<或外部引入的時(shí)鐘周期>為最小的時(shí)序單位,片內(nèi)的各種微操作都以此周期為時(shí)序基準(zhǔn)。

振蕩頻率二分頻后形成狀態(tài)周期或稱s周期,所以,1個(gè)狀態(tài)周期包含有2個(gè)振蕩周期。振蕩頻率foscl2分頻后形成機(jī)器周期MC。所以,1個(gè)機(jī)器周期包含有6個(gè)狀態(tài)周期或12個(gè)振蕩周期。1個(gè)到4個(gè)機(jī)器周期確定一條指令的執(zhí)行時(shí)間,這個(gè)時(shí)間就是指令周期。8031單片機(jī)指令系統(tǒng)中,各條指令的執(zhí)行時(shí)間都在1個(gè)到4個(gè)機(jī)器周期之間。4種時(shí)序單位中,振蕩周期和機(jī)器周期是單片機(jī)內(nèi)計(jì)算其它時(shí)間值<例如,波特率、定時(shí)器的定時(shí)時(shí)間等>的基本時(shí)序單位。下面是單片機(jī)外接晶振頻率12MHZ時(shí)的各種時(shí)序單位的大?。?/p>

振蕩周期=1/fosc=1/12MHZ=0.0833us復(fù)位電路:當(dāng)MCS-5l系列單片機(jī)的復(fù)位引腳RST<全稱RESET>出現(xiàn)2個(gè)機(jī)器周期以上的高電平時(shí),單片機(jī)就執(zhí)行復(fù)位操作。如果RST持續(xù)為高電平,單片機(jī)就處于循環(huán)復(fù)位狀態(tài)。

根據(jù)應(yīng)用的要求,復(fù)位操作通常有兩種基本形式:上電復(fù)位和上電或開(kāi)關(guān)復(fù)位。

上電復(fù)位要求接通電源后,自動(dòng)實(shí)現(xiàn)復(fù)位操作。常用的上電復(fù)位電路如下圖A中左圖所示。圖中電容C1和電阻R1對(duì)電源十5V來(lái)說(shuō)構(gòu)成微分電路。上電后,保持RST一段高電平時(shí)間,由于單片機(jī)內(nèi)的等效電阻的作用,不用圖中電阻R1,也能達(dá)到上電復(fù)位的操作功能,如下圖<A>中右圖所示。單片機(jī)的復(fù)位電路A:上電復(fù)位B:上電或開(kāi)關(guān)復(fù)位電路單片機(jī)的復(fù)位電路A:上電復(fù)位B:上電或開(kāi)關(guān)復(fù)位電路上電或開(kāi)關(guān)復(fù)位要求電源接通后,單片機(jī)自動(dòng)復(fù)位,并且在單片機(jī)運(yùn)行期間,用開(kāi)關(guān)操作也能使單片機(jī)復(fù)位。常用的上電或開(kāi)關(guān)復(fù)位電路如上圖<B>所示。上電后,由于電容C3的充電和反相門(mén)的作用,使RST持續(xù)一段時(shí)間的高電平。當(dāng)單片機(jī)已在運(yùn)行當(dāng)中時(shí),按下復(fù)位鍵K后松開(kāi),也能使RST為一段時(shí)間的高電平,從而實(shí)現(xiàn)上電或開(kāi)關(guān)復(fù)位的操作。

根據(jù)實(shí)際操作的經(jīng)驗(yàn),下面給出這兩種復(fù)位電路的電容、電阻參考值。

上圖<A>中:Cl=10-30uF,R1=1kO

上圖1.27<B>中:C:=1uF,Rl=lkO,R2=10kO單片機(jī)復(fù)位后的狀態(tài):?jiǎn)纹瑱C(jī)的復(fù)位操作使單片機(jī)進(jìn)入初始化狀態(tài),其中包括使程序計(jì)數(shù)器PC=0000H,這表明程序從0000H地址單元開(kāi)始執(zhí)行。單片機(jī)冷啟動(dòng)后,片內(nèi)RAM為隨機(jī)值,運(yùn)行中的復(fù)位操作不改變片內(nèi)RAM區(qū)中的內(nèi)容,21個(gè)特殊功能寄存器復(fù)位后的狀態(tài)為確定值。1.2 定時(shí)器、計(jì)數(shù)器的基本結(jié)構(gòu)及工作原理本設(shè)計(jì)中應(yīng)用了定時(shí)器0〔T0用于計(jì)時(shí),因此這里有必要介紹一下定時(shí)器、計(jì)數(shù)器的基本結(jié)構(gòu)及工作原理。定時(shí)器、計(jì)數(shù)器定時(shí)器/計(jì)數(shù)器簡(jiǎn)稱定時(shí)器,其作用主要包括產(chǎn)生各種時(shí)標(biāo)間隔、記錄外部事件的數(shù)量等,是微機(jī)中最常用、最基本的部件之一。803l單片機(jī)有2個(gè)16位的定時(shí)器/計(jì)數(shù)器:定時(shí)器0<T0>和定時(shí)器1<T1>。

T0由2個(gè)定時(shí)寄存器TH0和TL0構(gòu)成,T1則由TH1和TL1構(gòu)成,它們都分別映射在特殊功能寄存器中,從而可以通過(guò)對(duì)特殊功能寄存器中這些寄存器的讀寫(xiě)來(lái)實(shí)現(xiàn)對(duì)這兩個(gè)定時(shí)器的操作。作定時(shí)器時(shí),每一個(gè)機(jī)器周期定時(shí)寄存器自動(dòng)加l,所以定時(shí)器也可看作是計(jì)量機(jī)器周期的計(jì)數(shù)器。由于每個(gè)機(jī)器周期為12個(gè)時(shí)鐘振蕩周期,所以定時(shí)的分辨率是時(shí)鐘振蕩頻率的1/12。作計(jì)數(shù)器時(shí),只要在單片機(jī)外部引腳T0<或T1>有從1到0電平的負(fù)跳變,計(jì)數(shù)器就自動(dòng)加1。計(jì)數(shù)的最高頻率一般為振蕩頻率的l/24。2 基于Keil單片機(jī)編譯軟件的C語(yǔ)言編程以及使用該軟件開(kāi)發(fā)單片機(jī)程序的方法2.1基于Keil單片機(jī)編譯軟件的C語(yǔ)言編程2.1.1Keil單片機(jī)編譯軟件的簡(jiǎn)單介紹基于8051的編程語(yǔ)言通常有兩種:一種是匯編語(yǔ)言,另一種就是C語(yǔ)言了。匯編語(yǔ)言生成的機(jī)器代碼效率很高但是可讀性不強(qiáng),復(fù)雜一點(diǎn)的程序更是難讀,而C語(yǔ)言在大多數(shù)情況下其機(jī)器代碼效率和匯編語(yǔ)言相當(dāng),但可讀性和可移植性卻遠(yuǎn)遠(yuǎn)超過(guò)匯編語(yǔ)言,而且C語(yǔ)言還允許嵌入?yún)R編語(yǔ)言代碼來(lái)解決少數(shù)的高時(shí)效性代碼編寫(xiě)問(wèn)題。因此,本設(shè)計(jì)中采用C語(yǔ)言來(lái)進(jìn)行系統(tǒng)控制程序代碼的編寫(xiě)。使用C語(yǔ)言肯定要使用到C語(yǔ)言編譯器了,以便把寫(xiě)好的C程序編譯生成為可執(zhí)行的機(jī)器碼。本設(shè)計(jì)所采用的KeiluVision3是眾多單片機(jī)應(yīng)用開(kāi)發(fā)軟件當(dāng)中的優(yōu)秀軟件之一,在國(guó)內(nèi)外有廣泛的使用范圍,它支持眾多不同公司的MCS51架構(gòu)芯片,集編輯、編譯和仿真等于一體,同時(shí)還支持PLM、匯編和C語(yǔ)言的程序設(shè)計(jì),它的界面友好,易學(xué)易用,在調(diào)試仿真各方面都擁有強(qiáng)大的功能。2.1.2Keil單片機(jī)編譯軟件的使用按以下步驟可以建立基于89C51的C語(yǔ)言程序項(xiàng)目:第一步:打開(kāi)運(yùn)行KeiluVision3軟件,點(diǎn)擊Project菜單,選擇NewProject,接著彈出創(chuàng)建新項(xiàng)目對(duì)話框,輸入項(xiàng)目名稱后點(diǎn)擊保存即可,如下圖所示:第二步:選取芯片。在彈出對(duì)話框中選取所要的芯片,這里選擇Ateml公司的AT89C51單片機(jī)。如下圖所示:第三步:在項(xiàng)目中加入程序文件,這里是加入C語(yǔ)言〔.c文件,如果沒(méi)有現(xiàn)有的文件則可以選擇新建。如下圖所示:第四步:現(xiàn)在在項(xiàng)目中如果已經(jīng)是寫(xiě)好的程序就可以開(kāi)始編譯了,編譯之前還要配置一下輸出文件的格式〔.hex。如下圖所示:第五步:最終生成的HEX文件就可以燒寫(xiě)到芯片內(nèi)用做控制使用了。3 交通信號(hào)燈模擬控制系統(tǒng)的工作原理、程序流程和硬件結(jié)構(gòu)介紹3.1 交通信號(hào)燈模擬控制系統(tǒng)的工作原理的講解現(xiàn)今的社會(huì)快速發(fā)展,隨著我國(guó)改革開(kāi)放的不斷深入,我國(guó)的經(jīng)濟(jì)迅猛發(fā)展,人民的生活水平持續(xù)提高,現(xiàn)代的交通工具越來(lái)越多尤其是機(jī)動(dòng)車輛的數(shù)量急劇增長(zhǎng),由此帶來(lái)了我國(guó)城市交通情況惡化,大一點(diǎn)的城市交通堵塞、交通事故頻有發(fā)生,因此,改善城市交通情況是我們面臨的一項(xiàng)嚴(yán)峻而由緊迫的問(wèn)題。采用現(xiàn)代的交通信號(hào)指示系統(tǒng)對(duì)于改善交通問(wèn)題有很大的幫助,這套系統(tǒng)由于長(zhǎng)期的使用而不斷得到完善技術(shù)方面已經(jīng)相當(dāng)成熟了,它在各國(guó)的道路交通系統(tǒng)上都有著廣泛的應(yīng)用。我國(guó)建立起現(xiàn)代的交通系統(tǒng)較晚,在有的方面還是不夠完善和成熟,所以,對(duì)于交通信號(hào)指示系統(tǒng)的試驗(yàn)和改進(jìn)是有一定的必要性的,這將對(duì)我國(guó)的城市交通情況持續(xù)改善有極大裨益。本設(shè)計(jì)要求使用8051單片機(jī)設(shè)計(jì)一交通信號(hào)燈模擬控制系統(tǒng),通過(guò)建立模擬系統(tǒng)可以在低廉的成本、直接的觀測(cè)性和極大的靈活性基礎(chǔ)上對(duì)交通系統(tǒng)進(jìn)行持續(xù)的模擬試驗(yàn)和改進(jìn),使實(shí)際的道路交通指示系統(tǒng)不斷完善。本文中,筆者是按最常見(jiàn)的A、B道交叉組成十字路口〔A是主道,B是支道紅黃綠指示燈系統(tǒng)來(lái)建立模型的,并且根據(jù)實(shí)際情況對(duì)該模型賦予如下的特點(diǎn):〔1正常情況下A、B道〔A、B道交叉組成十字路口,A是主道,B是支道輪流放行,A道放行1分鐘〔其中5秒用于警告,B道放行30秒〔其中5秒用于警告?!?一道有車而另一道無(wú)車〔用按鍵開(kāi)關(guān)K1、K2模擬時(shí),使有車車道放行?!?有緊急車輛通過(guò)〔用按鍵開(kāi)關(guān)K0模擬時(shí),A、B道均為紅燈。以上也可認(rèn)為是該設(shè)計(jì)的設(shè)計(jì)要求,所設(shè)計(jì)的模擬系統(tǒng)就必須嚴(yán)格按照這些要求來(lái)工作運(yùn)行。3.2 交通信號(hào)燈模擬控制系統(tǒng)的硬件結(jié)構(gòu)介紹本設(shè)計(jì)采用AT89C51作為系統(tǒng)控制核心,外接12M的晶振電路,使用3組按鍵開(kāi)關(guān)K0、K1和K2分別模擬作為緊急車輛通過(guò)指示開(kāi)關(guān)、主道狀態(tài)指示開(kāi)關(guān)和支道狀態(tài)指示開(kāi)關(guān),具體硬件結(jié)構(gòu)圖如下圖所示。在本設(shè)計(jì)中,由P1.0、P1.1和P1.2來(lái)分別接3組按鍵開(kāi)關(guān)K0、K1和K2用來(lái)檢測(cè)模擬信號(hào)的輸入,使用P3.0、P3.1和P3.2分別來(lái)輸出控制信號(hào)控制主道信號(hào)的各組指示燈,用P2.0、P2.1和P2.2分別來(lái)輸出控制信號(hào)控制支道信號(hào)的各組指示燈。在結(jié)構(gòu)圖中,還另外接入了時(shí)間指示表來(lái)用來(lái)計(jì)時(shí)。4 交通信號(hào)燈模擬控制系統(tǒng)的工作測(cè)試仿真介紹4.1 仿真軟件Proteus6簡(jiǎn)介PROTEUS系統(tǒng)包括ISIS.EXE〔電路原理圖設(shè)計(jì)、電路原理仿真,ARES.EXE〔印刷電路板設(shè)計(jì)兩大主要程序三大基本功能。其中最令人稱贊的是電路原理仿真功能,除了普通分離器件、小規(guī)模集成器件的仿真功能以外,還具有多種帶有CPU的可編程序器件的仿真功能,如51系列、68系列、PIC系列等;具有多種總線、儲(chǔ)存器、RS232終端仿真功能;具有電動(dòng)機(jī)、液晶顯示器等特殊器件的仿真功能;對(duì)可編程序器件可以靈活地外掛各種編譯、編輯工具,使用非常方便。具有多種虛擬儀器幫助完成實(shí)時(shí)仿真調(diào)試;具有傳輸特性、頻率特性、電壓波動(dòng)分析、噪聲分析等多種圖形分析工具、可以完成電路參數(shù)和可靠性分析。可以完成:電路原理實(shí)驗(yàn)〔電阻、電容、電感、開(kāi)關(guān)、繼電器、電機(jī)、指示燈等 模擬電子技術(shù)實(shí)驗(yàn)〔二極管、三極管、場(chǎng)效應(yīng)管、晶閘管、光電管、運(yùn)算放大器等數(shù)字電子技術(shù)實(shí)驗(yàn)〔4000系列、74系列、ECL10000系列邏輯器件、PLD器件等單片機(jī)與接口實(shí)驗(yàn)〔51系列、68系列、PIC系列、儲(chǔ)存器、ADC、DAC器件等本文中設(shè)計(jì)是采用PROTEUS系統(tǒng)對(duì)已經(jīng)設(shè)計(jì)的交通信號(hào)燈模擬控制系統(tǒng)進(jìn)行仿真和調(diào)試來(lái)得到所要求的結(jié)果,采用這種方式的優(yōu)點(diǎn)是顯而易見(jiàn)的。4.2 交通信號(hào)燈模擬控制系統(tǒng)的工作測(cè)試仿真4.2.1控制系統(tǒng)程序分析按照上一節(jié)的程序流程圖可以編寫(xiě)出控制系統(tǒng)的C程序,具體程序如下:#include<reg52.h>sbitmain_red=P3^0; //定義兩組交通燈〔主、支道sbitmain_yel=P3^1;sbitmain_gre=P3^2;sbitsub_red=P2^0;sbitsub_yel=P2^1;sbitsub_gre=P2^2;sbitbutton1=P1^0; //K0緊急車輛通過(guò)指示開(kāi)關(guān) sbitbutton2=P1^1; //K1支道狀態(tài)指示開(kāi)關(guān)sbitbutton3=P1^2; //K2主道狀態(tài)指示開(kāi)關(guān)unsignedintnum0;voidtime0_int<unsignedinttime0_num>;voidini<> { P3=0xff; P1=0xff; P2=0xff; main_yel=0; main_gre=0; main_red=1; sub_yel=0; sub_gre=0; sub_red=1; }voidmain<>{ ini<>;while<1>{ while<<button1!=0>&&<button2!=0>&&<button3!=0>> { if<<button1!=0>&&<button2!=0>&&<button3!=0>> { main_yel=1; //主道順序 main_gre=0; main_red=0; time0_int<5000>; main_yel=0; main_gre=1; main_red=0; time0_int<55000>; main_yel=0; main_gre=0; main_red=1; } if<<button1!=0>&&<button2!=0>&&<button3!=0>> { sub_yel=1; //支道順序 sub_gre=0; sub_red=0; time0_int<5000>; sub_yel=0; sub_gre=1; sub_red=0; time0_int<25000>; sub_yel=0; sub_gre=0; sub_red=1; } } while<<button1==0>> //緊急車輛通過(guò)時(shí),兩道均不放行 { main_yel=0; main_gre=0; main_red=1; sub_yel=0; sub_gre=0; sub_red=1; } while<<button1!=0>&&<button2!=0>&&<button3==0>> //主道有車,支道無(wú)車時(shí),主道放行 { main_yel=0; main_gre=1; main_red=0; sub_yel=0; sub_gre=0; sub_red=1; } while<<button1!=0>&&<button2==0>&&<button3!=0>> //支道有車,主道無(wú)車時(shí),支道放行 { main_yel=0; main_gre=0; main_red=1; sub_yel=0; sub_gre=1; sub_red=0; } } }voidtime0_int<unsignedinttime0_num> //計(jì)時(shí)器0計(jì)時(shí)函數(shù),time0_num為計(jì)時(shí)變量,單位為ms{ num0=0; TMOD=0x11;//設(shè)置定時(shí)器0為工作方式1 TH0=<64536>/256; TL0=<64536>%256; EA=1;//開(kāi)總中斷 ET0=1;//開(kāi)定時(shí)器0中斷 TR0=1;//啟動(dòng)定時(shí)器0 while<num0<time0_num> {;} TR0=0; ET0=0; }voidtime0<>interrupt1 //計(jì)時(shí)器0中斷響應(yīng)函數(shù){ TH0=<64536>/256; //計(jì)時(shí)器計(jì)時(shí)1ms,寫(xiě)入初值 TL0=<64536>%256; num0++;}現(xiàn)對(duì)以上程序進(jìn)行具體分析并示意仿真情況。程序開(kāi)始使用#include<reg52.h>語(yǔ)句進(jìn)行預(yù)處理,把頭文件reg52.h包含在內(nèi),之后對(duì)單片機(jī)的各個(gè)端口就可以按定義來(lái)訪問(wèn)了;接著,采用sbit關(guān)鍵詞預(yù)定義了各個(gè)指示燈和狀態(tài)開(kāi)關(guān)所對(duì)應(yīng)的端口;unsignedintnum0語(yǔ)句是定義了一個(gè)無(wú)符號(hào)整型的全局變量num0;voidtime0_int<unsignedinttime0_num>是對(duì)后文計(jì)時(shí)函數(shù)的聲明以便在主程序中調(diào)用;接下來(lái)定義了初始化函數(shù)ini<>可以在開(kāi)始執(zhí)行程序的時(shí)候?qū)φ麄€(gè)系統(tǒng)進(jìn)行初始化〔見(jiàn)下圖。主函數(shù)main<>開(kāi)始先調(diào)用了ini<>進(jìn)行初始化,然后以while<1>大循環(huán)進(jìn)入控制程序,循環(huán)語(yǔ)句while<<button1!=0>&&<button2!=0>&&<button3!=0>>對(duì)三組狀態(tài)開(kāi)關(guān)檢測(cè)來(lái)確定是否為正常情況,如果是則執(zhí)行正常情況下控制主支道輪流放行:按要求主道指示燈黃燈先亮5秒以示警,接著主道綠燈亮55秒放行,最后主道紅燈亮禁止通行;同時(shí),支道指示燈黃燈先亮5秒以示警,接著支道綠燈亮25秒放行,最后支道紅燈亮禁止通行輪到主道開(kāi)始放行〔見(jiàn)下圖。如果不是則向下執(zhí)行開(kāi)始檢測(cè)是否為緊急車輛通過(guò)的情況,若緊急車輛通過(guò)則兩道均不放行〔見(jiàn)下圖。如果不是則向下執(zhí)行開(kāi)始檢測(cè)是否為主道有車,支道無(wú)車的情況,是則主道放行,支道禁止〔見(jiàn)下圖。如果不是則向下執(zhí)行開(kāi)始檢測(cè)是否為支道有車,主道無(wú)車的情況,是則支道道放行,主道禁止〔見(jiàn)下圖。至此程序執(zhí)行了完整一個(gè)周期,之后循環(huán)執(zhí)行,系統(tǒng)運(yùn)行正確。結(jié)論本文通過(guò)對(duì)基于8051系列單片機(jī)的交通信號(hào)燈模擬控制系統(tǒng)的設(shè)計(jì)及仿真,取得了如下結(jié)果:=1\*GB3①提出了一種以AT89C51超低功耗單片機(jī)作為控制核心,獲得符合理想設(shè)計(jì)要求的技術(shù)方案;=2\*GB3②取得了使用Proteus6軟件進(jìn)行仿真實(shí)驗(yàn)調(diào)試來(lái)得到最終方案結(jié)果的低成本、高效率、不同于以往的設(shè)計(jì)方法,具有具有一定的新穎性;=3\*GB3③設(shè)計(jì)了一種價(jià)格低廉、通用性強(qiáng)的交通信號(hào)燈模擬控制系統(tǒng),對(duì)后續(xù)的交通模擬實(shí)驗(yàn)

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝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ù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 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)論