聪明文档网

聪明文档网

最新最全的文档下载
当前位置: 首页> 大学毕业论文-—地铁综合监控系统设计与仿真分析包含大全cad图纸

大学毕业论文-—地铁综合监控系统设计与仿真分析包含大全cad图纸

时间:2018-08-26 08:45:00    下载该word文档

毕业设计

地铁综合监控系统设计与仿真分析


1

1.1引言

随着社会的发展和进步,路上的车辆越来越多,而地铁建设往往跟不上城市发展的速度,因此城市交通问题日益突出,经常在十字路口等交通繁忙的地方发生堵塞情况,出现交通混乱。为了解决车和路的矛盾,常用的有两种方法:一是控制需求,最直接的办法就是限制车辆的增加;二是增加供给,也就是修路。但是这两个办法都有其局限性。我国汽车工业正处在起步阶段,限制车辆的增加不是解决问题的好方法。而采取增加供给,即大量修路,在资源、环境矛盾越来越突出的今天,有限的源和财力以及环境的压力,也将受到限制。

由于我国经济的快速发展从而导致了汽车数量的猛增,大中型城市的城市交通,正面临着严峻的考验,从而导致交通问题日益严重,其主要表现如下:交通事故频发,对人类生命安全造成极大威胁;交通拥堵严重,导致出行时间增加,能源消耗加大;空气污染和噪声污染程度日益加深等。日常的交通堵塞成为人们司空见惯而又不得不忍受的问题,在这种背景下,结合我国城市道路交通的实际情况,开发出真正适合我们自身特点的智能信号灯控制系统已经成为当前的主要任务。随着电子技术的发展,利用单片机技术对交通灯进行智能化管理,已成为目前广泛采用的方法。

这就需要依靠除限制需求和提供道路设施之外的其他方法来满足日益增长的交通需求。交通系统正是解决这一矛盾的途径之一。

1.2 选题背景及研究的目的与意义

1.2.1 选题背景

近年来随着科技的飞速发展,单片机的应用正在不断地走向深入,同时也带动着传统控制的日新月异更新。在自动控制的单片机应用系统中,单片机往往是作为一个核心部件来使用,仅单片机方面知识是不够的,还应根据具体硬件结构,以及针对具体应用对象特点的软件结合,加以完善。

十字路口车辆穿梭,行人熙攘,车行车道,人行人道,有条不紊。那么靠什么来实现这井然秩序呢?靠的是交通信号灯的自动指挥系统。交通信号灯控制方式很多。本系统采用MSC-51系列单片机AT89C51为中心器件来设计交通灯控制器,实现了通过单片机芯片的P0口设置红、绿灯燃亮时间的功能;显示时间直接通过单片机的P1口输出,系统实用性强、操作简单、扩展性强。

随着电子技术的发展,电子设计的方式也不断增多,proteus嵌入式虚拟开发系统与仿真平台是一款可以实现数字电路,模拟电路,微控制系统仿真以及pcb设计等功能的eda软件。电路的软,硬的设计与调试都是在计算机模拟的环境下进行的。

基于这一设计思想开发的proteus软件,可以在原理设计图设计阶段对设计的电路进行验证,并可以通过改变原件参数使整个电路优化。

当今,红绿灯安装在各个道口上,已经成为疏导交通车辆最常见和最有效的手段。但这一技术在19世纪就已出现了。

1858年,在英国伦敦主要街头安装了以燃煤气为光源的红,蓝两色的机械扳手式信号灯,用以指挥马车通行。这是世界上最早的交通信号灯。1868年,英国机械工程师纳伊特在伦敦威斯敏斯特区的议会大厦前的广场上,安装了世界上最早的煤气红绿灯。它由红绿两以旋转式方形玻璃提灯组成,红色表示停止,绿色表示注意186912,煤气灯爆炸,使警察受伤,遂被取消。

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

1918年,又出现了带控制的红绿灯和红外线红绿灯。带控制的红绿灯,一种是把压力探测器安在地下,车辆一接近红灯便变为绿灯;另一种是用扩音器来启动红绿灯,司机遇红灯时按一下嗽叭,就使红灯变为绿灯。红外线红绿灯当行人踏上对压力敏感的路面时,它就能察觉到有人要过马路。红外光束能把信号灯的红灯延长一段时间,推迟汽车放行,以免发生交通事故。

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

1968年,联合国《道路交通和道路标志信号协定》对各种信号灯的含义作了规定。绿灯是通行信号,面对绿灯的车辆可以直行,左转弯和右转弯,除非另一种标志禁止某一种转向。左右转弯车辆都必须让合法地正在路口内行驶的车辆和过人行横道的行人优先通行。红灯是禁行信号,面对红灯的车辆必须在交叉路口的停车线后停车。黄灯是警告信号,面对黄灯的车辆不能越过停车线,但车辆已十分接近停车线而不能安全停车时可以进入交叉路口。

1.2.2 研究的目的与意义

研究目的:交通是城市经济活动的命脉,对城市经济发展、人民生活水平的提高起着十分重要的作用。汽车现已成为人们日常生活必不可少的交通工具。汽车给人们带来便利的同时,也带来了一系列令人困惑的问题,如环境污染、交通拥挤、交通事故频繁发生、给人们的生命财产带来了很大的损失。城市交通问题困扰城市的发展、制约城市经济建设的重要因素、人们对于交通有效控制的意识越来越强烈。

城市交通信号控制是通过对交通的调节、警告和诱导以达到改善人和货物的运输安全,提高运输效率。其目标在于改善交通的流量,更好地利用现有运输能力,提高交通流的安全性、快捷性和舒适性。

交叉口时组成城市道路网的基本单元,城市交通控制分为单交叉口控制和多交叉口协调控制,并非前者比后者控制效果好,他们各自有自己的适用范围。单交叉口负担着线控、面控制方案的落实。

我国城市建设资金短缺,而协调控制一般投资较大,这就限制了其使用。所以我国目前各城市的绝大多数交叉口都在使用单交叉口控制方式。如何赋予单路口控制方式一些新的策略,使之对于大量交叉口进行行之有效的控制,最大限度的提高其通行能力及安全对于我国目前城市交通有着非常现实的意义,也可为协调控制的研究提供帮助。

研究意义:在十字路口设置交通灯可以对交通进行有效的疏通,并为交通参与者的安全提供了强有力的保障。但是随着社会、经济的快速发展,原先的交通灯控制系统已经不能适应现在日益繁忙的交通状况。如何改善交通灯控制系统,使其适应现在的交通状况,成为研究的课题。
  传统的十字路口交通控制灯,通常的做法是:事先经过车辆流量的调查,运用统计的方法将两个方向红绿灯的延时预先设置好。然而,实际上车辆流量的变化往往是不确定的,有的路口在不同的时段甚至可能产生很大的差异。

