C51单片机的交通灯控制系统要点

合集下载

51单片机实现交通灯控制程序

51单片机实现交通灯控制程序

51单片机实现交通灯控制程序2010-04-28 23:02当出现交通事故时,按下单片机右侧开关,所有红灯亮,交通停止,通行时间保持,弹起开关,交通接停止时的时间继续进行#include<reg52.h>#include<stdio.h>#define unchar unsigned char#define unint unsigned intsbit key=P3^2;unchar code dis[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0xff};unint i,j,k;unint s;unchar h;void delay(unint c); void cut0();void cut1();void cut2();void cut3();void cut4();void cut5();void cut6();void cut7();void main(){TMOD=0X06;TH0=0Xff;TL0=0xff;TR0=1;EA=1;EX0=1;EX1=1;ET0=1;P1=0x00;P3=0xff;P0=0xf6;P2=0xf5;for(h=29;h>0;h--) { for(s=24;s>0;s--) {cut0();P3=0xfc;P1=0xff;P3=0xfd;P1=dis[h/10];delay(1);P3=0xfc;P1=0xff;P1=dis[h%10];delay(1);}}for(h=4;h>0;h--){cut1();P2=0xf3;delay(10);P2=0xf7;delay(10);P3=0xfc;P1=0xff;P3=0xfe;P1=dis[h%10];delay(20);}P2=0xee;for(h=29;h>0;h--) { for(s=24;s>0;s--) {cut2();P3=0xfc;P1=0xff;P3=0xfd;P1=dis[h/10];delay(1);P3=0xfc;P1=0xff;P3=0xfe;P1=dis[h%10];delay(1);}}for(h=4;h>0;h--){P2=0xde;delay(10);P2=0xfe;delay(10);P3=0xfc;P1=0xff;P3=0xfe;P1=dis[h%10];delay(20);}P2=0xf6;P0=0xf5;for(h=29;h>0;h--) { for(s=24;s>0;s--) {cut4();P3=0xfc;P1=0xff;P3=0xfd;P1=dis[h/10];delay(1);P3=0xfc;P1=0xff;P3=0xfe;P1=dis[h%10];delay(1);}}for(h=4;h>0;h--){cut5();P0=0xf3;delay(10);P0=0xf7;delay(10);P3=0xfc;P1=0xff;P3=0xfe;P1=dis[h%10];delay(20);}P0=0xee;for(h=29;h>0;h--) { for(s=24;s>0;s--) {cut6();P3=0xfc;P1=0xff;P3=0xfd;P1=dis[h/10];delay(1);P3=0xfc;P1=0xff;P3=0xfe;P1=dis[h%10];delay(1);}}for(h=4;h>0;h--){cut7();P0=0xde;delay(10);P0=0xfe;delay(10);P3=0xfc;P1=0xff;P3=0xfe;P1=dis[h%10];delay(20);}}void delay(unint c){while(c--)for(j=1500;j>0;j--); }void cut0(){key=1;if(key==0)while(1){P2=0xf6;key=1;if(key==1){P2=0xf5;break ;}}}void cut1(){key=1;if(key==0)while(1){P2=0xf6;key=1;if(key==1){P2=0xf7;break ;}}}void cut2(){key=1;if(key==0)while(1){P2=0xf6;key=1;if(key==1) {P2=0xee; break ;}}}void cut3() {key=1;if(key==0)while(1){P2=0xf6; key=1;if(key==1) {P2=0xfe; break ;}}}void cut4() {key=1;if(key==0)while(1){P0=0xf6; key=1;if(key==1) {P0=0xf5; break ;}}}void cut5() {key=1;if(key==0)while(1){P0=0xf6; key=1;if(key==1) {P0=0xf7; break ;}}}void cut6() {key=1;if(key==0)while(1){P0=0xf6; key=1;if(key==1) {P0=0xee; break ;}}}void cut7() {key=1;if(key==0)while(1){P0=0xf6; key=1;if(key==1) {P0=0xfe; break ;}}}。

51单片机交通灯设计要点

51单片机交通灯设计要点

摘要交通信号灯是交通信号中的重要组成部分,是道路交通的基本语言,是为了加强道路交通管理,减少交通事故的发生,提高道路使用效率,改善交通状况的一种重要工具。

适用于十字、丁字等交叉路口,由道路交通信号控制机控制,指导车辆和行人安全有序地通行。

交通信号灯由红灯(表示禁止通行)、绿灯(表示允许通行)、黄灯(表示警示)组成。

分为:机动车信号灯、非机动车信号灯、人行横道信号灯、车道信号灯、方向指示信号灯、闪光警告信号灯、道路与铁路平面交叉道口信号灯。

近年来随着科技的飞速发展,单片机的应用正在不断深入,同时带动传统控制技术日益更新。

接下来将介绍基于单片机控制的交通信号灯的自动指挥系统。

交通信号灯控制方式很多。

本系统采用MSC-51系列单片机80C51和芯片74LS245为中心器件来设计交通灯控制系统。

、关键字:单片机,信号灯,控制前言道路交通信号灯是交通安全产品中的一种类别,是为了加强道路交通管理,减少交通事故的发生,提高道路使用效率,改善交通状况的一种重要工具。

适用于十字、丁字等交叉路口,由道路交通信号控制机控制,指导车辆和行人安全有序地通行。

最早的时候只有红、绿两种颜色,后来经过改良后,增加了一盏黄色的灯,红灯表示停止,黄灯表示准备,绿灯则表示通行。

之所以采用这三种颜色,一方面是三原色,其他颜色也是在此基础上调出来的,另一方面,用这三种颜色作为交通讯号也和人们的视觉结构和心理反应有关。

人的视网膜含有杆状和三种锥状感光细胞,杆状细胞对黄色的光特别敏感,三种锥状细胞则分别对红光、绿光及蓝光最敏感。

由于这种视觉结构,人最容易分辨红色与绿色。

虽然黄色与蓝色也容易分辨,但因为眼球对蓝光敏感的感光细胞较少,所以分辨颜色,还是以红、绿色为佳。

交通信号灯是交通信号指挥中的重要组成部分,是道路交通的基本语言。

交通信号灯由红灯(表示禁止通行)、绿灯(表示允许通行)、黄灯(表示警示)组成。

分为:机动车信号灯、非机动车信号灯、人行横道信号灯、车道信号灯、方向指示信号灯、闪光警告信号灯、道路与铁路平面交叉道口信号灯。

C51单片机交通灯要点

C51单片机交通灯要点

