城市交道口交通燈控制系統(tǒng)_第1頁
城市交道口交通燈控制系統(tǒng)_第2頁
城市交道口交通燈控制系統(tǒng)_第3頁
城市交道口交通燈控制系統(tǒng)_第4頁
城市交道口交通燈控制系統(tǒng)_第5頁
已閱讀5頁,還剩25頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

主要探討內(nèi)容目標(biāo)特色此設(shè)計(jì)主要是通過單片機(jī)系統(tǒng)的I/O輸出限制交通信號紅綠燈的亮暗。由52內(nèi)已經(jīng)燒入的程序編排各個I/O口的輸出。使信號燈按肯定規(guī)則編排亮暗。由集成減法計(jì)數(shù)器芯片和BCD-7段數(shù)碼管譯碼芯片實(shí)現(xiàn)路口倒計(jì)時功能。若交道口出現(xiàn)緊急狀況,可以通過單片機(jī)鍵盤產(chǎn)生中斷,從而進(jìn)入另外的設(shè)定程序。并通過鍵盤手動限制各方向信號燈??紤]到現(xiàn)代社會越來越強(qiáng)調(diào)對殘疾人的關(guān)愛,本設(shè)計(jì)中設(shè)計(jì)了盲道蜂鳴器提示器,用于提示盲人過公路。開展本課題的意義及工作內(nèi)容:當(dāng)代社會,紅綠燈安裝在各個道口上,已經(jīng)成為疏導(dǎo)交通車輛最常見和最有效的手段,這一技術(shù)早在19世紀(jì)就已經(jīng)出現(xiàn)。1858年,在英國倫敦主要街頭安裝了以燃煤氣為光源的紅、藍(lán)兩色的機(jī)械扳手式信號燈,用以指揮馬車通行,這是世界上最早的交通信號燈。從那以后經(jīng)過不斷地發(fā)展,漸漸演化成現(xiàn)在的交通信號燈限制系統(tǒng),紅燈亮表示“停止”,綠燈亮表示“通行”,黃燈是警告信號。信號燈的出現(xiàn),使交通得以有效管制,對于疏導(dǎo)交通流量、提高道路通行實(shí)力削減交通事故有明顯效果?,F(xiàn)在有很多方法可以實(shí)現(xiàn)交通信號燈限制,本文采納51系列單片機(jī)AT89S52為中心器件來設(shè)計(jì)交通燈限制系統(tǒng),下面就設(shè)計(jì)過程及關(guān)鍵技術(shù)作具體介紹。二、文獻(xiàn)綜述AT89S52是一種低功耗、高性能CMOS8位微限制器,具有8K在系統(tǒng)可編程Flash存儲器。運(yùn)用Atmel公司高密度非易失性存儲器技術(shù)制造,與工業(yè)80C51產(chǎn)品指令和引腳完全兼容。片上Flash允許程序存儲器在系統(tǒng)可編程,亦適于常規(guī)編程器。在單芯片上,擁有靈活的8位CPU和在系統(tǒng)可編程Flash,使得AT89S52為眾多嵌入式限制應(yīng)用系統(tǒng)供應(yīng)高敏捷、超有效的解決方案。AT89S52具有以下標(biāo)準(zhǔn)功能:8k字節(jié)Flash,256字節(jié)RAM,32位輸入輸出口線,看門狗定時器,2個數(shù)據(jù)指針,三個16位定時器/計(jì)數(shù)器,一個6向量2級中斷結(jié)構(gòu),全雙工串行口,片內(nèi)晶振剛好鐘電路。另外,AT89S52可降至0Hz靜態(tài)邏輯操作,支持2種軟件可選擇節(jié)電模式??臻e模式下,CPU停止工作,允許RAM、定時器/計(jì)數(shù)器、串口、中斷接著工作。掉電愛護(hù)方式下,RAM內(nèi)容被保存,振蕩器被凍結(jié),單片機(jī)一切工作停止,直到下一個中斷或硬件復(fù)位為止[10]。圖4.4單片機(jī)管腳圖各管腳功能說明如下:掉電模式下,晶振停止工作,激活掉電模式的指令是最終一條執(zhí)行指令。片上RAM和特殊功能寄存器保持原值,直到掉電模式終止。掉電模式可以通過硬件復(fù)位和外部中斷退出。復(fù)位重新定義了SFR的值,但不變更片上RAM的值。在VCC未復(fù)原到正常工作電壓時,硬件復(fù)位不能無效,并且應(yīng)保持足夠長的時間以使晶振重新工作和初始化[。Proteus軟件是來自英國Labcenterelectronics公司的EDA工具軟件,Proteus軟件有十多年的歷史,在全球廣泛運(yùn)用,除了其具有和其它EDA工具一樣的原理布圖、PCB自動或人工布線及電路仿真的功能外,其革命性的功能是,它的電路仿真是互動的,針對微處理器的應(yīng)用,還可以干脆在基于原理圖的虛擬原型上編程,并實(shí)現(xiàn)軟件源碼級的實(shí)時調(diào)試,如有顯示及輸出,還能看到運(yùn)行后輸入輸出的效果,協(xié)作系統(tǒng)配置的虛擬儀器如示波器、邏輯分析儀等。城市交道口交通燈限制系統(tǒng)【摘要】本設(shè)計(jì)采納單片機(jī)限制城市交道口紅綠燈,依據(jù)所要求的時序進(jìn)行紅綠切換,并制作了交道口模型安裝交通燈。 針對基本要求,該系統(tǒng)完成了依據(jù)所規(guī)定的時序進(jìn)行紅綠燈切換。并且考慮到為殘疾人供應(yīng)盲道提示音,設(shè)計(jì)了用不同頻率聲音提示不同通行狀態(tài)的蜂鳴器提示系統(tǒng)。 針對發(fā)揮部分要求,設(shè)計(jì)了與紅綠燈切換同步的倒計(jì)時系統(tǒng)。另外設(shè)計(jì)了兩種特殊狀態(tài):手動限制與特種車輛限制。一、引言……………3二、系統(tǒng)設(shè)計(jì)…………32.1設(shè)計(jì)要求………………… 32.1.1基本要求……………… 32.1.2發(fā)揮要求…………………42.2總體設(shè)計(jì)…………………… 42.2.1設(shè)計(jì)思路……………… 42.2.2方案論證比較………… 4三、硬件系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)…………… 53.1主要元器件選擇……………… 53.1.1HD7279簡介…………………53.1.28155簡介……………………63.2電路設(shè)計(jì)…………………7四、軟件系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)………………………84.1系統(tǒng)軟件設(shè)計(jì)結(jié)構(gòu)……………84.2子模塊設(shè)計(jì)結(jié)構(gòu)………………84.2.1主循環(huán)模塊………………84.2.2正常運(yùn)行模塊……………94.2.3非正常運(yùn)行模塊…………94.2.4Int0中斷模塊…………104.2.5T0中斷模塊…………104.2.6Int1中斷模塊…………114.2.7T1中斷模塊……………11五、系統(tǒng)測試…………………125.1測試儀器與設(shè)備……………125.2系統(tǒng)測試方案………………125.2.1發(fā)送指定限制字…………125.2.2基本功能邏輯狀態(tài)檢驗(yàn)…………………125.2.3附加功能邏輯狀態(tài)檢驗(yàn)…………………125.3系統(tǒng)測試結(jié)果 125.3.1發(fā)送指定限制字測試結(jié)果…………125.3.2基本功能邏輯狀態(tài)檢驗(yàn)測試結(jié)果…………………135.3.3附加功能邏輯狀態(tài)檢驗(yàn)測試結(jié)果…………………13六、結(jié)束語………………………13致謝……………13參考文獻(xiàn)………………………13附錄A、系統(tǒng)元器件清單……………………… 15附錄B、系統(tǒng)運(yùn)用文檔………… 16附錄C、程序清單…………………17一、引言當(dāng)代社會,紅綠燈安裝在各個道口上,已經(jīng)成為疏導(dǎo)交通車輛最常見和最有效的手段,這一技術(shù)早在19世紀(jì)就已經(jīng)出現(xiàn)。1858年,在英國倫敦主要街頭安裝了以燃煤氣為光源的紅、藍(lán)兩色的機(jī)械扳手式信號燈,用以指揮馬車通行,這是世界上最早的交通信號燈。從那以后經(jīng)過不斷地發(fā)展,漸漸演化成現(xiàn)在的交通信號燈限制系統(tǒng),紅燈亮表示“停止”,綠燈亮表示“通行”,黃燈是警告信號。信號燈的出現(xiàn),使交通得以有效管制,對于疏導(dǎo)交通流量、提高道路通行實(shí)力削減交通事故有明顯效果?,F(xiàn)在有很多方法可以實(shí)現(xiàn)交通信號燈限制,本文采納51系列單片機(jī)AT89S52為中心器件來設(shè)計(jì)交通燈限制系統(tǒng)[1]。二、系統(tǒng)設(shè)計(jì)2.1設(shè)計(jì)要求設(shè)計(jì)并制作一個城市交道口交通燈限制系統(tǒng)。2.1.1基本要求在板上制作交道口模型,裝上交通燈。交道口模型如圖所示。圖交通燈限制系統(tǒng)模型圖交通燈限制規(guī)則如下: 1)每個街口有左拐、右拐、直行及行人四種指示燈。每個燈有紅、綠兩種顏色。自行車與汽車共用左拐、右拐和直行燈。 2)共有四種通行方式: ①車輛南北直行、各路右拐,南北向行人通行。南北向通行時間為1分鐘,各路右拐比直行滯后10秒鐘開放。 ②南北向左拐、各路右拐,行人禁行。通行時間為1分鐘。 ③東西向直行、各路右拐,東西向行人通行。東西向通行時間為1分鐘,各路右拐比直行滯后10秒鐘開放。④東西向左拐、各路右拐。行人禁行。通行時間為1分鐘。3)在通行結(jié)束前10秒鐘,綠燈閃耀直至結(jié)束。不必自制電源。2.1.2發(fā)揮要求有倒計(jì)時時間顯示。若交道口出現(xiàn)緊急狀況,交警可將系統(tǒng)設(shè)置成手動:全路口車輛禁行、行人通行。緊急狀況結(jié)束后再轉(zhuǎn)成自動狀態(tài)。當(dāng)有119、120等特種車輛通過時,糸統(tǒng)自動轉(zhuǎn)為特種車放行,其它車輛禁止?fàn)顟B(tài)。特種車輛通過15秒鐘后,糸統(tǒng)自動復(fù)原,用模型車演示。其它自選措施。2.2總體設(shè)計(jì) 此設(shè)計(jì)主要是通過單片機(jī)系統(tǒng)的I/O輸出限制交通信號紅綠燈的亮暗。由52內(nèi)已經(jīng)燒入的程序編排各個I/O口的輸出。使信號燈按肯定規(guī)則編排亮暗。由集成減法計(jì)數(shù)器芯片和BCD-7段數(shù)碼管譯碼芯片實(shí)現(xiàn)路口倒計(jì)時功能。 若交道口出現(xiàn)緊急狀況,可以通過單片機(jī)鍵盤產(chǎn)生中斷,從而進(jìn)入另外的設(shè)定程序。并通過鍵盤手動限制各方向信號燈。 另外考慮到現(xiàn)代社會越來越強(qiáng)調(diào)對殘疾人的關(guān)愛,本設(shè)計(jì)中設(shè)計(jì)了盲道蜂鳴器提示器,用于提示盲人過公路[3]。2.2.1設(shè)計(jì)思路 由上可知,單片機(jī)可以限制交通燈的亮暗和倒計(jì)時功能,但所須要IO口數(shù)較多。故設(shè)計(jì)時必需有所取舍??紤]到紅綠燈部分用較少IO口勢必增加其限制邏輯的困難度,使得限制邏輯的優(yōu)化和升級變得特別困難,而倒計(jì)時功能基本不須要作修改,故采納集成電路限制倒計(jì)時,IO口限制紅綠燈的方案。2.2.2方案論證比較紅綠燈部分運(yùn)用單色發(fā)光二極管 紅綠燈須要紅色發(fā)光二極管和綠色發(fā)光二極管。其優(yōu)點(diǎn)是原理簡潔易懂,電路設(shè)計(jì)簡潔,顯示效果明顯。缺點(diǎn)是焊接工作量比較大。運(yùn)用一管兩色發(fā)光二極管 一管兩色發(fā)光二極管事實(shí)上是由一只紅色發(fā)光二極管和一只綠色發(fā)光二極管反向并接而得。其限制邏輯如下表:表一管兩色發(fā)光二極管發(fā)光規(guī)則正端(以紅燈為參考)負(fù)端紅燈綠燈11暗暗10亮暗01暗亮00暗暗因此,可通過IO口限制該二極管兩端的電平來實(shí)現(xiàn)對其的亮暗限制。但該二極管亮度比較差,且不符合日常生活中運(yùn)用的紅綠燈系統(tǒng),故不采納該方案。倒計(jì)時計(jì)數(shù)器部分采納單片機(jī)軟件計(jì)數(shù)器 單片機(jī)可實(shí)現(xiàn)比較精確的延時,通過IO口發(fā)送數(shù)據(jù),經(jīng)過鎖存器鎖存后輸出到7段數(shù)碼管進(jìn)行顯示。其優(yōu)點(diǎn)在于電路比較簡潔,且單片機(jī)限制比較敏捷,便于對緊急狀況進(jìn)行處理。缺點(diǎn)是占用IO口過多。由于交通燈部分已經(jīng)占用了較多IO口,故不采納該方案。采納74系列集成電路計(jì)數(shù)器 利用集成電路設(shè)計(jì)一個六進(jìn)制計(jì)數(shù)器和一個十進(jìn)制計(jì)數(shù)器并級聯(lián),形成一個六十進(jìn)制計(jì)數(shù)器進(jìn)行計(jì)數(shù)。技術(shù)結(jié)果通過BCD-7段數(shù)碼管譯碼集成電路驅(qū)動數(shù)碼管顯示。只要占用一個IO口給計(jì)數(shù)器送脈沖信號即可。另外若有須要可用一IO口限制其復(fù)位。實(shí)際設(shè)計(jì)中采納該方案。盲道指示部分采納蜂鳴器進(jìn)行提示 蜂鳴器的優(yōu)點(diǎn)是結(jié)構(gòu)比較簡潔,運(yùn)用便利。缺點(diǎn)在于頻率單一,只能通過響與不響提示盲人。由于該設(shè)計(jì)中只需體現(xiàn)其思想即可,故采納該方案。采納喇叭進(jìn)行提示 喇叭的優(yōu)點(diǎn)在于可以實(shí)現(xiàn)語音提示,顯得更人性化。并且可以通過發(fā)出不同聲音來指導(dǎo)盲人行動。缺點(diǎn)在于須要預(yù)先存儲數(shù)據(jù)進(jìn)行播放,耗費(fèi)系統(tǒng)資源,而且由于對相關(guān)的盲道提示約定不熟識,故不予采納。特種車輛檢測紅外檢測法特種車輛放射紅外,在路口安裝紅外接收裝置,并連接到單片機(jī)最小系統(tǒng)的中斷口響應(yīng)。其優(yōu)點(diǎn)是紅外感應(yīng)距離比較遠(yuǎn)。缺點(diǎn)是感應(yīng)接收的穩(wěn)定性不好,而且特種車輛須要做電路,比較困難。本設(shè)計(jì)中不采納該方案[5]。霍爾傳感器檢測法 霍爾傳感器是將磁性信號轉(zhuǎn)化為電信號的傳感器。特種車輛攜帶磁性物質(zhì),路口的霍爾元件檢測到磁性物質(zhì)后,使單片機(jī)最小系統(tǒng)的中斷口響應(yīng)。其優(yōu)點(diǎn)是電路比較簡潔,而且由于霍爾元件是集電極開路器件,可以在同一路口安裝多個霍爾元件,以線與的方式搜集磁信號;特種車輛的模擬也只需以磁鋼即可。其缺點(diǎn)是感應(yīng)距離很小,大約為幾個厘米??紤]到該設(shè)計(jì)中模型尺寸比較小,故采納該方案[4]。三、硬件系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)3.1主要元器件選擇.HD7279 1、HD7279(A)是一片具有串行接口的,可同時驅(qū)動8位共陰式數(shù)碼管(或64只獨(dú)立LED)的智能顯示驅(qū)動芯片,該芯片同時還可連接多達(dá)64鍵的鍵盤矩陣,單片機(jī)即可完成LED顯示、鍵盤接口的全部功能。HD7279A芯片內(nèi)部含有譯碼器,可干脆接受16進(jìn)制碼,HD7279A還同時具有2種譯碼方式,HD7279(A)還具有多種限制指令,如消隱、閃耀、左移、右移、段尋址等。HD7279A具有片選信號,可便利地實(shí)現(xiàn)多于8位的顯示或多于64鍵的鍵盤接口,如圖2.1所示。HD7279具有的特點(diǎn):1、串行接口,無需外圍元件可干脆驅(qū)動LED。2、各位獨(dú)立限制譯碼/不譯碼及消隱和閃耀屬性。3、左移和右移指令。4、具有短尋址指令,便利限制獨(dú)立LED。5、64鍵鍵盤限制器,內(nèi)含去抖電路。6、有DIP和SOIC兩種封裝形式供選擇。圖3.1HD72792、HD7279A的引腳說明[10]3、HD7279的讀鍵盤數(shù)據(jù)指令D7D6D5D4D3D2D1D0D7D6D5D4D3D2D1D000010101d7d6d5d4d3d2d1d0該指令從HD7279A讀出當(dāng)前的按鍵代碼。與其它指令不同,此吩咐的前一個字節(jié)0001010B為微限制器傳送到HD7279A的指令,而后一個字節(jié)d0-d7則為HD7279A返回的按鍵代碼,其范圍是0-3FH(無鍵按下時為0XFF),此指令的前半段,HD7279A的DADT引腳處于高阻態(tài)輸入狀態(tài),以接受來自微處理器的指令;在指令的后半段,DATA引腳從輸入狀態(tài)轉(zhuǎn)為輸出狀態(tài),輸出鍵盤代碼的值。當(dāng)HD7279A的DATA檢測到有效的按鍵時,KEY引腳從高電平變?yōu)榈碗娖?,并始終保持到按鍵結(jié)束。在此期間,假如HD7279A接收到‘讀鍵盤數(shù)據(jù)指令’,則輸出當(dāng)前按鍵的鍵盤代碼;假如在收到‘讀鍵盤指令’時沒有有效按鍵,HD7279A將輸出FFH(1111111B)[6]。3.1.28155簡介8155用于并行擴(kuò)展單片機(jī)的I/O口,有p0的8個位變?yōu)?2個口(PA、PB、PC)單片機(jī)要訪問一個芯片就必須要通過地址信號。地址信號一般包括了片選信號和功能信號,但一個芯片假如內(nèi)部還有寄存器存儲單元(這些單元本身是有地址的即孤立的地址選擇信號),因此單片機(jī)要訪問一個芯片供應(yīng)的地址信號首先要滿意能夠找到具有特定功能的芯片,然后又要能在該芯片內(nèi)找到想要訪問的單元。因此,對于單片機(jī)外部的設(shè)備,單片機(jī)要想對其讀/寫就必須要定義該外部設(shè)備的地址,這個地址就包括了外部地址和內(nèi)部地址的組合稱為一個單片機(jī)可以限制訪問的單元地址。即使芯片稱為單片機(jī)系統(tǒng)中的一部分了。而對于芯片本身而言的,內(nèi)部寄存器地址是不變的,如8155中吩咐寄存器地址為*****000B。而如何形成單片機(jī)可以訪問的地址呢?首先要明白單片機(jī)的地址線構(gòu)成方式,對于51單片機(jī),一般是P0口為8位地址,假如須要十六位,則p2口則供應(yīng)高8位地址。訪問外部芯片就須要由單片機(jī)供應(yīng)能夠訪問到芯片內(nèi)部的一個完整地址。記住的是訪問內(nèi)部所需的地址信號是從固定位置輸入的,因此具體芯片的地址是多少是由硬件連線確定的。關(guān)鍵是看單片機(jī)是以什么方式供應(yīng)的信號,是只8位還是16位,是僅有p1口還是P1P2口分別供應(yīng)地址信號的[3]。