即使是经过长期运行、较适用的方案,仍然会发生这样的现象:绿灯方向几乎没有什么车辆,而红灯方向却排着长队等候通过。这种流量变化的偶然性是无法建立准确模型的,统计的方法已不能适应迅猛发展的交通现状。更为现实的需要是能有一种能够根据流量变化情况自适应控制的交通灯。  

大部分城市中十字路口交通灯的控制普遍采用固定转换时间间隔的控制法。由于十字路口不同时刻车辆的流量是复杂的、随机的和不确定的,采用固定时间的控制方法,经常造成道路有效利用时间的浪费,出现空等现象,影响了道路的畅通,还行成拥堵现象。采用不依赖数学模型的模糊控制方法设计交通灯控制器,能较好地解决这个问题。为保证交通控制的可靠、稳定,选择了能够在恶劣的电磁干扰环境下正常工作的单片机是必要的。
  8051单片机交通灯控制系统集成自动控制技术、计量技术、新传感器技术、计算机管理技术于一体的机电一体化产品;充分利用计算机技术对生产过程进行集中监视、控制管理和分散控制;充分吸收了分散式控制系统和集中控制系统的优点,采用标准化、模块化、系统化设计,配置灵活、组态方便。

1.3 研究内容

本设计需研究的内容为:单片机交通灯机系统的发展状况;单片机交通灯机控制系统的结构及组成,即选择系统设计的基本方案与硬件及软件等方面的设计。在硬件方面,需研究整体硬件框图以及各种器件的选型及连接方法;在软件方面,要明确主程序及各个主要部分的流程以及相应的程序控制清单。

1.4 单片机交通灯的国内外的研究现状及存在问题

当今,红绿灯安装在各个道口上,已经成为疏导交通车辆最常见和最有效的手段。但这一技术在19世纪就已出现了。

信号灯的出现,使交通得以有效管制,对于疏导交通流量、提高道路通行能力,减少交通事故有明显效果。1968年,联合国《道路交通和道路标志信号协定》对各种信号灯的含义作了规定。绿灯是通行信号,面对绿灯的车辆可以直行,左转弯和右转弯,除非另一种标志禁止某一种转向。左右转弯车辆都必须让合法地正在路口内行驶的车辆和过人行横道的行人优先通行。红灯是禁行信号,面对红灯的车辆必须在交叉路口的停车线后停车。黄灯是警告信号,面对黄灯的车辆不能越过停车线,但车辆已十分接近停车线而不能安全停车时可以进入交叉路口。

在国内,受客观条件的制约,ITS起步比较晚,在20世纪90年代初,我国的相关学者开始意识到研究和开发ITS的重要性。到90年代中期,由于受到国外ITS研发的影响,政府部门也开始重视对ITS的研究,随后,又得到中央部门和部分地方政府的支持。

1999年,我国成立了全国智能交通系统(ITS)协调指导小组及办公室,同年,又成立了全国智能交通运输系统(ITS)专家咨询委员会,其中,同济大学、清华大学、北方交通大学、北京航空航天大学、吉林工业大学、东南大学等高校的有关专家为咨询委员,并启动了国家九五科技攻关课题和国家十五科技攻关课题。目前在对一些大中型城市引入的国外ITS进行研究的基础上已经逐渐开始摸索开发设计适合自己国情的ITS系统。

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

1918年,又出现了带控制的红绿灯和红外线红绿灯。带控制的红绿灯,一种是把压力探测器安在地下,车辆一接近红灯便变为绿灯;另一种是用扩音器来启动红绿灯,司机遇红灯时按一下嗽叭,就使红灯变为绿灯。红外线红绿灯当行人踏上对压力敏感的路面时,它就能察觉到有人要过马路。红外光束能把信号灯的红灯延长一段时间,推迟汽车放行,以免发生交通事故。

1868年英国伦敦首次使用燃汽色灯信号以来,城市交通信号机由手动到自动,交通信号由固定周期到可变周期,系统控制方式由点控到面控,从无车辆检测器到有车辆检测器,经历了近百年的历史。到1963年加拿大多伦多市建立了一套使用IBM650型计算的集中协调感应控制信号系统。之后,美国、英国、德国、日本、澳大利亚等多家相继建成数字电子计算机区域交通控制系统,这种系统一般还配备交通监视系统组成交通管制中心。到80年代初,全世界建有交通管制中心的城市有300多个,代表了未来交通控制的发展方向。

1.1交通信号系统发展状况

在西方发达国家,交通控制系统基本上完成了由传统的交通控制系统向智能交通控制系统ITS的转变,而在我国,智能交通系统则刚刚处于起步阶段。对于传统的交通控制系统而言,对红绿灯一般采用定时控制,无法对实际的交通流进行识别优化,以至于不能适应交通量的不确定性和随机性的原因,往往造成交通资源的浪费和道路的梗阻。而智能交通控制系统则在不产生大的硬件改动的情况下有效的提高效率。

智能交通系统强调的是系统性、信息交流的交互性以及服务的广泛性,其核心技术是电子技术、信息技术、通信技术、交通工程和系统工程。智能交通系统ITS是在较完善的道路设施基础上,将先进的电子技术、信息技术、传感器技术和系统工程技术集成运用于地面交通管理所建立的一种实时、准确、高效、大范围、全方位发挥作用的交通运输管理系统。

2 地铁综合监控系统总体设计方案

2.1 计算机控制系统的基本形式

计算机控制系统的种类繁多,但归纳起来,目前实现计算机控制的方式基本上属于下面五种形式:

1、成套的计算机控制系统产品:

目前世界上已出现了许多与硬件产品配套的,具有不同特点、适用于不同控制对象的软件产品,像HONEYWELLWDPFDCS(集散系统)系统。

2、以实时操作系统为基础,由控制系统设计人员设计在操作系统上运行的实时应用软件:

目前通用有一大批IRMXRTOXPSOS的实时操作系统。这类系统要求用户自己编写应用程序,设计程序的流向,而由操作系统对应用程序进行实时调度和占先,循环处理,因此减少了应用软件开发的难度。但要求程序员熟悉实时多任务编程技术,而且图形界面不太好。

3、集成的实时系统开发软件:

例如:CitectIntouch,由软件制造商提供,是专门为实时服务的开发环境和运行环境。系统本身已经构建了实现不同功能的软件包、程序模块和控键。用户只需要按照规定方式,根据实际对象要求,调用相应模块,即可构成应用程序。

4、在通用操作系统例了如DOSWINDOWS环境下:

采用实时核实现程序的实时多任务特性。RTX RTKERNELRTOS等都是应用广泛的实时核。

