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

正文內(nèi)容

單片機交通燈設(shè)計資料(參考版)

2025-07-31 11:55本頁面
  

【正文】 //狀態(tài)S4 //unsigned char S5[]={0x7f,0xd1 ,0x80,3 }。 //狀態(tài)S2 unsigned char S3[]={0xf7, 0xa4 ,0xc0,3 }。 //狀態(tài)S0 unsigned char S1[]={0xdd, 0xca ,0xc0,3 }。 //運行方式控制,立即轉(zhuǎn)換標(biāo)志//狀態(tài)數(shù)組中,第一個數(shù)字為P2口的數(shù)據(jù),北紅綠,西紅綠,南紅綠,東紅綠;//第二個數(shù)字為P1口的數(shù)據(jù),北()西南東黃燈,南左黃燈,北左黃?//南左紅()綠()// 第二個數(shù)字為P3口的數(shù)據(jù),僅P3。 unsigned char fangshi=0。 unsigned char waittime=10。 //0,1,2,3,4,5,6,7,8,9,A,b,C,d,E,F unsigned char time=0。 sbit NLG = P3^7。 sbit weishuang2 = P4^6。 sbit weishuang0 = P4^4。 sfr P4 =0xC0。 sfr jtd = 0xa0。南北綠,東西紅0x99。全黃0x00。 參考文獻(xiàn)【1】 機械工業(yè)出版社【2】 人民郵電出版社【3】 劉守義.《單片機應(yīng)用技術(shù)》,西安電子科技大學(xué)出版社【4】 余錫存.《單片機原理與接口技術(shù)》,西安電子科技大學(xué)出版社附 錄附錄一 程序清單以下是用C語言編寫的交通燈控制程序: // 定時器0定時,方式1,25ms常數(shù)a600,10ms常數(shù)dc00,5ms常數(shù)ee00, //全紅0x55。在老師的指導(dǎo)下,同學(xué)的幫助下,加上個人的努力,本設(shè)計才能順利完成。在設(shè)計過程、論文寫作期間,正是周老師的指點,我才能順利完成設(shè)計。開始寫程序時,對外部中斷沒有寫延時去抖的語句,導(dǎo)致了單片機沒能準(zhǔn)確的讀取外部中斷,加上后很好的解決了這個問題。因為用到P3口作為I/O口,P3口還有第二功能。 在程序調(diào)式過程中,由于當(dāng)程序運行1秒后沒有對計數(shù)變量time清0,導(dǎo)致數(shù)碼管顯示出錯,沒有按預(yù)先設(shè)定好的時間顯示。通過這兩個按鈕可解決急車強行,車流量變化增加時狀態(tài)不可改變的問題。 針對不同時候十字交通路口的不同狀況,當(dāng)車流量增大時,我們可根據(jù)實際情況來決定選哪個方程式來控制交通燈能達(dá)到最佳效果,避免十字路口經(jīng)常出現(xiàn)主干道車輛多, 放行時間短, 車流無法在規(guī)定時間內(nèi)通過的影響。按三次A1方程式控制開關(guān)按鈕時,系統(tǒng)以C方程式狀態(tài)量來指揮交通路口。按兩次A1方程式控制開關(guān)按鈕時,系統(tǒng)以B方程式狀態(tài)量來指揮交通路口。 當(dāng)按一次A1方程式控制按鈕時,交通系統(tǒng)以A方程式狀態(tài)來指揮路口。 //用此句延時去抖,可以增強顯示 EX1=1。k0。 default: break。//東西方向通車時間變?yōu)?5s shu2=12。 case 3: S2[3]=S0[3]=35。//東西方向通車時間變?yōu)?0s shu2=11。 case 2: S2[3]=S0[3]=60。//東西方向通車時間不變,為20s shu2=10。 case 1: S2[3]=S0[3]=50。 shu2=16。 switch(fangshi) { case 0: //默認(rèn)的運行方式 S2[3]=S0[3]=35。 //運行方式控制自加 flag=1。k) dissmg()。//禁止外部中斷1,避免死循環(huán) for(k=65000。//取值 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。jtdh=jtdh1。time=time1。//調(diào)用緊急控制函數(shù) waittime=waittime1。p331=p33。jtd1=jtd。sec1=sec。用一個標(biāo)志位FLAG半段是第一次進(jìn)入還是恢復(fù)狀態(tài),CPU響應(yīng)中斷調(diào)用控制函數(shù)statusdis運行緊急控制中斷當(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。外部中斷服務(wù)子程序主要用來處理緊急情況,當(dāng)有緊急車通過時,通過人工控制將2個方向的車都停止運行,點亮所有紅燈,并持續(xù)10s。 IT1=1。當(dāng)定時器/計數(shù)器0溢出發(fā)生時,此位由硬件置1;在中斷響應(yīng)完成后轉(zhuǎn)向中斷處理子程序時,再由硬件自動清0.TF1:片內(nèi)定時器/計數(shù)器1溢出中斷請求標(biāo)志位,其功能與TF0類同。當(dāng)檢測到INT0引腳有中斷請求信號時,此位由硬件置1;在中斷響應(yīng)完成后轉(zhuǎn)向中斷處理子程序時,再由硬件自動清0.IE1:外部中斷INT1的終端請求標(biāo)志位,其功能與IE0類似。IT1:選擇外部中斷INT1的中斷觸發(fā)方式,其功能與IT0類同。TCON既有定時器/計數(shù)器的控制功能,又有中斷控制功能。當(dāng)外部中斷INT1運行期間,假如定時器T0和外部中斷都被響應(yīng),按照優(yōu)先級的先后順序,系統(tǒng)先運行定時器T0,待T0運行完后才能運行INT0,待INT0運行完了,INT1才能執(zhí)行中斷服務(wù)。 //設(shè)置外部中斷1為低優(yōu)先級通過上面的程序可知,T0優(yōu)先級最高,然后到外部中斷INT0,最后外部中斷INT1優(yōu)先級最低。 //設(shè)置定時器0為高優(yōu)先級PX0=0。相當(dāng)于在每一種優(yōu)先級內(nèi)還同時存在輔助優(yōu)先級結(jié)構(gòu)。 如果一個中斷請求已被響應(yīng),則同級的其他中斷響應(yīng)應(yīng)被禁止。中斷優(yōu)先級只分高與低兩個級別,各位為0時,為低優(yōu)先級;各位為1時,為高優(yōu)先級。PT1:定時器/計數(shù)器中斷1優(yōu)先級設(shè)置位。PX1:外部中斷1優(yōu)先級設(shè)置位。由EA=EX1=0得出初始化程序設(shè)定禁止外部中斷INT1中斷??芍稍试S中斷的條件:總允許中斷和源允許中斷都接通才能產(chǎn)生中斷。EX0=1。需要注意的是,要使某個中斷源的中斷申請得到響應(yīng),必須保證EA=,要使定時器0與外部中斷0的中斷得到響應(yīng),必須保證EA、ET0、EX0為1.通過上面對中斷允許寄存器的解釋,結(jié)合設(shè)計程序?qū)χ袛嗟某跏蓟篍A = 1。EX0:外部中斷0()允許位。ET0:定時器/計數(shù)器0溢出中斷允許位。EX1:外部中斷0()允許位。ET1:定時器/計數(shù)器1溢出中斷允許位。ES:串行口收、發(fā)中斷允許位。ET2:定時器/計數(shù)器2溢出中斷允許位。EA=0時,關(guān)閉總開關(guān),禁止一切中斷;EA=1時,接通總開關(guān),才可能使各個中斷源的請求傳到CPU。(2) 中斷允許寄存器IE中斷允許寄存器既可按字節(jié)尋址,也可按位尋址,控制字如下所示。 中斷優(yōu)先級部分 由中斷優(yōu)先級寄存器IP控制,可設(shè)置成高、低優(yōu)先級。使用定時器時溢出會產(chǎn)生中斷,使用計數(shù)器方式時溢出時也會引起中斷。中斷系統(tǒng)介紹:51系列單片機的中斷系統(tǒng)是8位單片機中功能較強的,可以提供5個中斷源(52子系列是6個),具有兩個中斷優(yōu)先級,可實現(xiàn)兩級中斷嵌套。(2)保護(hù)現(xiàn)場響應(yīng)中斷請求后,將有關(guān)的寄存器內(nèi)容和標(biāo)志位壓入堆棧保存起來,這稱為保護(hù)現(xiàn)場。中斷的概念:中斷時指中央處理器CPU正在執(zhí)行程序,處理某件事情的時候,外部發(fā)生了某一件事情,請求CPU馬上處理,CPU暫時中斷當(dāng)前的工作,轉(zhuǎn)入處理所發(fā)生的事情,處理完了以后,再返回到原來被中斷的地方,繼續(xù)原來的工作。 } } 判斷tc的值是為0還是為1,還是為2,進(jìn)而根據(jù)tc的值執(zhí)行相應(yīng)的if語氣或else if語氣。 weishuang1 = 1。 } else if(tc==2) { smdis=md[shu2]。 weishuang1 = 0。 } else if(tc==1) { smdis=md[shu1]。 weishuang1 = 1。 void dissmg() { if(tc==0) { smdis=md[shu0]。由于本程序采用的是三位LED數(shù)碼管,所以程序中必須對LED數(shù)碼管位的選擇進(jìn)行判斷并顯示。程序中對LED數(shù)碼管個位和十位的定義如下: shu0=35%10。(2)顯示得到字型和字位的地址后,向不同的字位送數(shù)據(jù),進(jìn)行數(shù)據(jù)的顯示,顯示的內(nèi)容包括各位和十位,用取模和取余來確定。系統(tǒng)程序中對共陰極字型編碼表的定義如下:Unsigned char code md[]={0xf5,0x05,0xb3,0x97,0x47,0xd6,0xf6,0xa185,0xf7,0xd7,0xe7,0x76,0xf0,0x37,0xf2,0xe2,0x00}。在輪流顯示過程中,每位數(shù)碼管的點亮?xí)r間為1~2ms,由于人的視覺暫留現(xiàn)象及發(fā)光二極管的余輝效應(yīng),盡管實際上各位數(shù)碼管并非同時點亮,但只要掃描的速度足夠快,給人的印象就是一組穩(wěn)定的顯示數(shù)據(jù),不會有閃爍感,動態(tài)顯示的效果和靜態(tài)顯示是一樣的,能夠節(jié)省大量的I/O端口,而且功耗更低。數(shù)碼管動態(tài)顯示接口是單片機中應(yīng)用最為廣泛的一種顯示方式之一,動態(tài)驅(qū)動是將所有數(shù)碼管的8個顯示筆劃a,b,c,d,e,f,g,dp的同名端連在一起,另外為每個數(shù)碼管的公共極COM增加位選通控制電路,位選通由各自獨立的I/O線控制,當(dāng)單片機輸出字形碼時,所有數(shù)碼管都接收到相同的字形碼,但究竟是那個數(shù)碼管會顯示出字形,取決于單片機對位選通COM端電路的控制,所以我們只要將需要顯示的數(shù)碼管的選通控制打開,該位就顯示出字形,沒有選通的數(shù)碼管就不會亮。在進(jìn)行數(shù)碼顯示的時候,要對顯示單元開辟8個顯示緩沖區(qū),每個顯示緩沖區(qū)裝有顯示的不同數(shù)據(jù)即可。動態(tài)借口采用各數(shù)碼管循環(huán)輪流顯示的方法,由于一次只能讓一個數(shù)碼管顯示,因此,要顯示8位的數(shù)據(jù),必須經(jīng)過讓數(shù)碼管一個一個輪流顯示才可以,同時每個數(shù)碼管顯示的時間大約在1ms到4ms之間,所以為了保證正確顯示,我們必須每隔1ms,就得刷新一個數(shù)碼管。 共陰極字型編碼表顯示AFEDDPCGB共陰筆段碼0111101010xf51 00000101 0x05210110011 0xb3310010111 0x97401000111 0x47511010110 0xd6611110110 0xf6710000101 0x85811110111 0xf7911010111 0xd7A11100111 0xe7B01110110 0x76C11110000 0xf0D00110111 0x37
點擊復(fù)制文檔內(nèi)容
研究報告相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1