文档详情

基于51单片机的交通信号灯模拟控制系统实验一.docx

发布:2024-09-06约2.56千字共6页下载文档
文本预览下载声明

基于51单片机的交通信号灯模拟控制系统实验

实验目的和要求

1.掌握单片机基本资源使用。

2.掌握单片机电路原理图绘制和仿真。

3.掌握单片机C语言软件开发以及联合仿真。

实验内容和原理

实验内容:

根据题目绘制单片机电路原理图。

绘制程序流程图并编写C语言程序

在仿真程序中进行联合仿真,最后提交实验报告

主要仪器设备

keilC,proteus。

四、操作方法与实验步骤

4.1题目要求

用单片机设计一个十字路口交通灯模拟控制系统,要求东西、南北两个方向都通行20秒,警告3秒,禁止20秒,同时要考虑到东西、南北两个方向出现异常情况,出现异常情况器该方向通行60秒。

4.2系统设计思路

设置东西、南北方向的交通灯状态变量。设置计时器变量,用来记录当前状态的持续时间。设置异常情况变量,用来记录异常情况是否出现。在主循环中使用无限循环来控制交通灯的状态和计时器的更新。根据计时器的值和交通灯状态,判断当前状态,并控制灯的状态切换。?初始化交通灯状态和计时器,使东西、南北方向都为通行状态,计时器初始值设置为20秒。在循环中,逐秒更新计时器的值,并判断当前状态。如果计时器的值为0,即当前状态持续时间结束,根据当前状态进行灯的状态切换和计时器的重设。如果出现异常情况,将相应方向的状态设置为异常,并将计时器设置为60秒

4.2电路图绘制(包含详细的参数选定文字和图像叙述)

4.3C程序编制(包含详细的文字和程序流程图)

#include?reg51.h

void?delay500ms?(unsigned?char?k);void?main(void)

SP=0X60;

TMOD=0x01;

IE=0x85;

TCON=0x05;

while(1)

//初始化

P1=0x21;

delay500ms?(40);

P1=0x41;

delay500ms?(6);

P1=0x12;

delay500ms?(40);

P1=0x14;

delay500ms?(6);

//状态1,东西方向绿灯,南北方向红灯20s?//状态2,东西方向黄灯,南北方向红灯3s?//状态3,南北方向绿灯,东西方向红灯20s

//状态4,南北方向黄灯,东西方向红灯3s

//东西方向异常,东西方向绿灯闪,南北方向红灯闪?60s

void?int?0(void)?interrupt0

)

unsigned?char?il,i2;

i1=Pl;

for(i2=0;i260;i2++)

P1=0x21;?

delay500ms?(1);

P1=0x00;

delay500ms?(1);

Pl=il;

//南北方向异常,南北方向绿灯闪,东西方向红灯闪?60s?void?int?1(void)?interrupt?2

unsigned?char?jl,j2;

j1=P1;

for?(j2=0;j260;j2++)

P1=0x12;

delay500ms?(1);

P1=0x00;

delay500ms?(1);

Pl=jl;

//延时500ms?函数

void?delay500ms?(unsigned?char?m)

unsigned?char?k1,?k2;

TH0=0x3C;TL0=0xB0;

TRO=1;

for?(k1=0;k1m;k1++)

for?(k2=0;k210;k2++)

while(!TFO);

TF0=0;

TH0=0x3C;TL0=0xB0;

4.3仿真分析(包含文字和图像叙述)

状态,东西方向绿灯,南北方向红灯20秒,状态编码“100”(1):)状态2,东西方向黄灯,?南北方向红灯3秒,状态编码“00000?(41H);状态了,南北方向绿灯,东西方向红灯?20秒,状态编码“00”00?(2H);:状态4,南北方向黄灯,东西方向红灯3秒,状态编码“000”(4H)。

异常情况分两种:东西发生异常时,东西通行,南北禁止,东西方向绿灯闪,南北方向红灯闪60秒:南北发生异常时,南北通行,东西禁止,南北方向绿灯闪,东西方向红灯闪60秒;闪烁通过用亮-次灭一次实现。主程序中实现交通灯正常运行过程,两种异常用外中断0和外中断1管理,外接开关模拟异常发生,在中断服务程序中实现异常处理,在主程序中开放外中断0和外中断1,设置为边沿触发方式。时间单位采用500ms?信号,由定时/计数器?0定时50ms,循环10次产生,定时/计数器0采用查询方式,主程序中设定定时/计数器0的工作方式:方

五、讨论和心得(不少于100字)

讨论与心得:

1.?多任务处理:该设计中需要同时控制东西、南北两个方向的交通灯状态,并处理异常情况。因此,需要考虑如何合理利用单片机的多任务处理能力,确保各个状态之间的切换和异常情况的处理能够同时进行,以实现交通灯控制系统的正常运行。

2.?异常

显示全部
相似文档