1 / 13
文档名称:

51单片机综合实验交通灯设计报告.docx

格式:docx   大小:15KB   页数:13页
下载后只包含 1 个 DOCX 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

51单片机综合实验交通灯设计报告.docx

上传人:baba 2022/6/27 文件大小:15 KB

下载得到文件列表

51单片机综合实验交通灯设计报告.docx

文档介绍

文档介绍:51单片机综合实验交通灯设计报告
  20XX 报 告 汇 编 Compilation of reports
 报告文档借鉴学****word 可编辑好用文档
  51 单片机综合试验交通灯设计报告
 班
  级:
 学 生 姓 名 设置闪耀次数 延时 500ms 南北左转绿灯亮 东西红灯亮 延时 25s 延时 20s 黄灯灭 南北直行绿灯亮 东西红灯亮 黄灯亮 延时 500ms 设置闪耀次数 黄灯亮 延时 500ms 东西左转绿灯亮 南北红灯亮 延时 25s 延时 20s 东西直行绿灯亮 南北红灯亮 起先 复位 黄灯灭 闪耀次数到? 闪耀次数到? 延时 500ms N N Y Y
 报告文档借鉴学****word 可编辑好用文档
 要解决的主要问题就是程序的设计和仿真,虽然初期在设计和布局、编程时思路比较清楚,但是到了细微环节处,也出了不少问题,而且很难被检查出来,如在定时器运用方面出了一些错误。但是最终经过不断努力,还是写出来正确的代码。
 通过这次系统试验,对以前学过的学问进行了巩固,加深了理解,提高了应用的实力,而且提高了我们的发觉、分析、解决问题的实力,同时提高了对专业的相识及爱好,对于我们工科生来说,对以后就业很有帮助。
  附录
 程序代码:
  #define uchar unsigned char
 报告文档借鉴学****word 可编辑好用文档 #define uint unsigned int #include <> /*****定义限制位**********************/ sbit EW_LED2=P2^3; //东西数码管个位 sbit EW_LED1=P2^2; //东西数码管十位 sbit SN_LED2=P2^1; //南北数码管个位 sbit SN_LED1=P2^0; //南北数码管十位_ sbit
 SN_Yellow=P1^6;//南北黄灯 sbit
 EW_Yellow=P1^2;//东西黄灯 sbit
 EW_Red=P1^3;//东西红灯 sbit
 SN_Red=P1^7;//南北红灯 sbit
 Busy_Btton=P3^4; bit
  Flag_SN_Yellow; //南北黄灯标记位 bit
  Flag_EW_Yellow;//东西黄灯标记位 char Time_EW;//东西方向倒计时单元 char Time_SN;//南北方向倒计时单元 uchar EW=50,SN=25,EWL=20,SNL=20; //程序初始化赋值 uchar EW1=50,SN1=25,EWL1=20,SNL1=20;//用于存放修改值的变量 1-9 段选码
 uchar
 code table[10]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90 }; uchar code S[8]={0X28,0X48,0X18,0X48,0X82,0X84,0X81,0X84};//交通信号灯限制代码 /**********************延时子程序************************/ void Delay(uchar
 a)
 {
  uchar i;
  i=a;
  while(i--){;}
 } /*****************显示子函数**************************/ void Display(void)
 {
  char h,l;
  h=Time_EW/10;
  l=Time_EW%10;
 P0=table[l];
  EW_LED2=1;
  Delay(200);
  EW_LED2=0;
 P0=table[h];
  EW_LED1=1;
  Delay(200);
  EW_LED1=0;
 报告文档借鉴学****word 可编辑好用文档
 h=Time_SN/10;
  l=Time_SN%10;
  P0=table[l];
  SN_LED2=1;
  Delay(200);
  SN_LED2=0;
 P0=table[h];
  SN_LED1=1;
  Delay(200);
  SN_LED1=0;
 } /**********************T0 中断服务程序*******************/
 void timer0(void)interrupt 1 using 1 {
 static uchar count;
 TH0=(65536-50000)/256;
 TL0=(65536-5000