单片机交通灯实验报告_第1页
单片机交通灯实验报告_第2页
单片机交通灯实验报告_第3页
单片机交通灯实验报告_第4页
单片机交通灯实验报告_第5页
已阅读5页,还剩7页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、学校代码:11460南京晓庄学院本科生毕业综合设计交通灯控制系统设计traffic light control system design院 系:物理与电子工程学院专 业: 电子信息科学与技术 成 员:郁艇妹 (08409244)周纬璐 (08409247)交通灯控制系统设计实验一设计目的1. 通过本次课程设计进一步熟悉和掌握单片机的结构及工作原理,巩固和加深“单片机原理与应用”课程的基本知识,掌握电子设计知识在实际中的简单应用。2. 综合运用“单片机原理与应用”课程和先修课程的理论及生产实际知识去分析和解决电子设计问题,进行电子设计的训练。3. 学习电子设计的一般方法,掌握at89c52芯片

2、以及简单电子设计过程和运行方式,培养正确的设计思想和分析问题、解决问题的能力,特别是总体设计能力。4. 通过计算和绘制原理图、布线图和流程图,学会运用标准、规范、手册、图册和查阅有关技术资料等,培养电子设计的基本技能。5. 通过完成一个包括电路设计和程序开发的完整过程,了解开发单片机应用系统全过程,为今后从事的工作打基础。二设计要求1.利用单片机的定时器定时,实现道路的红绿灯交替点亮和熄灭。2.以at89c52单片机为核心,设计一个十字路口交通灯控制系统。用单片机控制led灯模拟交通信号灯显示。假定东西、南北方向方向通行(绿灯)时间为25秒,缓冲(黄灯)时间5秒,停止(红灯)时间35秒。3.南

3、北方向、东西方向车道除了有红、黄、绿灯指示外,每一种灯亮的时间都用显示器进行显示(采用计时的方法)。三实验原理1.基本原理主体电路:交通灯自动控制模块。这部分电路主要由80c51单片机的i/o端口、定时计数器、外部中断扩展等组成。本设计先是从普通三色灯的指示开始进行设计,用p1口作为输出。程序的初始化是东西南北方向的红灯全亮。然后南北方向红灯亮,东西方向绿灯亮,60秒后东西方向黄灯闪亮5秒后南北方向绿灯亮,东西方向红灯亮。重复执行。倒计时用到定时器t0,用p2口作为led的显示。二位一体的led重复执行60秒的倒计时。作为突发事件的处理,本设计主要用到外部中断ex0。用一模拟开关作为中断信号。

4、实际中可以接其它可以产生中断信号的信号源。2. 芯片at89c52 at89c52是一个低电压,高性能cmos 8位单片机,片内含8k bytes的可反复擦写的flash只读程序存储器和256 bytes的随机存取数据存储器(ram),器件采用atmel公司的高密度、非易失性存储技术生产,兼容标准mcs-51指令系统,片内置通用8位中央处理器和flash存储单元,功能强大的at89c52单片机可为您提供许多较复杂系统控制应用场合。at89c52有40个引脚,32个外部双向输入/输出(i/o)端口,同时内含2个外中断口,3个16位可编程定时计数器,2个全双工串行通信口,2个读写口线,at89c5

5、2可以按照常规方法进行编程,也可以在线编程。其将通用的微处理器和flash存储器结合在一起,特别是可反复擦写的flash存储器可有效地降低开发成本。主要功能特性: 兼容mcs51指令系统 8k可反复擦写(1000次)flash rom 32个双向i/o口 256x8bit内部ram 3个16位可编程定时/计数器中断 时钟频率0-24mhz 2个串行中断 可编程uart串行通道 2个外部中断源 共6个中断源 2个读写中断口线 3级加密位 低功耗空闲和掉电模式 软件设置睡眠和唤醒功能四 实验流程图(一)实现方法(1)在设计中利用软件程序延时的方法来控制红(绿)的亮的时间。考虑延时时间较长所以先用t

6、0产生终端然后通过计数的方法来实现延时。利用口的p1.1、p1.2、p1.3作为红绿灯控制端口。(2)南北向的绿灯连在一块,东西向的红灯连在一块,他们一块与p1.1相连。同样南北向的红灯连在一块,东西向的绿灯连在一块,他们一块与p1. 2相连,四个黄灯连在一块与p1.3相连。(二)流程图 开 始南北红东西绿30s倒计时显示黄灯亮5s南北绿东西红黄灯亮5s25s倒计时显示五硬件设计1单片机的结构 单片微机(single-chip microcomputer)简称为单片机。它在一块芯片上集中成了中央处理单元cpu、随机存储器ram、只读存储器rom、定时/计数和多功能输入/输出i/o口,如并行口i

