文档详情

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

发布:2017-08-06约4.91千字共12页下载文档
文本预览下载声明
51单片机综合实验交通灯设计报告 班 级: 学 生 姓 名: 学 号: 指 导 教 师: 实验题目 交通灯控制系统设计 实验目的 学8051单片机开发简单的计算机控制系统; 学会用汇编语言和C语言开发系统软件; 学会8051单片机开发环境wave或Keil uVision3软件的使用; 学Proteus软件的使用方法Proteus单片机系统进行仿真; 学Protel软件的使用方法Protel绘制电气原理图和印制板图; 熟悉七位数码管显示的使用图1 十字路口交通灯配置示意图 四 设计内容与原理 为了在后面的分析中便于说明,将南北方向允许直行命名为状态1,南北方向允许左转命名为状态2,南北方向行车到东西方向行车的转换阶段命名为状态3,将东西方向允许直行命名为状态4,东西方向允许左转命名为状态5,东西方向行车到南北方向方向行车的转换阶段命名为状态6。 假定直行绿灯点亮的时间为25s,左转绿灯点亮的时间为20s,黄灯点亮的时间为5s,则对方红灯的点亮时间为50秒。黄灯每隔500ms亮一次,之后灭500ms(亮灭一次叫作闪烁一次),一共闪烁5次,持续5s。各个状态之间的变换情况如下: 具体显示周期如下: 25s 20s 5s 50s 状态1 状态2 状态3 状态4 状态5 状态6 南北路口 直行 绿灯亮 左转 绿灯亮 黄灯亮 缓行 红灯亮禁行 东西路口 红灯亮禁行 直行 绿灯亮 左转 绿灯亮 黄灯亮 缓行 50s 25s 20s 5s 图2交通信号灯点亮时间图 设计电路中每个路口的控制信号灯应有四个,即绿灯两个、黄灯、红灯各一个,同时需要七段数码管一个。因此,本电路的设计中应用到绿灯八个,黄灯四个,红灯四个,七段数码管两个(东西方向相同,南北方向相同,为节省空间可省略一对)。 五 电路设计分析 根据前面的设计内容与原理分析,电路设计中应有控制模块(单片机电路)、显示模块(十六个信号灯和两个七段数码管)本电路的设计,将发光二极管作为16个信号灯的材料。电源将采用5V的直流电源。东西两个方向的绿灯是同时亮的,为了简化电路可以让这两个灯接同一个引脚。同理,东西方向的黄灯、红灯也可以分别接同一个引脚。南北方向同上。这样我们可以用一个8位口控制16盏信号灯。 各信号灯均是共阴极接法,LED负极均接地,正极通过保护电阻接单片机P1口。这样单片机引脚的输出一个高电平时,相应的信号灯就被点亮。七段数码管经过8位排阻RESPACK-8连接。 单片机中应包括复位电路和晶振电路。本设计中,采用上电复位形式,由于本系统应用的机器周期为l(s,所以晶振选择为12MHz,根据调试电容选择30pF. 图3:复位电路 图4:晶振电路 六 硬件原理图 七 程序流程 本程序的程序流程图如图所示 八 心得体会 这次系统实验历时一个月的时间,在这实验过程里我们巩固了从编程、软件使用到调试的专业知识,逻辑思维和动手能力都得到了很大的提高。 要解决的主要问题就是程序的设计和仿真,虽然初期在设计和布局、编程时思路比较清晰,但是到了细节处,也出了不少问题,而且很难被检查出来,如在定时器使用方面出了一些错误。但是最后经过不断努力,还是写出来正确的代码。 通过这次系统实验,对以前学过的知识进行了巩固,加深了理解,提高了应用的能力,而且提高了我们的发现、分析、解决问题的能力,同时提高了对专业的认识及兴趣,对于我们工科生来说,对以后就业很有帮助。 附录 程序代码: #define uchar unsigned char #define uint unsigned int #include reg52.h /*****定义控制位**********************/ 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,SN
显示全部
相似文档