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

正文內(nèi)容

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

2025-07-28 11:55本頁(yè)面
  

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