-
2021-05-24 07:18:14
十字路口交通灯控制设计(附电路图及源代码)
《计算机控制技术》
课程设计报告
课题名称 交通灯控制设计
专 业
班 级
学生姓名
学 号
指导教师
201*年 6 月 8日
目录
TOC \o "1-1" \h \u HYPERLINK \l _Toc16316 一、总体方案设计……………………………………………………….1
HYPERLINK \l _Toc16316 1.1 设计要求3
HYPERLINK \l _Toc16316 1.2总体方案设计框图介绍3
HYPERLINK \l _Toc16316 1.3元件列表4
TOC \o "1-1" \h \u HYPERLINK \l _Toc16316 二、单元电路设计6
2.1 AT89C51介绍......................................................................................6
2.2主控制系统模块..................................................................................7
2. HYPERLINK \l _Toc16316 3晶振电路..............................................................................................7
HYPERLINK \l _Toc16316 2.4复位电路8
HYPERLINK \l _Toc16316 2.5紧急电路11
HYPERLINK \l _Toc16316 2.6时间设置电路11
2.7交通灯电路15
2.8数码管显示电路.................................................................................16
2.9整体电路图.........................................................................................17
HYPERLINK \l _Toc16316 三、系统程序设计17
HYPERLINK \l _Toc16316 3.1主程序流程图17
HYPERLINK \l _Toc16316 3.2设计程序18
HYPERLINK \l _Toc16316 四、实验总结...........................................................................................21
五、参考资料….……………………………………………………….22
六、附录…………………………………………………………………………………..….22
一、总体方案设计
1.1实验要求
(1)能显示十字路口东西、南北两个方向的红、黄、绿灯的指示状态。(初始状态0为东西红灯,南北红灯。然后转状态1南北绿灯通车,东西红灯。延时T1秒后转状态2,南北绿灯闪2秒转黄灯,延时3秒,东西仍然红灯。再转状态3,东西绿灯通车,南北红灯。延时T1秒后转状态4,东西绿灯闪2秒转黄灯,延时3秒,南北仍然红灯。最后循环至状态1。)
(2)用拨动开关K0~K7实现延时时间T1的设置,当K7闭合时,为T1的设置状态,K0~K6为设置时间(秒),此时东西、南北两个方向均显示红灯状态。当K7断开时为工作状态。绿灯的闪烁频率为1HZ。
(3)在紧急状态下,可通过开关设置,使所有指示灯均为红灯状态。
1.2总体方案设计框图介绍
用AT89C51单片机设计一个智能交通灯控制系统,使其能模仿城市十字路口交通灯的功能,并对满足特殊的控制要求。每条道路上各配有一组红、黄、绿交通信号灯,其中红灯亮,表示该道路禁止通行;黄灯亮表示该道路上未过停车线的车辆禁止通行,已过停车线的车辆继续通行;绿灯表示该道路允许通行。该电路自动控制十字路口两组红、黄、绿交通灯的状态转换,实现十字路口自动化。
a 实现红、绿、黄灯的循环控制。可以利用三种不同颜色的LED灯分别接在P1个管脚,用软件编程实现灯的循环。
b实现紧急通车及时间设置。这需要人工实现,编程时利
更多相关内容 -
基于单片机的交通灯信号控制器设计(含源程序和电路图)
2020-08-07 05:10:41本文给读者提供了基于单片机的交通灯信号控制器设计方案,给出了源程序供读者设计参考。 -
交通灯multisim14仿真实例(含电路图)
2019-06-13 17:33:03使用multisim14软件编写的交通灯控制系统,亲测可动态显示,数字变动较慢,请耐心等待。可通过示波器观察电压变化。 -
基于Quartus II的交通灯控制电路设计.ppt
2020-04-03 00:22:55EDA软件Quartus II的基本 操作方法。熟悉MSI组合逻辑电路和时序逻辑路的逻辑功能及使用方法 。掌握MSI组合逻辑器件和时序逻辑器件组成数字小系统的设计和测试方法。学会使用Quartus II设计、仿真和调试数字逻辑电路 -
(毕业设计)十字路口交通灯信号控制器-电路方案
2021-04-22 21:37:30十字路口交通灯信号控制器设计要求: 1)东西通道和南北通道交替通行,东西...整个电路设计,包括原理图和PCB、原理图和PCB封装库文件,用AD软件打开; 源程序(用汇编语言编写); 十字路口交通灯信号控制器论文分析; -
交通灯控制电路设计+设计流程图+设计电路图+实物图.pdf
2022-02-11 16:49:14交通灯控制电路设计+设计流程图+设计电路图+实物图.pdf -
STM32实现交通灯设计
2020-05-14 21:46:36用Keil软件编写控制代码,使用Proteus软件仿真STM32以及LED灯、按键等硬件; 交通灯有三种方案,区别在于红灯和绿灯亮的时间不一样 -
十字路口交通灯 51单片机代码 proteus仿真电路原理图.rar
2020-01-23 12:52:41模拟十字路口的红绿灯以及数码管倒计时时间显示,51单片机代码附带proteus仿真电路,原理图 直观实验现象 -
51单片机课程设计:交通灯仿真及源码分享-电路方案
2021-04-21 04:54:571. 能根据交通规律正确设置交通灯状态及数码管显示内容 2. 能手动调节时间 3. 能根据交通状况自动延长直行时间; 带行人与繁忙检测的单片机交通灯仿真原理图如下: 注:通过键盘调节时间项目中,分为东西直行时间、... -
交通灯设计附pcb图及程序源码
2015-08-01 01:10:14设计一个交通灯系统,通过两位数码管和三色发光二极管来模拟交通灯的变化规律,东西南北各2个数码管来显示秒倒计时,东西南北各一个红、黄、绿发光二极管,用于表示红灯、黄灯、绿灯状态。 基本功能: (1) 首先... -
交通灯程序以及电路图
2016-12-28 16:29:25交通灯课程设计,实现东西方向和南北方向的智能控制,同时拥有语音播报和红外技术功能 -
基于AT89C51单片机的交通灯控制系统设计与仿真
2021-01-19 18:45:08摘要:AT89C51单片机的交通灯控制系统是由AT89C51单片机、键盘电路、LED倒计时、交通灯显示等模块组成。系统除基本交通灯功能外,还具有通行时间手动设置、可倒计时显示、急车强行通过、交通特殊情况处理等相关功能... -
基于C51单片机交通灯设计(软件源程序+硬件原理图+proteus仿真+设计文档资料).zip
2022-03-19 17:25:23基于C51单片机交通灯设计(软件源程序+硬件原理图+proteus仿真+设计文档资料) 本设计以单片机为核心,以LED数码管作为倒计时指示,根据设计的要求我们考虑了各功能模块的几种设计方案,以求最佳方案,实现实时显示... -
数电设计 交通灯控制逻辑电路设计---proteus
2020-07-01 09:19:37设计一个十字路口交通信号灯控制器,其要求如下: 1.满足如图4.1顺序工作流程。 图中设南北方向的红、黄、绿灯分别为NSR、NSY、NSG,东西方向的红、 黄、绿灯分别为EWR、EWY、EWG。 它们的工作方式,有些必须是并行... -
基于51单片机的十字路口交通灯控制系统设计(含源码及仿真图)
2020-03-05 17:24:35基于51单片机的十字路口交通灯控制系统设计(含源码及仿真图) (1)东西、南北方向各设有一个绿、黄、红指示灯,两个显示数码管。 (2)两个方向交替允许通行,基本放行时间为25s,另外有黄灯闪烁5s。 (3)控制人员可以... -
单片机交通灯课程设计报告(含电路图,源程序).pdf
2021-12-22 19:33:48单片机交通灯课程设计报告(含电路图,源程序).pdf -
基于AT98S52单片机交通灯设计(毕业论文文档+软件源程序+DXP原理图+proteus仿真).zip
2022-01-25 11:36:34基于AT98S52单片机交通灯设计(毕业论文文档+源程序+DXP原理图+proteus仿真) 本设计以单片机为核心,以LED数码管作为倒计时指示,根据设计的要求我们考虑了各功能模块的几种设计方案,以求最佳方案,实现实时显示... -
十字路口交通灯完整资料分享 带原理图/仿真/源码-电路方案
2021-04-21 09:39:36十字路口交通灯,附原理图和仿真,带程序。经验证,仿真真实有效。 附件部分截图如下: -
基于小脚丫FPGA开发板的交通灯设计-电路方案
2021-04-22 07:23:48图5、交通灯程序框图 4.1clock_division模块Clock_division模块主要实现数字时钟的模式控制,程序代码截图如下: 4.2 Curren_state模块 这部分代码的作用是将次态赋值给当前态,这是三段式的标志性模块。该模块程序... -
51单片机控制交通灯原理图及C语言程序
2021-05-19 12:26:43Proteus仿真原理图:Keil C源程序:#include#define uchar unsigned char#define uint unsigned intsbit RED_DONGXI = P1^0;//南北方向红灯亮sbit YELLOW_DONGXI = P1^1;//南北方向黄灯亮sbit RED_NANBEI = P1^3;//...Proteus
仿真原理图:
Keil C源程序:
#include
#define uchar unsigned char
#define uint unsigned int
sbit RED_DONGXI = P1^0;//南北方向红灯亮
sbit YELLOW_DONGXI = P1^1;//南北方向黄灯亮
sbit RED_NANBEI = P1^3;//东西方向红灯亮
sbit GREEN_DONGXI = P1^2;//南北方向绿灯亮
sbit YELLOW_NANBEI = P1^4;//东西方向黄灯亮
sbit GREEN_NANBEI = P1^5;//东西方向绿灯亮
sbit DXweixuan1 = P1^6;//南北方向数码管位选1
sbit DXweixuan2 = P1^7;//南北方向数码管位选2
sbit NBweixuan1 = P3^0;//东西方向数码管位选1
sbit NBweixuan2 = P3^1;//东西方向数码管位选2
sbit L1=P3^5;
sbit L2=P3^6;
sbit L3=P3^7;
uint aa, bai,shi,ge,bb;
uint shi1,ge1,shi2,ge2;
uint code table[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f}; uint code table1[]={0xfc,0x60,0xda,0xf2,0x66,0xb6,0xbe,0xe0,0xfe,0xf6};
void delay(uint z);
void init(uint a);
void display(uint shi1,uint ge1,uint shi2,uint ge2);
void xtimer0();
void init1();
void init2();
void init3();
void init4();
void init5();
void xint1();
void xint0();
void LED_ON();
void LED_OFF();
void main()
{
P0=0xFF;
P1=0xFF;
P2=0x00;
P3=0xFF;
EA=1;
EX0=1;
IT0=0;
init1();
while(1)
{
init2();//第2个状态
init3(); //第3个状态
init4(); //第4个状态
init5();//第5个状态
}
}
void init1()//第一个状态:东西、南北方向均亮红灯5S
{
uint temp;
temp=5;
TMOD=0x01;
TH0=(65535-50000)/256;
TL0=(65535-50000)%256;
EA=1;
ET0=1;
TR0=1;
while(1)
{
} } RED_DONGXI=0; //第一个状态东西、南北均亮红灯5S RED_NANBEI=0; GREEN_DONGXI=1; GREEN_NANBEI=1; YELLOW_DONGXI=1; YELLOW_NANBEI=1; if(aa==20)//定时20*50MS=1S { aa=0; temp--; } shi1=shi2=temp/10; ge1=ge2=temp%10; if(temp==0) { temp=5; break; } display(ge1,shi1,ge2,shi2);
void init2()//第二个状态:东西亮红灯30S~5S、南北亮绿灯25~0S; {
uint temp;
temp=26;
TMOD=0x01;
TH0=(65535-50000)/256;
TL0=(65535-50000)%256;
EA=1;
ET0=1;
TR0=1;
while(1)
{
RED_DONGXI=1;
RED_NANBEI=0;
GREEN_DONGXI=0;
GREEN_NANBEI=1;
YELLOW_DONGXI=1;//第二个状态:东西亮绿灯25S、南北亮红灯 YELLOW_NANBEI=1;
if(aa==20)//定时20*50MS=1S
{
aa=0;
temp--;
shi1=(temp+5)/10;
ge1=(temp+5)%10;
shi2=temp/10;
ge2=temp%10;
if(temp==0)
{
temp=26;
break;
}
}
display(ge1,shi1,ge2,shi2);
}
}
void init3() //第三个状态:东西绿灯变为黄灯闪5次、南北亮红灯5S {
uint temp;
temp=6;
TMOD=0x01;
TH0=(65535-50000)/256;
TL0=(65535-50000)%256;
EA=1;
ET0=1;
TR0=1;
while(1)
{
RED_NANBEI=0;
GREEN_DONGXI=1;
} } if(aa==20)//定时20*50MS=1S { aa=0; temp--; YELLOW_DONGXI=~YELLOW_DONGXI; shi1=temp/10; shi2=shi1; ge1=temp%10; ge2=ge1; } if(temp==0) { temp=6; break; } display(ge1,shi1,ge2,shi2);
void init4()//第四个状态:东西亮绿灯25~0S,南北方向亮红灯30~5S; {
uint temp;
temp=26;
TMOD=0x01;
TH0=(65535-50000)/256;
TL0=(65535-50000)%256;
EA=1;
ET0=1;
TR0=1;
while(1)
{
RED_DONGXI=0;
RED_NANBEI=1;
}
} YELLOW_DONGXI=1;//第一个状态东西、南北均亮红灯5S GREEN_NANBEI=0; if(aa==20) { aa=0; temp--; shi1=temp/10; shi2=(temp+5)/10; ge1=temp%10; ge2=(temp+5)%10; if(temp==0) { temp=26; break; } } display(ge1,shi1,ge2,shi2);
void init5()//第五个状态:东西亮红灯、南北绿灯闪5次转亮黄灯5S {
uint temp;
temp=6;
TMOD=0x01;
TH0=(65535-50000)/256;
TL0=(65535-50000)%256;
EA=1;
ET0=1;
TR0=1;
while(1)
{
RED_NANBEI=1;
RED_DONGXI=0;
GREEN_DONGXI=1;
GREEN_NANBEI=1;
if(aa==20)
{
aa=0;
temp--;
YELLOW_NANBEI=~YELLOW_NANBEI;
shi1=temp/10;
shi2=shi2;
ge1=temp%10;
ge2=ge1;
if(temp==0)
{
temp=6;
break;
}
}
display(ge1,shi1,ge2,shi2);
}
}
void display(uint shi1,uint ge1,uint shi2,uint ge2) {
DXweixuan1=0;
DXweixuan2=1;
NBweixuan1=1;
NBweixuan2=1;
P0=table[ge1];
delay(5);
DXweixuan1=1;
DXweixuan2=0;
NBweixuan1=1;
NBweixuan2=1;
P0=table[shi1];
delay(5);
DXweixuan1=1;
DXweixuan2=1;
NBweixuan1=0;
NBweixuan2=1;
P0=table[ge2]; delay(5);
DXweixuan1=1; DXweixuan2=1; NBweixuan1=1; NBweixuan2=0; P0=table[shi2]; delay(5);
}
void xint0() interrupt 0 {
RED_NANBEI=0; RED_DONGXI=0; GREEN_NANBEI=1; GREEN_DONGXI=1; YELLOW_NANBEI=1; YELLOW_DONGXI=1; P0=0x00;
NBweixuan1=0; NBweixuan2=0; DXweixuan1=0; DXweixuan2=0; delay(2);
return ;
}
void xint1() interrupt 2 {
RED_NANBEI=1; RED_DONGXI=1; GREEN_NANBEI=0; GREEN_DONGXI=0; YELLOW_NANBEI=1; YELLOW_DONGXI=1; P0=0x00;
NBweixuan1=0; NBweixuan2=0; DXweixuan1=0; DXweixuan2=0; delay(2);
return ;
}
void xtimer0() interrupt 1 {
TH0=(65535-50000)/256;
TL0=(65535-50000)%256; aa++;
}
void delay(uint z) {uint x,y;
for(x=0;x
for(y=0;y
-
单片机交通灯课程设计报告(含电路图,源程序)
2009-01-02 12:30:29基于89s52的交通灯控制系统,内含电路图,源程序,完整的设计报告格式~~可以直接使用 -
数电交通灯 Multisim 13.0 仿真程序(已验证通过)
2020-03-22 15:51:01该文件为基于 Multisim 13.0 的数电交通灯仿真程序(已验证通过),可以直接运行! 设计一个十字路口交通灯定时控制器: 1) 主、支干道交替通行,主道每次放行 30s,支道每次放行 20s。 2) 绿灯亮表示可以通行,... -
基于8086汇编语言的交通灯程序加proteus仿真原理图
2018-05-13 23:34:14该文件包含了proteus电路仿真和汇编程序,图和程序都经过本人亲测是成功的,其中硬件部分用器件:8253a,74ls373,74ls138,8255a,功能分为手动和自动模式的交通灯,通过按键调节控制模式。 -
基于51单片机的交通灯设计(三)-编写c51程序
2021-05-21 12:07:33前面我们用两篇文章分别介绍了设计要求和原理图内容,我们已经对交通灯设计有了初步了解,这里,我们继续学习程序的编写。这一篇我们用到的工具软件有:思维导图制作软件流程图制作软件Keil4 c51编译软件Proteus7 ...前面我们用两篇文章分别介绍了设计要求和原理图内容,我们已经对交通灯设计有了初步了解,这里,我们继续学习程序的编写。
这一篇我们用到的工具软件有:
思维导图制作软件
流程图制作软件
Keil4 c51编译软件
Proteus7 仿真软件
按照我们之前在第一篇文章里绘制的“基本功能和设计思路的图表”内容,在“设计思路”里面列出了两个方法,我们选择第一种,先制作仿真后制作实物。
01.分析程序中用到的内容
可能一开始让人觉得无从下手,这个程序到底怎么写,写什么内容?
不着急,我们回顾最开始的内容,那时候我们画了一个“基本功能和设计思路的图表”,现在就根据这个图表,给它添砖加瓦,增加程序的内容,有了内容,就能做出控制流程,有了控制流程,就会有程序……
看下图:
程序设计思路整理--思维导图
交通灯设计——从功能产生程序内容
从图中可以看出,有两大部分:
一是“功能”,这是我们第一篇文章里面的内容;
二是“程序内容”,这是根据“功能”的需求,制定出的程序要编写的内容。
后面,我们就根据程序内容来完成每个小定义、小函数的编写,直到给程序准备好所有的“材料”,那么搭建一个完整的程序结构也就水到渠成了。
02.确定程序控制流程
有了内容,把它们合理安排,就可以做出我们原先设计的功能。
程序的流程用图来表达会比语言描述更加形象和直观,虽然在实际程序编写过程中不一定会完全按照这个结构完成任务,但是,事先有一个清晰的思想脉络,是非常必要的。
下面是一个简单的主程序流程图:
交通灯控制主程序流程图
03. 绘制proteus仿真图
这里贴一张程序完成后的正常运行截图:
04. 选择编写和编译程序的工具
对于51单片机,编译器不二的选择当然是Keil C51,但是编写程序的编辑器可以有很多选择。
常见的代码编辑工具软件有:Sublime Text3、Atom、Visual Studio Code 等等。
要注意的一点是,用编辑软件编写源码时,编译软件Keil不要点保存文件(当然工程可以保存),只编译,这样就不容易出现乱码。
git也是必要的工具,对于单片机新手来说暂时不用也不影响。
05. 编写完整程序
函数较多,首先是编写头文件,定义端口;其次编写单个程序,逐一测试。最后整合起来,用主函数来控制执行顺序。
为了思路清晰,这里采用了状态切换的方式,也加入了模式切换。实际简单程序可以只用状态来切换,调理会更清晰。
主要的子函数有:定时中断、按键检测、数码管显示、倒计时计算、信号灯控制等。
下面是主函数:// 主函数
void main(void) {
Delay_ms(200);
PortInit(); // 初始化IO端口
Timer0Init(); // 初始化定时器0
TimeValueInit(); // 初始化倒计时时间值
StatusInit(); // 初始化状态
while (1) {
//判断模式
switch (uc_Mode) {
// 如果为正常模式
case kMode_Normal: {
if (g_flag1s == isYes) { // 如果中断计数1S时间到
testTimeChangeState(); // 检测倒计时时间,时间到则改变状态
g_flag1s = isNo; // 重置1S标记
if (uc_State == i_EWY) {
ioLed_EW_Yellow = isLedON;
} else if (uc_State == i_SNY) {
ioLed_SN_Yellow = isLedON;
}
} else if (g_flag05s == isYes) { // 如果中断计数0.5S时间到
g_flag05s = isNo; // 重置1S标记
if (uc_State == i_EWY) {
ioLed_EW_Yellow = isLedOFF;
} else if (uc_State == i_SNY) {
ioLed_SN_Yellow = isLedOFF;
}
}
mainDisplay(); // 主显示子程序(包含按键检测和执行子程序)
} break;
// 如果为设置时间模式
case kMode_SetTime: {
mainDisplay(); // 主显示子程序(包含按键检测和执行子程序)
g_flag1s = isNo;
} break;
//如果为深夜模式
case kMode_LateNight: {
//如果中断计数1S时间到
if (g_flag1s == isYes) {
g_flag1s = isNo;
ioLed_EW_Yellow = isLedON;
ioLed_SN_Yellow = isLedON;
} else if (g_flag05s == isYes) {
g_flag05s = isNo;
ioLed_EW_Yellow = isLedOFF;
ioLed_SN_Yellow = isLedOFF;
}
key_Monitor(); //监控键
} break;
//如果为其它模式
default: {
key_Monitor(); //监控键
} break;
}
}
}
上面给出编写主函数的例子。
一边编写程序,一边编译成代码,用仿真加载运行调试,不断修改完善。
06.总结与积累
同样的控制功能,程序有各种各样的写法,通常采用一种自己习惯的方式,但是也应该不断学习别人的优点,改变自己的的不好习惯。
当然,笔者更趋向于用实际电路调试,毕竟仿真和实际硬件往往存在不可预知的差异,有时候会出现很多奇怪的问题,而真实板子就没有哪些问题,前提是硬件要正常。
-
简易交通灯的仿真电路图
2009-07-13 12:34:431、设计一个十字路口的交通灯控制电路,要求南北方向(主干道)车道和东西方向(支 干道)车道两条交叉道路上的车辆交替运行,主支干道每次通行时间都设为25秒、。 2、在绿灯转为红灯时,要求黄灯先亮5秒钟,才能... -
【电子技术实验设计】简易交通灯控制逻辑电路设计报告
2021-06-19 13:30:51简易交通灯控制逻辑电路设计报告一、设计任务和要求二、设计目的三、设计方案选择 一、设计任务和要求 设计一个简易交通灯控制逻辑电路,要求: 1、东西方向绿灯亮,南北方向红灯亮,时间15s。 2、东西方向与南北...简易交通灯控制逻辑电路设计报告
一、设计任务和要求
设计一个简易交通灯控制逻辑电路,要求:
1、东西方向绿灯亮,南北方向红灯亮,时间15s。
2、东西方向与南北方向黄灯亮,时间5s。
3、南北方向绿灯亮,东西方向红灯亮,时间10s。
4、如果发生紧急事件,可以动手控制四个方向红灯全亮。二、设计目的
1、进一步熟悉和掌握数字电子电路的设计方法和步骤
2、进一步将理论和实践相结合
3、熟悉和掌握仿真软件的应用三、设计方案选择
任务要求实际上就是4个状态,不妨设:
S1:东西方向绿灯亮,南北方向红灯亮,时间15s;
S2:东西方向与南北方向黄灯亮,时间5s;
S3:南北方向绿灯亮,东西方向红灯亮,时间l0s;
S4:如果发生紧急事件,可以手动控制四个方向红灯全亮。
【表1】主电路状态与指示灯状态转换主电路状态 东西方向绿灯G1 南北方向红灯R2 黄灯Y 东西方向红灯R1 南北方向绿灯G2 S1 1 1 0 0 0 S2 0 0 1 0 0 S3 0 0 0 1 1 S4 1 0 0 1 0 主电路要实现S1→S2→S3状态的循环转换,而且可以在任何一个状态进入S4,并能恢复正常工作状态。S1=15s;S2=5s;S3=10s。
方案一
①、S1-S3使用2个SR锁存器,设置00,01,10三个状态。
②、S4使用触发器,当出现紧急情况,触发器由“0”进入S4状态“1”后,在解除紧急时,恢复“0”,进入S1状态。
③、使用4个JK触发器,实现16位计数。方案二
①、S1-S3使用2个7473替代的T触发器。JK触发器包含SR触发器和T触发器的功能,J=K=T,则得到T触发器。
②、S4使用或门、非门实现,从【表1】可知:
G1=S3+S4
R2=S1·~S4
Y=S2·~S4
R1=S3+S4
G2=S3·~S4
③、使用74192同步可逆10进制计数器(8421码)2个方案一、优点:状态转换简单;
解除紧急(S4)后指定回到S1; 缺点:电平触发,与时钟信号不匹配;
方案二、优点:下降脉冲触发,与时钟信号匹配;
容易处理,可显示数值; 缺点:解除紧急(S4)后回到S1/S2/S3任一状态,不固定;
综合考虑,为使电路简化、运行稳定,选用方案二。
方案框图
- 计时器:使用上升时序,个位、十位两片74192。进位关联使用个位TCU=十位UP实现(Terminal Count Up (Carry) Line)。数据状态通过判断条件进入选择器74S153。判断条件成立后执行清零。
- 时序Sx控制:使用74LS73改装的T触发器2个,实现S1→S2→S3状态的循环转换。
- 判断时钟、Sx:判断74192和74LS73的状态,满足条件输出74192的清零使能和74LS73的CLK信号。
- 翻译Sx-LED,翻译S1、S2、S3对应LED的5个状态:
- 输出调整电路,令紧急电平开关控制LED的状态。
四、单元电路的选择设计
- 1、秒脉冲电路的选择设计
①秒脉冲可以由函数信号发生器产生,也可以由555定时器组成多谐振荡器产生。
②本实验采用555定时器组成的多谐振荡器,采用如图所示的接法,引入了二极管D1和D2,电容的充电电流和放电电流流经不同的路径,充电电流只流经R1,放电电流只流经R2,因此电容的充电时间变为T1=R1Cln2,放电时间变为T2=R2Cln2,故得脉冲的占空比为q=R1/(R1+R2),若取R1=R2,则q=50%,相应的周期变为T=(R1+R2)Cln2,取C=100uF。为了使输出波形稳定,取R1=R2=5.6K。
1.秒脉冲电路原理图:
电路仿真图:
2、计时系统电路的选择设计
计时系统包括由74192构成的计数器和数字译码显示器等,电路图
如图
- 计数器由两片74192十进制计数器组成两位十进制加法计数器,控制个位数的74192接入脉冲输入,进位输出端接十位数的加计数输入端。
- 两个芯片上的计数器输入端都接地,清零端接紧急开关,当紧急开关接地时,清零端输入低电平,计数器正常工作,当紧急开关接高电平时,计数器清零停止工作。74S153的1Y、2Y通过一个或门后接两个74192的预置数端,数据状态通过判断条件进入选择器74S153。判断条件成立后执行清零。控制个位数的74192的QB、QC经与门接入74S153的B输入端,当个位到达6时,输出为“1”;控制十位数的74192的QA接74S153的1C2、2C1、2C3,当十位到达1时,输出为“1”。
- 计数器的输出端分别连接对应数字译码显示器的输入端。
74192功能表如下:
3、状态控制器电路的选择设计
状态控制器是交通灯控制电路的核心,能够控制交通灯工作状态的转换。本设计需要循环的状态一共是三个,分别是S1、S2、S3,采用74LS73,JK触发器。
用JK触发器构成T触发器:
则有:
- 使2个T触发器的4状态循环变为3状态循环,使用作系统状态。由选择器74153判断。
74LS73 74LS73 状态 持续时间 S1 00 11 15S S2 01 10 5S S3 11 00 10S 状态转换图:
74LS73功能表如下:
4、时钟、状态控制判断系统电路的选择设计
判断系统由74S153数据选择器构成,电路原理图如下:
数据选择器输出的逻辑式为:
1Y=[1C0(~A~B)+1C1(~AB)+1C2(A~B)+1C3(AB)]·1G; 2Y=[2C0(~A~B)+2C1(~AB)+2C2(A~B)+2C3(AB)]·2G;
由图可知:
1C0=1C1=2C0=2C2=0; 1C2=2C1=2C3=QA(十位74192); 1C3=1; B=QA·QB(74S153); A=Q0(JK0 74LS73);
~1G、~2G分别接Q1(JK1 74LS73)和~Q1(JK1 74LS73)
状态 CLK Q1 74LS75 Q0 74LS73 @B74192 @C74192(2) S1 1 0 0 1 1 S2 1 0 1 1 X S3 1 1 1 X 1
74S153功能表如下:
5.状态翻译电路的选择设计
状态翻译电路由74LS138(3-8线译码器)实现,电路图如下:
A=Q0(74LS73)
B=Q1(74LS73)
C接紧急开关
74LS138功能表如下:
74LS138功能表如下:
6.输出调整电路的选择设计
由于74LS138输出的是而不是,另外需要实现正的逻辑,所以增加G6~G1来调整线路。电路图如下:
7.紧急开关设计
紧急开关电路图如下:
当紧急开关接地电平时,74192计数器正常工作,74LS138译码器工作输出为Y0、Y1、Y3,交通灯正常工作;当紧急开关接高电平时,74192计数器停止工作,74LS138输出不为Y0、Y1、Y3中的任意一个,所以黄、绿交通灯均不能工作,而红交通灯直接接了紧急开关,所以红交通灯全部亮起。
8.信号灯系统电路设计
信号灯系统的电路图如下:
五、系统的调试与仿真
1、调试软件:采用Multisim10软件进行仿真。
2、仿真电路的联成
仿真电路如下:
3、电路的调试
-
①调试秒脉冲
将秒脉冲输出接示波器,观察输出波形,当两个电阻阻值为5.6K时,波形最稳定。 -
②调试运行时,仿真软件时间太长,难以看出结果,可以点击菜单栏中Simulate/Interractive transient analysis,在弹出对话框中的Instrument Analysis区进行更改,将Maximum time step(TMAX)中的时间调整到0.001~0.005之间比较合适。
-
③计数器测试时,首先是将个位数的QA、QC引出到74S153中,但运行时在个为显示器到刚到达4计数器便立即清零只能显示13,猜想原因可能是由于元件的延时造成的,所以改为将个位数的QB、QC引出到74S153,再运行结果稍稍有所改善可以短暂显示4。
-
④紧急开关最初的设计没有连接计数器的清零端,计数器的清零端是接地的,但在紧急开关开启时,计数器仍然在计数所以改为将紧急开关连接计数器的清零端,正常工作时,清零端输入低电平,当紧急开关开启时,清零端输入高电平,计数器工作在清零状态。
-
⑤元件调整:双击原件即可调整原件参数。如果在运行状态,这个操作会导致总电源的关闭。
-
⑥接线问题:当且仅当元件、结点不移动的情况下,连线不移动,新接连线会自动调整,可用鼠标移动到线上拖动,若线上出现小方框,说明线太密,不能移动。连线不能倾斜,全部横向或竖向。当第三点需要连接在线上是,可以从端点拖动到线上。EWB不允许出现悬空线,也不允许从导线开始延伸到端点。
-
⑦器件、结点圈选以后可以整体移动。圈内的器件、结点相对位置不会移动,导线两端均在圈内则不移动,导线两端在圈外亦不移动。导线一端在圈内,一端在圈外则会自动调整。
仿真截图如下:
S1状态,东西方向绿灯亮南北方向红灯亮,时间为15秒;
S2状态,东南西北四个方向黄灯亮,时间为5秒;
S3状态,东西方向红灯亮,南北方向绿灯亮,时间为10秒;
S4状态,紧急状态,东南西北四个方向红灯全亮,计数器清零不显示。
六、心得体会
经过两周的努力终于完成了关于交通灯控制电路的电子课程设计,
通过不断的查资料让我积累了许多实际操作经验,
已初步掌握了数电的应用技术。巩固了数电课程知识,加深对基本器件、FF、时序电路、逻辑电路的理解。
我深刻体会到数字电子技术对当今现代社会的重要作用。经过这次设计,我学会了严密的思考,构想及怎样把计划付诸于实际行动中。
同时与社会的不断高速发展的步伐相比
我认识到自己所学的知识和技能还远远不足 有些实际问题还不能解决,很多更好的设想也无法实现,缺少很多有实际运用价值的知识储备,缺乏应有的动手解决实际问题的能力,缺乏高效利用及筛选大量资料的能力,有待在今后的学习实践中进一步提高。经过这次课程设计,我更加认识到要学好自己的专业知识以适应不断发展的社会。七、元件列表
元件序号 型号 主要参数 数量 74192 74LS192 十进制、LOAD低电平有效 2 74S153 74LS153 2组数据4选1选择器 使能端Ea、Eb低电平有效 1 74LS73 74LS73 J=K=T,2个T触发器 1 74LS138 74LS138 3-8线译码器 1 G0 74LS00+74LS04 2输入与门 1 G1、G2 74LS00 2输入与非门 1 G3、G6、G7、G8 74LS04 2输入非门 1 G4、G9、G10 74LS02+74LS04 2输入或门 1 G5 74LS86 2输入异或门 1 红灯 2.5V 4 绿灯 2.5 V 4 黄灯 2.5V 4 个(十)位显示 DCD_HEX 2 八、参考书
[1]阎石.数字电子技术基础第四版[M].北京:高等教育出版社
[2]罗中华.数字电路与逻辑设计课程[M].北京:电子工业出版社
[3]梁宗善.电子技术基础课程设计[M].武汉:华中理工大学出版社
[4]郭海文.电气试验技术[M].北京:中国矿业大学出版社
[5]74LS73说明书
[6]74LS138说明书
[7]74LS153说明书
[8]74LS192说明书 -
PLC交通灯控制系统设计
2021-01-19 16:12:200 引言随着自动化控制技术和微电子技术的迅猛发展,PLC作为前沿的工业控制器,具有体积小、可靠性高、易操作、灵活性强、抗干扰能力强等一系列...交通灯控制工艺:南北、东西向的十字路口,均设有红、黄、绿三只信号 -
基于STM32的智能交通灯系统.pdf
2021-06-28 13:55:30基于STM32的智能交通灯系统.pdf