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

正文內(nèi)容

基于52單片機的城市十字路口交通燈課程設(shè)計-文庫吧

2025-01-03 14:45 本頁面


【正文】 程思想,對單片機各管腳的功能,I/O口的使用條件都有了更深的理解。這次的課程設(shè)計讓我把單片機的理論知識運用的實踐中,實現(xiàn)了理論與實踐的相結(jié)合,從中更懂得了理論是實踐的基礎(chǔ),實踐更能檢驗理論的真實性,讓我受益匪淺。參考文獻(xiàn):[1] (修訂版).北京:北京航空航天大學(xué)出版社,1998[2] :北京航空航天大學(xué)出版社,1992[3] :北京航空航天大學(xué)出版社, 1994[4] 張毅剛. :哈爾濱工業(yè)大學(xué)出版社,1990[5] . 北京:清華大學(xué)出版社,1989[6] 焦作:中國礦業(yè)大學(xué)出版社,2007附錄1 源程序代碼 //include include // 對單片機的口進(jìn)行了定義define uint unsigned intdefine uchar unsigned charuchar code a[10]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f}。//段碼組合,共陰極uchar code b[4]={0xfe,0xfd,0xfb,0xf7}。 //位碼組合 低有效uchar code c[4]={0xcc,0xd4,0x78,0xb8}。/*P1 綠紅、黃紅、紅綠、紅黃*/ //12MHz //*************************************************************************************uchar NB=25,DX=30,NBG=25,DXG=15,H=5。 /*數(shù)碼管顯示值設(shè)置*/uchar i,k=0,t=0,j=0。 sbit K0=P3^5。 /*支干道通行*/sbit K1=P3^6。 /*主干道通行*/sbit K4=P3^7。 /*返回*/sbit K3=P3^2。 /*設(shè)置時間*/sbit K2=P3^3。 /*緊急剎車*/void delay(uchar t)。 /*定義延時程序*/void key()。 /*定義鍵盤程序*/void display()。 /*定義顯示程序*/void settime()。 /*定義時間設(shè)置顯示程序*///*************************程序初始*********************************************void init(void){ TMOD=0x01。 /*使用定時器0模式一*/ TH0=0x3c。 /*(655365000)/256*/ TL0=0xb0。 /*(655365000)%256*/ IT0=1。 //開中斷 ET0=1。 TR0=1。 EA=1。 EX0=1。 EX1=1。 P1=c[k]。 //開啟交通燈}//*************************中斷0處理程序***************************************void int0(void) interrupt 0 // 通行時間設(shè)置{ EA=0。 P1=0xd8。 /*紅燈全亮*/ for(。) { settime()。 if(K1==0) /*P3^6=0設(shè)置主干道通行時間*/ { delay(40)。 if(K1==0) { while(!K1) { settime()。 } NBG++。 /*主干道通行時間加1*/ if(NBG==100) NBG=0。 } } if(K0==0) /*P3^5=0設(shè)置支干道通行時間*/ { delay(40)。 if(K0==0) { while(!K0) {settime()。 } DXG++。 /*支干道通行時間加1*/ if(DXG==100) DXG=0。 } } if(K4==0) /*P3^7=0返回*/ { delay(40)。 if(K4==0) { while(!K4) { } k=0。P1=c[k]。 NB=NBG,DX=NBG+H。 display()。 EA=1。 break。 } } }} /***********************************中斷1處理程序********************void int1(void) interrupt 2 //緊急情況{ /*東西南北紅燈亮*/ EA=0。 TR0=!TR0。 /*停止計數(shù)*/ for(。) /*主支干道顯示全為0*/ { P1=0xd8,P0=a[0]。 P2=0xfe。 delay(20)。 P2=0xfd。 delay(20)。 P2=0xfb。 delay(20)。 P2=0xf7。 delay(20)。 if(K4==0) /*返回*/ { delay(20)。 EA=1。 P1=c[k]。 /*返回緊急前狀態(tài)開始計數(shù)*/ TR0=!TR0。 /*重啟計數(shù)*/ break。 } }}void time1(void) interrupt 1 /*交通燈控制程序*/{ TH0=0x3c。 /*定時50ms*/ TL0=0xb0。 t++。 if(t=20) /*每20*50ms=1s自減一*/ { NB。 DX。 t=0。 if(NB==0||DX==0) { k++。 if(k3) /*k取0,1,2,3*/ k=0。 switch(k) { case 0:NB=NBG,DX=NBG+H。j=0。P1=c[k]。break。 /*主干道通行顯示綠紅*/ case 1:NB=H。j=1。P1=c[k]。break。 /*主干道黃燈閃爍*/ case 2:NB=DXG+H,DX=DXG。j=0。P1=c[k]。break。 /*支干道通行顯示紅綠*/ case 3:DX=H。j=2。P1=c[k]。break。 /*支干道黃燈閃爍*/ } } }}void delay(uchar t) //*nms { uchar i。 do { for(i=0。i20。i++) 。 } while(t)。 } void settime(){ P2=0xfe,P0=a[(NBG+H)%10]。 /*顯示主干道通行時間 */ delay(20)。 P2=0xfd,P0=a[(NBG+H)/10]。 delay(20)。 P2=0xfb,P0=a[(DXG+H)%10]。 /*顯示支干道通行時間*/ delay(20)。 P2=0xf7,P0=a[(DXG+H)/10]。 delay(20)。}void key() //鍵盤程序用KO K1模擬一道有車一道無車{ if(K1==0) /*主干道有車支干道無車*/ {
點擊復(fù)制文檔內(nèi)容
電大資料相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1