单片机应用技术课程设计基于单片机的交通灯控制系统设计院(系)名称专业名称学生姓名指导教师2012年月日目录1 设计任务与要求 (1)2 系统硬件设计............ (3)2.1硬件系统设计 (4)2.1.1单片机模块 (4)2.1.2 显示模块 (5)2.1.3 按键模块 (6)2.2 系统软件设计 (6)2.2.1正常工作模式子程序 (8)2.2.2 延时子程序 (9)2.2.3 夜间模式子程序 (10)2.2.4绿灯闪烁子程序 (12)2.2.5显示倒计时子程序 (12)3系统测试与实现 (14)3.1 汇编源程序 (14)3.2 Proteus仿真 (14)4 课程设计总结 (17)参考文献 (18)1 设计任务与要求当今,红绿灯安装在各个道口上,已经成为疏导交通车辆最常见和最有效的手段。

但这一技术在19世纪就已出现了。

1858年,在英国伦敦主要街头安装了以燃煤气为光源的红,蓝两色的机械扳手式信号灯,用以指挥马车通行。

这是世界上最早的交通信号灯。

1868年,英国机械工程师纳伊特在伦敦威斯敏斯特区的议会大厦前的广场上,安装了世界上最早的煤气红绿灯。

它由红绿两以旋转式方形玻璃提灯组成,红色表示“停止”,绿色表示“注意”。

1869年1月2日,煤气灯爆炸,使警察受伤,遂被取消。

电气启动的红绿灯出现在美国,这种红绿灯由红绿黄三色圆形的投光器组成,1914年始安装于纽约市5号大街的一座高塔上。

红灯亮表示“停止”,绿灯亮表示“通行”。

1918年,又出现了带控制的红绿灯和红外线红绿灯。

带控制的红绿灯,一种是把压力探测器安在地下,车辆一接近红灯便变为绿灯;另一种是用扩音器来启动红绿灯,司机遇红灯时按一下嗽叭,就使红灯变为绿灯。

红外线红绿灯当行人踏上对压力敏感的路面时,它就能察觉到有人要过马路。

红外光束能把信号灯的红灯延长一段时间,推迟汽车放行,以免发生交通事故。

信号灯的出现,使交通得以有效管制,对于疏导交通流量、提高道路通行能力,减少交通事故有明显效果。

单片机c语言程序设计---C51-交通灯实验报告

单片机c语言程序设计---C51-交通灯实验报告

单片机c语言程序设计---C51-交通灯实验报告课程名称:单片机c语言设计实验类型:设计型实验实验项目名称: C51-交通灯实验一、实验目的和要求1.熟悉单片机的硬件结构及其工作原理2.掌握单片机的C51编程二、实验内容和原理(1)硬件设计使用P1端口连接VD1、VD2、VD3,模拟路口东面的红、黄、绿灯;P0端口连接VD9、VD10、VD11,模拟路口西面的红、黄、绿灯;P3端口连接VD17、VD18、VD19,模拟路口南面的红、黄、绿灯;P2端口连接VD25、VD26、VD27,模拟路口北面的红、黄、绿灯。

路口红绿灯的显示规律为:①南面和北面显示红灯(即VD17和VD25为红灯)时,东面和西面显示绿灯(即VD3和VD11为绿灯)。

②南面和北面,东面和西面都变成黄灯。

③南面和北面显示绿灯,东面和西面显示红灯④南面和北面,东面和西面都变成黄灯,然后再从①进行循环(需注意:此处设置的黄灯显示时长应短于红灯或绿灯的显示时长)(2)protues仿真通过Keil编译后,利用protues软件进行仿真。

在protues ISIS 编译环境中绘制仿真电路图,将编译好的“xxx.hex”文件加入AT89C51。

启动仿真,观察仿真结果。

三、主要仪器设备四、操作方法与实验步骤1.按照硬件设计在protues上按照所给硬件设计绘制电路图。

2.在keil上进行编译后生成“xxx.hex”文件。

3.编译好的“xxx.hex”文件加入AT89C51。

启动仿真,观察仿真结果。

五、实验结果与分析void S_N(void){VD1=0;VD9=0;VD19=0;VD27=0;Delay(1000);VD1=1;VD9=1;VD19=1;VD27=1;}int main (void) {while(1){E_W();NOT();S_N();NOT();}}六、讨论和心得。

C51交通灯

C51交通灯

我编写了一个:P1.0—P1.2分别为南北方向的红,黄,绿灯;P1.3——P1.5为东西方向的红,黄,绿灯;共阴极数码管的a,b,c,d,e,f,g,dp分别接P0.0-P0.7;数码管V0-V2分别接P2.0——P2.2(V0为百位,V1为10位,V2为个位);南北为主干道,能行时间180秒,黄灯亮3秒,东西为乡村道,通行时间为60秒,黄灯亮3秒;采用T0为中断源,扫描显示数码管,T1为定时器,每次定时0.5秒,两次计数1秒。

打字难打,我在实验板上试过,但不知是不是你想要的。

#include<reg52.h>#define uint unsigned int#define uchar unsigned char#define led P0 //数码管7段显示由P0控制uchar count, times#define sec times%10 //个位#define tse time/10%10 //十位#define hse times/100 //百位bit n_s, w_e; //南北,东西sbit n_red=P1^0; //南北红灯sbit n_ylw=P1^1; //南北黄灯sbit n_grn=P1^2; //南北绿灯sbit w_red=P1^3; //东西红灯sbit w_ylw=P1^4; //....sbit w_grn=P1^5; //....uchar code table[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90}; //数码管显示码存表/*中断函数,供数码管显示用*/T0_srv() interrupt 1 using 1{TH0=-(5000/256);TL0=-(5000%256);led=0xff;P2=((0xfe<<count)|(0xfe>>(8-count)));count++;if(count==3) count=0;if((P2|0xf0)==0xfe){led=table[hse];}else{if((P2|0xf0)==0xfd{led=table[tse];}else{led=table[sec];}}/*延时函数(延时i秒)*/void delay(uint i){uint j,k;TR1=1;for(j=i*2;j>0;j--){for(k=10;k>0;k--){TH1=0x3c; //TH与TL写入初值,0.05秒Tl1=0xb0;while(TF1==0);TF1=0;}if((j<7)&&(n_s==1)) //n_s为南北通行标致n_grn=~n_grn; //n_s最后3秒,绿灯闪烁if((j<7)&&(w_e==1)) //w_e为东西通行标致w_grn=~w_grn; //w_e最后3秒,绿灯闪烁if(j%2==0) times--; /*计时2次0.5秒,time减1*/ }TR1=0; //停止计时}void north_south() //南北通行函数{n_s=1;times=180; //通行180秒P1=0xf3; //南北亮绿灯,东西亮红灯delay(180);n_s=0;}void nor_yellow() //南北黄灯函数{times=3; //黄灯亮3秒P1=0xf5;delay(3);}void west_east() //东西通行函数{w_e=1;times=60; //通行60秒P1=0xde; //东西绿灯,南北红红灯delay(60);w_e=0;}void wst_yellow() //东西黄灯函数{times=3;P1=0xee; //东西黄灯,南北红灯delay(3);}void main(void){TMOD=0x11; //T0与T1工作在方式1TH0=-(5000/256); //T0装入初值TL0=-(5000%256);IE=0x82; //允许T0中断TR0=1; //开能T0P2=0xfe; //数码管扫描初值(从百位开始)count=0; //计数初值为0while(1) //无限循环{north_south(); //调用南北通行函数nor_yellow(); //调用南北黄灯函数west_east(); //调用东西通行函数wst_yellow(); //调用东西黄灯函数}}。