5、直接从系统的最底层采用高级语言或汇编语言编制实时应用程序:

这种方法先把系统划分层次,明确目标,任务,对各个任务的子过程进行结构化编程,然后还要另外编写计时、中断、调度等控制程序。程序设计的难度和工作量很大,但整个程序对于设计人员来说是完全透明的,适应性强。

2.2 本设计的单片机的基本情况

8 AT89C51 CHMOS 工艺单片机被设计用于处理高速计算和快速输入/输出。MCS51 单片机典型的应用是高速事件控制系统。商业应用包括调制解调器,电动机控制系统,打印机,影印机,空调控制系统,磁盘驱动器和医疗设备。汽车工业把MCS51 单片机用于发动机控制系统,悬挂系统和反锁制动系统。AT89C51 尤其很好适用于得益于它的处理速度和增强型片上外围功能集,诸如:汽车动力控制,车辆动态悬挂,反锁制动和稳定性控制应用。由于这些决定性应用,市场需要一种可靠的具有低干扰潜伏响应的费用-效能控制器,服务大量时间和事件驱动的在实时应用需要的集成外围的能力,具有在单一程序包中高出平均处理功率的中央处理器。拥有操作不可预测的设备的经济和法律风险是很高的。一旦进入市场,尤其任务决定性应用诸如自动驾驶仪或反锁制动系统,错误将是财力上所禁止的。重新设计的费用可以高达500K 美元,如果产品族享有同样内核或外围设计缺陷的话,费用会更高。

另外,部件的替代品领域是极其昂贵的,因为设备要用来把模块典型地焊接成一个总体的价值比各个部件高几倍。为了缓和这些问题,在最坏的环境和电压条件下对这些单片机进行无论在部件级别还是系统级别上的综合测试是必需的。Intel Chandler 平台工程组提供了各种单片机和处理器的系统验证。这种系统的验证处理可以被分解为三个主要部分。系统的类型和应用需求决定了能够在设备上执行的测试类型。

2.3 系统总体方案

根据实际情况及系统技术要求,拟采用AT89C51微控器作为控制与数据处理的核心以构成交通灯控制系统。

系统采用了AT89C51微控器构成最小系统,整个控制系统的系统框图如图2.1所示。下面是其主要组成部分的实施方案。

2.1 系统框图

2.3.1 AT89C51微控器构成的最小系统

根据本设计的技术要求来判断是否需要对此微控器进行片外程序存储器及数据存储器的扩展。若需要,则对AT89C51微控器进行片外存储器扩展,以构成控制系统的最基本部分。若不需要,则单片机及其时钟电路与复位电路等构成最小系统。

1 显示部分

显示部分采用LED作为模拟的交通灯,采用七段数码管来作为倒计时显示。显示部分可模拟显示交通等的颜色变化于倒计时。

2 控制与执行部分

开关控制交通灯的通行方式、时间的设定、模拟高峰和违章等情况。采用LED变色、七段数码管显示和蜂鸣器来执行。

3 供电电源单元

供电电源一般由变压器、整流滤波及稳压等电路组成,分别给以上各部分提供所需要的电压,可以提供+5V, +12V, +40V的稳定电压。但由于本设计电压源是现成的设备,可以在市场上订制,所以不在涉及范围内,不再予以讲述。

2.4 本章小结

本章首先介绍了计算机控制系统的五种基本形式,经查阅相关资料确定了本文所需要设计的单片机的类型——AT89C51。根据实际情况与技术要求,画出了系统结构框图,并拟定了系统总体设计方案,包括显示单元、控制与执行单元、系统各部分所需电源等输入与输出通道,并对每一部分都进行了较详细的叙述.

3 系统硬件设计

3.1 本系统的硬件设计概述

从总体上讲,本系统硬件电路根据技术需求为了减小制作成本,本设计选用了价格低廉的AT89C51,性价比高,同时减少了外围电路(如看门狗芯片、8255A等),仅用了晶体振荡电路和复位电路。当然这样做增加了软件代码量。显示方面使用了12发光二级管来模拟红黄绿三色交通灯,选用了8BCD数码管来进行倒计时显示。这样使得硬件电路界面也变得十分整洁。

3.2 单片机的选择及分析

本设计选择了性价比较高的AT89C51单片机及其构成的最下系统,在能满足技术要求的前提下最大限度的降低了成本。并且该单片机的指令简单,易学易懂,同时外围电路也简单,硬件设计方便io口操作简单,无方向寄存器,资源丰富,对应一般的设计已经足够使用了,更重要的是价格便宜、容易购买,资料丰富容易查到,程序烧写简单。

3.2.1 单片机的定义和特点

所谓单片机就是把CPU、寄存器、RAM/ROMI/O接口电路集成在一块集成电路芯片上,构成一个完整的微型计算机。单片机的主要特点有:

1、集成度高、功能强

微型计算机通常由中央处理器(CPU)、存储器(RAM, ROM)以及I/O接口组成,其各部分分别集成在不同的芯片上。例如,大家熟悉的Z80微型计算机就是由Z80-CPU、存储器(RAM, ROM), PIO等芯片组成的,单片机则不同,它把CPU, RAM, ROM, I/O接口,以及定时器/计数器都集成在一个芯片上。目前应用得最多的是MCS-51系列单片机。

和微型计算机进行比较,单片机不仅体积大大减小,而且功能大为增强。MCS-51系列单片机内的定时/计数器为16位,而Z80微型计算机只有8位,MCS-51系列单片机中不但有4个并行I/O接口,而且还有串行接口,且时钟频率可达12MHz

2、结构合理

目前单片机大多采用Harvard结构。这是数据存储器与程序存储器相互独立的一种结构。而在许多微型计算机(Z80, Inte18085, M6800)中,大都采用两类存储器合二为一(即统一编址)的方式。单片机采用上述结构主要有四点好处存储量大、速度快、抗干扰性、强指令丰富。

3.2.2 单片机的发展概况

自从197412月美国仙童(Fairchild )公司第一个推出8位单片机FS以来,单片机以惊人的速度发展,从4位机、8位机发展到16位机、32位机,集成度越来越高,功能越来越强,应用范围越来越广。到目前为止,单片机的发展主要可分为以下四个阶段:

第一阶段:4位单片机。这种单片机的特点是价格便宜,控制功能强,片内含有多种I/O接口,如并行I/O接口、串行I/O接口、定冲计数器接口、中断功能接口等。根据不同用途,还配有许多专用接口,如打印机接口、键盘及显示器接口,PLA(可编程逻辑阵列)译码输出接口,有些甚至还包括A/D, D/A转换,PLL(锁相环),声音合成等电路。丰富的I/O功能大大地增强了4位单片机的控制功能,从而使外部接口电路极为简单。

