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

正文內(nèi)容

單片機(jī)交通燈設(shè)計資料-資料下載頁

2025-07-28 11:55本頁面
  

【正文】 PSPT1PX1PT0PX0PX0:外部中斷0優(yōu)先級設(shè)置位。PX1:外部中斷1優(yōu)先級設(shè)置位。PT0:定時器/計數(shù)器中斷0優(yōu)先級設(shè)置位。PT1:定時器/計數(shù)器中斷1優(yōu)先級設(shè)置位。PS: 串行中斷優(yōu)先級設(shè)置位。中斷優(yōu)先級只分高與低兩個級別,各位為0時,為低優(yōu)先級;各位為1時,為高優(yōu)先級。中斷優(yōu)先級控制原則: 低優(yōu)先級中斷請求不能打斷高優(yōu)先級的中斷處理;反之,則可以。 如果一個中斷請求已被響應(yīng),則同級的其他中斷響應(yīng)應(yīng)被禁止。 當(dāng)同時收到多個同級的中斷請求時,哪一個首先得到中斷服務(wù),取決于單片機(jī)內(nèi)部的查詢順序。相當(dāng)于在每一種優(yōu)先級內(nèi)還同時存在輔助優(yōu)先級結(jié)構(gòu)。如下表 中斷源 同級內(nèi)的優(yōu)先級 外部中斷0最高定時器/計數(shù)器0溢出中斷外部中斷1定時器/計數(shù)器1溢出中斷串行口 最低系統(tǒng)程序中對中斷優(yōu)先級初始化如下:PT0=1。 //設(shè)置定時器0為高優(yōu)先級PX0=0。 //設(shè)置外部中斷0為低優(yōu)先級PX1=0。 //設(shè)置外部中斷1為低優(yōu)先級通過上面的程序可知,T0優(yōu)先級最高,然后到外部中斷INT0,最后外部中斷INT1優(yōu)先級最低。當(dāng)定時器T0運(yùn)行時,外部中斷INT0、INT1不能打斷T0,被禁止響應(yīng)。當(dāng)外部中斷INT1運(yùn)行期間,假如定時器T0和外部中斷都被響應(yīng),按照優(yōu)先級的先后順序,系統(tǒng)先運(yùn)行定時器T0,待T0運(yùn)行完后才能運(yùn)行INT0,待INT0運(yùn)行完了,INT1才能執(zhí)行中斷服務(wù)。(4) 定時器控制寄存器TCON寄存器TCON的地址為88H。TCON既有定時器/計數(shù)器的控制功能,又有中斷控制功能。其中,與中斷有關(guān)的控制位共6位,其格式及位的含義如下:TF1TF0IE1IT1IE0IT0IT0:選擇外部中斷INT0的中斷觸發(fā)方式,IT0=0時采用電平觸發(fā)方式;IT0=1時采用脈沖觸發(fā)方式。IT1:選擇外部中斷INT1的中斷觸發(fā)方式,其功能與IT0類同。IE0:外部中斷INT0的中斷請求標(biāo)志位。當(dāng)檢測到INT0引腳有中斷請求信號時,此位由硬件置1;在中斷響應(yīng)完成后轉(zhuǎn)向中斷處理子程序時,再由硬件自動清0.IE1:外部中斷INT1的終端請求標(biāo)志位,其功能與IE0類似。TF0:片內(nèi)定時器/計數(shù)器0溢出中斷請求標(biāo)志位。當(dāng)定時器/計數(shù)器0溢出發(fā)生時,此位由硬件置1;在中斷響應(yīng)完成后轉(zhuǎn)向中斷處理子程序時,再由硬件自動清0.TF1:片內(nèi)定時器/計數(shù)器1溢出中斷請求標(biāo)志位,其功能與TF0類同。由以上對定時器控制寄存器的解釋,結(jié)合系統(tǒng)對定時器控制寄存器的初始化程序:IT0=0。 IT1=1。 可知外部中斷INT0、INT1的中斷觸發(fā)方式。外部中斷服務(wù)子程序主要用來處理緊急情況,當(dāng)有緊急車通過時,通過人工控制將2個方向的車都停止運(yùn)行,點亮所有紅燈,并持續(xù)10s。下次中斷來時恢復(fù)以前的狀態(tài)。用一個標(biāo)志位FLAG半段是第一次進(jìn)入還是恢復(fù)狀態(tài),CPU響應(yīng)中斷調(diào)用控制函數(shù)statusdis運(yùn)行緊急控制中斷當(dāng)前程序,保護(hù)斷點 恢復(fù)現(xiàn)場轉(zhuǎn)入INT0中斷服務(wù)入口中斷返回保護(hù)現(xiàn)場 INT0緊急情況中斷處理流程圖本設(shè)計程序中處理緊急情況中斷函數(shù)如下:Void int_int0() interrupt 0 using 2 { unsigned char waittimel,sec1,time1,jtd1,jtdh1,p331。 //進(jìn)中斷時保存現(xiàn)場用的 EX0=0;//禁止外部中斷0, waittime1=waittime。sec1=sec。time1=time。jtd1=jtd。jtdh1=jtdh。p331=p33。//賦值 statusdis(S6)。//調(diào)用緊急控制函數(shù) waittime=waittime1。sec=sec1。time=time1。jtd=jtd1。jtdh=jtdh1。p33=p331。//取值 EX0=1;//允許外部中斷0 }中斷入口 不顯示按0次中斷當(dāng)前程序,保護(hù)斷點 YES NO 顯示A按1次 YES定義變量 NO顯示B 按2次開中斷 YES NO顯示C按3次延時去抖 YES 按鍵掃描 NO 返回恢復(fù)現(xiàn)場延時去抖 INT1方程式控制中斷流程圖方程式狀態(tài)控制中斷函數(shù)如下:void int_int1() interrupt 2 using 3 { unsigned long k。//定義變量k EX1=0。//禁止外部中斷1,避免死循環(huán) for(k=65000。k0。k) dissmg()。 //用此句延時去抖,可以增強(qiáng)顯示 fangshi++。 //運(yùn)行方式控制自加 flag=1。 if(fangshi=4) fangshi=0。 switch(fangshi) { case 0: //默認(rèn)的運(yùn)行方式 S2[3]=S0[3]=35。 S4[3]=20。 shu2=16。 //不顯示 break。 case 1: S2[3]=S0[3]=50。//南北方向通車時間變?yōu)?0s S4[3]=20。//東西方向通車時間不變,為20s shu2=10。 //顯示A break。 case 2: S2[3]=S0[3]=60。//南北方向通車時間變?yōu)?0s S4[3]=30。//東西方向通車時間變?yōu)?0s shu2=11。 //顯示B break。 case 3: S2[3]=S0[3]=35。//南北方向通車時間不變,為35s S4[3]=35。//東西方向通車時間變?yōu)?5s shu2=12。 //顯示C break。 default: break。 } for(k=80000。k0。k) dissmg()。 //用此句延時去抖,可以增強(qiáng)顯示 EX1=1。//允許外部中斷1}當(dāng)車流量增大,按照設(shè)置的正常系統(tǒng)運(yùn)行時間來控制交通燈的交替運(yùn)行未能使路口的車最快通過十字路口,導(dǎo)致交通擁擠、堵塞時,可通過人工手動方程式控制開關(guān)按鈕A1來改善路口的交通狀況,使各個方向的車能更快通過路口,達(dá)到減輕交通負(fù)擔(dān),使交通更合理,具有更實際的作用。 當(dāng)按一次A1方程式控制按鈕時,交通系統(tǒng)以A方程式狀態(tài)來指揮路口。A方程式控制時,各個方向的狀態(tài)量改變?nèi)缦拢?南北方向通車時間增設(shè)為60s;東西方向通車時間增設(shè)為30s。按兩次A1方程式控制開關(guān)按鈕時,系統(tǒng)以B方程式狀態(tài)量來指揮交通路口。B方程式控制時,兩個方向的狀態(tài)量如下:南北方向通車時間不變,為35s;東西方向通車時間變?yōu)?5s。按三次A1方程式控制開關(guān)按鈕時,系統(tǒng)以C方程式狀態(tài)量來指揮交通路口。C方程式控制時,兩個方向的狀態(tài)量如下:南北方向跟東西方向的通車時間都為35s。 針對不同時候十字交通路口的不同狀況,當(dāng)車流量增大時,我們可根據(jù)實際情況來決定選哪個方程式來控制交通燈能達(dá)到最佳效果,避免十字路口經(jīng)常出現(xiàn)主干道車輛多, 放行時間短, 車流無法在規(guī)定時間內(nèi)通過的影響。5 調(diào)式總結(jié) 本設(shè)計主要設(shè)計了一個城鄉(xiāng)十字路口交通燈,在設(shè)定幾個正常狀態(tài)的情況下,增加了緊急中斷按鈕,以及方程式控制按鈕。通過這兩個按鈕可解決急車強(qiáng)行,車流量變化增加時狀態(tài)不可改變的問題。在明白設(shè)計原理的基礎(chǔ)上,可改變狀態(tài)數(shù)組,適用不同的路口。 在程序調(diào)式過程中,由于當(dāng)程序運(yùn)行1秒后沒有對計數(shù)變量time清0,導(dǎo)致數(shù)碼管顯示出錯,沒有按預(yù)先設(shè)定好的時間顯示。當(dāng)把對設(shè)定1秒時把計數(shù)變量time清0,解決了這個問題。因為用到P3口作為I/O口,P3口還有第二功能。開始寫程序時把P3口跟PP2一起定義導(dǎo)致了顯示混亂,通過研究單獨(dú)定義P3口才解決了這個問題。開始寫程序時,對外部中斷沒有寫延時去抖的語句,導(dǎo)致了單片機(jī)沒能準(zhǔn)確的讀取外部中斷,加上后很好的解決了這個問題。6 致 謝在本次設(shè)計論文完成之際,首先要向我的指導(dǎo)老師周堅和老師表示真摯的謝意。在設(shè)計過程、論文寫作期間,正是周老師的指點,我才能順利完成設(shè)計。其次,還要感謝大學(xué)四年各位老師的悉心教導(dǎo),本設(shè)計是圍繞單片機(jī)而設(shè)計的,需要用到數(shù)電、模電、電路設(shè)計、C語言等方方面面的知識。在老師的指導(dǎo)下,同學(xué)的幫助下,加上個人的努力,本設(shè)計才能順利完成。由于本人學(xué)識有限,設(shè)計中、論文中難免有錯,歡迎各位老師對本設(shè)計提出寶貴的意見。 參考文獻(xiàn)【1】 機(jī)械工業(yè)出版社【2】 人民郵電出版社【3】 劉守義.《單片機(jī)應(yīng)用技術(shù)》,西安電子科技大學(xué)出版社【4】 余錫存.《單片機(jī)原理與接口技術(shù)》,西安電子科技大學(xué)出版社附 錄附錄一 程序清單以下是用C語言編寫的交通燈控制程序: // 定時器0定時,方式1,25ms常數(shù)a600,10ms常數(shù)dc00,5ms常數(shù)ee00, //全紅0x55。全綠0xaa。全黃0x00。南北紅,東西綠0x66。南北綠,東西紅0x99。 include sfr smdis = 0x80。 sfr jtd = 0xa0。 sfr jtdh= 0x90。 sfr P4 =0xC0。 sfr P4SW =0xBB。 sbit weishuang0 = P4^4。 sbit weishuang1 = P4^5。 sbit weishuang2 = P4^6。 sbit NLR = P3^6。 sbit NLG = P3^7。 unsigned char code md[]={0xf5,0x05,0xb3,0x97,0x47,0xd6,0xf6,0x85,0xf7,0xd7,0xe7,0x76,0xf0,0x37,0xf2,0xe2,0x00}。 //0,1,2,3,4,5,6,7,8,9,A,b,C,d,E,F unsigned char time=0。 unsigned char sec=10。 unsigned char waittime=10。 unsigned char p33。 unsigned char fangshi=0。 bit flag=0。 //運(yùn)行方式控制,立即轉(zhuǎn)換標(biāo)志//狀態(tài)數(shù)組中,第一個數(shù)字為P2口的數(shù)據(jù),北紅綠,西紅綠,南紅綠,東紅綠;//第二個數(shù)字為P1口的數(shù)據(jù),北()西南東黃燈,南左黃燈,北左黃?//南左紅()綠()// 第二個數(shù)字為P3口的數(shù)據(jù),僅P3。6接北左紅, unsigned char S0[]={0x59, 0x7f ,0x80,35 }。 //狀態(tài)S0 unsigned char S1[]={0xdd, 0xca ,0xc0,3 }。 //狀態(tài)S1 unsigned char S2[]={0x95, 0xbf ,0x40,35 }。 //狀態(tài)S2 unsigned char S3[]={0xf7, 0xa4 ,0xc0,3 }。 //狀態(tài)S3 unsigned char S4[]={0x66,0xbf ,0x80,20 }。 //狀態(tài)S4 //unsigned char S5[]={0x7f,0xd1 ,0x80,3 }。 //狀態(tài)S5
點擊復(fù)制文檔內(nèi)容
研究報告相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1