单片机 C51延时实现交通灯控制

单片机 C51延时实现交通灯控制

任务一延时实现交通灯控制一、制作展示1、要想控制好LED不简单2、单片机控制作用很强大二、交通灯展示三、训练目的1、进一步熟悉应用仿真软件调试2、进一步熟悉汇编语言程序设计方法3、进一步掌握对P1口各位的控制4、学习模拟交通灯控制的实现方法四、训练内容用单片机P1做输出口,控制十二个发光二极管燃灭,模拟交通灯管理。

五、交通灯规律六、简易交通灯设计单片机P1.0、P1.1口控制2组灯,一组亮的时候另一组不亮ORG 0000H SJMP L1 ORG 0100H L1: SETB P1.0 CLR P1.1LCALL DELAY CLR P1.0 SETB P1.1LCALL DELAY SJMP L1 DELAY: … … … … 七、交通灯设计11、实验步骤设定P1.0控制东西方向“绿灯”,P1.1控制东西方向“黄灯”,P1.2控制东西方向“红灯”,P1.3控制南北方向“绿灯”,P1.4控制南北方向“黄灯”,P1.5控制南北方向“红灯”。

主程序执行对P1口各使用位的控制,并调用相应的延时子程序实现。

2、程序框图:3、实验步骤设定P1.0控制东西方向“绿灯”,P1.1控制东西方向“黄灯”,P1.2控制东西方向“红灯”,P1.3控制南北方向“绿灯”,P1.4控制南北方向“黄灯”,P1.5控制南北方向“红灯”。

主程序执行对P1口各使用位的控制,并调用相应的延时子程序实现。

4、程序清单:ORG 0000HLJMP MAINORG 0030H MAIN: MOV SP,#70H LOOP: SETB P1.1SETB P1.2CLR P1.0SETB P1.3SETB P1.4CLR P1.5ACALL DEL90SACALL YELL1ACALL DEL2SSETB P1.0SETB P1.1CLR P1.2SETB P1.4SETB P1.5CLR P1.3ACALL DEL90SACALL YELL2ACALL DEL2SSJMP LOOP YELL1: SETB P1.0SETB P1.2CLR P1.1SETB P1.3SETB P1.4CLR P1.5RETYELL2: SETB P1.0SETB P1.1CLR P1.2SETB P1.3SETB P1.5CLR P1.4RETDEL2S: MOV R5,#10HF3: MOV R6,#0FFHF2: MOV R7,#0E1HF1: DJNZ R7,F1DJNZ R6,F2DJNZ R5,F3RETDEL90S: MOV R5,#03HF6: MOV R6,#0F0HF5: MOV R7,#0F0HF4: MOV R0,#0F0HDJNZ R0,$DJNZ R7,F4DJNZ R6,F5DJNZ R5,F6RETEND5、扩展同时满足以下条件:1、全亮,检测有无坏灯;2、先东西红灯亮,南北绿灯亮;3、灯亮暗程序都改成子程序。

基于51单片机的十字路口交通灯控制系统设计(含源码及仿真图)

基于51单片机的十字路口交通灯控制系统设计(含源码及仿真图)

课程名称单片机原理及应用课程设计院部名称信息技术学院专业计算机科学与技术班级09计(嵌入式系统方向)姓名学号**********指导教师刘钰金陵科技学院教务处制摘要本文介绍了一个基于MCS-51及PROTEUS的十字路口交通灯控制系统的设计与仿真,通过对现实路况交通灯的分析研究,理解交通控制系统的实现方法。

十字路口交通灯控制系统通常要实现自动控制和在紧急情况下禁止普通车辆,而让紧急车辆优先通行。

本文还对MCS-51单片机的结构特点和重要引脚功能进行了介绍,同时对智能交通灯控制系统的设计进行了详细的分析。

最后介绍了PROTEUS嵌入式系统仿真与开发平台的使用方法,利用Proteus 软件对交通灯控制系统进行了仿真,仿真结果表明系统工作性能良好。

关键字:单片机,proteus仿真,中断,十字路口交通灯控制系统前言1,十字路口的交通控制系统指挥着人和各种车辆的安全运行,对交叉口实行科学的管理与控制是交通控制工程的重要研究课题,是保障交叉口的交通安全和充分发挥交叉口的通行能力的重要措施,是解决城市交通问题的有效途径。

交通灯信号灯的出现是人类历史上的一次重大改革,使人类的聚居生活,产生了深远的影响。

使交通得以有效管制,对于疏导交通流量,提高道路通行能力,减少交通事故有明显效果。

如何采用合适的控制方法,最大限度利用好耗费巨资修建的城市高速道路,缓解主干道与匝道、城区同周边地区的交通拥堵状况,越来越成为交通运输管理和城市规划部门亟待解决的主要问题。

随着电子技术的发展,利用单片机技术对交通灯进行智能化管理,已成为目前广泛采用的方法。

2,此十字路口交通灯控制系统,分东西道和南北道,设东西道为A道,南北道为B 道。

规定:A道放行时间为2分钟,B道放行1.5分钟;绿灯放行,红灯停止;绿灯转红灯时,黄灯亮2秒钟;若有紧急车辆要求通过时,此系统应能禁止普通车辆,而让紧急车辆通过。

3,应用单片机实现对交通灯的控制,在十字路口用红,黄,绿的指示灯,加上四个以倒计时显示的数码管来控制交通。

单片机C51交通灯课程设计

单片机C51交通灯课程设计

交通灯设计一.设计目的:1.进一步熟悉和掌握单片机的结构和工作原理。

熟练掌握C语言的编程方法,将理论联系到实践中,提高我们的思维能力。

2。

用AT89C51的P1口作为输出口,控制12个发光二极管的点亮和熄灭,模拟交通灯管理。

3.学习74LS245芯片驱动七段数码管的显示的方法,使用数码管显示器定时及倒计时的方法。

二.设计要求与主要内容:设计要求:交通信号灯模拟控制系统设计利用单片机的定时器定时,令十字路口的红绿灯交替点亮和熄灭,并且用LED数码管显示时间.用AT89C51的P1口作为输出口,控制12个发光二极管的点亮和熄灭,模拟交通灯管理。

在一个交通十字路口有一条主干道(东西方向),一条从干道(南北方向),,四个路口安装红,黄,蓝,灯各一盏.1。