第二阶段:低、中档8位机(1974-1978)。这种8位机一般不带有I/O接口,寻址范围通常为4KB。它是8位机的早期产品,如Mostek公司的3870, Intel公司的8048等单片机即属此类。

第三阶段:高档8位机阶段(1978-1982)。这一类单片机常有串行I/O接口,有多级中断处理,定时/计数器为16位,片内的RAMROM的容量相对增大,且寻址范围可达64KB,有的片内还带有A/D转换接口。这类单片机有Intel公司的MCS-51, Motorola公司的6801Ziiog公司的Z8等。由于这类单片机应用领域较广,其结构和性能还在不断地改进和发展。

第四阶段:16位单片机和超8位单片机(1982年至今)。此阶段的主要特征是,一方面不断完善高档8位机,改善其结构,以满足不同用户的需要;另一方面发展16位单片机及专用单片机。16位单片机除了CPU16位外,片内RAMROM的容量也进一步增大,片内RAM232字节,ROM8KB,片内带有高速输入输出部件,多通道10A/D转换部件,中断处理为8级,其实时处理能力更强。近来,32位单片机己进入实用阶段,但还未引入国内市场。

在今后单片机的发展趋势将是:向着大容量、高性能化,小容量、低价格化和外围电路内装化等几个方面发展。

3.2.3本系统单片机的选择

AT89C51是美国ATMEL公司生产的低电压,高性能CMOS8位单片机,片内含4k bytes的反复擦写的Flash只读程序存储器和128 bytes的随机存取数据存储器(RAM),器件采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准MCS-51指令系统,片内置通用8位中央处理器(CPU)和Flash存储单元可灵活应用于各种控制领域。图3.1为其引脚图。

1主要特性:

  ·MCS-51完全兼容

  ·4K字节可编程FLASH存储器

  ·寿命:1000/擦循环

  ·数据保留时间:10

  ·全静态工作:0Hz-24MHz

  ·三级程序存储器锁定

  ·128×8位内部RAM

  ·32可编程I/O线

  ·两个16位定时器/计数器

  ·5个中断源

  ·可编程串行通道

  ·低功耗的闲置和掉电模式

  ·片内振荡器和时钟电路

2功能性概述:

AT89C51提供以下标准功能:4k字节Flash闪速存储器,128字节内部RAM32I/O口线,两个16位定时/计数器,一个5向量两级中断结构,一个全双工串行通信口,片内振荡器及时钟电路。

3AT89C51的内部结构介绍

单片机电路是系统控制的核心。单片机选用从ATMEL公司的低功耗、高性能的8CMOS芯片AT89C51,其片内带有4K字节的闪速可编程及可擦除只读存储器(EPROM)。引脚功能说明如下:

3.1 AT89C51引脚图

·VCC:电源电压

·GND:地

·P0口:P0口是一组8位漏极开路型双向I/O口,也即地址/数据总线复用口。作为输出口用时,每位能吸收电流的力式驱动8TTL逻辑门电路,对端口写“1”可作为高阻抗输入端用。在访问外部数据存储器或程序存储器时,这组口线分时转换地址(低8位)和数据总线复用,在访问期间激活内部上拉电阻。

Flash编程时,P0口接收指令字节,而在程序校验时,输出指令字节,校验时,要求外接上拉电阻。

·Pl口:P1口是一个带内部上拉电阻的8位双向I/O口,P1的输出缓冲级叫可驱动(吸收或输出电流)4TTL逻辑门电路。对端口写“1”,通过内部的上拉电阻把端口拉到高电平,此时可作输入口。作输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流(IIL)。

Flash编程和程序校验期间,P1接收低8位地址。

·P2口:P2口是一个带有内部上拉电阻的8位双向I/O口,P2的输出缓冲级可驱动(吸收或输出电流)4TTL逻辑门电路。对端口写“1”,通过内部的上拉电阻把端口拉到高电平,此时可作输入口。作输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流(IIL)。

在访问外部序程存储器或16位地址的外部数据存储器(例如执行MOVX@DPTR指令)时,P2口送出高8位地址数据。在访问8位地址的外部数据存储器(如执行MOVX @RI指令)时,P2口线上的内容(也即特殊功能寄存器区中R2寄存器的内容),在整个访问期间不改变。

Flash编程或校验时,P2亦接收高位地址和其它控制信号。

·P3口:P3口是一组带有内部上拉电阻的8位双向I/O口。P3口输出缓冲级可驱动(吸收或输出电流)4TTL逻辑门电路。对P3口写入“1”时,它们被内部上拉电阻拉高并可作为输入端口。作输入端时,被外部拉低的P3口将用上拉电阻输出电流(IIL)。

P3口除了作为一般的I/0口线外,更重要的用途是它的第二功能,如下表3.1所示。P3口还接收一些用于Flash闪速存储器编程和程序校验的控制信号。

·RST:复位输入。当振荡器工作时,RST引脚出现两个机器周期以上高电平将使单片机复位。

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

3.1 P3口第二功能

Flash存储器编程期间,该引脚还用于输入编程脉冲(CS)。

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

EA/VPP:外部访问允许。欲使CPU仅访问外部程序存储器(地址为0000H-FFFFH),EA端必须保持低电平(接地)。需注意的是:如果加密位LB1被编程,复位时内部会锁存EA端状态。如EA端为高电平(接VCC端),CPU则执行内部程序存储器中的指令。

Flash存储器编程时,该引脚加上+12V的编程允许电源Vpp,当然这必须是该器件是使用12V编程电压Vpp

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

XTAL2:振荡器反相放大器的输出端。

时钟振荡器:

3.2 外部振荡电路

AT89C51中有一个用于构成内部振荡器的高增益反相放大器,引脚XTAL1XTAL2分别是该放大器的输入端和输出端。这个放大器与作为反馈元件的片外石英晶体或陶瓷谐振器一起构成自激振荡器,振荡电路参见3.2

外接石英晶体(或陶瓷谐振器)及电容C1C2接在放大器的反馈回路中构成并联振荡电路。对外接电容C1C2虽然没有十分严格的要求,但电容容量的大小会轻微影响振荡频率的高低、振荡器工作的稳定性、起振的难易程序及温度稳定性。采用外部时钟的电路如图3.2所示,这种情况下,外部时钟脉冲接到XTAL1端,即内部时钟发生器的输入端,XTAL2则悬空。

3.3 系统硬件总电路构成及原理

实现本设计要求的具体功能,可以选用AT89S51单片机及外围器件构成最小控制系统,12个发光二极管分成4红绿黄三色灯构成信号灯指示模块,8LED东西南北各两个构成倒计时显示模块,若干按键组成时间设置和模式选择按钮和紧急按钮等,以及用1个蜂鸣器进行报警。

