C51单片机交通灯毕设用什么板子好,如何将自己设计电路在板子上实现

作者&投稿:甘瑾 (若有异议请与网页底部的电邮联系)
用89C51单片机作主控部件,设计一个交通灯控制电路,要求实现如下功能~

跟我的题目一样 你有答案了么

思路:
红灯停,绿灯行,黄灯闪烁提示行人红绿灯即将切换。四个方向各有一个红、黄、绿显示和两个数码管。
东西道为人行道(20秒),南北道为车行道(60秒),黄灯延时最后三秒时,闪烁并切换。
三、硬件电路设计
此电中路设计采用AT89C51单片机,74LS47(数码管驱动)74LS373(数码管驱动输出锁存),8个数码管显示其延时值,四个红、黄、绿指示灯。硬件设计关键在于,延时显示时,要考虑到当个位数字显示时,要确保十位数字显示输出的不变。因此,可加输出锁存器。在延时最后三秒时,要让黄灯进行闪烁,并同时显示数字(这一步在软件设计上很关键)。
四、软件程序(C语言)
以下是整个设计的软件程序,直接可以编译成*。Hex代码。通过以上电路,下载到单片机,可直接运行。
//*****************************//
//程序名:十字路口交通灯控制
//编写人:黄庭剑
//初写时间:2009年1月2日
//程序功能:南北为车行道,延时60秒;东西方向为人行道,延时20秒,且在最后3秒黄灯显示2秒钟再实现切换.
//CPU说明:AT89C51型单片机; 24MHZ晶体振荡器
//完成时间:2009年1月6日
//*****************************//
#include
#include
#include
sfr p0 = 0x80;
sfr p1 = 0x90;
sfr p2 = 0xA0;
sfr p3 = 0xb0; //这部分内容其实在“#include”里已经有,但里面定义的必须区分大小写,在这里,因为我程序采用的是小写,reg51.h里对各个端口与寄存器的定义都是大写,所以在编译连接时,会报错,所以,在本设计程序里,我只用到了端口,在这里也就只定义了四个,而没有去改reg51.h里面的内容。其实两者是一样的。
sbit sw = p0^0;
sbit OE =P0^6;
sbit LE =P0^7; //74LS373锁存器控制端定义
char display[]={ 0x00,0x11,0x22,0x33,0x44,0x55,0x66,0x77,0x88,0x99 }; //p1口的数码管时间显示调用,利用74L74BCD码,8位驱动输出;
//函数声明 begin
void delay1(int count);
void delay_long(int number1,int number2);
void people_car_drive();
//函数声明end
//***********************//延时子程序
void delay1(int count)
{ int i;
for(i=count;i>0;i--)
{ ;}
}
void delay_long(int number1,int number2)
{
int a,b;
for(a=number1;a>0;a--)
{
for(b=number2;b>0;b--)
{ _nop_(); }
}

}
//**********************//延时子程序
void people_car_drive()
{
int p_1=2,i,j=9,p_2=6; //****************//行人通行时,延时20秒
p2=0x09; //南北红灯亮
p3=0x24; //东西绿灯亮

while(p_1-->0)
{ LE=1;
OE=0;
if(p_1==0){OE=1;} //当十位数减到0时,只显示个位数
p1=display[p_1];
delay1(1000);
LE=0;
j=9;
for(i=10;i>0;i--)
{
if(p_1==0&&j==3)break; //减到3时退出循环,让其黄灯闪烁显示
p1=display[j--];
delay_long(16000,2);
if(sw==1)return;
}

}

//*******************************************************************************//

p2=0x12; //南北黄灯闪烁三秒,以提醒行人注意
p3=0x12;
p1=display[3];
delay_long(8000,1);
p2=0x00;
p3=0x00;
delay_long(14000,1);

p2=0x12;
p3=0x12;
p1=display[2];
delay_long(8000,1);
p2=0x00;
p3=0x00;
delay_long(14000,1);

p2=0x12;
p3=0x12;
p1=display[1];
delay_long(8000,1);
p2=0x00;
p3=0x00;
delay_long(14000,1);
//*****************以下是车辆通行时延时60秒//

p2=0x24; //南北绿灯亮
p3=0x09; //东西红灯亮

while(p_2-->0)
{ LE=1;
OE=0;
if(p_2==0){OE=1;} //当十位数减到0时,只显示个位数
p1=display[p_2];
delay1(1000);
LE=0;
j=9;
for(i=10;i>0;i--)
{
if(p_2==0&&j==3)break; //减到2时退出循环
p1=display[j--];
delay_long(16000,2);
if(sw==1)return;
}
}

p2=0x12; //南北黄灯闪烁三秒,以提醒行人注意
p3=0x12;
p1=display[3];
delay_long(8000,1);
p2=0x00;
p3=0x00;
delay_long(14000,1);

p2=0x12;
p3=0x12;
p1=display[2];
delay_long(8000,1);
p2=0x00;
p3=0x00;
delay_long(14000,1);

p2=0x12;
p3=0x12;
p1=display[1];
delay_long(8000,1);
p2=0x00;
p3=0x00;
delay_long(14000,1); //南北黄灯闪烁三秒完毕
}