通常P1口供應(yīng)內(nèi)部選擇信號,P2供應(yīng)外部選擇信號,兩者結(jié)合形成該芯片的地址了。其余信號按狀況可以定位1或者0。由于主控芯片為8051,IO口較少,故選用8155進(jìn)行IO口擴(kuò)展。8155可擴(kuò)展PA口(8位)、PB口(8位)、PC口(6位)??梢允瓜到y(tǒng)的擴(kuò)展實(shí)力大大加強(qiáng)[9]。3.3電路設(shè)計(jì)倒計(jì)時7段數(shù)碼管電路設(shè)計(jì)圖倒計(jì)時電路交通燈電路設(shè)計(jì)圖交通燈電路圖 3.蜂鳴器電路圖蜂鳴器電路 4.霍爾元件檢測電路圖霍爾元件檢測電路四、軟件系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)4.1系統(tǒng)軟件設(shè)計(jì)結(jié)構(gòu)本系統(tǒng)軟件在單片機(jī)最小系統(tǒng)的基礎(chǔ)上進(jìn)行開發(fā),并采納8051C語言編程實(shí)現(xiàn)??紤]到系統(tǒng)邏輯的困難性,全部系統(tǒng)要求的功能都設(shè)計(jì)成子模塊的形式,以保證邏輯的正確性與系統(tǒng)維護(hù)的便利性。在系統(tǒng)軟件中,共采納了INT0,INT1,T0,T1四種中斷方式,其中Int0中斷用于鍵盤限制,Int1中斷用于限制特種車輛運(yùn)行模式,T0用于秒時鐘定時,T1用于盲道指示(蜂鳴器頻率)限制。此外,系統(tǒng)設(shè)置了多種運(yùn)行標(biāo)記,用于限制系統(tǒng)運(yùn)行狀態(tài)[2]。系統(tǒng)軟件結(jié)構(gòu)體如下:圖4.1.1系統(tǒng)軟件結(jié)構(gòu)體框圖4.2子模塊設(shè)計(jì)結(jié)構(gòu)4.2.1主循環(huán)模塊圖4.2.1主循環(huán)模塊流程圖4.2.2正常運(yùn)行模塊圖4.2.2正常運(yùn)行模塊流程圖4.2.3非正常運(yùn)行模塊圖4.2.3非正常運(yùn)行模塊4.2.4Int0中斷模塊[7]圖4.2.4INT0中斷模塊流程圖4.2.5T0中斷模塊圖4.2.5T0中斷模塊流程4.2.6Int1中斷模塊圖4.2.6INT1中斷模塊流程圖4.2.7T1中斷模塊圖4.2.7T1中斷模塊流程圖五、系統(tǒng)測試5.1測試儀器與設(shè)備此次設(shè)計(jì)所用到及進(jìn)行指標(biāo)測試的儀器主要如下,見表5.1:表5.1、儀器列表序列儀器名稱型號數(shù)量1示波器XJ432820MHz12高精度七路直流穩(wěn)壓電源DF1733-7220V/50Hz13數(shù)字萬用表MS8200G15.2系統(tǒng)測試方案5.2.1發(fā)送指定限制字 步驟一:8155PA口全部置低電平,PB口全部置高電平,假如全部紅燈暗,而綠燈皆亮,通過初步測試;步驟二:依次置PA口其中一位低電平,其余高電平,置PB為PA狀態(tài)反相,假如對應(yīng)紅綠燈為一亮一暗關(guān)系,則通過測試;步驟三:置PC3口為高電平,假如蜂鳴器持續(xù)鳴響;置PC3口為低電平,假如蜂鳴器停止鳴響,說明蜂鳴器限制正常;5.2.2基本功能邏輯狀態(tài)檢驗(yàn) 按設(shè)計(jì)的時序邏輯運(yùn)行系統(tǒng),檢測對應(yīng)邏輯狀態(tài)是否吻合。 時序邏輯表如表所示:表時序邏輯表PAPBTime(s)說明Step10x7d0x820~10南北直行Step20x590xa610~50南北直行,各路右行Step3(fresh)0x590xa6~0x0050~60通行結(jié)束前10sStep40x9b0x6460~110南北左行,各路右行Step5(fresh)0x9b0x64~0x00110~120通行結(jié)束前10sStep60xee0x11120~130東西直行Step70xca0x35130~170東西直行,各路右行Step8(fresh)0xca0x35~0x00170~180通行結(jié)束前10sStep90xd30x2c180~230東西左行,各路右行Step10(fresh)0xd30x2c~0x00230~240通行結(jié)束前10sError0xfc0x03車輛禁行,行人通行Special0xff0x00全部通行禁止5.2.3附加功能邏輯狀態(tài)檢驗(yàn)1、手動限制運(yùn)行測試:第一次按0號鍵進(jìn)入手控運(yùn)行狀態(tài),之后按1~6號鍵將產(chǎn)生對應(yīng)step1,step2,step4,step6,step7,step9的邏輯狀態(tài); 2、特種車輛通過測試(霍爾元件替代):用磁鋼放置在霍爾元件上方時,系統(tǒng)進(jìn)入Special對應(yīng)的邏輯狀態(tài),且起先倒計(jì)時15秒,之后系統(tǒng)復(fù)原原來的狀態(tài)接著運(yùn)行。5.3系統(tǒng)測試結(jié)果5.3.1發(fā)送指定限制字測試結(jié)果 步驟一:通過測試 步驟二:通過測試 步驟三:通過測試5.3.2基本功能邏輯狀態(tài)檢驗(yàn)測試結(jié)果 時序邏輯滿意要求,但須要調(diào)整紅綠燈亮度,實(shí)現(xiàn)亮度的一樣。5.3.3附加功能邏輯狀態(tài)檢驗(yàn)測試結(jié)果 鍵盤限制單步運(yùn)行正常,復(fù)原原來狀態(tài)正常; 霍爾元件中斷運(yùn)行正常,但復(fù)原原來狀態(tài)有時不穩(wěn)定。六、結(jié)束語 本系統(tǒng)以單片機(jī)AT89S52芯片為核心,通過計(jì)數(shù)器、譯碼器、鎖存器等簡潔數(shù)字芯片實(shí)現(xiàn)了紅綠燈限制和倒計(jì)時顯示功能。在設(shè)計(jì)中力求將間潔的電路設(shè)計(jì)和敏捷的軟件編程相結(jié)合,以此來完成各項(xiàng)要求。其中很多地方還存在肯定的缺陷,可以進(jìn)一步改進(jìn),如倒計(jì)時顯示易受干擾、倒計(jì)時與紅綠燈時序有時會簡潔不同步。在此次設(shè)計(jì)過程中,遇到了很多問題和困難,最終通過細(xì)致分析后均已比較勝利地加以解決,基本達(dá)到了各項(xiàng)要求。附錄A:系統(tǒng)元器件清單 中心限制系統(tǒng)元件清單,如表附錄1.1:序列型號數(shù)量備注1、ATC89521單片機(jī),本系統(tǒng)核心2、M81C551擴(kuò)展I/O口3、HD7279A1實(shí)現(xiàn)單片機(jī)與鍵盤和數(shù)碼管之間的通訊4、LSD574RFF1*8共陰八段數(shù)碼管,顯示物體所在位置5、SN74CH5732鎖存器6、SN74CH14N2施密特觸發(fā)反響器7、SN74CH2442三態(tài)緩沖器表附錄1.1、中心限制系統(tǒng)元件清單 倒計(jì)時電路系統(tǒng)元件清單,如表附錄1.2:序列型號數(shù)量備注174HC1922十進(jìn)制計(jì)數(shù)器274HC482BCD-7段數(shù)碼管譯碼器374HC2442三態(tài)緩沖器4LSD574RFF1*8共陰八段數(shù)碼管,顯示倒計(jì)時表附錄1.2、倒計(jì)時電路系統(tǒng)元件清單 霍爾元件電路系統(tǒng)元件清單,如表附錄1.3:序列型號數(shù)量備注131442霍爾傳感器表附錄1.3、霍爾元件電路系統(tǒng)元件清單 紅綠燈元件電路系統(tǒng)元件清單,如表附錄1.4:序列型號數(shù)量備注174HC5732鎖存器2發(fā)光二極管若干模擬紅綠燈表附錄1.4、紅綠燈元件電路系統(tǒng)元件清單附錄B系統(tǒng)運(yùn)用文檔系統(tǒng)正常狀況下自動運(yùn)行,假如要手動限制系統(tǒng)運(yùn)行,須要在自動運(yùn)行狀態(tài)下按下“0”按鍵“1”:限制南北直行按鍵“2”:限制南北直行,各路右行按鍵“3”:南北左行,各路右行按鍵“4”:限制東西直行按鍵“5”:限制東西直行,各路右行按鍵“6”:限制東西左行,各路右行假如在手控狀態(tài)下再次按“0”附錄C程序清單#include<reg51.h>#include<absacc.h>//******地址定義******#defineHC573XBYTE[0x3FFF]#definePCMDXBYTE[0x0100]#definePAXBYTE[0x0101]#definePBXBYTE[0x0102]#definePCXBYTE[0x0103]#defineCMD0x0F//PA,PB,PC均為輸出模式#defineNSTEPA0x01#defineNSTEPB0x02#defineNSTEPC0x03#defineESTEPA0x04#defineESTEPB0x05#defineESTEPC0x06#defineHAND0x07#defineSPECIAL0x08#defineFRESH0x09#defineSTOPNUM0x10#defineNOPNUM0x11#defineRING0xff#defineRINGON0x08#defineRINGOFF0xf7#defineLEDRESET0xfe#defineLEDSTART0x01typedefunsignedcharByte;typedefunsignedintInteger;sbitclk=P1^1; //clk連接于P1.1sbitdat=P1^2; //dat連接于P1.2sbitkey=P1^3; //key連接于P1.3sbitcs=P1^4; //csatP1.4//***函數(shù)定義***voidlong_delay(void);//長延時,50usvoidshort_delay(void);//短暫延時,30usvoidsend_byte(Byte); //發(fā)送一個字節(jié)Bytereceive_byte(void);voidwrite7279(Byte,Byte); //寫入到HD7279Byteread7279(Byte);voidmain_loop(void);//紅綠燈主循環(huán)voidsystem_restore(void);Byteget_scount(Byte);voidled_reset(void);voidring(void);Byteisnormal=1;Byteisinterrupt=0;Byteislight=1;Byteisring=0;Byteispulse=1;Bytetcount=0;Byteori_tcount=0;Bytebcount=0;Byteint1_count=0;Bytestep=NSTEPA;Byteori_step=NOPNUM;Bytekey_number=0;Bytepc_number=1;//Bytecounter=0;Integerscount=0;Integerori_scount=0;//***主程序***main(){ Integeri; for(i=0;i<0x2000;i++); send_byte(0xa4); PCMD=CMD; PC=0x01; led_reset(); TMOD=0x21; TH1=0x00; TL1=0x00; TR1=1; TH0=0x4c; TL0=0x00; TR0=1; EA=1; ET0=1; ET1=1; EX0=1; EX1=1; while(1){ if(!isinterrupt){ //正常運(yùn)行狀況 if(isnormal){ main_loop(); } //異樣運(yùn)行 else{ if(step==HAND){ if(scount==STOPNUM){//假如進(jìn)入手動限制狀態(tài),先進(jìn)入緊急狀況 step=NOPNUM; PCMD=CMD; PA=0xfc; PB=0x03; } } elseif(step!=SPECIAL){ main_loop(); step=NOPNUM; } } } else{ isinterrupt=0; if(key_number<0x07){ if(isnormal){ if(key_number==0x00){ isnormal=0; ori_step=step; ori_scount=scount; ori_tcount=tcount; step=HAND; scount=STOPNUM; write7279(0xcf,key_number); } } elseif(step!=SPECIAL){ write7279(0xcf,key_number); switch(key_number){ case0x00: system_restore(); break; case0x01: step=NSTEPA; scount=0; break; case0x02: step=NSTEPB; scount=20; break; case0x03: step=NSTEPC; scount=120; break; case0x04: step=ESTEPA; scount=240; break; case0x05: step=ESTEPB; scount=260; break; case0x06: step=ESTEPC; scount=360; break; default: break; } } } } }}//INT0中斷,用于鍵盤中斷處理voidint0_inter()interrupt0{ isinterrupt=1; key_number=read7279(0x15); while(!key);}//T0中斷,用于0.5s計(jì)時器voidt0_inter()interrupt1{ Bytetemp; TH0=0x4c; TL0=0x00; tcount++; //500ms計(jì)時完成 if(tcount==10){ tcount=0; if(isnormal){ temp=59-(scount%120)/2; write7279(0xc9,temp/10); write7279(0xc8,temp%10); scount++; switch(scount){ case20: step=NSTEPB; break; case120: led_reset(); step=NSTEPC; break; case240: led_reset(); step=ESTEPA; break; case260: step=ESTEPB; break; case360: led_reset(); step=ESTEPC; break; case480: led_reset(); step=NSTEPA; scount=0; break; case100: case220: case340: case460: step=FRESH; break; default: break; } if(step==FRESH){ PCMD=CMD; if(scount<120){ if(islight){ islight=0; PB=0x00; } else{ islight=1; PB=0xa6; } } elseif(scount<240){ if(islight){ islight=0; PB=0x00; } else{ islight=1; PB=0x64; } } elseif(scount<360){ if(islight){ islight=0; PB=0x00; } else{ islight=1; PB=0x35; } } elseif(scount<480){ if(islight){ islight=0; PB=0x00; } else{ islight=1; PB=0x2c; } } } if(ispulse){ HC573=0; ispulse=0; } else{ HC573=1; ispulse=1; } } elseif(step==SPECIAL){ scount++; if(scount==30){ system_restore(); } else{ temp=(31-scount)/2; write7279(0xcf,temp/10); write7279(0xce,temp%10); } } }}voidint1_inter()interrupt2{ if(isnormal){ if(!int1_count){ int1_count=1; } else{ ori_step=step; ori_scount=scount; ori_tcount=tcount; step=SPECIAL; scount=0; isnormal=0; PCMD=CMD; PA=0xff; PB=0x00; write7279(0xcf,0x01); write7279(0xce,0x05); } }}voidt1_inter()interrupt3{ if(step==SPECIAL){ if(bcount!=RING){ bcount=RING; pc_number=pc_number|RINGON; PC=pc_number; isring=1; } } elseif(step==NSTEPA||step==NSTEPB){ if(bcount>100){ bcount=0; } bcount++; if(bcount==100){ bcount=0; ring(); } } elseif(step==ESTEPA||step==ESTEPB){ if(bcount>150){ bcount=0; } bcount++; if(bcount==150){ bcount=0; ring(); } } elseif(step==FRESH){ if(bcount>50){ bcount=0; } bcount++; if(bcount==50){ bcount=0; if(scount<120||(scount>340&&scount<360)){ ring(); } } } elseif(bcount){ bcount=0; pc_number=pc_number&RINGOFF; PC=pc_number; isring=0; }}voidmain_loop(void){ PCMD=CMD; if(step==NSTEPA&&scount==0){ PA=0x7d; PB=0x82; } elseif(step==NSTEPB&&scount==20){ PA=0x59; PB=0xa6; } elseif(step==NSTEPC&&scount==120){ PA=0x9b; PB=0x64; } elseif(step==ESTEPA&&scount==240){ PA=0xee; PB=0x11; } elseif(step==ESTEPB&&scount==260){ PA=0xca; PB=0x35; } elseif(step==ESTEPC&&scount==360){ PA=0xd3; PB=0x2c; }}voidsystem_restore(void){ step=ori_step; scount=get_scount(ori_step); main_loop(); scount=ori_scount; tcount=ori_tcount; send_byte(0xa4); isnormal=1;}Byteget_scount(Bytestep){ switch(step){ caseNSTEPA: return0; caseNSTEPB: return20; caseNSTEPC: return120; caseESTEPA: return240; caseESTEPB: return260; caseESTEPC: return360; default: return0; }}voidled_reset(void){ PCMD=CMD; pc_number=pc_number&LEDRESET; PC=pc_number; long_delay(); pc_number=pc_number|LEDSTART; PC=pc_number;}voidring(void){ if(isring){ pc_number=pc_number&RINGOFF; PC=pc_number; isring=0; } else{ pc_number=pc_number|RINGON; PC=pc_number; isring=1; }}voidwrite7279(Bytecmd,Bytedta){ send_byte(cmd); send_byte(dta);} Byteread7279(Bytecommand){ send_byte(command); return(receive_byte());}voidsend_byte(Byteout_byte){ Bytei; cs=0; long_delay(); for(i=0;i<8;i++){ if(out_byte&0x80){ dat=1; } else{ dat=0; } clk=1; short_delay(); clk=0; short_delay(); out_byte=out_byte*2; } dat=0;}Bytereceive_byte(void){ Bytei,in_byte; dat=1; //settoinputmode long_delay(); for(i=0;i<8;i++){ clk=1; short_delay(); in_byte=in_byte*2; if(dat){ in_byte=in_byte|0x01; } clk=0; short_delay(); } dat=0; return(in_byte);}voidlong_delay(void){ Bytei; for(i=0;i<0x30;i++);}voidshort_delay(void){ Bytei; for(i=0;i<8;i++);}基于AT89C52的微限制器的固體電導(dǎo)率測量摘要電導(dǎo)率測量裝置已經(jīng)發(fā)展到用微型限制器來求得電解固體的電導(dǎo)率。該電導(dǎo)率的求取是通過改進(jìn)型交變電流惠更斯電橋網(wǎng)絡(luò)來實(shí)現(xiàn)電解溶液的電導(dǎo)率測量德。該儀器系統(tǒng)允許記錄下電導(dǎo)性和溫度的數(shù)值并且把數(shù)據(jù)發(fā)送到電子計(jì)算機(jī)以便讓電子計(jì)算機(jī)處理從而完成整個過程。一個專用的8位微型限制器AT89C55WD以及它相匹配的外部設(shè)備共同組成了測量的硬件設(shè)施。這篇文章具體介紹了如何測量電導(dǎo)率和溫度以及如何限制溫度和怎樣計(jì)算得出結(jié)果。關(guān)鍵詞:電導(dǎo)率測量;溫度測量;微限制器———————————————————————————————————————————1.引言由于單位成本的削減和工作性能的上升使得在運(yùn)用儀器和測量工藝的技術(shù)應(yīng)用上越來越多的用到單片機(jī)這個微型限制器。這個改進(jìn)了的系統(tǒng)能夠用于補(bǔ)償、標(biāo)度和線性化技術(shù),也可以實(shí)現(xiàn)微型限制器在系統(tǒng)限制以及數(shù)據(jù)需求和處理方面的應(yīng)用。這套基于微型限制器的高級系統(tǒng)的特點(diǎn)是體積小、可編程、簡潔、牢靠性強(qiáng)和制作成本低。整塊電路可以由一塊單一電路板制作而成,這樣在電路運(yùn)行過程中就能削減噪音干擾。這篇文章系統(tǒng)陳述了充分運(yùn)用微型限制器等工具的優(yōu)勢來探討電解溶液的電導(dǎo)性以及求取溶液電導(dǎo)率的數(shù)值。而電導(dǎo)性正好是用于分析目的的電解溶液的重要特性。溶液的導(dǎo)電系數(shù)跟電解液的濃度、電解液的本身自然特性、當(dāng)前離子的運(yùn)動速率和溫度等因素休戚相關(guān)。探討發(fā)覺,溫度每上升一攝氏度,電解溶液的導(dǎo)電系數(shù)就會上升二到三個百分點(diǎn)。一個好的傳導(dǎo)性測量儀器系統(tǒng)應(yīng)當(dāng)具有實(shí)時測量的實(shí)力,能夠精確計(jì)算出快速變更著的電解溶液阻值的實(shí)力。實(shí)時的傳導(dǎo)性和溫度測量的潛在應(yīng)用在我們生活中應(yīng)用的例子舉不勝舉,比如在估算水的硬度;在種植的花草樹木疾病的廣度的測量;在土壤探討;在糖和紙的制作加工;在溶液的整桶染色等等各個方面。最為精確的測量未知阻值的方法是惠斯登電橋法,其精確性主要有組成該電橋的多個因素確定。據(jù)報(bào)道,一個改良的以電路平衡技術(shù)為基礎(chǔ)的惠斯登溝通網(wǎng)絡(luò)電橋已經(jīng)在測量方面取得了較高的精確性。在現(xiàn)在的工作中,基于改良型惠斯登電橋網(wǎng)絡(luò)的操作放大器已經(jīng)應(yīng)用于溶液的電導(dǎo)率測量。一種基于微型限制器的電導(dǎo)率測量的裝置已經(jīng)應(yīng)用于測量電導(dǎo)率和阻值隨時間快速變更的溶液的溫度。該圖顯示了電導(dǎo)率測量裝置的模塊組圖。改良型惠斯登電橋網(wǎng)絡(luò)在模塊A里面,有一個鉑電池為溝通惠斯登電橋網(wǎng)絡(luò)供應(yīng)電源,這個鉑電池有一個固定參數(shù),這個參數(shù)是1.0cm-1。傳導(dǎo)單元模塊浸在大口徑燒杯的溶液里面。由于電解溶液的電導(dǎo)率發(fā)生的變更,導(dǎo)致了改良型惠斯登電橋電路失去平衡,電路失去平衡的狀態(tài)表現(xiàn)在輸出電壓的變更上。從電橋網(wǎng)絡(luò)輸出的電壓的精度將在模塊B的精度校正器中得到調(diào)整。模塊D是K型鎳鎘熱電偶,作為溫度傳感器,用來檢測溶液中的溫度。模塊E是一個測量放大器,該測量放大器能夠放大來自熱電偶的熱電勢。2.模塊C是多路復(fù)用器(IC4051),它是用于選擇傳導(dǎo)性和溫度,多路復(fù)用器的輸出是作為數(shù)字信號輸入模塊F(IC7109)。7109是一個模擬信號轉(zhuǎn)換成數(shù)字信號的元器件,簡稱模數(shù)轉(zhuǎn)換器。該轉(zhuǎn)換器是一個低能量集合裝置,它能為運(yùn)用者供應(yīng)高精確性、低噪音、低零漂、是具有性能高又經(jīng)濟(jì)宜用兩重屬性結(jié)合成的12位的志向數(shù)模轉(zhuǎn)換裝置,其運(yùn)行時能達(dá)到每分鐘30轉(zhuǎn),能快速地把電導(dǎo)率和溫度的模擬信號轉(zhuǎn)化成數(shù)字信號。模塊H是Atmel公司生產(chǎn)的一個微限制器AT89C55WD。AT89C55WD是一個低電壓,高性能8位互補(bǔ)金屬氧化物半導(dǎo)體微型限制器。AT89C55WD有20KB的可編程和可擦寫內(nèi)存以及256字節(jié)的隨機(jī)存儲器容量。該微限制器有四個并行接口,三個16位定時器和計(jì)數(shù)器,八個中斷源,一個可編程串行接口,低功耗空閑和掉電模式,三級加密程序存儲器。P1和P2口作為輸入端口,而

溫馨提示

  • 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. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論