3.3.1系统硬件电路构成

本系统以单片机为核心,组成一个闭环控制系统。系统硬件电路由单片机,状态灯,LED显示,按键,蜂鸣器组成。其具体的硬件电路总图如图3.3所示。

3.3.2系统工作原理

系统上电或手动复位之后,初始时东西方向亮红灯,南北方向亮绿灯。然后南北向路口绿灯亮38s后转黄灯亮2s,再转红灯亮20s。相应地东西向红绿灯工作顺序为红灯亮40s后转绿灯亮18s, 再转黄灯亮2s, 以此进行循环。

如果发生紧急事件, 则按下按钮, 此时东西、南北向都亮红灯。还可以各个方向单独通行。时钟采用倒计时方式显示, 即各灯亮时, 时钟为点亮的最大时间, 以后每1s 显示数据减1, 直到减为0 以后指示灯再进行变换。

高峰时,各方向通行时间缩短,南北方向30s,东西方向10s。所有的时间设置都可以根据车流量实际情况进行调整。可以自动检测违章闯红灯。

总之,本设计所实现的功能除了典型的交通灯功能之外,只要功能还有:全部禁行、全部通行、南北方向通行、东西方向通行、高峰控制、警报提示、各方向各时段通行时间自定义、手动复位等。

注:警报提示是以一个开关模拟传感器发现闯红灯时所传输的信号。当开关按下之后,可视为传感器发现了闯红灯的车辆,于是蜂鸣器发警示音。

word/media/image10_1.png

3.3 硬件电路连接

3.4 其他硬件介绍及连接

3.4.1其他硬件介绍

LEDLight Emitting Diode),发光二极管,它是一种固态的半导体器件,可以直接把电转化为光。LED的心脏是一个半导体的晶片,晶片的一端附在一个支架上,一端是负极,另一端连接电源的正极,使整个晶片被环氧树脂封装起来。半导体晶片由三部分组成,一部分是P型半导体,在它里面空穴占主导地位,另一端是N型半导体,在这边主要是电子,中间通常是15个周期的量子阱。当电流通过导线作用于这个晶片的时候,电子和空穴就会被推向量子阱,在量子阱内电子跟空穴复合,然后就会以光子的形式发出能量,这就是LED发光的原理。而光的波长也就是光的颜色,是由形成P-N结的材料决定的。

LED显示屏作为大型显示设备的一种,具有亮度高、价格低、寿命长、维护简便等优点。LED数码管的结构简单,分为七段和八段两种形式,也有共阳和共阴之分。以八段共阴管为例,它有8个发光二极管(比七段多一个发光二极管,用来显示sP,即点),每个发光二极管的阴极连在一起。这样,一个LED数码管就有I根位选线和8根段选线,要想显示一个数值,就要分别对它们的高低电平来加以控制。为方便起见,本文主要讨论共阴八段LED数码显示管,其他类形的显示管与其类似。

word/media/image11_1.png

3.4 LED数码管

LED 灯的显示原理:通过同名管脚上所加电平的高低来控制发光二极管是否点亮而显示不同的字形,如 dpg,f,e,d,c,b,a全亮显示为8。

采用共阴极连接:

3.1 驱动代码表

相应在程序软件上,可以通过调用程序给定的秒值经过特定计算算出需要显示的个位和十位,然后用DPTR调取LEDMAP的代码。

3.4.2其他器件

1)发光二极管

根据本设计的特点,红绿灯的显示不可少,红绿灯的显示采用普通的发光二极管。每个方向上设置红绿黄灯,总共4组。如果东西红灯亮,那南北方向就是绿灯亮,反之亦然,所以在硬件上连接图上也是对称分布的,如下图3.5所示。在本设计中,实际控制的灯只有6个,即:东西红灯,东西绿灯,东西黄灯,南北红灯,南北绿灯,南北黄灯,其中均是低电平有效。

共有4钟状态:东西红灯亮,南北绿灯亮(11011101/DDH);东西红灯亮,南北黄灯亮(10111101/BDH);东西绿灯亮,南北红灯亮(11101101/EDH);东西黄灯亮,南北红灯亮(11100111/E7H)。

word/media/image12_1.png

3.5 信号灯的连接

括号中是P1端口8个引脚值P1.7,P1.6,P1.5,P1.4,P1.3,P1.2,P1.1,P1.0以及对应的十六进制码。

在用于显示发光二极管时,直接由MOV指令将十六进制码送入P1口。刚才的4个状态是依次变换的,这就要涉及到状态的判断和衔接了。先把P1端口的值与所有的4个状态码比较,若相同则判断成功当前状态,再把下一状态的状态码送显P1即可。

2)蜂鸣器

本设计采用一般蜂鸣器,蜂鸣器使用PNP三极管进行驱动控制,当连接到单片机上的引脚输出为低电平,PNP导通,蜂鸣器蜂鸣;当连接到单片机上的引脚输出高电平时,PNP截止,蜂鸣器停止蜂鸣。如下图3.6所示

word/media/image13_1.png

紧停按键和违规信号传感器连接到外部中断引脚INT1P3.6捕获到一个低电平,则进入该中断,中断程序中先把蜂鸣器P3.7端口置0,启动蜂鸣。并且等待恢复键F键按下,然后关闭蜂鸣返回。

3 电源电路设计

由于单片机工作时需要的+5V电压,所以在设计电源电路时,需要一个电子元件能提供+5V电压,由于7805能够提供5V电压的三端稳压电源,在实际的电路控制中应用其作为电源电路较为广泛,在普通的电子元器件商场都有销售易于购买,并且技术相对成熟.7805一脚为电源输入端,二脚为公共接地端,三脚即为我们所需要的+5V电压输出端.本文采用最典型的7805提供电压的电路,即在78051脚和公共接地端(2)之间接入0.3μF的电容,在公共接地端和三脚+5V电压输出端之间接入0.1μF的电容.

word/media/image14_1.png

3.7 +5V电源电路

3.5 本章小结

本章主要叙述了控制系统的硬件电路的设计过程。首先,对本系统硬件部分先进行了总体概述并选择出单片机型号,除单片机的最小系统外,将其它需设计的电路归为输入与输出通道的设计。在其他硬件方面也做了相关阐述。

4 系统软件设计

4.1 系统功能要求

交通管理方案:南北、东西两干道交于一个十字路口,各干道有一组红、黄、绿三色的指示灯,指挥车辆和行人安全通行。红灯亮禁止通行,绿灯亮允许通行。黄灯亮提示人们注意红、绿灯的状态即将切换,且黄灯燃亮时间为南北、东西两干道的公共停车时间。设南北道比东西道的车流量大。

十字路口的东西向、南北向各有一组红绿灯和一个时钟系统, 时钟系统由两个LED 组成, 用于显示红绿灯的时间, 具体要求如下:

1 初始时东西方向亮红灯,南北方向亮绿灯。

2 然后南北向路口绿灯亮38s后转黄灯亮2s,再转红灯亮20s

3 相应地东西向红绿灯工作顺序为红灯亮40s后转绿灯亮18s, 再转黄灯亮2s, 以此进行循环。

4 如果发生紧急事件, 则按下按钮, 此时东西、南北向都亮红灯。还可以各个方向单独通行。

5 时钟采用倒计时方式显示, 即各灯亮时, 时钟为点亮的最大时间, 以后每1s 显示数据减1, 直到减为0 以后指示灯再进行变换。

6 高峰时,各方向通行时间缩短,南北方向30s,东西方向10s

7 所有的时间设置都可以根据车流量实际情况进行调整。

8 可以自动检测违章闯红灯。

总之,本设计所实现的功能除了典型的交通灯功能之外,只要功能还有:

全部禁行、全部通行、南北方向通行、东西方向通行、高峰控制、警报提示、各方向各时段通行时间自定义、手动复位等。

注:警报提示是以一个开关模拟传感器发现闯红灯时所传输的信号。

首先是按键处理程序,AT89C51通过对IO扫描,确定是否有键按下,再判断具体是那个键按下,根据键值跳转到按键处理程序。

4.1.1 定时器原理

定时器工作的基本原理其实就是给初值,让它不断加1直至减完为模值,这个初值是送到THTL中的。它是以加法记数的,并能从全1到全0时自动产生溢出中断请求。

4.1.2程序流程图

4.1程序流程图

因此,我们可以把计数器记满为零所需的计数值,即所要求的计数值设定为C,把计数初值设定为TC 可得到如下计算通式:

TC=M-C 4.1

式中,M为计数器模值。计数值并不是目的,目的是时间值,设计1次的时间,即定时器计数脉冲的周期为T0,它是单片机系统主频周期的12倍,设要求的时间值为T,则有C=TT0。计算通式变为:

T=MTCT0 4.2

模值和计数器工作方式有关。在方式0M8192;在方式1M的值为65536;在方式23256。就此可以算出各种方式的最大延时。如单片机的主脉冲频率为12MHZ,经过12分频后,若采用方式0最大延时只有8.129毫秒,采用方式1最大延时也只有65.536毫秒。这就是为什么扫描周期为50ms的原因,

若使用软件则会耽搁程序流程,显然不可行。相反,时间计时方面却不可能只用计数器,因为显然1秒钟已经超过了计数器的最大定时间,所以我们还必须采用定时器和软件相结合的办法才能解决这个问题。

4.6 加入文件

设置对话框中的 Target 页面,如图4.7所示,Xtal后面的数值是晶振频率值,默认值是所选目标 CPU 的最高可用频率值对于我们所选的AT89C51而言是24M,该数值与最终产生的目标代码无关,仅用于软件模拟调试时显示程序执行时间。

4.7 对目标进行设置

正确设置该数值可使显示时间与实际所用时间一致,一般将其设置成与你的硬件所用晶振频率相同,如果没必要了解程序执行的时间,也可以不设,这里设置为24Memory Model用于设置 RAM 使用情况有三个选择项,Small 是所有变量都在单片机的内部 RAM 中;Compact 是可以使用一页外部扩展 RAM,而 Larget 则是可以使用全部 外部的扩展 RAMCode Model 用于设置 ROM 空间的使用,同样也有三个选择项,即 Small 模式,只用低于 2K 的程序空间;Compact 模式,单个函数的代码量不能超过 2K,整个程序 可以使用 64K 程序空间;Larget 模式,可用全部 64K 空间。Use on-chip ROM 选择项,确认是否仅使用片内 ROM(注意:选中该项并不会影响最终生成的目标代码量);Operating 项是操作系统选择,Keil 提供了两种操作系统:Rtx tiny Rtx full,关于操作系统是另外一个 很大的话题了,通常我们不使用任何操作系统,即使用该项的默认值:None(不使用任何 操作系统);Off Chip Code memory 用以确定系统扩展 ROM 的地址范围,Off Chip xData memory 组用于确定系统扩展 RAM 的地址范围,这些选择项必须根据所用硬件来决定,由于该例是单片应用,未进行任何扩展,所以均不重新选择,按默认值设置。设置对话框中的 OutPut 页面,如图4.8所示。

4.8对输出进行控制

这里面也有多个选择项,其中 Creat Hex file 用于生成可执行代码文件(可以用编程器写入单片机芯片的 HEX 格式文件,文件的扩展名 .HEX),默认情况下该项未被选中,如果要写片做硬件实验,就必须选中该项,选中 Debug information 将会产生调试信息,这些信息用于调试,如果需要对程序进行调试,应当选中该项。 Browse information 是产生浏览信息,该信息可以用菜单 view->Browse 来查看,这里取默认值。按钮“ Select Folder for objects ” 是用来选择最终的目标文件所在的文件夹,默认是与工程文件在同一 个文件夹中。Name of Executable 用于指定最终生成的目标文件的名字,默认与工程的名字相同,这两项一般不需要更改。工程设置对话框中的其它各页面与C51 编译选项、A51的汇编选项、BL51 连接器的连接选项等用法有关,这里均取默认值,不作任何修改设置完成后按确认返回主界面,工程文件建立、设置完毕。

4.7 对目标进行设置

在设置好工程后,即可进行编译、连接。选择菜单 Project->Build target,对当前工程进行连接,如果当前文件已修改,软件会先对该文件进行编译,然后再连接以产生目标代码; 如果选择 Rebuild All target files 将会对当前工程中的所有文件重新进行编译然后再连接,确保最终生产的目标 代码是最新的,而 Translate … .项则仅 对该文件进行编译,不进行连接。以上操作也可以通过工具栏按钮直接进行。

4.8有关编译、连接、项目设置的工具条

4.8 是有关编译、设置的工具栏按钮,从左到右分别是:编译、编译连接、全部重建、停止编译和对工程进 行设置。编译过程中的信息将出现在输出窗 口中的 Build 页中,如果源程序中有语法错。误会有错误报告出现,双击该行,可以定位到出错的位置,对源程序反复修改之后,最终会得到如图4.9 所示的结果。

4.9正确编译连接之后的结果

提示获得了名为 exam1.hex 的文件,该文件即可被编程器读入并写到芯片中,同时还产生了一些其它相关的文件,可被用于 Keil 的仿真与调试。

下一步在Proteus软件中打开已经画好的电路图,双击AT89C51芯片会出现如图4.10所示的对话框。将生成的jiangtongdeng.hex 文件导入到芯片中。关闭对话框,这是我们就可以进行仿真实验了。