设计一个十字路口的交通灯控制电路,要求南北方向(主干道)车道和东西方向(从干道)车道两条交叉道路上的车辆交替运行。

2。

在绿灯转为红灯时,要求黄灯先亮,才能变换运行车道。

3.东西方向、南北方向车道除了有红、黄、绿灯指示外,每一种灯亮的时间都用数码管显示器进行显示(采用倒计时的方法).主要内容:假设一个十字路口为东西南北走向。

初始状态为状态1,南北方向绿灯通车,东西方向红灯.经过过一段时间(25S)转换状态2,南北方向绿灯转亮黄灯,延时5S,东西方向仍然红灯。

再转换到状态3,东西方向绿灯通车,南北方向红灯。

过一段时间(25S)转换到状态4,东西方向绿灯转亮黄灯,延时5S,南北方向仍然红灯。

最后循环至南北绿灯,东西红灯。

在这些状态下,有时钟倒数计时。

设计步骤:1。

利用Proteus 7 仿真软件按下列要求绘制仿真电路图★用12个发光二极管分别表示东、西、南、北四个方向的红、黄、绿灯;★用P1口输出控制模拟交通灯的状态使响应的发光二极管点亮或熄灭;★用P0口分别接74LS245芯片的A口,74LS245的B口分别接七段数码管的八位引脚,P2。

0、P2。

1七段数码管的共阳极引脚;2.利用Keil uVision3编写程序代码,编译生成。

51单片机控制的交通灯系统实验报告

51单片机控制的交通灯系统实验报告

系统实验报告——基于51单片机的交通灯设计专业:XX学生姓名:xx XX学号:***********指导教师:wwwwwwwwwww2000年x月x日目录1 设计任务和性能指标 (1)1.1设计任务 (1)1.2性能指标 (1)2 设计方案 (2)2.1任务分析 (2)2.2方案设计 (2)3 系统硬件设计 (3)3.1单片机的最小系统 (3)3.2电源电路 (4)3.3数码管显示时间电路设计 (4)3.4信号灯控制电路设计 (5)4 系统软件设计 (5)4.1主程序设计 (5)5 调试及性能分析 (6)5.1调试分析 (6)5.1.1 软件调试 (6)5.1.2 硬件调试 (6)5.1.3 系统功能调试 (6)6 心得体会 (6)参考文献 (8)附录1 系统原理图 (9)附录3 程序清单 (10)附录3元器件清单 (14)1 设计任务和性能指标1.1设计任务利用单片机完成交通信号灯控制器的设计,该交通信号灯控制器由一条主干道和一条支干道汇合成十字路口,在每个入口处设置红、绿、黄三色信号灯,红灯亮禁止通行,绿灯亮允许通行,黄灯亮则给行驶中的车辆有时间停在禁行线外。

用红、绿、黄发光二极管作信号灯。

如图上图所示。

设东西向为主干道,南北为支干道。

1.2性能指标1. 状态1:仅亮灯,数码管不工作。

按下键4,红/黄/绿三色灯交替亮:红—〉(20秒)黄(闪烁)—〉(5秒)绿—〉(20秒) 黄(闪烁)—〉(5秒)红2. 状态2:灯和数码管相结合,模拟十字路口的交通灯 在以上功能的基础上数码管倒计时显示时间。

南东2 设计方案2.1任务分析模拟交通灯控制器就是使用单片机来控制一些LED 和数码管,模拟真实交通灯的功能。

红、黄、绿交替闪亮,利用数码管倒计数显示间隔等,用于管理十字路口的车辆及行人交通,计时牌显示路口通行转换剩余时间等2.2方案设计根据设计的要求可知,系统的硬件原理框图如下图所示。

单片机键盘LED 显示三色指示灯系统硬件框图单片机选用A T89S52,它与8051系列单片机全兼容,但其内部带有4KB 的FLASH R OM ,设计时无需外接程序存储器,为设计和调试带来极大的方便。

C51交通灯多任务控制系统设计

C51交通灯多任务控制系统设计

C51交通灯多任务控制系统设计摘要近几年来,城市化进程和社会的发展越来越快,解决城市的交通拥挤问题也就越来越紧迫。

本设计利用AT89S55系列单片机,通过RTX—51Tiny实时多任务操作系统来完成道路交通灯的控制系统。

该系统由七个任务组成:任务0:用于初始化单片机串口,同时启动所有其他的任务,然后停止本任务;任务1:用于整个系统的串行命令处理;任务2:用于系统时钟计算和控制;任务3:如果系统运行时间在设置的工作时间段之外,黄色灯闪烁,其余灯停止工作;任务4:如果系统运行时间在设置的工作时间段之内,控制交通灯的循环交替变化;任务5:查询行人通行按钮是否按下,如果按钮按下则向任务4发送信号,使主路交通灯变为红色,行人交通灯变为绿色;任务6:监视串口是否有ESC字符,如果有则向任务1发送一个信号,终止时间显示命令。

通过keil vision 3和proteus软件的联合仿真,本设计可实现白天交通灯受系统的控制,按照预定的时间间隔交替的变化,在晚上的时候,黄灯一直闪烁,其他的灯不工作,当行人通行按钮被按下时,主路的交通灯会变成红灯禁止车辆通过,行人交通灯会变成绿灯进入行人过马路状态的功能。

