单片机交通灯课程设计【完成】
- 格式:doc
- 大小:190.29 KB
- 文档页数:12
二○一一~二○一二学年第一学期信息科学与工程学院自动化系课程设计报告书姓名:学号:班级:课程名称:计算机控制与接口技术指导教师:潘炼2011年12月5日设计题目:单片机交通灯控制系统一、单片机交通控制系统方案设计设在十字路口,分为东西向和南北向,在任一时刻只有一个方向通行,另一方向禁行,持续一定时间,经过短暂的过渡时间,将通行禁行方向对换。
其具体状态如下图所示。
说明:黑色表示亮,白色表示灭。
交通状态从状态1开始变换,直至状态6然后循环至状1,周而复始,即如图(图2-1)所示:直至状态6然后循环至状态1,通过具体的路口交通灯状态的演示分析我们可以把这四个状态归纳如下:图2-1交通状态※东西方向红灯灭,同时绿灯亮,南北方向黄灯灭,同时红灯亮,倒计时20秒。
此状态下,东西向禁止通行,南北向允许通行。
※东西方向绿灯灭,同时黄灯亮,南北方向红灯亮,倒计时2秒。
此状态下,除了已经正在通行中的其他所以车辆都需等待状态转换。
※南北方向红灯灭,同时绿灯亮,东西方向黄灯灭,同时红灯亮,倒计时20秒。
此状态下,东西向允许通行,南北向禁止通行。
※南北方向绿灯灭,同时黄灯亮,东西方向红灯亮,倒计时2秒。
此状态下,除了已经正在通行中的其他所以车辆都需等待状态转换。
下面我们可以用图表表示灯状态和行止状态的关系如下:表2-1交通状态及红绿灯状态状态1 状态3 状态4 状态6 东西向禁行等待变换通行等待变换南北向通行等待变换禁行等待变换东西红灯 1 1 0 0东西黄灯0 0 0 1东西绿灯0 0 1 0南北红灯0 0 1 1南北绿灯 1 0 0 0南北黄灯0 1 0 0东西南北四个路口均有红绿黄3灯和数码显示管2个,在任一个路口,遇红灯禁止通行,转绿灯允许通行,之后黄灯亮警告行止状态将变换。
状态及红绿灯状态如表2.1所示。
说明:0表示灭,1表示亮。
二、单片机交通控制系统的功能要求本设计能模拟基本的交通控制系统,用红绿黄灯表示禁行,通行和等待的信号发生,还能进行倒计时显示,车流量检测及调整,交通违规处理和紧急处理等功能。
《单片机原理及应用》课程设计题目基于STC89C52单片机的交通灯控制系统设计学生姓名沈邦振学号学院信息与控制学院专业测控技术与仪器指导教师孙伟二O一二年六月五日基于 STC89C52 单片机的交通灯控制系统沈邦振1.项目概述随着我国经济的高速发展,私家车、公家车的增加,无疑会给我国道路交通系统带来沉重的压力,很多大城市都不同程度的受到交通堵塞问题的困扰。
下面以STC89C52单片机为核心,设计出以人性化、智能化为目的的交通信号灯控制系统。
2.项目意义用 STC89C52单片机控制一个交通信号灯系统,晶振采用 12MHz。
设 A 车道与 B 车道交叉组成十字路口, A 是主道, B 是支道。
设计要求如下:(1)用发光二极管模拟交通信号灯,用按键开关模拟车辆检测信号。
(2)正常情况下, A、B 两车道轮流放行, A 车道放行 9s ,其中 3s 用于警告; B 车道放行 6s, 其中 3s 用于警告。
(3)在交通繁忙时,交通信号灯控制系统应有手控开关,可人为的改变信号灯的状态,以缓解交通拥挤状况。
在 B 车道放行期间,若 A 车道有车而 B 车道无车,按下开关 K1 使 A 车道放行 5s;在 A 车道放行期间,若 B 车道有车而 A 车道无车,按下开关 K2 是 B 车道放行 5s。
( 4)有紧急车辆通过时,按下K3 使 A、 B 车道均为红灯,禁行5s。
3系统设计交通控制系统主要控制A、B 两车道的交通,以STC89C52单片机为核心芯片,通过控制三色LED的亮灭来控制各车道的通行;另外通过3 个按键来模拟各车道有无车辆的情况和有紧急车辆的情况。
根据要求,制定总体设计思想如下:(1)正常情况下运行主程序,采用 0.5s 延时子程序的反复调用来实现各种定时时间。
( 2)一车道有车,而另一车道无车时,采用外部中断 1 执行中断服务程序,并设置该中断为低优先级中断。
(3)有紧急车辆通过时,采用外部中断 0 执行中断服务程序,并设置该中断为高优先级中断,实现二级中断嵌套。
单片机交通灯课程设计一、课程介绍:本课程名为“单片机交通灯课程设计”,旨在通过教授单片机的基本原理和应用,使学员能够设计和实现一个简单的交通灯控制系统。
课程将围绕单片机的硬件组成、编程语言、接口技术等方面展开,使学员深入了解单片机的运作机制,掌握交通灯控制系统的原理和设计方法。
通过本课程的学习,学员将能够独立设计和实现一个交通灯控制系统,提高他们的实践能力和创新能力。
二、学习者分析:目标受众为具有一定电子工程或计算机科学背景的大学生,他们的年龄一般在18-25岁之间,学历水平主要为本科或研究生。
他们对电子技术和编程语言有一定的了解,具备一定的逻辑思维能力和问题解决能力。
先备知识方面,学员应掌握基本电路原理、C语言编程和微控制器的基本概念。
三、学习目标:1.认知目标:学生应该了解单片机的硬件组成、工作原理和编程语言;掌握交通灯控制系统的原理和设计方法。
2.技能目标:学生应该能够使用单片机开发工具进行程序编写和调试;能够设计和实现一个简单的交通灯控制系统。
3.情感目标:学生应该培养对电子技术的兴趣和热情,提高他们的问题解决能力和创新意识。
四、课程内容:1.模块/单元划分:将课程内容划分为以下几个模块:模块一:单片机基础知识;模块二:C语言编程;模块三:单片机接口技术;模块四:交通灯控制系统设计。
2.内容描述:模块一将介绍单片机的硬件组成、工作原理和编程环境;模块二将教授C语言的基本语法和编程技巧;模块三将讲解单片机接口技术的原理和应用;模块四将引导学员设计和实现一个简单的交通灯控制系统。
3.核心概念:每个模块中都包含关键概念或理论,如单片机的硬件组成、C语言的编程语法、接口技术的原理等。
这些核心概念是课程的重点,学员需要深入理解和掌握。
五、教学策略:为了达到本课程的学习目标,我们将采用多种教学方法、活动设计和技术的整合。
1.教学方法:我们将结合讲授、讨论、合作学习和实验等方法。
讲授法用于向学生传授单片机和C语言的基础知识;讨论法用于激发学生的思考,解决学习过程中遇到的问题;合作学习使学生在团队中共同完成项目,培养沟通和协作能力;实验法让学生亲手操作,加深对知识的理解和应用。
目录目录第一章课程设计内容与要求分析 (1)1.1 课程设计内容 (1)1.2 课程设计要求分析 (2)1.2.1 系统单元电路组成 (2)第二章控制系统程序设计 (4)第三章单片机原理及应用课程设计总结 (18)参考文献 (19)附录 (20)第一章课程设计内容与要求分析1.1 课程设计内容本题目以89C51单片机为核心器件组成交通灯控制系统,采用定时中断实现精确定时;利用提供的单元模块构成硬件系统。
交通灯控制系统的设计要求:1)基本功能:要求在一般工作方式下,十字路口为A、B道(A、B道交叉组成十字路口),每道设置红、绿、黄三盏灯,在灯的控制下各道轮流放行。
通行的流程是:B道红灯亮40秒,同时A道绿灯亮30秒,闪烁5秒,A道黄灯亮5秒;然后切换A道红灯亮40秒,同时B道绿灯亮30秒,闪烁5秒;B道黄灯亮5秒。
如此循环。
在A、B道红、绿、黄灯依次点亮时,A、B道对应的两位数码管分别倒计时显示本道红、绿、黄灯点亮的时间。
2)扩展功能:设置自动流量控制功能:即当一道有车而另一道无车(用按键开关S1、S2模拟车辆检测功能)时,使有车车道放行。
设置优先控制功能:当有紧急车辆通过时,用开关S0进行控制,将A、B 道均设定为红灯,第二次按下开关S0后,回复正常运行状态。
1.2 课程设计要求分析1.2.1 系统单元电路组成图1 交通灯外围电路图2 交通灯运行时电路图3 交通灯运行时电路第二章控制系统程序设计#include <reg51.h>unsigned char code dtab[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0xff};//共阳极接法的数字0~9段码表unsigned char code selec[4]={0xFE,0xFD,0xFB,0xF7};//动态显示位选码表unsigned char disp[4];//定义4个显示缓冲单元unsigned char aa[25];sbit Key1=P1^4;//定义四个独立按键sbit Key2=P1^5;sbit Key3=P1^6;sbit Key4=P1^7;sbit YL_ledR=P3^0;//定义Y轴方向左转的红绿黄灯sbit YL_ledY=P3^1;sbit YL_ledG=P3^2;sbit YG_ledR=P3^3;//定义Y轴方向直行的红绿黄灯sbit YG_ledY=P3^4;sbit YG_ledG=P3^5;sbit XL_ledR=P2^0;//定义X轴方向左转的红绿黄sbit XL_ledY=P2^1;sbit XL_ledG=P2^2;sbit XG_ledR=P2^3;//定义X轴方向直行的红绿黄sbit XG_ledY=P2^4;sbit XG_ledG=P2^5;unsigned char flag=13,move_flag; //定义标志位unsigned char XGR,XGY,XGG;unsigned char XLR,XLY,XLG;unsigned char YGR,YGY,YGG;unsigned char YLR,YLY,YLG;unsigned char YYRR,XXRR;unsigned char num;void Delayms(unsigned int x) //定义xms延时函数,x就是形式参数{unsigned int i;unsigned char j;for(i=x;i>0; i--)for(j=110;j>0;j--);}/**************************************************************函数功能:定时器0中断服务函数,显示矩阵按键值**************************************************************/void Time0(void) interrupt 1//"interrupt"声明函数为中断服务函数{unsigned char count;TH0=(65536-50000)/256; //定时器T0的高8位赋初值TL0=(65536-50000)%256;//定时器T0的低8位赋初值if(++count>=20){count=0;YGG--; //Y轴绿灯时间减一XXRR--; //X轴红灯时间减一disp[2]=XXRR%10; //X轴数码管显示Y轴绿灯时间disp[3]=XXRR/10;disp[0]=YGG%10; //Y轴数码管显示X轴红灯时间disp[1]=YGG/10;if(YGG==0) //如果Y抽绿灯时间减为零,Y轴的黄灯开始亮,X轴的数码管显Y轴黄灯时间{disp[0]=YGY%10;disp[1]=YGY/10;YGG=1;YGY--;YG_ledG=1;//Y轴的绿灯熄灭YG_ledY=0;if(YGY==0XFF) //当Y轴黄灯闪烁时间变为零,Y轴红灯亮,黄灯灭,Y数码管显示X轴绿灯时间{ //同时X轴的绿灯亮,红灯灭,X轴数码管显示Y轴红灯时间disp[0]=YLG%10;disp[1]=YLG/10;YGY=0;YLG--;YL_ledG=0;YG_ledR=0;YG_ledY=1;YL_ledR=1;if(YLG==0XFF)//当X轴绿灯时间为零,X轴的绿灯灭,黄灯开始闪烁。
课程设计报告:交通灯单片机控制系统1. 设计目的本课程设计旨在让学生通过使用单片机开发一个简单的交通灯控制系统来加深对单片机编程和控制原理的理解。
该系统可以模拟道路上的交通灯,实现红灯、绿灯和黄灯的循环控制,并可以通过按键进行手动控制。
2. 设计原理2.1 交通灯状态交通灯状态包括红灯、黄灯和绿灯,它们按照固定的时间间隔循环切换。
2.2 按键控制设计中使用一个按键用于手动控制交通灯状态切换。
按下按键时,会切换到下一个灯状态。
3. 硬件方案3.1 单片机本设计采用ATmega328P单片机,它具有足够的GPIO引脚用于控制交通灯的LED。
3.2 LED使用红色、黄色和绿色LED模拟交通灯的三种状态。
3.3 按键一个按键连接到单片机的GPIO引脚,用于手动切换交通灯状态。
4. 软件方案4.1 控制逻辑编写单片机程序,实现交通灯状态的循环切换和按键控制逻辑。
4.2 定时器使用定时器来控制交通灯状态切换的时间间隔。
4.3 中断配置按键的中断,以便在按下按键时进行状态切换。
5. 实施过程连接硬件组件,包括LED、按键和单片机。
编写单片机程序,包括交通灯状态切换逻辑、定时器配置和按键中断处理。
编译并烧录程序到单片机。
运行程序,观察交通灯的状态切换和按键控制是否正常。
6. 测试结果经过测试,交通灯控制系统能够正常运行。
交通灯状态按照预定的时间间隔循环切换,同时按下按键可以手动切换状态,符合设计要求。
7. 问题解决在实施过程中,遇到了一些问题,如硬件连接错误和程序逻辑错误。
通过仔细检查和调试,成功解决了这些问题。
8. 总结本课程设计使我深入了解了单片机编程和控制系统的原理,通过实际动手操作,更好地掌握了这些概念。
设计交通灯控制系统是一个有趣且教育性的项目,我对单片机编程有了更深入的理解,这对我的学习和职业发展都有所帮助。
这个示例课程设计报告可以作为参考,你可以根据具体的课程设计要求和硬件平台的不同来进行调整和扩展。
单片机交通灯课程设计单片机交通灯课程设计简介:单片机交通灯课程设计是一项基于单片机控制的交通灯系统设计任务。
通过使用单片机的控制和处理能力,设计出实现交通灯的红绿灯控制、时间自动调整等功能的系统。
该设计能够帮助学生提升对单片机的理解和应用能力,同时加深对交通灯控制原理的理解。
需求分析:根据交通灯的基本原理,我们需要实现交通灯的红灯、绿灯和黄灯的切换控制,并且能够按照一定时间间隔进行自动调整。
通过按键控制可以手动改变交通灯的状态。
我们需要选取适当的控制电路和编程语言来实现这一功能。
本设计的目标是使交通灯的切换过程平稳、稳定,并且在故障发生时能够按照预定的故障处理机制进行处理。
设计方案:1. 硬件设计:(1) 选取合适的单片机,可根据实际情况选择合适的型号;(2) 设计电路板,将单片机与交通灯的灯组连接起来;(3) 使用合适的电源供电,保证电路的正常运行;(4) 调试电路,确保电路的连接正常、无故障。
2. 软件设计:(1) 选择合适的编程语言和开发环境,如C语言和Keil等;(2) 设计主循环程序,实现交通灯的红、黄、绿灯的切换功能;(3) 设计按键检测处理程序,实现按键控制交通灯的手动切换功能;(4) 设计时间调整程序,实现交通灯切换时间的自动调整功能;(5) 设计故障处理程序,实现在故障发生时的处理机制。
实验步骤:1. 连接硬件电路,保证电路连接正确;2. 使用适当的编程语言编写程序,并导入单片机中;3. 打开电源,观察交通灯的切换状态,并尝试按键控制;4. 观察交通灯的自动调整功能,验证其正常工作;5. 模拟故障情况,测试故障处理机制;6. 对实验结果进行总结和分析,修正可能存在的问题。
注意事项:1. 实验中要注意电路连接和开关的正确使用,确保电路安全;2. 编写程序时要注意代码的规范性和可读性,方便后续修改和维护;3. 在实验过程中及时记录实验数据和观察结果,以便后续分析和总结。
结论:通过本次课程设计,我学会了如何使用单片机来实现交通灯的控制功能,并加深了对交通灯控制原理的理解。
单片机 交通灯课程设计一、课程目标知识目标:1. 理解单片机的基本原理,掌握交通灯控制器的设计方法;2. 学会使用编程软件进行单片机程序设计,实现交通灯控制功能;3. 了解交通灯系统的基本构成和运行原理,提高对电子工程实践的认识。
技能目标:1. 能够运用所学知识,独立完成单片机交通灯控制器的硬件搭建;2. 掌握基本的编程技巧,实现交通灯的定时切换和异常处理功能;3. 提高动手实践能力,培养团队协作和问题解决能力。
情感态度价值观目标:1. 培养学生对单片机及电子工程的兴趣,激发创新意识;2. 培养学生的责任心和敬业精神,使其在项目实践中体会工程实践的重要性;3. 增强学生的环保意识,理解交通灯系统在节能减排方面的作用。
课程性质:本课程为实践性较强的课程,结合单片机原理与应用,让学生在实际操作中掌握知识,提高技能。
学生特点:学生具备一定的电子基础和编程能力,对单片机有一定了解,但实践经验不足。
教学要求:注重理论与实践相结合,充分调动学生的积极性,培养其动手实践和团队协作能力。
通过课程学习,使学生能够独立完成单片机交通灯控制器的设计与实现。
1. 单片机基础理论:回顾单片机的组成、工作原理和编程基础,重点讲解I/O 口控制、定时器及中断系统等知识点。
教材章节:第二章 单片机原理与应用。
2. 交通灯控制器设计:介绍交通灯系统的基本构成、工作原理及设计要求,分析控制器硬件设计方法,包括电路图绘制、元器件选型等。
教材章节:第三章 交通信号灯控制系统设计。
3. 程序设计:结合单片机编程语言,讲解交通灯控制程序的编写方法,包括主程序、定时器中断服务程序等。
教材章节:第四章 单片机编程与应用。
4. 硬件搭建与调试:指导学生进行交通灯控制器硬件的搭建、程序烧录及系统调试,分析并解决实际问题。
教材章节:第五章 单片机系统调试与优化。
5. 项目实践:组织学生分组进行项目实践,要求每组完成一个具有定时切换和异常处理功能的单片机交通灯控制器设计。
单片机课程设计基于单片机的交通灯设计2007.07.05 一.设计目的:1、通过交通信号灯控制系统的设计,掌握8255A并行口传输数据的方法,以控制发光二极管的亮与灭;2、用8255作为输出口,控制十二个发光二极管熄灭,模拟交通灯管理.3、通过单片机课程设计,熟练掌握汇编语言的编程方法,将理论联系到实践中去,提高我们的动脑和动手的能力;4、完成控制系统的硬件设计、软件设计、仿真调试。
二.设计要求:交通信号灯模拟控制系统设计利用单片机的定时器定时,令十字路口的红绿灯交替点亮和熄灭,并且用LED数码管显示时间。
用8051做输出口,控制十二个发光二极管燃灭,模拟交通灯管理。
在一个交通十字路口有一条主干道(东西方向),一条从干道(南北方向),主干道的通行时间比从干道通行时间长,四个路口安装红,黄,蓝,灯各一盏;1、设计一个十字路口的交通灯控制电路,要求南北方向(主干道)车道和东西方向(支干道)车道两条交叉道路上的车辆交替运行,时间可设置修改。
2、在绿灯转为红灯时,要求黄灯先亮,才能变换运行车道3、黄灯亮时,要求每秒闪亮一次。
4、东西方向、南北方向车道除了有红、黄、绿灯指示外,每一种灯亮的时间都用显示器进行显示(采用计时的方法)。
5、同步设置人行横道红、绿灯指示。
三.设计任务和内容:任务:设计一个能够控制十二盏交通信号灯的模拟系统。
并且要求交通信号灯按照交通规则的模试来运行。
内容:因为本课程设计是交通灯的控制设计,所以要了解实际交通灯的变化情况和规律。
假设一个十字路口为东西南北走向。
初始状态0为东西红灯,南北红灯。
然后转状态1东西红灯,南北绿灯通车,。
过一段时间转状态2南北绿灯灭,黄灯闪烁几次,东西仍然红灯。
再转状态3,东西绿灯通车,南北红灯。
过一段时间转状态4,东西绿灯灭,闪几次黄灯,南北仍然红灯。
最后循环至状态1。
四.控制系统的总体要求:1.执行程序时,初始态为四个路口的红灯全亮之后;2.东西路口的绿灯亮,南北路口的红灯亮,东西路口方向通车;3.延时一段时间后,东西路口的绿灯熄灭,黄灯开始延时并且开始闪烁,闪烁5次后,东西路口红灯亮,而同时南北路口的绿灯亮,南北路口方向开始通车;4.延时一段时间之后,南北路口的绿灯熄灭,黄灯开始延时并且开始闪烁,闪烁3次之后,再切换到东西路口方向;之后重复2到4过程。
单片机交通灯课程设计一、课程目标知识目标:1. 理解单片机的原理及交通灯控制系统的基本构成;2. 掌握单片机编程的基本语法,如C语言或汇编语言;3. 学习并掌握交通灯控制流程图的绘制及程序设计;4. 了解交通灯控制系统在实际应用中的功能与作用。
技能目标:1. 能够运用所学知识设计简单的单片机交通灯控制系统;2. 能够独立编写程序,实现交通灯的红、黄、绿灯控制逻辑;3. 能够对所设计的系统进行调试和优化,确保其正常运行;4. 学会使用相关工具和仪器,进行电路搭建和程序烧录。
情感态度价值观目标:1. 培养学生的团队协作意识,学会与他人共同解决问题;2. 激发学生对电子技术的兴趣,提高创新意识和动手能力;3. 增强学生的社会责任感,认识到科技在生活中的重要应用;4. 培养学生严谨、认真、细心的学习态度,为今后的学习和工作打下基础。
本课程针对单片机交通灯的设计,结合学生年级特点,注重理论与实践相结合,旨在提高学生的知识水平和实践能力。
通过本课程的学习,使学生能够掌握单片机的基本原理和应用,培养其在电子技术领域的实际操作技能,同时注重培养其情感态度和价值观,为学生的全面发展奠定基础。
二、教学内容1. 单片机基础理论:介绍单片机的组成、工作原理及性能特点,结合课本第二章内容,让学生对单片机有全面的了解。
2. 编程语言学习:以C语言或汇编语言为基础,讲解单片机编程的基本语法和编程技巧,对应课本第三章。
3. 交通灯控制系统原理:分析交通灯控制系统的基本构成、工作流程和功能,结合课本第四章内容,让学生了解实际应用场景。
4. 程序设计:学习并掌握交通灯控制流程图的绘制及程序设计,对应课本第五章,让学生能够实际操作编写程序。
5. 系统调试与优化:介绍系统调试的方法和技巧,分析常见的故障原因,对应课本第六章,让学生学会调试和优化程序。
6. 电路搭建与程序烧录:学习使用相关工具和仪器,进行电路搭建和程序烧录,对应课本第七章,培养学生的动手能力。
1 任务及要求
1.1设计任务
十字路口的交通指示灯,在正常情况下,按表中要求进行点亮,当急救车到达时,两方向红灯亮10秒后,交通灯恢复以前的状态。
交通灯开始正常情况下交通灯运行规律
东西方向红灯(3S)绿灯(10S)黄灯
闪5
次
红灯
(0.2S)
红灯
(10S)
黄灯闪
5次
红灯
(0.2S)
南北方向红灯(3S)红灯(10S)绿灯
(10S)
1.2 设计要求
利用AT89C51单片机的P1端口的接LED来模拟交通路口的红绿黄灯,用按键来模拟有急救车到来的情况。
P1端口的P1.0到P1.2所接的LED分别表示东西路口的红、黄、绿灯,P1.3到P1.5所接的LED分别表示南北路口的红、黄、绿灯。
P3.2接按钮,模拟产生外部中断。
正常情况下按照表格进行点亮。
当外部中断产生时,响应中断并转向中断程序,使两红灯同时亮10秒,完成后返回原程序。
2 设计思想
2.1 硬件设计思想
选用AT89C51作为控制部件,CAP,CAP-ELEC,CRYSTAL,RES组成最小系统。
LED-RED,LED-GREEN,LED-YELLOW模拟交通路口红、绿、黄灯。
用AT89C51的控制模块,加入按键等功能,并利用AT89C51的P1口输出控制信号,使得LED在软件的控制下工作。
2.2 软件设计思想
采用汇编语言编写程序,程序由一个主函数,一个中断程序和多个延时子程序构成。
由主函数实现LED彩灯在正常情况下的点亮和关闭。
中断程序实现LED点阵LED彩灯中两个红灯点亮10秒。
3 电路原理与电路图
3.1 电路原理
单片机最小系统。
一个AT89C51单片机做为控制电路,运用其P1口来控制六个LED彩灯,通过P1给LED彩灯输入不同的电平信号,来实现LED彩灯按要求点亮。
P3口接中断按钮。
3.2 电路原理图
4 流程图与算法描述
4.1 流程图
开始
置口地址
外部中断初始化
两个红灯亮
延时3秒
东西路口绿灯亮,南北路口红灯亮
延时10秒
东西路口绿灯灭,南北路口红灯灭
两路口黄灯闪烁5次
两红灯亮
延时0.2秒
南北路口绿灯亮,东西路口红灯亮
延时10秒
南北路口绿灯灭,东西路口红灯灭两路口黄灯闪烁5次
两红灯亮
延时0.2秒
中断入口
有关寄存器入栈
红灯全亮,黄绿灯全灭
延时10秒
取中断前所保存的数据输入,恢复原始状态
有关寄存器出栈
外部中断允许标志置位
中断返回
4.2 算法描述
1、延时子程序。
代码段如下:
DELAY1:MOV R5,#30
JMP DE1
DELAY2:MOV R5,#100
JMP DE1
DELAY3:MOV R5,#02
DE1:MOV R6,#200
DE2:MOV R7,#126
DE3:DJNZ R7,DE3
DJNZ R6,DE2
DJNZ R5,DE1
RET
END
2、中断函数。
代码段如下:
INT0S: PUSH ACC
MOV P1,#00H
SETB P1.0
SETB P1.3
LCALL DELAY2
POP ACC
RET
4、主函数,实现正常运行。
代码段如下:
ORG 0000H
LJMP START
ORG 0003H
LJMP INT0S
ORG 0030H
START: SETB EX0
SETB IT0
SETB EA
MOV P1,#00H
LP: SETB P1.0
SETB P1.3
LCALL DELAY1
CLR P1.0
CLR P1.3
LP3: SETB P1.2
SETB P1.3
LCALL DELAY2
ACALL SHAN5
SETB P1.0
SETB P1.3
LCALL DELAY3
MOV P1,#00H
SETB P1.0
SETB P1.5
LCALL DELAY2
MOV P1,#00H
ACALL SHAN5
SETB P1.0
SETB P1.3
LCALL DELAY3
MOV P1,#00H
LJMP LP3
SHAN5: MOV R0,#5
LP2: SETB P1.1
SETB P1.4
LCALL DELAY3
MOV P1,#00H
LCALL DELAY3
DJNZ R0,LP2
RET
5 程序清单与仿真结果
5.1 程序清单
ORG 0000H
LJMP START
ORG 0003H
LJMP INT0S
ORG 0030H
START: SETB EX0
SETB IT0
SETB EA
MOV P1,#00H
LP: SETB P1.0
SETB P1.3
LCALL DELAY1
CLR P1.0
CLR P1.3
LP3: SETB P1.2
SETB P1.3
LCALL DELAY2
ACALL SHAN5
SETB P1.0
SETB P1.3
LCALL DELAY3
MOV P1,#00H
SETB P1.0
SETB P1.5
LCALL DELAY2
MOV P1,#00H
ACALL SHAN5
SETB P1.0
SETB P1.3
LCALL DELAY3
MOV P1,#00H
LJMP LP3 SHAN5:
MOV R0,#5
LP2: SETB P1.1
SETB P1.4
LCALL DELAY3
MOV P1,#00H
LCALL DELAY3
DJNZ R0,LP2
RET
INT0S: PUSH ACC
MOV P1,#00H
SETB P1.0
SETB P1.3
LCALL DELAY2
POP ACC
RET
DELAY1: MOV R5,#30
JMP DE1 DELAY2: MOV R5,#100
JMP DE1 DELAY3: MOV R5,#02
DE1: MOV R6,#200
DE2: MOV R7,#126
DE3: DJNZ R7,DE3
DJNZ R6,DE2
DJNZ R5,DE1
RET
END
5.2 仿真结果
系统初始化时,东西方向和南北方向红灯亮3S。
仿真如下:
正常情况下,首先东西方向绿灯和南北方向红灯亮10秒。
仿真如下:
东西方向和南北方向的黄灯闪五次。
仿真如下:
东西方向和南北方向的红灯亮0.2秒。
仿真如下:
东西方向红灯和南北方向绿灯亮10秒。
仿真如下:
东西方向和南北方向的黄灯闪五次。
仿真如下:
东西方向和南北方向的红灯亮0.2秒。
仿真如下:
产生中断后,东西方向和南北方向红灯亮10秒。
仿真如下:
6 设计总结
6.1 设计体会
课程设计刚开始时,我们组经过反复讨论决定选择这个题目。
毕竟课程设计不同于之前的实验课,电路图都要自己设计。
静下心来,仔细分析题目,再加上指导老师的详细的说明与提示,心中才有了谱。
将整个系统根据不同的功能化分成模块,大概画出流程图,再分别进行设计,最后将其整合即可。
回顾起这一次的课程设计,至今我仍感慨颇多。
在这段日子里,从理论到实践,可以说得是苦多于甜,但是我还是可以学到了很多的内容,同时不仅可以巩固了以前所学过的知识,而且学到了很多在书本上所没有学到过的知识。
通过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从而提高自己的实际动手能力和独立思考的能力。
我在设计的过程中也遇到了不少的问题,可以说得是困难重重,但可喜的是最终都得到了解决。
实验过程中,也对我们组员的合作能力进行了考察果然是团结就是力量,只有互相之间默契融洽的配合才能换来最终完美的结果。
此次设计也让我明白了思路即出路,有什么不懂不明白的地方要及时请教或上网查询,只要认真钻研,动脑思考,动手实践,就没有弄不懂的知识,收获颇丰。
在此我非常感谢我的指导老师—-教授级高级工程师傅篱教授,感谢傅老师从一开始就耐心的安排我们的进度,和之后多次提醒我们一些重要的注意事项,以及让我对单片机原理这门课程有了更深刻的认识,让我对独立做课程设计有了信心,同时我还要感谢我的同组的同学们,感谢他们的努力和配合,这次课程设计才能顺利完成。
参考文献
[1]蔡美琴,张为民,沈新群等.MCS51系列单片机系统及其应用[M].北京:高等教育出版社,1992.
[2]何立民.单片机应用技术选篇(5)[M].北京:北京航空航天大学出版社,1997.
[3]杨光友. 单片机微型计算机原理及接口技术[M].北京:中国水利水电出版社,2002 [4]李广弟.单片机基础[M].北京:北京航空航天大学出版社,1994
[5]阎石.数字电子技术基础(第三版). 北京:高等教育出版社,1989。