4.10导入生成的hex文件

点击软件左下角的播放键,我们就会看到仿真正在运行。运行结果如图4.11所示。完全达到了预期的效果。

这也同时说明了我们所编写的系统程序与硬件的连接是没有问题的,然后我们开始按下模拟仿真图中的各个按钮,所出现的效果也是与预期的效果完全一致,系统所要求的功能也全部能够实现。

4.11 仿真运行的结果

4.3本章小结

软件设计是本系统的重点,它直接影响到系统的整体性能。本章详细讲述了控制软件的功能和设计。首先介绍软件的功能,然后从总体上叙述软件的结构构成,接着较为详细的描述了系统中几个关键模块如键盘及显示模块以及采样模块等的实现方案,并总结出相应的子程序流程图与程序清单。

交通灯控制在交通运输领域有着非常重要的作用。本文完成了基于单片机的交通灯控制系统的设计与模拟。包括通行方案的设计,系统的硬件开发、软件编程与仿真调试等。在论文完成过程中,主要做的工作有:

1)确定交通系统具体的通行方案,规定东西向和南北向车辆的行止状态和时间分配,以及要求其他多功能的实现。

2)以ATMEL公司的AT89C51单片机为核心进行系统硬件设计,输入量包括:车流量,按键状态和违规检测传感信号;输出控制交通信号灯亮灭状态及时间,以及LED数码管倒计时显示。

3Proteus的运用,通过该软件进行器件的选择,电路图的绘制和最终模拟仿真。

Keil的运用,通过该软件对程序进行编写、编译的工作。

4)该设计的优点在于能较好地实现预期的功能,并且成本较低,操作方便。缺点是应急性较差。

参考文献

[1]赵德安等.单片机原理与应用[M].北京:机械工业出版社,2004.

[2]李光飞,楼然苗,胡佳文,谢象佐.单片机课程设计实例指导[M].北京:北京航空航天大学出版社,2004.

[3]韩志军,沈晋源,王振波.单片机应用系统设计入门向导与设计实例[M].北京:机械工业出版社,2005.

[4]张有德,赵志英,涂时亮.单片微型机原理、应用与实验[M].上海:复旦大学出版社.

[5]李伯成.基于MCS-51单片机的嵌入式系统设计[M].北京:电子工业出版社,2004.7.

[6]沙占有.MCS-51及兼容单片机原理与选型[M].北京:电子工业出版社,2003.11

[7]苏群星.MCS-51系列单片机故障自诊断研究[J].军械工程学院学报,200935 (14)

[8]朱顺华,王成春.单片机系统的硬件抗干扰设计[J].微计算机信息,20072023.

[9]张正喜.单片机应用系统的抗干扰软件设计[J].软件天地,2002111.

[10]杜志江,高国安.单片机语音报警系统的研究[J].自动化技术与应用,20001.

[11]张连华.单片机应用系统设计方法[J].科学之友,2010.4.

[12]钦兰云,杨光.80C196KC单片机系统的存储器扩展研究[J].仪器仪表学报,2004.8.

[13] 林军. 用单片机控制的交通信号灯[J]电脑学习, 2001, (04)

[14] 林金朝, 游林儒, 徐芹文.单片机控制系统的研制[J].机电工程,2011.11.

[15] VERD U S.Multiuser Detection [M]. UK:Cambridge University Press,1999.

[16] Chang,C C,Lou D C ,A binary access control method using prime factorization[J].Information Science,2009,96(1-2):15-26.

[17]ZHU L,MADHOW U.A daptive interference suppression for DS CDMA over Rayleigh fading chinnel[J].Proc GLOBE COM’97,2011,917—922.

本设计是在我的导师孙玉芳老师的严格要求和精心指导下完成的。在做设计期间,孙老师严谨的学风、渊博的知识、敏锐的思维和对科学孜孜不倦的态度给我留下了深刻的印象,使我受益终身。在做设计的时间里,我不仅掌握了更多的知识,更加明白了仔仔细细做事、认认真真做人的道理。

首先,在本设计完成之时,我要向孙老师以及教研室所有帮助我解决设计问题的老师表示深深的谢意。接着我要感谢和我一起做毕业设计的同学以及寝室室友,在这短短的三个月里,你们给我提出了很多宝贵意见,在毕业设计以及生活方面给了我极大的帮助,正是因为生活在这样一个团结、互助的环境中,我才会有今天这样小小的成就。

我要感谢我的家人,如果没有我的家人一如既往的支持,没有他们在学习生活中给我的无尽的爱与理解,我不会克服一路的困难,走到今天,顺利的完成大学的学习生活。

最后,向参加论文评审、答辩的教师组表示衷心的感谢和崇高的敬意!

附录:源程序

交通灯控制模拟程序如下:

DISPLAYNUM EQU 51H

COUNTER EQU 52H

NSNORM EQU 53H

EWNORM EQU 54H

NSPEAK EQU 55H

EWPEAK EQU 56H

NSPUT EQU 57H

EWPUT EQU 58H

DIRECTION EQU 00H

DISPLAYYELLOW EQU 01H

ONESECOND EQU 02H

SETNEW EQU 03H

LOADNEWFLAG EQU 04H

NR EQU P0.0

NY EQU P0.1

NG EQU P0.2

ER EQU P0.3

EY EQU P0.4

EG EQU P0.5

BREAKRULE EQU P2.0

SOUND EQU P2.1

PEAKorNORM EQU P2.2

ALLSTOP EQU P2.3

ALLGO EQU P2.4

NSTHROUGH EQU P2.5

EWTHROUGH EQU P2.6

SELECTDIR EQU P2.7

ORG 0000H

LJMP MAIN

ORG 0003H

LJMP RESET

ORG 000BH

LJMP TIME

ORG 001BH

EQ0: CJNE A,#00H,NUMDECLINE

CLR DISPLAYYELLOW

CPL DIRECTION

LCALL LIGHT

LCALL RELOAD

NUMDECLINE: LCALL DISPLAYLED

;------------------------------全部禁行------------------------------------------

ALLRED:JB ALLSTOP,NSCLEAR

CLR TR0

SETB NR

CLR NY

CLR NG

SETB ER

CLR EY

CLR EG

ALLREDWAIT: LCALL FEEDDOG

JB ALLSTOP,ALLREDBACK

SJMP ALLREDWAIT

ALLREDBACK: SETB TR0

LCALL LIGHT

;------------------------------南北通行------------------------------------------

NSCLEAR: JB NSTHROUGH,EWCLEAR

CLR TR0

CLR NR

CLR NY

SETB NG

SETB ER

CLR EY

CLR EG

NSCLEARWAIT: LCALL FEEDDOG

JB NSTHROUGH,NSCLEARBACK