void main() //主函数入口处
{
p0=0x01;
p1=0x00;
p2=0x00;
p3=0x00; //初始化各端口
{ while(1)
{
if(sw==0)
{ people_car_drive();}
else
{
p2=0x00;
p3=0x00; //关闭所有交通灯
}
}

}
}
详情访问:http://hi.baidu.com/hjiannew/

电路板,在上面画一个十字路口,每个路口用3个LED,共12个LED,如有需要可以再加4个秒钟指示器,最后再把这些LED和指示器连到MCU

用普通的印刷版就可以了,可以在电子商城买到。
自己先设计布局,各个器件的摆放位置,尽量看起来美观。焊接在印刷板,元器件主要有LED数码管,电阻,如果用P1口做输出是要1K的排阻。还需要驱动芯片,按钮等。通过程序实现交通灯功能。

我正在做这个毕业设计.
你问的这些以前都学过的嘛.

以我看不用PCB电路板或者万能板(需要用导线连接),用PCB板的话只要在protel中画好电路图,到打印店转印出来,再用熨斗转印到PCB板上就可以了,再装上元器件就可以了。注:在protel上你做的是什么样的图,你的板子上与你做的完全一样。


用51单片机编写城市道路交通灯c语言程序,有左转右转
include<reg51.h> define uchar unsigned char define uint unsigned int sbit RED_A=P3^0; \/\/东西向指示灯 sbit YELLOW_A=P3^1;sbit GREEN_A=P3^2;sbit RED_B=P3^3; \/\/南北向指示灯 sbit YELLOW_B=P3^4;sbit GREEN_B=P3^5;sbit KEY1=P1^0;sbit KEY2=P1^1;sbit KEY3=P1^2;\/...

如何用单片机设计一个路口交通信号灯?
不过,我可以给您提供一些基于单片机的设计方案。例如,基于51单片机的简单交通信号灯控制系统的设计思路和实现方法。该系统由单片机最小系统、交通灯状态显示系统、LED数码显示系统、复位电路和按键操作电路等几大部分组成。另外,还有一些其他的设计方案,比如基于AT89C52单片机为中心器件来设计交通信号灯控制器...