关键词:交通,单片机,多任务控制系统Multitasking C51 traffic control system designAbstractsIn recent years, the development of urbanization and the society more and more quickly, solve the urban traffic congestion problem is more and more urgent. This design using AT89S55 series microcontroller, through RTX - 51Tiny real-time multitasking operating system to complete the road traffic control system. This system consists of seven tasks: Task 0: used for initialization of MCU, all other serial startup of the task, then stop this task, Task 1: serial order processing, Task 2: used for calculation and control system clock, Task 3: if the system run in the setting time period, the work, the yellow lights flashing lights to stop working, Task 4:if the system is set to work within the period, the control of traffic lights of the alterations ;Task 5 :whether the button is pressed, if the button down to the task of the four transmitted signal, the main road traffic lights turned red and pedestrian traffic light turned green ;Task 6 :monitoring string mouth are esc characters, if there is a task sends a signal to one another, terminating commands. time showsThrough vision and proteus keil software combination of three simulation, this design can be realized by the traffic control system day, according to the predetermined time interval, the changes in the night alternate, yellow lights flashing, other lights have no job, when pedestrians button is pressed when the traffic light into red hills, a ban on vehicle traffic light through a pedestrian crossing into green into pedestrians function of state.Key words: traffic, SCM, multi-tasking control system目录1 绪论 -------------------------------------------------------------------------------------------- 1 1.1课题意义 ----------------------------------------------------------------------------------- 1 1.2单片机的应用分析 ----------------------------------------------------------------------- 21.3课题任务 ----------------------------------------------------------------------------------- 32 方案的设计和基本原理 --------------------------------------------------------------------- 5 2.1设计硬件图 -------------------------------------------------------------------------------- 5 2.2.核心芯片AT89S55单片机的说明 ---------------------------------------------------- 7 2.3 C51下的RTX-51实时多任务操作系统 ------------------------------------------- 102.3.1RTX-51实时多任务操作系统简介 --------------------------------------------- 102.3.2 RTX-51实时多任务操作系统种类--------------------------------------------- 112.3.3 RTX-51的系统函数--------------------------------------------------------------- 112.3.4 RTX-51的任务调度--------------------------------------------------------------- 133 软件设计-------------------------------------------------------------------------------------- 15 3.1任务0程序------------------------------------------------------------------------------ 15 3.2任务1程序------------------------------------------------------------------------------ 16 3.3任务2程序------------------------------------------------------------------------------ 17 3.4任务3程序------------------------------------------------------------------------------ 18 3.5任务4程序------------------------------------------------------------------------------ 19 3.6任务5程序------------------------------------------------------------------------------ 193.7任务6程序------------------------------------------------------------------------------ 204 调试和仿真----------------------------------------------------------------------------------- 21 4.1 keil u vision3软件 ---------------------------------------------------------------------- 214.1.1 keil u vision3简介 -------------------------------------------------------------------- 21 4.1.2 keil u vision3安装 -------------------------------------------------------------------- 21 4.1.3 keil u vision3的运行 ----------------------------------------------------------------- 22 4.2 Proteus软件------------------------------------------------------------------------------ 23 4.2.1Proteus软件简介 ---------------------------------------------------------------------- 23 4.2.2Proteus软件的运行 ------------------------------------------------------------------- 24 4.3 keil u vision 3与proteus联合仿真 -------------------------------------------------- 25 结论----------------------------------------------------------------------------------------- 30 致谢----------------------------------------------------------------- 错误!未定义书签。

基于51单片机的交通灯控制系统设计

基于51单片机的交通灯控制系统设计

一、摘要:随着科技的飞速发展,越来越多的控制功能强大的芯片出现在我们生活中,但8051系列单片机,因为其的廉价几成本,在我们生活中依然处于十分重要的地位。

在实时检测和自动控制的单片机应用系统中,单片机是作为一个核心部件来使用,但是仅单片机方面知识是不够的,还需要根据具体硬件结构,以及针对具体应用对象特点的软件结合,加以完善。

交通信号灯的出现,使交通得以有效管制,对于疏导交通流量、提高道路通行能力,减少交通事故有明显效果。

作为交通控制的重要组成部份单片机。

因此,本人选择制作交通灯作为课题加以设计并实现。

交通管制应当以人性化、智能化为目的,做出相应的改善。

以此为出发点,本系统采用的单片机控制的交通信号灯。

系统具有结构简单、可靠性高、成本低、实时性好、安装维护方便等优点,有广阔的应用前景。

关键词:交通灯,51单片机,数码管二、实习目的和意义1.学习51单片机的最小系统及硬件接口设计与应用2.熟练掌握电路原理图绘制软件DPX的使用。

3.熟练单片机的程序设计与调试。

4. 自主设计出具有实际意义的能用于生活的电路系统。

5. 本次课程设计对以后的毕业设计甚至工作打下了动手自己设计的基础。

三、实习要求1. 完成以8051系列单片机为核心处理器的模拟十字路口交通灯控制的硬件设计(在altium designer下画出硬件原理图)。

布线,印制电路板,并焊接原件搭载硬件电路,做出实物。

2. 完成交通灯控制系统的软件编程。

3. 软硬件综合调试,模拟实现对交通灯控制系统的控制。

4. 撰写实验报告:报告中给出硬件方案、软件流程图、软件关键代码四、实习内容1.设计题目:基于51单片机交通十字路口信号灯设计2.实现功能:具有红、绿、黄三种颜色彩灯,并有一个数码管进行倒计时显示倒计时时间为三十秒。

还应具有按键控制特殊情况下十字路口不需要红绿灯的显示(车流量很少的地段深夜可以不设红绿灯)。

五、系统实现1.电路设计:51单片机介绍:本实验使用的51单片机为STC89C52STC89C52是一个低电压,高性能CMOS8位单片机,片内含8kbytes的可反复擦写的只读程序存储器(PEROM)和128 bytes的随机存取数据存储器(RAM)。

交通信号灯控制系统+完整的C51编程[1]

交通信号灯控制系统+完整的C51编程[1]

交通信号灯控制系统摘要:十字路口的红绿灯指挥着行人和各种车辆安全通行,实现红绿灯的自动指挥是城市交通管理自动化的重要课题。

因为交通信号灯控制系统是要根据计时的情况实现对交通信号灯的控制和对数字显示器的控制,所以用微控制器MCU(Microcontroller Unit,又称单片机)实现交通信号控制系统的设计。

又因为微控制器MCU应用系统抗干扰性差,故一般应该综合采用软、硬件抗干扰措施,才能获得好的抗干扰效果,以便交通信号的控制系统更好的实现。

关键词:单片机芯片AT89C52;驱动器芯片74LS245;显示模块;RTX51Tiny内核十字路口的红绿灯指挥着行人和各种车辆安全通行,实现红绿灯的自动指挥是城市交通管理自动化的重要课题。

一般说来,十字路口处的两条相互交叉的道路是由主次之分的,其中一条道路平时车流量较大,称为主干道;而另一条道路平时车流量较小,称为次干道。

十字路口交通信号灯控制系统应考虑十字路口主、次干道车流量不同的特点,并且能根据车流量发生变化的实际情况,可以很方便地更改主、次干道的通车时间。

1 方案的比较论证1.1 以CPLD为核心的实现方案运用EDA技术实现电子系统的设计特别是数字电子系统的设计,是现代电子技术发展的趋势。

CPLD芯片内部的电路功能可以通过标准硬件描述语言进行设计,而且整个设计过程都是在通过计算机的帮助下完成的,从而使得以CPLD为核心的方案容易实现、容易修改、容易保存。

因此,无论是在系统的工作可靠性方面,还是在系统的成本、系统的运行速度、系统结构的简易程度等方面,以CPLD为核心的实现方案具有一定的技术先进性,而且最后能得到让人比较满意的设计结果。

....1.2 以MCU为核心的实现方案用微控制器MCU实现交通信号控制系统的设计,相对而言是最容易的,因为交通信号灯控制系统就是要根据计时的情况实现对交通信号灯的控制和对数字显示器的控制。

而微控制器MCU最适宜于对物理对象的控制,通过微控制器软件编程,很容易实现对交通信号灯的控制和对LED数码管的显示控制。

at89c51单片机_交通灯控制系统(包括源码and仿真图)

