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

正文內(nèi)容

道路交通燈控制系統(tǒng)設(shè)計(jì)論文-預(yù)覽頁

2025-07-20 03:49 上一頁面

下一頁面
 

【正文】 輸出端為XTAL2,分別是8051的第19和18腳。發(fā)光二極管是一種特殊的二極管,導(dǎo)通時(shí)會(huì)發(fā)光()[8]??刂葡到y(tǒng)中。點(diǎn)陣式LED雖然功能強(qiáng)大,但是需要完成大量的軟件工作,系統(tǒng)設(shè)計(jì)的復(fù)雜度會(huì)增加,因此本控制系統(tǒng)選擇采用數(shù)碼管來實(shí)現(xiàn)交通燈倒計(jì)時(shí)功能的顯示。8段LED數(shù)碼管,就是在一定形狀的絕緣材料上,利用不同形狀點(diǎn)劃的發(fā)光二極管組合,排列成“8”字型的數(shù)碼管,分別引出它們的電極,點(diǎn)亮相應(yīng)的點(diǎn)劃來顯示0~9的數(shù)字[14]。此數(shù)碼管顯示的數(shù)值從綠燈的設(shè)置時(shí)間最大值一直減,每秒鐘減1,然后又從黃燈的設(shè)置時(shí)間一直減,再從紅燈的設(shè)置時(shí)間一直減,接下來又顯示綠燈時(shí)間,如此循環(huán)。根據(jù)以上特點(diǎn),本控制系統(tǒng)單片機(jī)的I/O口數(shù)可以滿足該鍵盤,并且可以完成課題中所要求的手動(dòng)設(shè)定時(shí)間的控制功能,所以本控制系統(tǒng)中應(yīng)采用獨(dú)立式鍵盤。另外,在P0口控制南北方向的時(shí)間顯示中,利用74LS245芯片驅(qū)動(dòng)數(shù)碼管。 74LS245內(nèi)部結(jié)構(gòu)當(dāng)片選端低電平有效時(shí),DIR=“0”,信號(hào)由 B 向 A 傳輸,即接收數(shù)據(jù);DIR=“1”,信號(hào)由 A 向 B 傳輸,即發(fā)送數(shù)據(jù)。接下來,還需要對(duì)軟件部分進(jìn)行設(shè)計(jì),完成整個(gè)控制系統(tǒng)的設(shè)計(jì)要求。因此,軟件是本系統(tǒng)的靈魂。它運(yùn)行于Windows操作系統(tǒng)上,可以仿真、分析(SPICE)各種模擬器件和集成電路[16]。目前支持的單片機(jī)類型有:68000系列、8051系列、AVR系列、PIC12系列、PIC16系列、PIC18系列、Z80系列、HC11系列以及各種外圍芯片??傊?,該軟件是一款集單片機(jī)和SPICE分析于一身的仿真軟件,功能極其強(qiáng)大。:開始初始化等待鍵盤事件鍵盤事件處理顯示程序處理 交通燈控制系統(tǒng)設(shè)計(jì)流程 交通燈延時(shí)程序延時(shí)方法可以有兩種,一種是利用MCS51內(nèi)部定時(shí)器才生溢出中斷來確定1秒的延時(shí)時(shí)間,另一種是采用軟件延時(shí)的方法。在方式0時(shí)M為213;在方式1時(shí)M的值為216;在方式2和3為28。在中斷子程序中,CPU先使軟件計(jì)數(shù)器減1,然后判斷它是否為0。 //設(shè)置定時(shí)器0為工作方式2 TH0 = 0x06。 //T0中斷允許 TR0 = 1。 交通燈顯示程序。鍵盤部分的軟件設(shè)計(jì)主要是對(duì)鍵盤管理芯片8051進(jìn)行編程,從而成功地讀取鍵盤值,實(shí)現(xiàn)相應(yīng)功能。若“設(shè)置鍵”按下,則按照到“設(shè)置鍵”程序處理,看是否有“增加鍵”和“減少鍵”被按下,若沒有,不進(jìn)行處理;若有,進(jìn)行相應(yīng)按鍵處理。 tP3_4++。 case 2:tEW = 1。// tSN為南北向標(biāo)志位 P1 = 0xfe。//南北向黃燈點(diǎn)亮 break。 tP3_4 = 0。(2)增加鍵處理流程N(yùn)NNYYYY延時(shí)按鍵是否還在按下延時(shí)按鍵是否釋放按鍵是否還在按下等待按鍵釋放數(shù)碼管值加1返回?cái)?shù)碼管值加10數(shù)碼管加10延時(shí) 增加鍵設(shè)計(jì)流程(3)“增加鍵”相關(guān)程序秒數(shù)加1程序:void addSecond(void){ while(P3_5 == 0)。//90為秒數(shù)增加后的最大值,當(dāng)超過90s后自動(dòng)為0 } scdEW = greenEW。 } scdEW = yellowEW。 } scdEW = greenSN + yellowSN + 1。 } scdSN = yellowSN。 //長按秒數(shù)加10 if(greenEW = 90) { greenEW = 0。 break。 scdEW = greenSN + yellowSN + 1。NNNYYYY延時(shí)按鍵是否還在按下延時(shí)按鍵是否釋放按鍵是否還在按下等待按鍵釋放數(shù)碼管值減1返回?cái)?shù)碼管值減10數(shù)碼管減10延時(shí)圖 “減少鍵”設(shè)計(jì)流程交通燈控制系統(tǒng)仿真 仿真開始時(shí),東西方向?yàn)榫G燈,數(shù)碼管從20s開始倒計(jì)時(shí);南北方向?yàn)榧t燈,數(shù)碼管從24s開始倒計(jì)時(shí)。最后,回到初始狀態(tài)進(jìn)行循環(huán)。 東西向信號(hào)燈切換時(shí)的仿真鍵盤控制重設(shè)時(shí)間的仿真通過設(shè)置鍵、增加鍵、減少鍵對(duì)交通燈控制系統(tǒng)的通行時(shí)間和暫緩?fù)ㄐ袝r(shí)間進(jìn)行設(shè)置,東西方向的通行時(shí)間為36s,南北方向等待通行時(shí)間為40s。根據(jù)系統(tǒng)設(shè)計(jì)方案,本系統(tǒng)的調(diào)試共分為三大部分:硬件調(diào)試,軟件調(diào)試和軟硬件聯(lián)調(diào)。 硬件調(diào)試交通燈控制系統(tǒng)電路板焊接工作量非常大,電路焊接完成后,首先要進(jìn)行檢查,即確認(rèn)電路無虛焊,無短路,無斷路,集成元件安裝是否正確,之后進(jìn)行電路功能模塊的分級(jí)調(diào)試,根據(jù)電路功能逐級(jí)進(jìn)行:(1)信號(hào)燈點(diǎn)亮功能調(diào)試:四種狀態(tài)下的信號(hào)燈點(diǎn)亮情況和亮度的調(diào)試; (2)倒計(jì)時(shí)功能調(diào)試:包括數(shù)碼管亮度調(diào)試和延時(shí)功能的調(diào)試; (3)鍵盤設(shè)置功能調(diào)試:包括按鍵功能調(diào)試及延時(shí)功能的調(diào)試; 軟件調(diào)試本系統(tǒng)的軟件系統(tǒng)全部用C語言來編寫,選用Keil對(duì)其進(jìn)行調(diào)試。 軟硬件聯(lián)調(diào)系統(tǒng)做好后,進(jìn)行系統(tǒng)的完整調(diào)試。該模塊接線繁瑣,極易出錯(cuò)。調(diào)試時(shí),先檢查數(shù)碼管管腳是否與相應(yīng)引腳相連,確認(rèn)無誤后,再將數(shù)碼管與仿真器相連,編制一個(gè)簡單的程序進(jìn)行調(diào)試,直到數(shù)碼管正常顯示時(shí)間為止。調(diào)試成功后再將程序?qū)懙絾纹瑱C(jī)中進(jìn)行調(diào)試,直至整個(gè)系統(tǒng)能夠正常工作。當(dāng)然,本系統(tǒng)只能通過系統(tǒng)軟件、硬件設(shè)計(jì)盡可能的減少干擾帶來的影響,而不可能完全消除干擾。(3)該交通燈控制系統(tǒng)只考慮交通道路中的車輛,未考慮到行人的通行問題。 //0xfa(P3_0和 P3_2為0,即高位有效)0xf5(P3_1和P3_3為0,即低位有效)unsigned char disEW[2]。 unsigned int scdEW,scdSN。int greenEW = 20,yellowEW = 3,greenSN = 24,yellowSN = 5。 }}//設(shè)置紅綠黃燈秒數(shù)void setSecond(void){ while(P3_4 == 0)。 break。 case 3: tSN = 1。 P1 = 0xfd。 t_num = 0。 t_key = 0。 scdSN = greenEW + yellowEW + 1。 break。 scdSN = greenSN。 break。 } if(greenEW == 1) { greenEW = 89。 case 2: if(yellowEW == 0) { yellowEW = 9。 } if(greenSN == 1) { greenSN = 89。 case 4: if(yellowSN == 0) { yellowSN = 9。 if(t_ctr == 10) { t_ctr = 0。 //顯示東西方向秒數(shù) P0 = num[disSN[v]]。 //數(shù)碼管滅}else { if(t_flash == 1333) //數(shù)碼管亮 1333=4000/3 即1秒閃3次 { t_flash = 0。 switch(tP3_4) { case 1: P3_0 = 1。 case 2: P3_0 = 1。 case 3: P3_2 = 1。 case 4: P3_2 = 1。 } if(v++ == 1) { v = 0。 } keyMemory = greenEW + 10。 case 3: greenSN = greenSN + 10。 scdSN = greenSN。 //長按秒數(shù)減10 if(greenEW 0) { greenEW = 89。 break。 scdEW = greenSN + yellowSN + 1。 if(tP3_4 == 0) { display()。 //東西向秒數(shù)減至0,標(biāo)志位加1 } if(scdSN == 0) { tSN++。 P1_5 = 1。 //東西向紅燈亮,顯示紅燈秒數(shù) P1_3 = 1。 //避免程序到此阻塞,故將其至為4 break。 P1_5 = 1。 //南北向綠燈亮,顯示綠燈秒數(shù) P1_0 = 0。 //避免程序到此阻塞,故將其至為2 break。 P1_2 = 1。 //南北向紅燈亮,顯示紅燈秒數(shù) P1_0 = 1。 break。 disEW[1] = scdEW%10。 //設(shè)置定時(shí)器0為工作方式2 TH0 = 0x06。 //T0中斷允許 TR0 = 1。 //設(shè)置東西向顯示秒數(shù) scdSN = greenEW + yellowEW + 1。 if(P3_5 == 0) { addSecond()。 //給keyMemory任意賦值,防止長按加10或減10后不能正常加減 }}
點(diǎn)擊復(fù)制文檔內(nèi)容
環(huán)評(píng)公示相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1