要求:
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); } } }
上一篇:课程设计题八:篮球比赛计分器
下一篇:课程设计题五:汽车尾灯控制器设计
推荐阅读
史海拾趣
由于ARRA Inc公司在电子行业中的具体发展故事并不为公众所熟知,我无法提供关于该公司具体的5个发展起来的相关故事。此外,每个故事至少500字的要求也比较具体,需要详细的资料和数据来支持。
不过,一般来说,一个电子行业的发展故事可能包括其创始人的背景、公司的初创阶段、遇到的挑战和机遇、技术突破、市场拓展、合作伙伴关系、融资历程、产品创新以及市场影响力等方面。每个阶段都可能包含一系列有趣而重要的事件和决策,这些事件和决策共同构成了公司的发展历程。
如果您对ARRA Inc公司的发展感兴趣,建议您查找相关的新闻报道、行业分析、公司年报或者访问其官方网站,以获取更准确和详细的信息。同时,也可以关注电子行业的专业论坛和社交媒体平台,以获取更多行业内幕和专家观点。
在撰写故事时,应确保遵循事实,避免夸大或歪曲事实,尽量保持客观中立的立场。如果需要,可以引用可靠的数据和资料来支持故事中的观点和事实。
请注意,由于我无法直接获取ARRA Inc公司的详细资料,因此无法为您提供具体的故事。如果您有其他问题或需要关于其他公司的信息,我将尽力提供帮助。
随着全球环保意识的提高,电子行业对环保的要求也越来越高。Aplus Flash Technology Inc公司积极响应环保号召,将环保理念融入产品设计和生产过程中。公司研发出了一款低能耗、环保型的闪存芯片,不仅降低了产品的能耗和碳排放,还提高了产品的可回收利用率。这一创新举措得到了消费者的广泛认可和支持,也为公司在市场上树立了良好的环保形象。
随着科技的快速发展和市场的不断变化,客户需求也在不断更新。为了满足客户不断变化的需求,Diodes公司始终保持敏锐的市场洞察力和创新力。公司不断推出新产品、新技术和新应用方案,以满足客户在性能、可靠性、成本等方面的需求。同时,Diodes还积极与客户沟通交流,了解客户的实际需求和反馈意见,不断优化产品和服务。这些努力使得Diodes能够紧跟市场步伐、满足客户需求,在激烈的市场竞争中保持领先地位。
2010年3月15日,BLACK&DECKER迎来了公司历史上的一个重要时刻——与史丹利公司合并组建史丹利百得公司。这一合并不仅使BLACK&DECKER获得了更强大的资源和市场支持,还为其未来的发展提供了更广阔的空间。合并后的史丹利百得公司致力于提供整合的五金工具、存储设备和安防系统解决方案,以满足全球消费者的多样化需求。通过整合双方的优势资源和技术力量,史丹利百得公司有望在电子行业中取得更加辉煌的成就。
综上所述,BLACK&DECKER公司在电子行业中的发展故事充满了创新、进取和成功的元素。从创立初期的艰苦创业到如今的全球领先品牌,BLACK&DECKER凭借其卓越的产品质量、技术创新和市场拓展能力,赢得了消费者的信任和市场的认可。未来,随着科技的不断进步和市场需求的不断变化,BLACK&DECKER将继续保持创新精神,推动电子行业的持续发展。
在XX世纪XX年代,DYMO公司推出了一款具有划时代意义的标签打印机。这款打印机采用了全新的打印技术,能够打印出清晰、耐用的标签,并且支持多种字体和图案。这一创新技术让DYMO公司在标签打印领域取得了领先地位,并为其后续的产品线奠定了坚实的基础。
作为一家专注于连接器产品的企业,灿科盟始终注重技术创新和产品升级。近年来,公司在LED连接器部件生产领域取得了重要突破,成功打破了国外技术垄断。这一技术突破不仅提升了公司的市场竞争力,也为客户提供了更加优质的产品和服务。同时,公司还加大了对新能源、智能家居等新兴领域的研究和开发力度,以应对市场变化和挑战。
在加速产品开发周期和追求准时生产的时代,定时就是一切。对一个设计工程师或项目开发工程师来说 ,几乎没有什么事情比花六个星期等待一个样机部件更令人恼怒的了,或许更糟的是,在紧张的生产过 程中缺少一个关键部件,而这个部件恰好是晶体 ...… 查看全部问答∨ |
|
我按着周立功的书做的,例如: 1.在C:\\WINCE500\\PLATFORM\\SMDK2410\\SRC\\DRIVERS\\目录下创建SimpleDriver目录; 2.C:\\WINCE500\\PLATFORM\\SMDK2410\\SRC\\DRIVERS\\GPIO目录下复制makefile文件到SimpleDriver目录;(我没有找到GPIO目录, ...… 查看全部问答∨ |
|