SJMP NSCLEARWAIT

NSCLEARBACK: SETB TR0

LCALL LIGHT

;------------------------------东西通行------------------------------------------

EWCLEAR: JB EWTHROUGH,ALLYELLOW

CLR TR0

SETB NR

CLR NY

CLR NG

CLR ER

CLR EY

SETB EG

EWCLEARWAIT: LCALL FEEDDOG

JB EWTHROUGH,EWCLEARBACK

SJMP EWCLEARWAIT

EWCLEARBACK: SETB TR0

LCALL LIGHT

SJMP ALLYELLOW

;------------------------------全部通行------------------------------------------

NEXT: LJMP CHECKRULE

ALLYELLOW: JB ALLGO,NEXT

CLR TR0

CLR NR

SETB NY

CLR NG

CLR ER

SETB EY

CLR EG

ALLYELLOWWAIT: LCALL FEEDDOG

JB ALLGO,ALLYELLOWBACK

JB ALLSTOP,NSC

SETB NR

CLR NY

CLR NG

SETB ER

CLR EY

CLR EG

WAITA: LCALL FEEDDOG

JB ALLSTOP,BACKA

SJMP WAITA

BACKA: CLR NR

SETB NY

CLR NG

CLR ER

SETB EY

CLR EG

NSC: JB NSTHROUGH,EWC

CLR NR

CLR NY

SETB NG

SETB ER

CLR EY

CLR EG

WAITN: LCALL FEEDDOG

JB NSTHROUGH,BACKN

SJMP WAITN

BACKN: CLR NR

SETB NY

CLR NG

CLR ER

SETB EY

CLR EG

EWC: JB EWTHROUGH,ALLYELLOWWAIT

SETB NR

CLR NY

CLR NG

CLR ER

CLR EY

SETB EG

WAITE: LCALL FEEDDOG

JB EWTHROUGH,BACKE

SJMP WAITE

BACKE: CLR NR

SETB NY

CLR NG

CLR ER

SETB EY

CLR EG

LJMP ALLYELLOWWAIT

ALLYELLOWBACK: SETB TR0

LCALL LIGHT

;-----------------------------警报检测-------------------------------------------

CHECKRULE: JB BREAKRULE,CLEARSOUND

CPL SOUND

LJMP SETPEAK

CLEARSOUND: CLR SOUND

;-----------------------------高峰检测-------------------------------------------

SETPEAK: JNB PEAKorNORM,LOADPEAK

MOV NSPUT,NSNORM

MOV EWPUT,EWNORM

LJMP LOOP

LOADPEAK: MOV NSPUT,NSPEAK

MOV EWPUT,EWPEAK

LJMP LOOP

;----------------------------T0中断,用于定时-------------------------------------

TIME: CLR EA

PUSH Acc

PUSH PSW

SETB EA

MOV TL0,#0B0H

MOV TH0,#3CH

DJNZ COUNTER,TIMERET

SETB ONESECOND

MOV COUNTER,#0AH

TIMERET:CLR EA

POP PSW

POP Acc

SETB EA

RETI

;----------------------------T1中断,用于看门狗-----------------------------------

DOG: POP Acc

POP Acc

CLR A

PUSH Acc

PUSH Acc

RETI

;-------------------------------重设时间-----------------------------------------

RESET: CLR ES

CLR ET1

CLR EX1

CLR ET0

CLR EX0

PUSH Acc

PUSH PSW

SETB LOADNEWFLAG

CLR TR0

CLR TR1

MOV TMOD,#51H

SETB TR1

SETB NR

CLR NY

CLR NG

SETB ER

CLR EY

CLR EG

BEGIN: MOV TL1,#00H

MOV TH1,#00H

OBSERVE: MOV DISPLAYNUM,TL1

LCALL DISPLAYLED

RESETWAIT: JNB P3.4,TERMINATE

JNB P3.3,LOADNEW

SETB LOADNEWFLAG

JNB P3.5,OBSERVE

SJMP RESETWAIT

LOADNEW: JNB LOADNEWFLAG,RESETWAIT

JNB PEAKorNORM,PEAKSELECT

JNB SELECTDIR,EWN

MOV NSNORM,TL1

CLR LOADNEWFLAG

LJMP BEGIN

EWN: MOV EWNORM,TL1

CLR LOADNEWFLAG

LJMP BEGIN

PEAKSELECT: JNB SELECTDIR,EWP

MOV NSPEAK,TL1

CLR LOADNEWFLAG

LJMP BEGIN

EWP: MOV EWPEAK,TL1

CLR LOADNEWFLAG

LJMP BEGIN

TERMINATE: POP PSW

POP Acc

SETB ES

SETB ET1

SETB EX1

SETB ET0

SETB EX0

SETB SETNEW

RETI

;----------------------------倒计时显示------------------------------------------

DISPLAYLED: MOV B,#10

MOV A,DISPLAYNUM

DIV AB

SWAP A

ADD A,B

MOV P1,A

RET

;----------------------------交通灯显示------------------------------------------

LIGHT: JNB DIRECTION,EWLIGHT

JNB DISPLAYYELLOW,SE01

CLR NR

SETB NY

CLR NG

SETB ER

CLR EY

CLR EG

LJMP LIGHTRET

SE01: CLR NR

CLR NY

SETB NG

SETB ER

CLR EY

CLR EG

LJMP LIGHTRET

EWLIGHT: JNB DISPLAYYELLOW,SE02

SETB NR

CLR NY

CLR NG

CLR ER

SETB EY

CLR EG

LJMP LIGHTRET

SE02: SETB NR

CLR NY

CLR NG

CLR ER

CLR EY

SETB EG

LIGHTRET:

RET

;-------------------------------重载倒计时缓存-----------------------------------

RELOAD:JNB DIRECTION,SE03

MOV DISPLAYNUM,NSPUT

SJMP RELOADRET

SE03: MOV DISPLAYNUM,EWPUT

RELOADRET:

RET

;----------------------------------喂狗------------------------------------------

FEEDDOG: MOV TH1,#01BH

MOV TL1,#0E0H

SETB TR1

RET

;--------------------------------------------------------------------------------

END

  • 29.8

    ¥45 每天只需1.0元
    1个月 推荐
  • 9.9

    ¥15
    1天
  • 59.8

    ¥90
    3个月

选择支付方式

  • 微信付款
郑重提醒:支付后,系统自动为您完成注册

请使用微信扫码支付(元)

订单号:
支付后,系统自动为您完成注册
遇到问题请联系 在线客服

常用手机号:
用于找回密码
图片验证码:
看不清?点击更换
短信验证码:
新密码:
 
绑定后可用手机号登录
请不要关闭本页面,支付完成后请点击【支付完成】按钮
遇到问题请联系 在线客服