7、/o、串行口i/o和转换a/d等。就其组成而言,一块单片机就是一台计算机。由于它具有体积小、功能强和价格便宜等优点,因而被广泛地应用于产品智能化和工业控制自动化上。2主要元器件选择(1). 开关管的选择:button按钮(2). led发光二极管 ledred, ledyellow ,ldegreen(3). 二位一体数码管 7seg-mpx2-cat-red:共阳数码管(红色)(4). pn4249:驱动三极管(5). at89s51系列单片机 3设计显示部分led数码显示部分。led数码显示部分由七段数码显示管组成。发光二极管显示原理:发光二极管是采用砷化镓、镓铝砷和磷化镓等材料制成,其内

8、部结构为一个pn结,具有单向导电性。发光二极管在制作时,使用的材料不同,那么就可以发出不同颜色的光。当定时器定时为1秒,时程序跳转到时间显示及信号灯显示子程序,它将依次显示信号灯时间 ,同时一直显示信号灯的颜色,这时在返回定时子程序定时一秒,在显示黄灯的下一个时间,这样依次把所有的灯色的时间显示完后在重新给时间计数器赋初值 ,重新进入循环。六软件设计 1单片机中断系统基本结构 中断是一项重要的计算机技术,是处理正常工作与紧急状态的好办法,是实现人机实时交互的重要途径,在单片机应用系统中,中断技术得到了广泛应用。下面详细介绍单片机中断系统基本结构、与中断相关的特殊寄存器的设置及中断应用系统编程方

9、法。当cpu查询到系统有中断请求时,如果系统处于中断允许状态,cpu将停止当前的工作,响应中断请求,转向中断服务,中断服务完成后,返回原程序继续执行当前任务,这叫单片机中断。8051系列单片机中断系统结构如图3.7所示。能让cpu产生中断的信号源叫中断源。8051单片机有nt0、int1、t0、t1、ti、ri六个中断源,但只有ex0、et0、ex1、et1、es五个向量,下面简要介绍六个中断源。图:单片机中断系统基本结构int0、int1:外部中断源,由p3.2和p3.2引脚输入。具有低电平和脉冲两种触发方式,在每个机器周期的s5p2采样引脚信号,如有效则由硬件将它的中断请求标志ie置1,请

10、求中断。当cpu响应中断时,由硬件复位。t0、t1:定时/计数器中断,当定时/计数器产生溢出时,置位中断请求标志tf请求中断处理。ri、ti:串行中断,ri是接收,ti为发送。单片机串行口接收到一个字符后ri置1,发送完一个字符ti置1。值得注意的是,ri、ti在响应中断后,必须由用指令将其复位。 中断响应:cpu在执行程序的过程中,在每个机器周期的s5p2对中断标志位按中断优先级进行查询,一旦查询到有中断请求,cpu只要不在执行同级或高级的中断服务程序和当前指令(reti指令或访问ie、ip的指令除外)执行完毕两种情况,则响应中断。如果当前正在执行的指令是reti或访问ie、ip的指令,则当

11、前指令执行完毕后,cpu才可响应中断。中断响应时间可以从中断信号被查询开始算起,中断响应时间在以下三种情况下,响应时间还会更长: cpu正在执行一个比要响应的中断源优先级相等或更高的中断源的中断服务程序,此时须等到中断服务程序执行完毕才可中断响应。 正在执行的当前指令不是在最后一个机器周期,只有指令执行完后才响应中断。 如果当前执行的是reti或访问ie、ip的指令,则当前指令执行完毕后,cpu需再执行一条指令才可以中断响应,因此附加等待响应时间不会超过5个机器周期。中断入口:单片机响应中断后,将转向特定的入口进行中断服务,单片机的中断入口地址如表3.2所示。中 断 源入 口 地 址ie0(外

12、部中断0)0003htf0(定时器0溢出中断)000bhie1(外部中断1)0013htf1(定时器1溢出中断)001bhri+ti(串行口中断)0023h表3.2 mcs-51单片机中断服务程序入口地址表从表中可以看出,两相邻中断源的入口地址间隔为8个单元。这意味着如果要把中断源对应的中断服务程序从入口地址开始存放,则程序的长度不能超过8个字节,否则会影响到下一个中断源的入口地址的使用。而通常的情况下,中断服务程序的长度不止8个字节,因此,常见的处理方法是:在入口地址处存放一条无条件转移指令,通过这条转移指令转向对应的中断服务程序入口,中断服务程序以reti为结束。中断请求的撤销:cpu响应

