2024年单片机交通灯实验报告_第1页
2024年单片机交通灯实验报告_第2页
2024年单片机交通灯实验报告_第3页
2024年单片机交通灯实验报告_第4页
2024年单片机交通灯实验报告_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

《單片机》技术期末總結汇报基于單片机的交通灯控制器设计目的运用发光二极管模拟交通灯的控制。程序功能模拟交通灯显示。八位发光二极管提成2组,分别代表交通路口甲、乙两個方向的信号灯(紅、黄、绿、左转)。其中,紅灯与绿灯显示時间均為50s,左转显示時间為15s,黄灯显示5s。其状态表如下:A方向B方向绿灯50s紅灯50s左转15s紅灯15s黄灯5s紅灯5s紅灯50s绿灯50s紅灯15s左转15s紅灯5s黄灯5s 在信号灯亮的同步,在LED数码管上显示响应的時间(每個方向用2個数码管,倒计時)。電路原理图发光二极管電路图:数码管電路图:程序流程:与否有定期器中断A、B两個方向显示倒计時程序初始化启動定期器0和1開始与否有定期器中断A、B两個方向显示倒计時程序初始化启動定期器0和1開始 否 是定期時间減一定期時间減一

A方向程序控制流程图開始開始每隔一秒计数值減一每隔一秒计数值減一计数值与否為0计数值与否為0亮灯標志与否為1 是亮灯標志与否為1 否绿灯亮,置亮灯標志為2,计数值為50s 是绿灯亮,置亮灯標志為2,计数值為50s 亮灯標志与否為2 亮灯標志与否為2 否左转灯亮,置亮灯標志為2,计数值為15s是左转灯亮,置亮灯標志為2,计数值為15s亮灯標志与否為3 否亮灯標志与否為3黄灯亮,置亮灯標志為4,计数值為5s是黄灯亮,置亮灯標志為4,计数值為5s亮灯標志与否為4亮灯標志与否為4是紅灯亮,置亮灯標志為1,计数值為70s

B方向程序控制流程图紅灯亮,置亮灯標志為1,计数值為70s開始開始每隔一秒计数值減一每隔一秒计数值減一计数值与否為0计数值与否為0亮灯標志与否為1 是亮灯標志与否為1 否紅灯亮,置亮灯標志為2,计数值為70s 是紅灯亮,置亮灯標志為2,计数值為70s 亮灯標志与否為2 亮灯標志与否為2 否绿灯亮,置亮灯標志為2,计数值為50s是绿灯亮,置亮灯標志為2,计数值為50s亮灯標志与否為3 否亮灯標志与否為3左转灯亮,置亮灯標志為4,计数值為15s是左转灯亮,置亮灯標志為4,计数值為15s亮灯標志与否為4亮灯標志与否為4是黄灯亮,置亮灯標志為1,计数值為5s

黄灯亮,置亮灯標志為1,计数值為5s程序源码(应有必要的注释):程序功能:模拟交通灯显示。 其中,紅灯与绿灯显示時间均為50s,中间的黄灯显示時间為15s。 绿灯用八位发光二极管流動闪烁作代表; 紅灯用八位发光二极管全亮作代表; 黄灯用八位发光二极管全亮全灭闪烁作代表。 刚開始显示的為绿灯。 显示次序:绿--黄--紅--黄--绿--黄--紅--………………#include<reg51.h>#defineucharunsignedchar#defineuintunsignedintsbitdula=P2^6;sbitwela=P2^7;sbitbeep=P2^3;unsignedintpp;unsignedcharcodetable[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};ucharj,k,l=255;uchara1,a0;ucharshijian,deng=2;voiddelay(unsignedinti)//延時程序{for(j=i;j>0;j--)for(k=125;k>0;k--);}voiddisplay(unsignedcharsh_c,unsignedcharg_c)//定义灯亮的方式函数{dula=0;P0=table[sh_c];dula=1;dula=0;wela=0;P0=0xfe;wela=1;wela=0;delay(5);P0=table[g_c];dula=1;dula=0;P0=0xfd;wela=1;wela=0;delay(5);}voidmain()//主函数{ TMOD=0x01; TR0=1; TH0=(65536-46080)/256;//由于晶振為11.0592,故所记次数应為46080,计時器每隔50000微秒发起一次中断。 TL0=(65536-46080)%256;//46080的来历,為50000*11.0592/12 ET0=1; EA=1; while(1) { if(shijian==0) { switch(deng) { case0:shijian=50; //紅灯 deng=1; break; case1:shijian=15; //黄灯 deng=2; break; case2:shijian=50; //绿灯 deng=3; break; case3:shijian=15; //黄灯 deng=0; break; } } if(pp==20) { pp=0; shijian--; } a0=shijian%10; a1=shijian/10; display(a1,a0); switch(deng)//這是個循环函数,由上边switch(deng)的循环得出灯的值為多少,對应的灯值為下边那個對用的状况来选择执行。 { case1:P1=0X00; //紅灯 break; case2: //黄灯 if(shijian%2==0) P1=0x00; if(shijian%2==1) P1=0xff; break; case3: //绿灯 if(shijian%2==0) P1=0x55; if(shijian%2==1) P1=0xaa; break; case0: if(shijian%2==0) //黄灯 P1=0x00; if(shijian%2==1) P1=0xff; break; } }}voidtime0()interrupt1//中断函数{ TH0=(65536-46080)/256; TL0=(65536-46080)%256; pp++;}總結与体會:總体来說,這次的试验還不算是很难。由于我們小组做的嘛,又是一种宿舍的,常常在一起,碰到有什么問題或是困难,大家随時随地都

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论