计算机控制课程设计

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

目录

一、设计背景及意义

当今,红绿灯安装在个个道口上,已经成为疏导交通车辆最常见和最有效的手段。单片机具有性价比高、集成度高、可靠性好、抗干扰性强等特点,广泛运用于各种智能仪器中。基于新型规则的可编程交通控制系统,可以实现对车辆、行人的控制,使的交通便于管理。所以,采用单片机自动控制交通灯有现实的社会意义。

二、设计任务

1. 采用AT89C51芯片;

2. 使用发光二极管(红,黄,绿)代表各个路口的交通灯;

3. 用8段数码管对转换时间进行倒时;

4、带紧急按钮功能,当紧急按钮按下时,所有方向均亮起红灯;

5. 控制程序采用C语言编程。

三、控制系统设计原理

3.1 设计思路

利用单片机实现交通灯的控制,该任务分以下几个方面:

a、实现红、绿、黄灯的循环控制。要实现此功能需要表示三种不同颜色的LED灯分别接在P1个管脚,用软件实现。

b、用数码管显示倒计时。可以利用动态显示或静态显示,串行并出或者并行并出实现。

c、紧急状况功能。这需要人工实现,编程时利用到中断才能带到目的,只要有按钮按下,那么四个方向全部显示红灯,禁止车辆通行。当情况解除(再次按下按钮),重新回到初始状态。

3.2 总体设计图

图1

3.2.1 交通灯循环控制

使用AT89C51单片机完成对十字路口交通灯的控制,十字路口的工作过程分为东西方向和南北方向两个干道的红绿黄灯工作状态(红灯亮表示禁止通行,绿灯亮表示允许通行,黄灯亮表示提醒红绿灯之间状态的切换)的控制,每个工作状态的时间设为40s,采用循环的控制方式,具体控制过程如下(如图2):1、系统工作开始后,首先进入初始设定阶段,东西方向亮红灯,南北方向亮绿灯;

2、进入状态1的倒计时阶段,东西方向的红灯开始40s倒计时,南北方向绿灯开始35s倒计时;

3、进入状态1过渡阶段,东西方向红灯开始最后5s倒计时,南北方向黄灯亮并开始5s倒计时;

4、过渡阶段1完成后,东西方向亮绿灯,南北方向亮红灯;

5、进入状态2的倒计时阶段,南北方向的红灯开始40s倒计时,东西方向绿灯开始35s倒计时;

6、进入状态2过渡阶段,南北方向红灯开始最后5s倒计时,东西方向黄灯亮并开始5s倒计时;

7、过渡阶段2完成后,进入状态1,开始循环。

图2

3.2.2 倒计时显示

使用8段LED数码管进行倒计时的显示

此处采用LED静态显示方式,当显示器显示某个字符时,相应的段恒定的导通或截止,直到显示另个字符为止。89C51的串行口RXD和TXD为一个全双工串行通信口,但工作在方式0下可作同步移位寄存器,其数据由RXD端串行输出或输入;而同步移位时钟由TXD端串行输出,在同步时钟的作用下,实现由串行到并行的数据通信。在不需要使用串行通信的场合,利用串行口加外围芯片74LS164就可构成一个或多个并行输入\输出口,用于串——并转换或显示器LED驱动。此利用后者。

3.2.3 紧急状况

当遇到紧急情况如救护车通过、交通事故等时,可按下紧急状况按钮,是东西方向和南北方向全部亮红灯,保证紧急情况得到及时解决。待情况解决后,交通灯的工作情况回到初始设定阶段,从而保证交通流畅。

为了实现此功能,利用单片机中断达到目的。利用一个手动按钮开关接至单片机外部中断0,同时在软件设计时将其设为最高优先级。当有按键按下,四方全为红灯,当再按下按钮,回到初始位置继续执行。

3.3 AT89C51

AT89C51是一种带4K字节闪存可编程可擦除只读存储器(FPEROM—Flash Programmable and Erasable Read Only Memory)的低电压、高性能CMOS 8位微处理器,俗称单片机。单片机的可擦除只读存储器可以反复擦除1000次。该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器。AT89C51单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。

3.3.1 AT89C51单片机的主要特性

与MCS-51 兼容,4K字节可编程闪烁存储器,可以反复擦除1000次,数据保留时间可达10年,全静态工作,三级程序存储器锁定,128*8位内部RAM,32可编程I/O线,两个16位定时器/计数器,5个中断源(两个外部中断源和3个内部中断源),可编程串行通道,低功耗的闲置和掉电模式,片内振荡器和时钟电路(时钟电路的作用是产生单片机工作所需要的时钟脉冲序列),中断系统(中断系统的作用主要是对外部或内部的终端请求进行管理与处理)。AT89S51共有5个中断源,其中又2个外部中断源和3个内部中断源。

图3 AT89C51系列单片机的内部结构示意图3.3.2 AT89C51 引脚功能

图4 AT89C51引脚图

·VCC:电源电压

·GND:接地

·P0口:P0口是一组8位双向I/0口。P0口即可作地址/数据总线使用,又可以作为通用的I/O口使用。当CPU访问片外存储器时,P0口分时先作低8位地址总线,后作双向数据总线,此时,P0口就不能再作I/O口使用了。在访问期间激活要使用上拉电阻。

·P1口:Pl 是一个带内部上拉电阻的8准位双向I/O口,P1作为通用的I/O 口使用。

·P2 口:P2 是一个带有内部上拉电阻的8 位准双向I/O 口,P2即可作为通用的I/O口使用,也可以作为片外存储器的高8位地址总线,与P0口配合,组成16位片外存储器单元地址。

·P3 口:P3 口是一组带有内部上拉电阻的8 位准双向I/0 口。P3 口除了作为通用的I/O口使用之外,每个引脚还具有第二功能,具体分配如表1

表1 具有第二功能的P3口引脚

·RST:复位输入。当振荡器工作时,RST引脚出现两个机器周期以上高电平将使单片机复位。WDT 溢出将使该引脚输出高电平,设置SFR AUXR的DISRT0 位(地址8EH)可打开或关闭该功能。DISRT0位缺省为RESET输出高电平打开状态。

·ALE/PROG:当访问外部程序存储器或数据存储器时,ALE(地址锁存允许)输出脉冲用于锁存地址的低8位字节。即使不访问外部存储器,ALE 仍以时钟振荡频率的1/6 输出固定的正脉冲信号,因此它可对外输出时钟或用于定时目的。

·PSEN:程序储存允许(PSEN)输出是外部程序存储器的读选通信号,当AT89S51 由外部程序存储器取指令(或数据)时,每个机器周期两次PSEN有效,即输出两个脉冲。当访问外部数据存储器,没有两次有效的PSEN信号。

·EA/VPP:外部访问允许。

·XTAL1:振荡器反相放大器及内部时钟发生器的输入端。

3.3.3 AT89C51中断源

AT89C51有5个中断源,它们是两个外中断INT0(P3.2)和INT1(P3.3)、两个片内定时/计数器溢出中断TF0和TF1,一个是片内串行口中断TI或RI,这

相关文档
最新文档