13、中断请求,在中断返回(reti)之前,该中断请求应被撤除,否则会引发另一次中断。定时/计数器中断请求撤销:cpu在响应中断后,由硬件自动清除中断请求标志tf。外部中断请求撤销:如果采用脉冲触发方式,cpu在响应中断后,由硬件自动清除中断请求标志ie;对于电平触发方式的外部中断请求,中断标志的撤销是自动的,由于造成中断请求的低电平继续存在,所以在响应中断后再次会产生中断请求,为此响应中断后要撤销外部信号。2.每秒钟的设定 延时方法可以有两种一中是利用mcs-51内部定时器才生溢出中断来确定1秒的时间,另一种是采用软延时的方法。 3.计数器初值计算 定时器工作时必须给计数器送计数器初值,这个值是送

14、到th和tl中的。我们可以把计数器记满为零所需的计数值设定为c和计数初值设定为tc 可得到如下计算通式: tc=m-c七实验程序#include #define uchar unsigned char#define uint unsigned intsbit r1=p20; /东西红灯sbit y1=p21; /东西黄灯sbit g1=p22; /东西绿灯sbit r2=p23; /南北红灯sbit y2=p24; /南北黄灯sbit g2=p25; /南北绿灯sbit z1=p26; /南北人行道绿灯sbit z2=p27; /东西人行道绿灯sbit k0=p30; /全部禁行开关sbit

15、k1=p32; /主干道通行开关sbit k2=p33; /支道通行开关sbit jg=p36; /全部禁行警报uchar a=0,m,k,h;uchar code dis= 0xc0, 0xf9, 0xa4, 0xb0, 0x99,0x92, 0x82, 0xf8, 0x80, 0x90, 0xff; /断码void delay(uchar x)/延时uchar j;while(x-)for(j=0;j120;j+);xianshi() /显示部分while(1)while(1)g1=1;r1=0;y1=1;jg=0;g2=0;r2=1;y2=1;z2=0;z1=1;k=35;h=30;wh

16、ile(1)/主干道通行35sif(k0=0) break;/判断k0是否被按下,如果按下跳出本循环p0=0x01;p1=disk/10;delay(2);p0=0x02;p1=disk%10;delay(2);p0=0x04;p1=dish/10;delay(2);p0=0x08;p1=dish%10;delay(2);if(k=0) break;if(h=0) h=5;g2=1;r2=1;y2=0;if(k0=0) break;/再判断一次k0,跳出本循环g1=0;r1=1;y1=1;jg=0;g2=1;r2=0;y2=1;z2=1;z1=0;k=20;h=25;while(1)/支道通行

17、25sif(k0=0) break;p0=0x01;p1=disk/10;delay(2);p0=0x02;p1=disk%10;delay(2);p0=0x04;p1=dish/10;delay(2);p0=0x08;p1=dish%10;delay(2);if(h=0) break;if(k=0)k=5;g1=1;r1=1;y1=0;if(k0=0) break;if(k0=0)while(1)/全部禁止通行g1=1;r1=0;y1=1;jg=1;p0=0x00;g2=1;r2=0;y2=1;z2=1;z1=1;if(k0!=0) break;void zhutong() interrup

18、t 0/主干道通行,支道禁止通行ex0=0;m=p2;if(k1=0)while(1)g1=1;r1=0;y1=1;jg=0;p0=0x00;g2=0;r2=1;y2=1;z2=0;z1=1;if(k1!=0)break;p2=m;ex0=1;void zhitong() interrupt 2/支道通行,主干道禁止通行ex1=0;m=p2;if(k2=0)while(1)g1=0;r1=1;y1=1;jg=0;p0=0x00;g2=1;r2=0;y2=1;z2=1;z1=0;if(k2!=0)break;p2=m;ex1=1;void dss() interrupt 1 /1s的定时 a=a+1;if(a=10)k-;h-; a=0;th0=0x3c; tl0=0xb0;void main() tmod=0x01;th0=0x3c; tl0=0xb0; /6m晶振,100ms初值et0

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论