交通灯试验报告精选.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
交通灯试验报告精选

实验四 交通灯试验 一、实验目的 按键、数码管、发光二极管综合应用编程技术 数据存储于EEPROM的技术(也可以不使用) 定时中断技术 按键中断技术 二、实验实现的功能 对每个路口(主干道、次干道)的绿灯时间,及黄灯时间的设定。 设定参数掉电后不丢失(如果不使用EEPROM,此功能可以不实现)。 紧急按键功能,当按下该键时,所有路口变成红灯,相当于交警指挥特殊车辆通过。再按该键,恢复正常显示。 三、系统硬件设计 1、元器件 STC51单片机,MAX232芯片,晶振,共阴极数码管,PC线路板,排针、电阻、电容、发光二极管、开关若干,串行接口,USB数据接口以及接口数据线 2、原理电路 四、系统软件设计 1、软件开发环境: 2、使用语言:C51 3、程序内容:见附表 五、实验过程中遇到的问题及解决方法 1、时钟倒计时过程,数码管显示数字有时不正常,电路板接触不良,按压后正常显示。 2、程序控制灯亮过程中,先是顺序与预期不符,更改程序后正常。 指导老师签字: 日期: 程序附表: #include reg51.h #define uchar unsigned char #define uint unsigned int unsigned char table[]={0xbf,0x86,0xdb,0xcf,0xe6,0xed,0xfc,0x87,0xff,0xef}; unsigned char table6[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7c,0x07,0x7f,0x6f}; sbit ksec=P0^5; sbit h1=P3^6; sbit h2=P3^7; sbit w1=P0^0 ;sbit w2=P0^1 ; sbit w3=P0^2 ;sbit w4=P0^3 ; sbit P24=P2^4 ;sbit P34=P3^4 ; sbit P26=P2^6 ;sbit P20=P2^0 ; sbit P25=P2^5 ;sbit P35=P3^5 ; sbit P33=P3^3 ;sbit P23=P2^3 ; sbit P27=P2^7 ;sbit P32=P3^2 ; sbit P21=P2^1 ;sbit P22=P2^2 ; uchar t,j,min=60,hour=60,mina=0,minb=0,houra=0,hourb=0; //正常走时时间变量 uchar min1=90,hour1=90,mina1=0,minb1=0,houra1=0,hourb1=0; //时间设定值变量 uchar min2=0,hour2=0,mina2=0,minb2=0,houra2=0,hourb2=0; uchar moshi=0; void initialize(void); //初始化 void show(void); //正常走时显示 void show1(void); //时间设定显示 void show2(void); void show3(void); void show4(void); void show5(void); //闹钟设 void keyscan(void); //键盘扫描 void win(void); void red(void); void yellow(void); void delay(unsigned int z) {unsigned int x,y; for(x=z;x0;x--) for(y=110;y0;y--); } //******************主函数*************************** void main() { initialize(); while(1) { keyscan(); win(); switch(moshi) { case 0:show(); break; //显示正常走时 case 1:show5();break; //显示设置时间 } } } //*****************定时器初始化************************** void ini

文档评论(0)

aena45 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档