要求:
1、紅燈和綠燈相互轉換時經過黃燈,黃燈閃爍三次(6秒);
2、主干道方向通行30秒,輔干道方向通行20秒,單獨左轉信號15秒;先直行信號,后左轉信號。
3、設手動、自動、特殊情況三種方式。
4、特殊情況時所有路口紅燈都亮,給120、110等通行。
5、自動時顯示各種狀態倒計時。
一、Protues仿真圖:
二、程序源碼:
因為注釋非常的全,這里就不再進行講解了。
/*******************************************************************************
================================================================================
【平 臺】STC89C51_sumjess平臺
【編 寫】sumjess
【E-mail 】1371129880@qq.com
【軟件版本】V2.0
【最后更新】2019年06月10日
【相關信息參考下列地址】
【網 站】
https://blog.csdn.net/qq_38351824
http://www.51hei.com/bbs/mcu-2-1.html
---------------------------------------------------------------------------------
【dev.env.】MDK4.02及以上版本
【Target 】STC89C51
第一次修訂:2019/05/09
第二次修訂:2019/05/21
第三次修訂:2019/06/10
【problem 】
(1)庫內補充的不全面;
(2)庫內解釋部分不全面;
(3)庫內還存在一定的bug;
【direction】
下一步的目標就是把庫繼續集成!
【explain 】
為了方便使用,我也自己寫了很多的庫,和優化了算法和表示方式!
【warning】
目前程序中暫無錯誤 !
---------------------------------------------------------------------------------
沒有完美的代碼,只有不斷的奉獻,大家一起努力;
贈人玫瑰手留余香,歡迎大家反饋bug!
================================================================================
********************************************************************************/
#include #include #define uchar unsigned char #define uint unsigned int uchar h; uint r=0; uint s; uchar flag=1; uchar code dis[]={0Xc0,0Xf9,0Xa4,0Xb0,0X99,0X92,0X82,0Xf8,0X80,0X90,0Xff,}; // 0 1 2 3 4 5 6 7 8 9 - sbit key = P3^5; void delay(uint c) //延時程序 { uint i,j; for(i=0;i } void t0(void) interrupt 0 using 1 { delay(2); if(INT0==0) { r++; if(r==2) { r=0; } r%=2; if(r==0) { P0=0xeb; P1=0x00; P2=0xff; }while(1) { if(INT0==0|INT1==0|T0==0) { delay(2); if(INT0==0|INT1==0|T0==0) break; } if(key==0) {flag=0;break;} } } } void t1(void) interrupt 2 using 1 { delay(2); if(INT1==0) { r++; if(r==2) { r=0; } r%=2; if(r==0) { P0=0xdd; P1=0x00; P2=0xff; }while(1) { if(INT1==0|INT0==0|T0==0) { delay(2); if(INT1==0|INT0==0|T0==0) break; } if(key==0) {flag=0;break;} } } } void t2(void) interrupt 1 using 1 { TH0=0xff; TL0=0xff; delay(2); if(T0==0) { P0=0xdb; P1=0x00; P2=0xff; } while(1) { if(INT0==0|INT1==0) { delay(2); if(INT0==0|INT1==0) break; } if(key==0) {flag=0;break;} } } void main(void) { TMOD=0x06; TH0=0xff; TL0=0xff; TR0=1; EA=1; EX0=1; EX1=1; ET0=1; while(1) { flag=1; if(flag==1){ P0=0xeb; for(h=28;h>0;h--) { for(s=248;s>0;s--) { if(flag==0) break; P1=0x00; P2=0xff; P1=0x01; P2=dis[h/10]; delay(1); P1=0x00; P2=0xff; P1=0x02; P2=dis[h%10]; delay(1); P1=0x00; P2=0xff; P1=0x04; P2=dis[(h+2)/10]; delay(1); P1=0x00; P2=0xff; P1=0x08; P2=dis[(h+2)%10]; delay(1); } } if(flag==0) break; delay(248); P0=0xf3; for(h=3;h>0;h--) { if(flag==0) break; delay(392); P0=0xf3; delay(1); P1=0x00; P2=0xff; P1=0xaa; P2=dis[(h-1)%10]; delay(600); P0=0xfb; } if(flag==0) break; delay(248); P0=0xdd; for(h=38;h>0;h--) { if(flag==0) break; for(s=248;s>0;s--) { if(flag==0) break; P1=0x00; P2=0xff; P1=0x01; P2=dis[(h+2)/10]; delay(1); P1=0x00; P2=0xff; P1=0x02; P2=dis[(h+2)%10]; delay(1); P1=0x00; P2=0xff; P1=0x04; P2=dis[h/10]; delay(1); P1=0x00; P2=0xff; P1=0x08; P2=dis[h%10]; delay(1); } } if(flag==0) break; delay(248); P0=0xde; for(h=3;h>0;h--) { if(flag==0) break; delay(392); P0=0xde; delay(1); P1=0x00; P2=0xff; P1=0xaa; P2=dis[(h-1)%10]; delay(600); P0=0xdf; } if(flag==0) break; delay(248); } } }
上一篇:課程設計題八:籃球比賽計分器
下一篇:課程設計題五:汽車尾燈控制器設計
推薦閱讀
史海拾趣
展望未來,常憶科技將繼續堅持創新驅動的發展戰略。公司將不斷加大在研發和創新方面的投入,推動產品技術的持續升級和迭代。同時,常憶科技還將積極拓展新的應用領域和市場空間,以滿足更多客戶的需求。
為了實現可持續發展,常憶科技還將注重環境保護和社會責任。公司將致力于推廣綠色環保的生產方式和產品應用,為社會的可持續發展做出貢獻。在未來的發展中,常憶科技有望憑借其卓越的技術實力和創新精神,繼續在電子行業中書寫新的輝煌篇章。
隨著產品質量的不斷提升,ALLTHREAD開始積極拓展市場。他們與多家國際知名電子企業建立了合作關系,共同開發適用于不同應用場景的螺栓產品。通過國際合作,ALLTHREAD不僅提升了自身的技術水平,還進一步擴大了市場份額。
面對日益激烈的市場競爭和不斷變化的客戶需求,CTS始終堅持技術創新和數字化轉型。公司投入大量資源進行研發,不斷推出具有競爭力的新產品和解決方案。同時,CTS還積極擁抱數字化技術,通過云計算、大數據和人工智能等技術手段提升生產效率和服務質量。
在追求經濟效益的同時,Capar Components Corp也注重環保和可持續發展。公司積極采用環保材料和生產工藝,減少生產過程中的污染排放。同時,公司還推出了一系列綠色電子產品,滿足消費者對環保產品的需求。這些舉措不僅提升了公司的社會形象,還為公司贏得了更多客戶的青睞。
博眾電氣自創立之初,就明確了技術立企的戰略方向。公司投入大量資源進行技術研發,不斷推出具有競爭力的電子產品。其中,一項關鍵技術的突破為博眾電氣的發展奠定了堅實基礎。這項技術使得公司產品在性能上大幅超越同類產品,贏得了市場的廣泛認可。憑借這一技術突破,博眾電氣逐漸在電子行業中嶄露頭角。
隨著國內市場的日益飽和,博眾電氣開始將目光投向國際市場。公司制定了國際化發展戰略,積極參與國際競爭與合作。通過在國外設立分支機構、參加國際展會等方式,博眾電氣成功打開了國際市場的大門。如今,公司的產品已經遠銷海外多個國家和地區,國際市場份額逐年攀升。
這是一本難得的中文教程,詳細介紹了該軟件的使用方法和過程,是學習Power-PCB軟件的好教材。 下載地址:https://bbs.eeworld.com.cn/thread-68637-1-1.html… 查看全部問答∨ |
|
BOOL IncomingBarPWndProc (HWND hwnd, UINT uimessage, WPARAM wParam, LPARAM lParam) { BOOL bResult = FALSE; LPCTSTR ...… 查看全部問答∨ |
|
求助:PPP鏈路建立,得到了IP地址:10.15.**.**,可向WAP網關發送UDP數據包沒反應 我按照IPCP協商原則,得到了一個IP地址,然后不是可以用UDP和WAP網關建立連接嗎?我在VC環境下用套接字都可以實現與網關會話,這里就不行了 發送的數據包如下: 7EFF030021 PPP格式 4500002402090000801192270A1591D80A0000AC & ...… 查看全部問答∨ |
不知道為什么我剛買的清華紫光的U盤插到電腦上就自動運行并且打開了U盤 但是在我同學電腦上不出現這個問題,而其他人的U盤在我的電腦也不出現問題! 請問這個問題是怎么造成的?? 怎解決呢?? 謝謝!!~… 查看全部問答∨ |