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

正文內(nèi)容

基于at89s52單片機的交通燈信號控制器設(shè)計-閱讀頁

2024-12-26 02:29本頁面
  

【正文】 控制行車 , 對一般情況下的安全行車、車輛分流發(fā)揮著作用 , 但根據(jù)實際行車過程中出現(xiàn)的情況 , 主要有如下幾個缺點 : 車道輪流放行時間相對固定 , 不能根據(jù)實際情況中兩個車道的車輛多少來設(shè)置改變通行 時間; 沒有考慮緊急車輛通過時 , 兩車道應(yīng)采取的措施。因此如何合理高效地利用交通燈指示交通情況,是一個亟需解決的問題。 設(shè)計要求 假設(shè)一十字路口為南北方向(主干道)車道和東西方向(支干道),設(shè)計一個交通燈信號控制電路,具體要求如下: : ⑴ 南北方向車道和東西方 向車道兩條交叉道路上的車輛交替運行,主干道每次通行時間設(shè)為 40秒、支干道每次通行時間為 25秒; ⑵ 在綠燈轉(zhuǎn)為紅燈時,要求黃燈先亮 5秒鐘,才能變換運行車道; ⑶ 黃燈亮時,要求每秒閃亮一次; ⑷ 東西方向、南北方向車道除了有紅、黃、綠燈指示外,每一種燈亮的時間都用顯示器進行顯示(采用計時的方法)。 2 系統(tǒng)總體方案及硬件設(shè)計 總體方案 本設(shè)計使用的是單片機作為核心的控制元件,使得電路的可靠性比較高,功能也比較強大,而且可以隨時更新系統(tǒng),根據(jù)道路情況適時調(diào)整交通燈的狀態(tài),全面有效地利用交通燈指示交通情況。 電路由下列部分組成:時鐘電路、復(fù)位電路、鍵盤電路、交通燈演示電路、 LED顯示電路。 AT89S52是一個低功耗高性能單片機, 40 個引腳, 32 個外部雙向輸入 /輸出( I/O)端口,同時內(nèi)含 2 個外中斷口, 2 個 16 位 可編程定時計數(shù)器, 2 個全雙工串行通信口,AT89S52 可以按照常規(guī)方法進行編程,也可以在線編程。 引腳使用說明: I/O 端口的編程實際上就是根據(jù)應(yīng)用電路的具體功能和要求對 I/O 寄存器進行編程。對于用作輸入的端口可以不考慮方向初始化; 4. 用作輸入的 PO 管腳,需上拉電阻; 5. 最后對 I/O 端口進行輸出 (寫數(shù)據(jù)輸出寄存器 )和輸入 (讀端口 )編程,完成對外圍電路的相應(yīng)功能。 XTAL2:來自反向振蕩器的輸出。當振蕩器復(fù)位器件時,要保持 RST 腳兩個機器周期的高電平。各干 道有一組紅、綠、黃三色的指示燈,指揮車輛和行人安全通行。 此交通燈系統(tǒng)工作過程分為 4 個狀態(tài)。過 35 秒后轉(zhuǎn)為狀態(tài) 1,南北方向綠燈滅,黃燈每秒閃亮一次,東西方向還是紅燈亮。過 20 秒后轉(zhuǎn)為狀態(tài) 3,南北方向還是紅燈亮,東西方向綠燈滅,黃燈每秒閃亮一次。 交通燈的狀態(tài)表如下: 狀態(tài)(時間) 主干道 — SN 支干道 — WE 紅 — R 綠 — G 黃 — Y 紅 — R 綠 — G 黃 — Y 0 0 1 0 1 0 0 1 0 0 1/0 1 0 0 2 1 0 0 0 1 0 3 1 0 0 0 0 1/0 表 01 交通燈的狀態(tài)表 注: 1: SN— 南北方向; WE— 東西方向。 時鐘電路模塊 時鐘電路模塊給單片機提供特定的時鐘周期,以備單片機工作使用。這里采用的是 12MHZ 的晶振,以給單片機提供 12MHz 的機器周期。 其電路圖如圖 02 所示: 5 圖 02 時鐘電路模塊 復(fù)位電路模塊 單片機系統(tǒng)的復(fù)位電路采用的是上電 +按鈕復(fù)位的電路形式,其中電阻 R采用10KΩ的阻值,電容采用電容值為 10μ F的電解電容。因為單片機的輸出電流非常小,為了使發(fā)光二極管能夠發(fā)光或者更 亮,二極管采用共陽極接法。同時南北方向同色燈連同上拉電阻一起并聯(lián),東西方向也是一樣,以保證同一干道上的同色燈同時點亮或熄滅,并且流過二極管的電流不會因并聯(lián)而減半。 本次交通燈設(shè)計采用兩位一體的共陰極數(shù)碼管來顯示相應(yīng)的時間。 位選端接 LED 的共陰極,故低電位有效。為了增加驅(qū)動能力,每個 LED 上都加上一個上拉電阻,接入 +5V 電源,本次設(shè)計采用的是排阻。而且上拉電阻的電流也通過 LED,這自然就增加了 LED 的發(fā)光亮度。 K0接 P3^7,當主干道有車而支干道無車時,按一下 K0鍵,可以實現(xiàn)主干道通行。 K2 接 P3^3,利用中斷 1的方式對緊急情況進行處理,即使東南西北四個方向都亮紅燈停車。在相應(yīng)中斷 0期間, K0, K1 起調(diào)整時間的作用。 K3 接 P3^5,按一下 K3,可以使系統(tǒng)退出 中斷,回到主程序。程序部分由主程序、定時器程序、 T0/T1 中斷服務(wù)程序、鍵盤掃描程序、交通燈點亮程序、LED數(shù)碼管掃描顯示程序和延時程序構(gòu)成。數(shù)碼管為七段數(shù)碼管,由 8 個發(fā)光二極管構(gòu)成,通過不同的組合可用來顯示數(shù)字 09,字符 AF、H、 L、 P、 R、 U、 Y、符號“ ”及小數(shù)點“ .”。 共陰極數(shù)碼管的 8個發(fā)光二極管的陰極連接在一起接位選端。數(shù)碼管各個陽極管腳接各段的驅(qū)動電路輸出端,既 P0 口。 本設(shè)計采用逐位掃描的方式實現(xiàn)相應(yīng)時間的動態(tài)顯示。經(jīng)延時一段時間,將 P2^1 置低電位選中南北方向數(shù)碼管的十位,此時 P0 口的數(shù)據(jù)接傳送給它顯示。通過不斷 改變 P0 口、 P2口的輸出,用循環(huán)掃描的方式,即可實現(xiàn) LED 的動態(tài)顯示。 P1^1P1^6 依次 連接南北的紅燈、綠燈、黃燈 ,東西的紅燈、綠燈,黃燈。當交通燈的剩余時間為零時,改變 P1口的輸出,進而改變交通燈的點亮狀態(tài)。 定時器程序 本次設(shè)計用定時計數(shù)器 T1, TMOD 是定時計算器的工作方式控制寄存器,通過對該寄存器的操作可以改變 T1的工作方式。本次設(shè)計的定時計數(shù)器工作在工作方式 1, M M0 設(shè)定為 01。工作方式 1 的內(nèi)部計數(shù)器寬度為 16 位,由 TH1 的 8 位和 TL1 的 8 位組成。 驅(qū)動事件之間的時間間隔即為定時計數(shù)器的定時寬度。本次設(shè)計的外部時鐘頻率為 12MHz。 定是 1s的流程圖如圖 09 所示: N Y Y N 定時器初始化 開始 count=0 溢出中斷 結(jié)束 圖 09 定時器流程圖 計數(shù) conut++ count=20 12 鍵盤程序 為了實現(xiàn)設(shè)置通行時間、緊急情況處理、有車放 行等功能,本次設(shè)計中有鍵盤電路。 按鍵實際是一種常用的按鈕,按鍵未按下時,鍵的兩個觸點處于斷開狀態(tài),按鍵按下時,兩個觸點閉合。 抖動時間一般為 5— 10ms。在第一次檢測到有鍵按下時不動作,延時 10ms,再次檢測按鍵的狀態(tài),如果仍保持閉合狀態(tài),則確定真的有鍵按下。 /*定義無符號字符常量 */ for(t。t) /*執(zhí)行 t次循環(huán) */ { for(i=2021。i) /*由于時鐘脈沖是 12MHz,執(zhí)行 2021次循環(huán)的時間為 1ms*/ { } } } 通行時間設(shè)置程序 本次設(shè)計通過外部中斷 0設(shè)置各個干道的通行時間。響應(yīng)中斷 0期間, CPU 禁止響應(yīng)其他中斷,按鍵 K0, K1 起調(diào)整時間的作用。通行時間可以直接在數(shù)碼管上顯示出來。 CPU 再開放總中斷。考慮道路通車的實際情況,時間太短無法通過交 通路口, 13 所以本設(shè)計中通行時間下限為 6s(綠燈 1s,黃燈 5s)。 緊急情況處理程序 本次設(shè)計通過外部中斷 1實現(xiàn)對緊急情況的處理。外部中斷 1 的請求信號有 P3^3 引腳輸入,采用低電平有效的方式相應(yīng)中斷,即 IT0=1。由于不確定要持續(xù)多久,不采用倒計時的方式顯示時間,數(shù)碼管顯示 00。 狀態(tài)調(diào)整程序 在實際交通系統(tǒng)中,很有可能會不時的出現(xiàn)一個車道有車而另一車道無車的情況,為了更合理高效的指揮交通,本次設(shè)計的交通燈控制系統(tǒng) 能立即讓有車道放。 采用查詢的方式不斷掃描 K0、 K1,看有沒有鍵按下。 此時交通狀態(tài)的改變是因為另一路無車,所以不需要設(shè)置返回,直接按主程序循環(huán)指揮。 4 Proteus 仿真 14 正常工作狀態(tài) 本次設(shè)計的交通燈控制系統(tǒng)共有四個工作狀態(tài),分別是狀態(tài) 0、狀態(tài) 狀態(tài) 2和狀態(tài) 3。歷時 35 秒。歷時 5秒。歷時 20 秒。 16 歷時 5秒。 1 圖 13 狀態(tài) 3 此狀態(tài)結(jié)束后再回到狀態(tài) 0,如此循環(huán)進行。各個干道的通行時間有數(shù)碼管顯示。多次按鍵即可調(diào)整到合理的通行時間。按一下 K3,可以使系統(tǒng)退出中斷,回到主程序斷點處。 19 結(jié) 論 本系統(tǒng)就是采用了以單片機 AT89S52 為中心 部件來設(shè)計交通燈信號控制器,通過芯片的 P1 口來點亮交通指示燈,采用 P0 口和 P2 口作為 2 位 LED 數(shù)碼管的驅(qū)動接口,以顯示各個方向的交通燈的持續(xù)時間, P3 口設(shè)置紅綠燈時間。當有緊急車輛需要通過時,兩個車道均顯示紅燈以禁止通行。 20 致 謝 畢業(yè)論文暫告收尾,這也意味著我在大學的四年的學習生涯即將結(jié)束。在這四年的時間里,我在學習上和思想上都受益非淺。論文的寫作是枯燥艱辛而又富有挑戰(zhàn)的。在此,我特別要感謝我的導師張云龍老師。沒有張云龍老師的辛勤栽培、孜孜教誨,就沒有我論文的順利完成。最后要感謝我的家人以及我的朋友對我的理解、支持、鼓勵和幫助,正是因為有了他們,我所做的一切才更有意義;也正是因為有了他們,我才有了追求進步的勇氣和信心。 /*段碼組合 ,P0口 ,高有效 */ uchar code b[4]={0x0D,0x0E,0x07,0x0B}。 /****P1口 .低有效 */ char SN=35,WE=40。 /*SN_G表示南北方向的綠燈, WE_G表示東西方向的綠燈,Y表示黃燈 */ uchar i,k=0,count=0。 /*定義函數(shù) */ void light()。 /*定義函數(shù) */ void ledthrough()。 /*定義函數(shù) */ sbit K0=P3^7。/*開關(guān) K1接 P3^6管腳 */ sbit K2=P3^3。/*開關(guān) K3接 P3^5管腳 */ sbit K4=P3^2。 /**計數(shù)器用模式 1,為 16位計數(shù)器 *****/ TH1=(6553650000)/256。 /*0xB0*//*計 50000個數(shù),用時 50ms*/ IT0=1。/*允許 T0中斷 */ TR0=1。/*CPU開放總中斷 */ EX0=1。/*允許外部中斷 1中斷,即允許響應(yīng)端口 P3^3(K2)中斷 */ } /*中斷 0處理程序 */ void int0(void) interrupt 0 { EA=0。/*東西南北方向均紅燈亮 */ TR0=!TR0。)/*無條件循環(huán) */ { ledthrough()。 /*延時,把抖動的時間拋掉 */ if(K0==0) { while(!K0) /*當松開 K0開關(guān)時,跳出循環(huán),執(zhí)行后面的程序 */ { ledthrough()。 /*南北方向綠燈時間 +1*/ if((SN_G+Y)==100) /*南北方向通行時間 (綠 燈加黃燈時間 )為 100s*/ SN_G=1。 /*延時,把抖動的時間拋掉 */ if(K1==0) { while(!K1) /*當松開 K1開關(guān)時,跳出循環(huán),執(zhí)行后面的程序 */ { ledthrough()。 /*東西方向綠燈時間 +1*/ if((WE_G+Y)==100) /*東西方向通行時間 (綠燈加黃燈時間 )為 100s*/ WE_G=1。 /*延時,把抖動的時間拋掉 */ if(K3==0) { while(!K3) /*當松開 K3開關(guān)時,跳出循環(huán),執(zhí)行后面的程序 */ { ledthrough()。 /*啟動計數(shù)器 */ EA=1。/*跳出 */ } 25 } } } /*中斷 1處理程序 */ void int1(void) interrupt 2 { P1=0x6C,P0=a[0]。 /*CPU禁止響應(yīng)一切中斷 */ TR0=!TR0。)/*無條件循環(huán) */ { leddrive()。 /*延時,把抖動的時間拋掉 */ if(K3==0) { while(!K3) /*當松開 K3開關(guān)時,跳出循環(huán),執(zhí)行后面的程序 */ { leddrive()。 /*CPU開放總中斷 */
點擊復(fù)制文檔內(nèi)容
研究報告相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1