用51单片机显示交通灯倒计时原理是什么
void main(){ P3 = 0;P1 = 0;P2 = 0xff;initTimer();TR0=1;ET0=1;EA=1;while(1){ switch(state){ \/\/ 状态跳转 case 0:if(ct == 0){ P3=0;P1=0;P2=0xff;ct = 10;state = 1;} break;case 1:if(ct == 0){ P3=0;P1=0;P2=0xff;ct = 2;state = 2;} break;...

利用mcs-51单片机指令系统设计一段交通灯轮流点亮的程序
参考程序, 具体留言商议。ORG 0000H LJMP MAIN ORG 0100H MAIN:MOV SP,#60H ; LCALL DIR ;调用日期、时间显示子程序 LOOP:MOV P1,#0FFH LJMP TEST LCALL ROAD1 ;路口1的车直行时各路口灯亮情况 LCALL DLY30s ;延时30秒 MOV P1,#0FFH ;恢复P1口高电平 LCALL RESET ;恢复81...

急求:51单片机 交通灯控制
;---黄灯闪烁5秒程序--- N1: SETB P3.0 MOV R3,#05H MOV DPTR,#0000H ;置8255A口,东西,南北方向黄灯亮 MOV A,#0D4H MOVX @DPTR,A N11: MOV R4,#00H N12: CJNE R4,#7DH,$ ;黄灯持续亮0.5秒 N13: MOV DPTR,#0000H ; 置8255A口,南北方向黄灯灭 ...

80c51单片机交通灯程序
;如果P3.1为0的话,依次点亮灯 ;如果P3.0为0的话,停止交通灯,只有黄灯闪烁 ;正常运行交通灯 LP1:MOV P1,#61H CLR P3.2 CLR P3.3 CLR P3.4 SETB P3.5 ;1,3 路口红灯亮,2,4 路口绿灯亮 LCALL DELAY1 MOV B,#04H ;设置循环次数为4次 M:MOV P1,#51H CLR P3.5 ...

51单片机仿真交通灯倒计时显示失败
interrupt 0是外部中断0的入口。这里void time() interrupt 0,看名字是和时间有关的,不过使用的是外部中断。。interrupt 1是定时器0的中断入口,interrupt 3是定时器1的中断入口。从函数的命名上看,是你的中断入口搞错了。其他的就要看具体的调试信息了 ...

单片机中十字路口交通信号灯的过程,内容,原理?
再根据实际车流量通过8051芯片的P3口设置红、绿灯燃亮时间的功能;红绿灯循环点亮,倒计时剩5秒时黄灯闪烁警示(交通灯信号通过P1口输出,显示时间通过P0口输出至双位数码管)。本系统设计周期短、可靠性高、实用性强、操作简单、维护方便、扩展功能强。关键词:单片机、MCS-51系列单片机AT89C51、交通灯 ...

利用51单片机模拟交通灯控制,怎么用数码管显示出来
这最好用静态显示,只需要扩展74HC595即可,每个74HC595可以显示一位数字,它们级联,所以一般只需要4根IO口线即可。老的方案使用74LS164,不过切换时有闪动。

基于51单片机的交通灯设计中怎样实现红灯亮30秒绿灯亮25秒黄灯亮5秒
开一个定时器,定时周期1s,设置一个m=0,在定时服务函数里面m++,m=30执行红灯亮,m=55执行绿灯亮,m=60执行黄灯亮,然后m=0

临安市15631686809: C51单片机交通灯毕设用什么板子好,如何将自己设计电路在板子上实现
章岭力太: 电路板,在上面画一个十字路口,每个路口用3个LED,共12个LED,如有需要可以再加4个秒钟指示器,最后再把这些LED和指示器连到MCU

临安市15631686809: 用51单片机做交通信号灯 -
章岭力太: 有以下可能的原因:1、51单片机高电平驱动能力较小,建议低电平点亮,也就是说二极管接正.2、启动电路(第9脚)有没有接到一个阻容电路上?99脚悬空,程序可能乱跑的.

临安市15631686809: 基于单片机的交通灯模拟控制系统设计需要哪些硬件电子元件? -
章岭力太: 1,单片机1只,如果单片机要使用外部振荡器,+1个晶体两个电容; 2,红色、绿色、黄色LED灯若干个; 3,用于对LED限流的电阻若干个; 4,5V直流电源1个或干电池3个电池夹1个; 5,设计1个电路板或截取8*8CM万能板1块; 有这些就可以做成1个模拟板了,接下来就是写程序,然后将程序烧录到单片机里运行.

临安市15631686809: 单片机做的交通灯与plc做的相比有哪些优缺点 -
章岭力太: 1.优点:单片机成本低廉,专用性可能会更强; 2.缺点:可靠性差、抗干扰性能差、通用性差、扩展能力比较弱、处理能力会弱于PLC(若做大系统复杂的交通灯控制,估计有些困难)、通讯不如PLC方便,编程语言复杂些~~~基本上就这样了. PS:比如要把整个城市的交通灯系统接入交通控制指挥中心,单片机做底层单个交通灯控制没有什么问题,但接着同样需要PLC做信号采集到远端中控室服务器,这样算起来的话,底层还不如用小型PLC来控制更好,因为可以省掉一层架构,直接挂到交换机通过光纤到远端中控室,且小PLC也不贵,西门子S7-200或1200或者 奥地利贝加莱0291CPU 或者三菱FX1/2N,也就2000块左右,控制一个路口交通灯足够!

临安市15631686809: 我是89c51单片机设计交通灯 选择 cpu i o 口怎么选择? -
章岭力太: 你好!因为51单片机的IO口比较原始单一,所以绝大部设计中,没有特殊的选择余地.主要是靠外部电路进行驱动能力的补偿、隔离、翻转等功能.只要额外注意P0的两个口是无上拉的就行.如果对你有帮助,望采纳.

临安市15631686809: 新手学单片机应该买什么开发板好? -
章岭力太: 单片机开发板市面上现在很多,对于初学者的话建议从51单片机学习板开始,这方面在开发板配套视频做得好的有吴鉴鹰单片机学习板,金沙滩单片机学习板,板子质量性价比的话吴鉴鹰的,武大狼的不错,作为学习者,首先要考虑的是板子的配套教程,然后是板子的性价比,学习学习板之前打好C语言,模电,数电的基础,然后上手练习效果会很好,我这有些相关的学习资料你可以看下.学习单片机的过程需要多练习,多思考,持之以恒,相关的学习资料在51单片机吧,吴鉴鹰吧有很多,你也可以参考学习.希望可以帮到你!

临安市15631686809: 51单片机开发板,哪款比较好?
章岭力太: 我用过普中的,功能挺全的. 如果你身边学习资源挺多的就不必买功能全的,可以买“战神”板,我做电子设计大赛就用这个,这个板子只有显示器接口,外接模块都要自己做. 如果独自学习,那买普中的好了.

临安市15631686809: 哪款51单片机开发板比较好 -
章岭力太: 你好,这个我觉得不要太纠结选择,对于初学者,从51开始学习最合适的了,选择技术支持好的,遇到问题有人给解答,不要看什么资源多不多,这个不重要,开发板最大的价值是有老师给你答疑,我用的是吴鉴 鹰开发板,现在入门了.现在开始做实战项目的实验.

临安市15631686809: 单片机的交通灯设计中用到的驱动器有那些 -
章岭力太: 单片机的驱动电流不够,所以驱动LED(交通灯)需要加上拉电阻来驱动,如果I/O口不够用的话,接上拉电阻之前还要加锁存器,可以用的芯片是74hc373或74hc573;用矩阵按键的话不需要驱动,你可以直接与单片机相连,采用扫描法实现控制,程序上会稍微繁琐,如果想简化程序,可以用8279来控制矩阵按键,8279是编码芯片,专门控制矩阵按键,资料很多,使用也很方便.主要的模块就是LED和按键,其他的比如晶振、复位电路是不需要用到驱动的.

临安市15631686809: 哪里能找到AT89C51单片机交通灯电路的设计硬件连接图和程序? -
章岭力太: 你到百度上找一下“容易制作的51单片机交通灯控制板”,这款板子专门用来学习交通灯制作、程序的,有原理图,有时间显示牌,红灯绿灯都是亮30S,黄灯亮3S.

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网