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

正文內(nèi)容

單片機(jī)控制的交通燈控制系統(tǒng)設(shè)計(jì)[5篇范文]-預(yù)覽頁(yè)

 

【正文】 交通燈的點(diǎn)亮狀態(tài)。本次設(shè)計(jì)的定時(shí)計(jì)數(shù)器工作在工作方式1,MM0設(shè)定為01。驅(qū)動(dòng)事件之間的時(shí)間間隔即為定時(shí)計(jì)數(shù)器的定時(shí)寬度。定是1s的流程圖如圖09所示: 鍵盤(pán)程序?yàn)榱藢?shí)現(xiàn)設(shè)置通行時(shí)間、緊急情況處理、有車(chē)放行等功能,本次設(shè)計(jì)中有鍵盤(pán)電路。抖動(dòng)時(shí)間一般為5—10ms。/*定義無(wú)符號(hào)字符常量*/ for(t。i)/*由于時(shí)鐘脈沖是12MHz,執(zhí)行2000次循環(huán)的時(shí)間為1ms*/{ } } } 通行時(shí)間設(shè)置程序本次設(shè)計(jì)通過(guò)外部中斷0設(shè)置各個(gè)干道的通行時(shí)間。通行時(shí)間可以直接在數(shù)碼管上顯示出來(lái)??紤]道路通車(chē)的實(shí)際情況,時(shí)間太短無(wú)法通過(guò)交通路口,所以本設(shè)計(jì)中通行時(shí)間下限為6s(綠燈1s,黃燈5s)。外部中斷1的請(qǐng)求信號(hào)有P3^3引腳輸入,采用低電平有效的方式相應(yīng)中斷,即IT0=1。 狀態(tài)調(diào)整程序在實(shí)際交通系統(tǒng)中,很有可能會(huì)不時(shí)的出現(xiàn)一道有車(chē)而另一道無(wú)車(chē)的情況,為了更合理高效的指揮交通,本次設(shè)計(jì)的交通燈控制系統(tǒng)能立即讓有車(chē)道放。此時(shí)交通狀態(tài)的改變是因?yàn)榱硪宦窡o(wú)車(chē),所以不需要設(shè)置返回,直接按主程序循環(huán)指揮。歷時(shí)25秒。歷時(shí)15秒。 時(shí)間調(diào)整按一下開(kāi)關(guān)K4,系統(tǒng)響應(yīng)外部中斷0,進(jìn)入通行時(shí)間調(diào)整程序。如圖15所示:圖15 通行時(shí)間+1 按一下K3,可以使系統(tǒng)退出中斷,回到主程序斷點(diǎn)處,從下一個(gè)狀態(tài)開(kāi)始執(zhí)行新設(shè)置的通行時(shí)間。如圖19所示:圖19 南北方向有車(chē)而東西方向無(wú)車(chē)時(shí),南北放行當(dāng)東西方向有車(chē)而南北方向無(wú)車(chē)時(shí),按K1,系統(tǒng)會(huì)自動(dòng)跳轉(zhuǎn)到狀態(tài)2,實(shí)現(xiàn)東西方向通行。在繪制設(shè)計(jì)圖連接各個(gè)元器件的時(shí)候,要盡量使布線合適,從而使所作設(shè)計(jì)圖清晰易看。將生成的文件加載到系統(tǒng)圖的單片機(jī)上,就可以進(jìn)行系統(tǒng)仿真。在編輯程序中,對(duì)C語(yǔ)言又有了新的認(rèn)識(shí)和理解。在此向編者表示誠(chéng)摯的謝意。/*****/ char SN=25,WE=30。/*定義函數(shù)*/void light()。/*定義函數(shù)*/ sbit K0=P3^7。/*開(kāi)關(guān)K3接P3^5管腳*/ sbit K4=P3^2。/*0xB0*//*計(jì)50000個(gè)數(shù),用時(shí)50ms*/IT0=1。/*CPU開(kāi)放總中斷*/ EX0=1。/*東西南北方向均紅燈亮*/TR0=!TR0。/*延時(shí),把抖動(dòng)的時(shí)間拋掉*/if(K0==0){ while(!K0)/*當(dāng)松開(kāi)K0開(kāi)關(guān)時(shí),跳出循環(huán),執(zhí)行后面的程序*/{ledthrough()。/*延時(shí),把抖動(dòng)的時(shí)間拋掉*/if(K1==0){ while(!K1)/*當(dāng)松開(kāi)K1開(kāi)關(guān)時(shí),跳出循環(huán),執(zhí)行后面的程序*/{ ledthrough()。/*延時(shí),把抖動(dòng)的時(shí)間拋掉*/if(K3==0){ while(!K3)/*當(dāng)松開(kāi)K3開(kāi)關(guān)時(shí),跳出循環(huán),執(zhí)行后面的程序*/{ledthrough()。/*跳出*/}} } }/*中斷1處理程序*/ void int1(void)interrupt 2{ P1=0x6C,P0=a[0]。)/*無(wú)條件循環(huán)*/{leddrive()。/*CPU開(kāi)放總中斷*/ TR0=!TR0。/*調(diào)用交通燈函數(shù)*/led()。/*南北方向顯示時(shí)間為南北方向綠燈通行時(shí)間,東西方向顯示時(shí)間為南北方向綠燈通行時(shí)間加黃燈閃亮?xí)r間*/} }/*南北無(wú)車(chē)而東西有車(chē)*/ if(K1==0)/*K1=0*/{delay(10)。/*清零*/k=2。/*計(jì)50000個(gè)數(shù),用時(shí)50ms*/count++。/*清零*/ if(SN==0||WE==0)/*當(dāng)SN=0或者WE=0時(shí),執(zhí)行程序*/{k++。/*南北方向顯示時(shí)間為南北方向綠燈通行時(shí)間,東西方向顯示時(shí)間為南北方向綠燈通行時(shí)間加黃燈閃亮?xí)r間*/ case 1:SN=Y,WE=Y。/*南北方向顯示時(shí)間為東西方向綠燈通行時(shí)間加黃燈閃亮?xí)r間,東西方向顯示時(shí)間為東西方向綠燈通行時(shí)間*/ case 3:SN=Y,WE=Y。t0。/*交通燈對(duì)應(yīng)著k的值變化*/ if(P1==c[1]amp。/*延時(shí)50ms*/ P1=0x6E。TL1=(65536300000)%256。/*延時(shí)*/P2=b[1],P0=a[SN/10]。/*延時(shí)*/P2=b[3],P0=a[WE/10]。/*延時(shí)*/P2=b[1],P0=a[(SN_G+Y)/10]。/*延時(shí)*/P2=b[3],P0=a[(WE_G+Y)/10]。/*延時(shí)*/P2=b[1]。/*延時(shí)*/ P2=b[3]。)/*無(wú)條件循環(huán)*/{key()。define uint unsigned int//宏定義“uint”用來(lái)定義無(wú)符號(hào)整型數(shù)。//顯示數(shù)碼管的個(gè)位數(shù)//數(shù)碼管位選定義sbit smg_we1 = P2^0。char dx_s = 0。//東西黃燈sbit nb_red= P2^7。//寫(xiě)24C02時(shí)鐘sbit sda=P3^5。bit flag_dx_nb。//模式uchar dx_time = 30,nb_time = 20。delay()。delay()。delay()。scl=1。(ivoid init()//初始狀態(tài),24C02的數(shù)據(jù)和時(shí)鐘線都拉高 { sda=1。}void writebyte(uchar date)//寫(xiě)24C02 { uchar i,temp。delay()。delay()。delay()。sda=1。delay()。}void writeadd(uchar address,uchar date)//寫(xiě)24C02 {start()。//寫(xiě)入存儲(chǔ)單元地址 respons()。//停止信號(hào) }uchar readadd(uchar address)//讀24C02 { uchar date。writebyte(address)。//讀命令 respons()。/***********************數(shù)碼位選函數(shù)*****************************/ void smg_we_switch(uchar i){ switch(i){case 0: smg_we1 = 0。break。smg_we4 = 1。smg_we3 = 0。smg_we2 = 1。} }/******************************************************************** * 名稱 : delay_1ms()* 功能 : 延時(shí)1ms函數(shù) * 輸入 : q * 輸出 : 無(wú)***********************************************************************/ void delay_1ms(uint q){ uint i,j。for(i=0。//段選delay_1ms(3)。//開(kāi)定時(shí)器0中斷TR0 = 1。if(nbif(flag_dx_nb == 1){ dx=dx_s5。if(dx_s == 0){if(flag_dx_nb == 1)dx_s = nb_time。dis_smg[1] = smg_du[dx / 10]。//滅dx_green = 0。//滅nb_yellow = 1。//滅 nb_red= 0。//亮} else { } dx_yellow = 1。//滅nb_red= 1。}else if(dx_s //當(dāng)小于5秒時(shí)黃燈要閃了{(lán)dx_red= 0。//滅nb_green = 1。//按鍵值void key()//獨(dú)立按鍵程序 { static uchar key_new。 0x1f)!= 0x1f)//按鍵按下 { delay_1ms(1)。(key_new == 1)){key_new = 0。//得到按鍵值case 0x1d: key_can = 2。//得到按鍵值case 0x17: key_can = 4。/********************設(shè)置函數(shù)*****************/ void key_with(){ if(key_can == 4)//交通管制按鍵{flag_jdgz ++。//滅dx_yellow = 1。//滅if(flag_jdgz == 2)// 東西紅燈南北綠燈{dx_red= 0。//滅nb_green = 0。//亮dx_yellow = 1。//滅} if(flag_jdgz == 4)// 南北綠燈 {dx_red= 1。//滅nb_green = 0。//滅dx_yellow = 0。//亮} } if(key_can == 1)//設(shè)置鍵 { menu_1 ++。} if(key_can == 3){dx_time。//顯示為A dis_smg[2] = smg_du[dx_time % 10]。//加1if(nb_time 99)nb_time = 99。//顯示為B dis_smg[1] = smg_du[11]。//保存數(shù)據(jù)} }/******************************************************************** * 名稱 : main()* 功能 : 實(shí)現(xiàn)燈的閃爍 * 輸入 : 無(wú) * 輸出 : 無(wú)***********************************************************************/ void main(){ time0_init()。//讀取地址4處一個(gè)字節(jié)給if(nb_time99)nb_time=20。if(key_can 20)key_with()。display()。//50ms value ++。flag_1s = 1。本系統(tǒng)采用MSC51系列單片機(jī)ATSC51和可編程并行I/O接口芯片8255A為中心器件來(lái)設(shè)計(jì)交通燈控制囂,實(shí)現(xiàn)了能根據(jù)實(shí)際車(chē)流量通過(guò)8051芯片的P1口設(shè)置紅、綠燈燃亮?xí)r間的功能;紅綠燈循環(huán)點(diǎn)亮。今天,單片機(jī)及其應(yīng)用技術(shù)的發(fā)展速度、深度及其廣度,在國(guó)防、科學(xué)研究、政治經(jīng)濟(jì)、教育文化等方面幾乎無(wú)所不及。而在單片機(jī)中,這些部份,全部被做到一塊集成電路芯片中了,所以就際=缸單片(單芯片)機(jī),單片機(jī)即微控制器(Microniroller μC)有一些單片機(jī)中除了上述部份外,還集成了其它部份如AID,DIA,定時(shí)計(jì)數(shù)器,RTC,各種串行接口等。通常A口、B口作為輸入輸出的數(shù)據(jù)端口。 74LS373簡(jiǎn)介SN74LS373。當(dāng)OE接地時(shí),若G為高電平,741Ls373接收由PPU輸出的地址信號(hào);如果G為低電平,則將地址信號(hào)鎖存。黃燈亮提示人們注意紅、綠燈的狀態(tài)即將切換,且黃燈燃亮?xí)r間為東西、南北兩千道的公共停車(chē)時(shí)問(wèn)。控制器的軟件設(shè)計(jì) 每秒鐘的設(shè)定延時(shí)方法可以有兩種:一種是利用NCS51內(nèi)部定時(shí)器才生溢出中斷來(lái)確定1秒的時(shí)間,另一種是采用軟延時(shí)的方法。 1秒的方法我們采用在主程序中設(shè)定一個(gè)初值為20的軟件計(jì)數(shù)器和使TO定時(shí)5O毫秒,這樣每當(dāng)TO到50毫秒時(shí)cPu就響應(yīng)它的溢出中斷請(qǐng)求,進(jìn)入他的中斷服務(wù)子程序。機(jī)器周期與主頻有關(guān),機(jī)器周期是主頻的12倍,所以一個(gè)機(jī)器周期的時(shí)間為12*(1/6M)=2us。因此,8031通常需要擴(kuò)展。 8255與8051的連接,我們用8031的地址采用全譯碼方式,:0時(shí)片選有效,其他無(wú)效。2004第四篇:?jiǎn)纹瑱C(jī):交通燈控制系統(tǒng)設(shè)計(jì)交通燈控制系統(tǒng)設(shè)計(jì)摘要:本系統(tǒng)由單片機(jī)系統(tǒng)、鍵盤(pán)、LED 顯示、交通燈演示系統(tǒng)組成。我們考慮了兩種電源方案方案一:采用獨(dú)立的穩(wěn)壓電源。綜上所述,我們選擇第二種方案。方案二:完全采用點(diǎn)陣式LED 顯示。權(quán)衡利弊,第三種方案可互補(bǔ)一二方案的優(yōu)缺,我們決定采用方案三以實(shí)現(xiàn)系統(tǒng)的顯示功能。方案二: 直接在IO口線上接上按鍵開(kāi)關(guān)。先設(shè)定一些標(biāo)號(hào)如圖2-1 所示。依據(jù)上述的車(chē)輛行駛的狀態(tài)圖,可以列出各個(gè)路口燈的邏輯表,由于相向的燈的狀態(tài)圖是一樣的,所以只需寫(xiě)出相鄰路口的燈的邏輯表;根據(jù)圖2-3 可以看出,相鄰路口的燈它們的狀態(tài)在相位上相差180176。2.交通燈顯示時(shí)間的理論分析與計(jì)算東西和南北方向的放行時(shí)間的長(zhǎng)短是依據(jù)路口的各個(gè)方向平時(shí)的車(chē)流量來(lái)設(shè)定,并且SSSS4各個(gè)狀態(tài)保持的時(shí)間之有嚴(yán)格的對(duì)應(yīng)關(guān)系,其公式如下所示。圖中74LS04的作用是倒相和驅(qū)動(dòng),它輸出的電流大約48mA,實(shí)際測(cè)試發(fā)現(xiàn)足以滿足要求,而且發(fā)光管也能達(dá)到足夠的亮度。2.倒計(jì)時(shí)顯示電路設(shè)計(jì)前面已經(jīng)分析過(guò)相向的燈的狀態(tài)和倒計(jì)時(shí)都是相同的,所以為了節(jié)省,采用兩組四個(gè)數(shù)碼管作為倒計(jì)時(shí)的顯示;同時(shí)為了節(jié)省口資源,采用串口顯示的方式驅(qū)動(dòng)數(shù)碼管。主程序中放了一個(gè)按鍵的判斷指令,當(dāng)有按鍵按下的時(shí)候,程序就自動(dòng)的跳轉(zhuǎn)到按鍵子程序處理。2.?dāng)?shù)碼管的測(cè)試將串口的和電路板上的接口連接,將寫(xiě)好的測(cè)試程序刷寫(xiě)到芯片內(nèi),開(kāi)電源即可測(cè)試。附錄 系統(tǒng)總體電路圖,東西向紅燈亮,占25秒——南北向黃燈亮,東西向紅燈亮,占5秒——南北向紅燈亮,東西向綠燈亮,占25秒——南北向紅燈亮,東西向黃燈亮,占5秒。,夜間為黃燈閃耀。//直行sbit n_left_g = P1^3。//直行sbit n_left_r = P1^7。//直行sbit n_left_y = P3^3。//直行東西方向紅燈sbit e_bike_r = P2^4。//自行車(chē)sbit e_right_y = P3^5。i s。P3 = P_P3。i 3。P1 = P_P11。P2 = P_P2。while(1){time_x(0xA5, 0x38, 0x0)。time_x(0x5A, 0x52, 0x0)。time_x(0xD2, 0x16, 0x0)。東西設(shè)置左傳、直行、右轉(zhuǎn)、自行車(chē)。蜂鳴器一個(gè)。四方向各有紅綠黃三顆燈。設(shè)計(jì)方案及原理本系統(tǒng)
點(diǎn)擊復(fù)制文檔內(nèi)容
醫(yī)療健康相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1