at89c51单片机_交通灯控制系统(包括源码and仿真图)

设计任务书设计要求和技术指标1、技术指标:设计一个十字路口的交通灯控制电路,每条道路上各配有一组红、黄、绿交通信号灯,其中红灯亮,表示该道路禁止通行;黄灯亮表示该道路上未过停车线的车辆禁止通行,已过停车线的车辆继续通行;绿灯表示该道路允许通行。

该电路自动控制十字路口两组红、黄、绿交通灯的状态转换,实现十字路口自动化。

2、设计要求(1)要求甲车道和乙车道上的车辆交替运行,每秒通行时间为25秒种;(2)要求黄灯先亮5秒种,才能变换车道;(3)黄灯亮时要求每秒闪亮一次;(4)要求绘出原理图,并用Protel画出印制板图;(5)根据设计要求和技术指标设计好电路,选好元件及参数;(6)拟定测试方案和设计步骤;(7)写出设计性报告。

录` 目一、项目名称................................................................................. 错误!未定义书签。

二、选题背景 (2)2.1 课题背景 (2)2.2 交通灯的历史 (2)三、单片机简介 (3)3.1 单片机的发展历程 (3)3.2 单片机的特点: (4)3.3 AT89C51单片机简介 (4)四、设计基本要求和步骤 (6)4.1 基本要求 (6)4.2 设计步骤 (7)五、硬件和软件设计 (7)5.1 硬件电路图 (7)5.2 程序流程图 (9)主程序 (9)运行过程 (10)LED显示程序 (11)T0中断 (12)INT0中断 (12)5.3 P0、P1口显示状态编码表 (13)5.4 程序源代码 (13)5.5 程序运行效果图 (18)六、心得体会 (20)七、参考文献 (21)摘要本系统由单片机系统、键盘、LED 显示、交通灯演示系统组成。

系统包括人行道、左转、右转、以及基本的交通灯的功能。

系统除基本交通灯功能外,还具有倒计时、时间设置、紧急情况处理、分时段调整信号灯的点亮时间、违规车辆检测以及根据具体情况手动控制等功能。

51C交通灯控制系统

51C交通灯控制系统
交通灯系统的控制和改善;(2)实用性强,交通灯系统在我们生活环境中常见,是维持交 通秩序必不可少的,因此对交通灯系统的应用极为广泛;(3)扩展功能强,通过紧急状态 和复位状态的设置可以扩展交通灯更多的功能,使交通灯发挥更大的作用。
2 工作原理
本作品用一个简单的单片机系统模拟实现一个完整的交通灯系统。该系统有交通灯设 置电路、单片机、显示电路、控制开关等构成。单片机是集成的 IC 芯片,根据实际交通灯 设计要求选型。其他部分根据需要和要求选择相应功能器件。下面对本系统进行详细解说。
目录
摘要........................................................................................................................................................2 1 作品介绍 ...................................................................................................................................2 2 工作原理 ...................................................................................................................................3 2.1 单片机概述 ...................................................................................................................3 2.2 所用芯片简介 ...............................................................................................................3 2.2.1 MCS-51 芯片.....................................................................................................3 2.2.2 数码管 ...............................................................................................................4 2.2.3 74HC573 简介..................................................................................................5 2.3 整体思路.......................................................................................................................5 3 作品结构 ...................................................................................................................................5 3.1 硬件部分........................................................................................................................5 3.2 软件部分........................................................................................................................6 3.2.1 系统执行框图..................................................................................................7 3.2.2 程序模块分析..................................................................................................8 4 系统测试 .................................................................................................................................11 对本次大赛的感想(建议或意见) .......................................................................................11 附录 I ..........................................................................................................................................12 附录 II ........................................................................................................................................19 附录 III ......................................................................................................................................20

基于51单片机的交通信号灯系统_毕业设计

基于51单片机的交通信号灯系统_毕业设计

毕业设计基于单片机的交通信号的灯控制系统一. 综合实训的主要内容 1.设计任务设计一单片机控制的交通信号灯系统,模拟城市十字路口交通信号灯功能。

2.基本功能要求2.1 交通信号控制直行车道红黄绿灯控制、左行车道绿灯控制、人行横道红绿灯控制。

2.2 通行时间显示数码管倒计时显示通行时间。

2.3 时间参数设置存储按键实现通行时间的设置,并存储到EEPROM (24C02)芯片中。

二. 硬件方案设计与论证 1. 显示模块设计1.1倒计时时间显示设计思想:由于该系统要求完成倒计时显示通行时间的功能,且考虑到实际的交通系统中车辆及行人通行时间不会超过一分钟,基于以上原因,我们考虑完全采用数码管显示,四个路口分别采用一个二位共阴极数码管进行显示。

(其实物图见附录1图5.3)图2.1 数码管原理图原理图分析:为了显示数字或字符,必须对数字或字符进行编码。

七段数码管GND abcde fg dp gf ed c ba(a)(a,b,c,d,e,f,g)加上一个小数点(dp),共计8段,构成一个字节,通过对这八段给予高低平使二极管导通或截止,从而显示不同的数字或字符。

系统中所使用的是2位共阴数码管(实物图见附录),其管脚从左上方起顺时针依次为1,a,b,e,d,2,g,f,dp,c。

1.2 状态灯显示设计思想:由于该系统要求完成状态灯显示的功能,我们把各个路口的红灯和黄灯设成直行和左拐两个通行方式所共有,也就是说,一个路口只需四个状态灯,一个直行通行的绿灯,一个左拐通行的绿灯,一个共有的红灯,一个共有的黄灯,人行横道采用红绿灯控制,综上所述,我们共使用16个LED绿灯,12个LED 红灯,4个LED黄灯来完成状态灯显示功能。

2.控制模块设计2.1 设计思想由于本系统结构简单,实现较容易,不需要大量的外围扩展,所以我们采用STC89C51单片机作为主控制器,STC89C51单片机具有体积小,功耗低,控制能力强,价格低、扩展灵活,使用方便等特点,其最小系统由振荡电路、复位电路构成。

单片机交通信号灯控制系统

单片机交通信号灯控制系统

目录单片机交通信号灯控制系统设计 (1)一、设计目的与意义 (1)二、设计内容和要求 (1)三、常见交通信号灯系统概述: (1)四、系统硬件设计方案 (2)五、原理图设计 (2)1、硬件设计框图: (2)2、最小系统原理图: (2)3、电源电路: (3)4、交通灯电路图: (3)5、倒计时显示电路: (4)6、拨码开关电路: (5)7、整个系统的电路图: (6)六、软件设计方案 (6)七、程序及注释 (7)八、设计心得 (10)单片机交通信号灯控制系统设计一、设计目的与意义1、通过用51单片机控制交通灯的课程设计,熟练51单片机的编程方法。

2、通过本课程的设计,进一步掌握I/O接口设计和常用程序设计技术,掌握单片机控制系统的设计的一般方法,能根据系统设计要求,完成应用系统的硬件和软件设计。

3、通过本课程设计将理论用于实践,提高动手能力。

二、设计内容和要求交通灯控制系统控制东西、南北两个方向信号灯,每个方向设置两组红绿灯,红灯禁止通行,绿灯允许通行。

每个方向的通行时间各由两位LED数码显示,通行时间可设置,绿灯向红灯转换前绿灯闪烁三次共3秒钟,红灯向绿灯过渡时不闪烁。

系统上电时的初始状态为东西、南北两个方向均为红灯,持续2秒后为东西方向绿灯,南北方向红灯,之后以定时方式控制两个方向的汽车轮流通行。

三、常见交通信号灯系统概述:交通信号灯是交通信号中的重要组成部分,是道路交通的基本语言。

交通信号灯由红灯(表示禁止通行)、绿灯(表示允许通行)、黄灯(表示警示)组成。

绿灯信号是准许通行信号。

按《交通安全法实施条例》规定:绿灯亮时,准许车辆、行人通行,但转弯的车辆不准妨碍被放行的直行车辆和行人通行。

红灯信号是绝对禁止通行信号。

红灯亮时,禁止车辆通行。

右转弯车辆在不妨碍被放行的车辆和行人通行的情况下,可以通行。

红灯信号是带有强制意义的禁行信号,遇此信号时,被禁行车辆须停在停止线以外,被禁行的行人须在人行道边等候放行;机动车等候放行时,不准熄火,不准开车门,各种车辆驾驶员不准离开车辆;自行车左转弯不准推车从路口外边绕行,直行不准用右转弯方法绕行。

51单片机交通灯工作原理

51单片机交通灯工作原理

51单片机交通灯工作原理
交通灯是交通运输中的基本设施,它能起到指示行人和车辆行驶的作用。

现代交通灯工作原理是利用单片机控制红绿灯闪烁的时间长短来控制交通,单片机的工作原理是利用计时器来控制灯闪烁的时间长短。

单片机通过检测红绿灯的亮度来判断红绿灯是否正常工作,如果红绿灯不正常工作,单片机就会自动开启保护模式,红绿灯不亮,保护模式就会开启,以防止交通灯的烧坏。

单片机交通灯工作原理:
1、利用单片机控制红绿灯闪烁的时间长短来控制交通。

2、单片机通过检测红绿灯的亮度来判断红绿灯是否正常工作。

3、如果红绿灯不正常工作,单片机就会自动开启保护模式。

4、红绿灯不亮,保护模式就会开启。

C51单片机的交通灯控制系统.

C51单片机的交通灯控制系统.

基于C51单片机的交通灯控制系统1、实验方案论证:进行十字路口的交通信号灯控制电路设计,画出电路原理图及实验电路图,进行软件编程、以及使用说明文档的建立等一整套工作任务。

进行十字路口的交通信号灯控制程序设计,提交一个符合上述功能要求的十字路口的交通信号灯控制系统设计。

2、控制流程分析:对设计要求进行分析后可得出以下交通工作状态表:3、硬件设计概要:根据设计要求,可用6个LED灯分别模拟东西、南北的交通灯。

具体接法如下:AT89C51的P1口接LED灯,P1.0、P1.1、P1.2分别接东西方向红、绿、黄交通灯,P1.3、P1.4、P1.5分别接南北方向的红、绿、黄交通灯。

P1口和LED 灯之间要接限流保护电阻。

两位数码管段选接P2口,位选接P0口低两位,P0口低两位接上拉电阻使其可以输出高电平。

紧急情况按钮一端接地,另一端与外中断1引脚相连;恢复正常按钮一端接地,另一端与外中断0引脚相连。

三、原理图设计1、LED显示部分电路设计:把单片机AT89C51的P1口作为红黄绿灯显示部分,用6个LED灯分别模拟东西、南北的交通灯。

P1.0、P1.1、P1.2各通过一个300Ω的限流保护电阻接东西方向的红、绿、黄LED灯;P1.3、P1.4、P1.5各通过一个300Ω的限流保护电阻接南北方向的红、绿、黄LED灯。

LED灯的一端接电源,另一端经电阻接P1口,因此当P1口引脚输出低电平时LED灯发光,即此方案采取低电平驱动方式。

具体电路如下:2、紧急情况处理电路设计:紧急情况按钮一端接地,另一端与外中断1引脚相连;恢复正常按钮一端接地,另一端与外中断0引脚相连。

在程序设计时,我会将其设置为下降沿触发方式。

具体电路如下:3、数字显示电路设计:选用共阴极两位数码管。

两位数码管A~G引脚各通过一个300Ω的限流保护电阻分别接P2.0~P2.6,位选1引脚和2引脚分别接P0.0口低两位,P0口低两位接5kΩ的上拉电阻使其可以输出高电平。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

基于C51单片机的交通灯控制系统
1、实验方案论证:
进行十字路口的交通信号灯控制电路设计,画出电路原理图及实验电路图,进行软件编程、以及使用说明文档的建立等一整套工作任务。

进行十字路口的交通信号灯控制程序设计,提交一个符合上述功能要求的十字路口的交通信号灯控制系统设计。

2、控制流程分析:
对设计要求进行分析后可得出以下交通工作状态表:
3、硬件设计概要:
根据设计要求,可用6个LED灯分别模拟东西、南北的交通灯。

具体接法如下:AT89C51的P1口接LED灯,P1.0、P1.1、P1.2分别接东西方向红、绿、黄交通灯,P1.3、P1.4、P1.5分别接南北方向的红、绿、黄交通灯。

P1口和LED 灯之间要接限流保护电阻。

两位数码管段选接P2口,位选接P0口低两位,P0口低两位接上拉电阻使其可以输出高电平。

紧急情况按钮一端接地,另一端与外中断1引脚相连;恢复正常按钮一端接地,另一端与外中断0引脚相连。

三、原理图设计
1、LED显示部分电路设计:
把单片机AT89C51的P1口作为红黄绿灯显示部分,用6个LED灯分别模拟东西、南北的交通灯。

P1.0、P1.1、P1.2各通过一个300Ω的限流保护电阻接东西方向的红、绿、黄LED灯;P1.3、P1.4、P1.5各通过一个300Ω的限流保护电阻接南北方向的红、绿、黄LED灯。

LED灯的一端接电源,另一端经电阻接P1口,因此当P1口引脚输出低电平时LED灯发光,即此方案采取低电平驱动方式。

具体电路如下:
2、紧急情况处理电路设计:
紧急情况按钮一端接地,另一端与外中断1引脚相连;恢复正常按钮一端接地,另一端与外中断0引脚相连。

在程序设计时,我会将其设置为下降沿触发方式。

具体电路如下:
3、数字显示电路设计:
选用共阴极两位数码管。

两位数码管A~G引脚各通过一个300Ω的限流保护电阻分别接P2.0~P2.6,位选1引脚和2引脚分别接P0.0口低两位,P0口低两位接5kΩ的上拉电阻使其可以输出高电平。

4、其他部分电路:
XTAL1端和XTAL2端之间接一个12M Hz的晶振,再各接一个30pF的普通电容后接地;RST复位端一端经10uF的电解电容接+5V电源,一端经一个10K 的电阻接地。

具体电路如下:
4、系统电路总图:
四、程序设计:
1、定时器初值的计算:
由于要求定时时间相当精确,我用定时器T0进行定时。

根据公式可知若已
:
知要求的定时时间为t,则定时器的初值为x(其中fosc=12M Hz)
2、程序流程图:
2.1主程序流程
主程序主要是对单片机进行初始化。

初始化首先要开放总中断、定时器T0中断以及外部中断0和外部中断1。

其次是设置中断优先级,把外中断0设置为高优先级,外中断1设置为低优先级。

再次是给定时器T0装顶初值,然后后是启动定时器,是使定时器开始定时。

最后是等待中断。

紧急情况中断处理包括两部分,第一部分是出现紧急情况可以手动使东西、南北方向红灯全亮,而且直到紧急状况解除后才能恢复正常通车。

这就要求紧急状况解除前不能退出外中断1处理程序,因此要在外中断1处理程序处设置一无限循环。

第二部分是紧急状况解除。

为了使外中断1处理程序退出无限循环,可用中断嵌套使机器转去执行外中断0处理程序,而外中断0处理程序修改了寄存器R2的值,中断返回后由于寄存器R2的值的改变使外中断1处理程序跳循环。

2.2.1外中断1处理程序(低优先级)
2.2.2外中断0处理程序(高优先级)
Y
Y
3、程序源代码:
ORG 0000H
AJMP START
ORG 0003H ;外中断0入口
AJMP SERV0
ORG 000BH ;外中断1入口
AJMP SERV1
ORG 0013H ;定时器中断入口
AJMP SERV2
ORG 0030H
START:MOV IE,#87H
MOV IP,#01H ;设置中断优先级
MOV TMOD,#01H
MOV TCON,#05H
MOV TH0,#3CH
MOV TL0,#0B0H ;装定时器初值
MOV DPTR,#TAB ;装表首地址
MOV P1,#0F6H
MOV R0,#20
MOV R5,#00H
MOV R6,#00H
SETB TR0 ;启动定时器
LOOP1:MOV P0,#02H ;循环动态显示,由10秒开始倒计时MOV A,R6
MOVC A,@A+DPTR
MOV P2,A
ACALL D10MS
MOV P0,#01H
MOV A,R5
MOVC A,@A+DPTR
MOV P2,A
ACALL D10MS
AJMP LOOP1
SERV0:MOV R2,#0FFH ;正常状态恢复程序,使R0的值不为0 RETI
SERV1:DJNZ R0,NEXT ;未到1秒,则转到NEXT
CJNE R5,#01,DHE0
AJMP DHE3
DHE0: CJNE R5,#00H,DHE1
CJNE R6,#00H,DHE2
MOV R5,#00H
MOV R6,#01H
MOV P1,#0F5H
AJMP OUT0
DHE1: DEC R5 ;减1秒
AJMP OUT0
DHE2: MOV R6,#00H
MOV R5,#09H
OUT0: MOV R0,#20
RETI
DHE3: MOV P0,#00H
MOV P2,#3FH ;显示为0
MOV A,P1
MOV R1,#05H
JNB ACC.0,CHE0 ;东西方向红灯亮,则转到CHE0 YELL0:SETB P1.0
SETB P1.1 ;东西方向绿灯灭
CLR P1.2
ACALL DMS
SETB P1.2
ACALL DMS
DJNZ R1,YELL0 ;东西方向黄灯闪烁5次
MOV P1,#0EEH ;东西方向红灯亮,南北方向绿灯亮
SJMP NEXT1
CHE0: JNB ACC.3,CHE1
YELL1:SETB P1.3
SETB P1.4 ;南北方向绿灯灭
CLR P1.5
ACALL DMS
SETB P1.5
ACALL DMS
DJNZ R1,YELL1 ;南北方向黄灯闪烁5次
CHE1: MOV P1,#0F5H ;南北方向红灯亮,东西方向绿灯亮
NEXT1:MOV R0,#20
MOV R5,#00H
MOV R6,#01H ;重置显示为10秒
NEXT: MOV TH0,#3CH ;重装定时器初值
MOV TL0,#0B0H
RETI
SERV2:MOV P0,#00H
MOV P2,#3FH ;显示为0
MOV R5,#00H
MOV R6,#00H
MOV R2,#00H ;紧急状况服务程序,使R2的值为0
MOV P1,#0F6H
LOOP3:CJNE R2,#00H,OUT1 ;R2的值为0,则无限循环,直到执行SERV0状MOV R3,#02H ; 态恢复程序,使R0的值不为0才返回
DJNZ R3,LOOP3
OUT1: RETI
DMS: MOV 32H,#4 ;延时子程序,延时0.4秒
DL0: MOV 31H,#200
DL1: MOV 30H,#250
DL2: DJNZ 30H,DL2
DJNZ 31H,DL1
DJNZ 32H,DL0
RET
D10MS:MOV 33H,#50 ;延时子程序,延时10毫秒
DL3: MOV 34H,#100
DL4: DJNZ 34H,DL4
DJNZ 33H,DL3
RET
TAB: DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH
END
五、仿真结果与分析
在PROTEUS软件仿真中的结果如下:
1、初始状态
2、东西路口的绿灯亮,南北路口的红灯亮
4、东西路口红灯亮,南北路口的绿灯亮
由以上仿真结果可以看出,电路图和源程序设计完全满足设计要求。

六、课程设计总结与体会
通过这次课程设计我巩固和加深课堂所学知识;掌握一般软硬件的设计方法和查询、运用资料的能力;掌握通过定时器进行定时的基本方法、中断控制的原理和方法以及LED控制的方法。

这次课程设计,我将课本上的理论知识和实际的应用有机的结合起来,提高分析和解决问题的实际能力,通过对汇编语言程序代码的设计、编写、修改以提高自己实际编程能力。

总的来说,这次课程设计的难度不算大,整个设计、调试任务都有我独立完成。

而在PROTEUS软件仿真中的结果可以看到我的设计完全符合要求。

在设计过程中我还认识到,遇到问题时应回到书本,查找实际问题所需的理论知识,将
理论和实际结合起来。

这样,在解决问题的同时还能提高我对理论知识的理解。

相关文档
最新文档