基于AT89C51单片机无线收发控制的交通信号灯模型

发布者:森绿企鹅最新更新时间:2011-07-25 关键字:AT89C51单片机  无线收发控制  交通信号灯模型 手机看文章 扫描二维码
随时随地手机看文章

引言
    随着我国经济的高速发展,人们对私家车、公交车的需求越来越大。相应地,我国进入WTO以后,我国经济贸易与世界接轨,汽车业关税大大降低,使很多人都能负担得起,买私家车不再是梦想。但是,私家车、公交车的大增无疑会对我国交通系统带来沉重的压力。放眼现在的中国,如广州、香港、上海等大都市,无不受到交通堵塞的困扰。中国要发展,交通事业决不能停步不前。有及于此,我国交通管制系统应当以人性化、智能化为目的,作出相应的改善。本论文正是以此为出发点,对单片机控制的交通信号灯模型作了较详尽的介绍。
    单片机无线收发控制的交通信号灯模型可以分为电源电路、单片机主控电路、无线收发控制电路和显示电路四部分组成,组成电路如图1:

  由于显示部分都是采用三色LED和数码管模拟,比较简单,所以在此不作详尽叙述。下面主要叙述单片机主控电路、直流电源的组成及其原理。
   
 一、单片机主控电路
    1、 主要元器件介绍
    单片机主控电路的主要元件是AT89C51,其外型如图2:

AT89C51是一个低电压,高性能CMOS 8位单片机,片内含4k bytes的可反复擦写的只读程序存储器(PEROM)和128 bytes的随机存取数据存储器(RAM),器件采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准MCS-51指令系统,片内置通用8位中央处理器和Flash存储单元,内置功能强大的微型计算机的AT89C51提供了高性价比的解决方案。
    AT89C51是一个低功耗高性能单片机,40个引脚,32个外部双向输入/输出(I/O)端口,同时内含2个外中断口,2个16位可编程定时计数器,2个全双工串行通信口,AT89C51可以按照常规方法进行编程,也可以在线编程。其将通用的微处理器和Flash存储器结合在一起,特别是可反复擦写的Flash存储器可有效地降低开发成本。
2、管脚说明:
VCC:供电电压。
GND:接地。
P0口:P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门流。当P1口的管脚第一次写1时,被定义为高阻输入。P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。在FIASH编程时,P0 口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。
P1口:P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在FLASH编程和校验时,P1口作为第八位地址接收。
P2口:P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时,P2口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。P2口在FLASH编程和校验时接收高八位地址信号和控制信号。
P3口:P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。
P3口也可作为AT89C51的一些特殊功能口,如下表所示:
口管脚 备选功能
P3.0 RXD(串行输入口)
P3.1 TXD(串行输出口)
P3.2 /INT0(外部中断0)
P3.3 /INT1(外部中断1)
P3.4 T0(记时器0外部输入)
P3.5 T1(记时器1外部输入)
P3.6 /WR(外部数据存储器写选通)
P3.7 /RD(外部数据存储器读选通)
P3口同时为闪烁编程和编程校验接收一些控制信号。
ST:复位输入。当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。 [page]

ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。在FLASH编程期间,此引脚用于输入编程脉冲。在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。因此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储器时,将跳过一个ALE脉冲。如想禁止ALE的输出可在SFR8EH地址上置0。此时, ALE只有在执行MOVX,MOVC指令是ALE才起作用。另外,该引脚被略微拉高。如果微处理器在外部执行状态ALE禁止,置位无效。 /PSEN:外部程序存储器的选通信号。在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。 /EA/VPP:当/EA保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器。注意加密方式1时,/EA将内部锁定为RESET;当/EA端保持高电平时,此间内部程序存储器。在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。 XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。 XTAL2:来自反向振荡器的输出。
    3、系统模拟以下交通情况
    (1)正常情况下,A、B道(A、B道交叉组成十字路口,A是主道,B是支道)轮流放行,A道放行60秒(两个数码管从60秒开始倒数,其中5秒用于警告),B道放行30秒(两个数码管从30秒开始倒数,其中5秒用于警告)。
    (2)一道有车而另一道无车(用按键开关S1、S2模拟)时,使有车车道放行。
    (3)有紧急车辆通过(用按键开关S0模拟)时,A、B道均为红灯(两个数码管显示00)。
     4、设计思路
    (1)正常情况下运行主程序,采用0.5秒延时子程序的反复调用来实现各种定时时间;
    (2)一道有车而另一道无车时,采用外部中断1方式进入与其相适应的中断服务程序,并设置该中断为低 优先级中断;
    (3)有紧急车辆通过时,采用外部中断0方式进入与其相适应的中断服务程序,并设置该中断为高优先级中断,实现中断嵌套。
    5、硬件设计
     如图3

用数码管模拟交通灯上的数字显示板。数码管的七段由AT89C51的P0(P0.0-P0.6)口控制,两个数码管由P2(P2.0-P2.1)口选通,中间由PNP三极管作为推动管。
     分别以S1、S2模拟A、B道的车检测信号,当S1、S2为高电平(不按按键)时,表示有车;当S1、S2为低电平(按下按键)时,表示无车。当S1、S2属不同值时,表示一道有车一道无车,信号经74LS04,74LS86后,输入到P3.3口,触发外部中断1,AT89C51单片机经查询后,对有车的车道放行,绿灯亮;对无车的车道禁止放行,红灯亮。当S0为低电平(按下按键)时,触发外部中断0,单片机经查询后,对两车道都禁止放行,全显示红灯,数码管显示00,对紧急车辆放行。
 
二、电源电路
    从图3可知,无论是AT89C51单片机工作电源、二极管还是数码管的驱动,都要用到+5V的直流电源,所以,一个稳定的、持续的+5V直流电源对本系统十分重要。本系统运用桥式整流电路,将交流转换为直流,为各部分电路提供恒定的+5V直流。模拟部分和数字部分分别采用一个独立的稳压管供电,保证电路的稳定性和抗干扰,其电路如图4。

1、 主要元器件介绍
    DB为全波整流电桥,其内部结构如图5

其工作原理如下: [page]

    电桥1、3端接交流电源,2、4为支直流输出端。当某一时刻,交瞬时值为上+下-(即1端为+,3端为-),电流从1端输入,经1、2间的二极管到2端,再经2、4端的负载流到4端,然后经3、4间的二极管流回交流负端;同理,电流从3端流入,从1端流回交流负端。
    2、 电源电路工作原理
    从接口J1输入的9V左右的交流电压(波形如图7所示),经全波整流电桥DB整流后,得到一幅值为0-8V左右的波动直流(如图8所示)。这一波动的直流经C1、C2、C3滤波后,得到一较平稳的直流,再经 LM7805稳压为+5V,C4再次滤波后,得到稳定的+5V直流电流(如图9所示),为系统无线电接收发模块和解码芯片PT2272路供电。Q1为继电器驱动管,当其基极接收到解码芯片的高电平时,继电器吸合,K1接通,电压经7805稳压后为AT89C51开机供电。

三、无线电遥控收发控制电路:
    无线发射,接收控制有两部分组成,如图10所示,发射部分采用编码芯片PT2262和DF数据发射模块,接收部分主要由解码芯片PT2272、DF接收模块组成。为简化电路,发射接收部分采用现成的收发芯片,其工作频率为315M,采用FM方式调制。S1-S4为脉冲编码开关,按下后在接收端解码后将输出相应的电平控制电路的开机和Q9—Q11组成的电子开关的工作。
    1. 编码芯片PT2262芯片原理简介:
    PT2262/2272是台湾普城公司生产的一种CMOS工艺制造的低功耗低价位通用编解码电路,PT2262/2272最多可有12位(A0-A11)三态地址端管脚(悬空,接高电平,接低电平),任意组合可提供531441地址码,PT2262最多可有6位(D0-D5)数据端管脚,设定的地址码和数据码从17脚串行输出,可用于无线遥控发射电路。
    2.解码芯片PT2272芯片原理简介:
    编码芯片PT2262发出的编码信号由:地址码、数据码、同步码组成一个完整的码字,解码芯片PT2272接收到信号后,其地址码经过两次比较核对后,VT脚才输出高电平,与此同时相应的数据脚也输出高电平,如果发送端一直按住按键,编码芯片也会连续发射。当发射机没有按键按下时,PT2262不接通电源,其17脚为低电平,所以315MHz的高频发射电路不工作,当有按键按下时,PT2262得电工作,其第17脚输出经调制的串行数据信号,当17脚为高电平期间315MHz的高频发射电路起振并发射等幅高频信号,当17脚为低平期间315MHz的高频发射电路停止振荡,所以高频发射电路完全收控于PT2262的17脚输出的数字信号,从而对高频电路完成幅度键控(ASK调制)相当于调制度为100%的调幅。

四、软件设计过程:
    主程序采用查询方式定时,由R2寄存器确定调用0.5S延时子程序的次数,从而获取交通灯的各种时间。子程序采用定时器1方式1,查询式定时,定时器定时50ms,R3寄存器确定循环10次,从而获取0.5S的延时时间。
    一道有车而另一道无车的中断服务程序首先要保护现场,因而需用到延时子程序和P1口,,故需保护的寄存器有R3、P1、TH1和TL1。保护现场时还需关中断,以防止高优先级中断(紧急车辆通过所产生的中断)出现时导致程序混乱。然后,关中断,恢复现场,再开中断,返回主程序。
    紧急车辆出现是的中断服务程序也需要保护现场,但无需关中断(因其为高优先级中断),然后执行相应的服务,待交通灯信号出现后延时20S,确保紧急车辆通过交叉路口。然后,恢复现场,返回主程序。
    交通信号灯模拟控制系统主程序及中断服务程序的流程图如下图所示。

紧急情况时的中断服务程序(INT0)[page]

五、系统可改进的地方
    1、系统可加装热能探测器,探测出车辆内燃机运转辐射出的热量,从而能使单片机判断出哪条道有车,哪条道无车,能对路面交通状况作出迅速反应,从而提高交通效率;
    2、系统应装置红外线接收器,相应地,紧急车辆(如消防车、救护车等)上应当装置红外线放射器。这样,在离交通信号灯远处,紧急车辆就可以开红外线放射器使交通信号灯全部显示红灯,避免因交通问题导致不必要的人命伤亡和金钱损失;
    3、系统可装置一点阵式LED中文显示屏,用以显示温度、天气情况、空气指数等,方便司机对外界情况的了解。
多加了这些功能后,无疑会使成本增加,但是这样确实可以提高交通效率,疏通交通堵塞和避免不必要的损失。
    六、附单片机源程序、硬件设计原理图和硬件实物。
    
七、结束语
    现在,我国已经成功申办2008年奥运会和2010年亚运会,届时,各国人士欢聚在中国,必定会给我国交通带来一定的压力。如果我国交通管理好了,不但给各国旅客留下美好的回忆,而且间接提高了中国的国际竞争力,提高我国的国际地位。

 

关键字:AT89C51单片机  无线收发控制  交通信号灯模型 引用地址:基于AT89C51单片机无线收发控制的交通信号灯模型

上一篇:基于C8051F040的炮塔方位角测试系统设计
下一篇:利用C8051F020的SPI接口扩展大容量数据存储器

推荐阅读最新更新时间:2024-03-16 12:38

AT89C51单片机最小系统
单片机最小系统 如图2 所示,89C51 的外部通过18 ,19 脚连接一个晶振和两个电容,构成振荡电路,可以为单片机提供时钟频率。9 脚通过一个10k 电阻和一个10 F 的电容构成了一个简单的复位电路, EA 接高电平,AL E、PSEN 信号不用,这样就构成了一个单片机最小系统。这个最小系统未设复位键,系统加电时自动复位。
[单片机]
<font color='red'>AT89C51</font><font color='red'>单片机</font>最小系统
基于at89c51单片机的最基础流水灯Proteus仿真图含代码
#include reg51.h #include stdio.h void delay(void) { unsigned int i,j; for(i=500;i 0;i--) for(j=115;j 0;j--); } void main(void) { // Write your code here unsigned char led ,a ,b ;//定义三个变量 led=0xfe; //led=1111 1110,P0。0亮 while (1) { P0=led; //将led的状态赋给P0寄存器 a=led 7; //将led最高位赋给a最低位,其
[单片机]
基于<font color='red'>at89c51</font><font color='red'>单片机</font>的最基础流水灯Proteus仿真图含代码
单片机AT89C51 00——99带倒计时计数器
1. 设计任务 (1. 上电时显示“00”,第一次按下SP1后就开始计数。 (2. 第二次按SP1后,计数停止。 (3. 第三次按SP1后,计数清零。 (4. 第四次按下倒计时 。 2. 电路的原理图 3. 系统板上硬件连线 (1.把“单片机系统”区域中的P0.0/AD0-P0.7/AD7端口用8芯排线连接到“四路静态数码显示模块”区域中的任一个a-h端口上;要求:P0.0/AD0对应着a,P0.1/AD1对应着b,……,P0.7/AD7对应着h。 (2.把“单片机系统”区域中的P2.0/A8-P2.7/A15端口用8芯排线连接到“四路静态数码显示模块”区域中的任一个a-h端口上;要求:P2.0/A8对应着a,P2.1/
[单片机]
<font color='red'>单片机</font><font color='red'>AT89C51</font> 00——99带倒计时计数器
基于AT89C51单片机的双向通信FSK系统设计与实现
采用抗干扰能力比较强的FSK技术构成感应通信系统,利用耦合线圈来实现钻杆之间的无线通信,钻杆内部采用同轴电缆传输信息,这样可以获得较高的数据比特率。本文以AT89C51单片机为控制系统,设计了一套可以实现双向通信的FSK系统,并测试了该系统的可靠性以及误码率。 石油、天然气是人类赖以生存的自然资源,在钻井开采过程中需要对井下高温、高压的环境进行实时的了解,所以对信号传输的实时性要求很高。但是井下的环境恶劣,通信系统里存在各种干扰,所以设计一套既能抗干扰、又能以较快的波特率传输信号的系统对这类作业来说至关重要。本文以AT89C51单片机为控制器,XR2206和XR22111分别为FSK调制解调芯片,在实验室搭建并模拟了整个通信过
[单片机]
基于<font color='red'>AT89C51</font><font color='red'>单片机</font>的双向通信FSK系统设计与实现
基于AT89C51单片机设计的简易智能机器人
引言 随着微电子技术的不断发展,微处理器芯片的集成程度越来越高,单片机已可以在一块芯片上同时集成CPU、存储器、定时器/计数器、并行和串行接口、看门狗、前置放大器、A/D转换器、D/A转换器等多种电路,这就很容易将计算机技术与测量控制技术结合,组成智能化测量控制系统。这种技术促使机器人技术也有了突飞猛进的发展,目前人们已经完全可以设计并制造出具有某些特殊功能的简易智能机器人。 1 设计思想与总体方案 1.1 简易智能机器人的设计思想 本机器人能在任意区域内沿引导线行走,自动绕障,在有光源引导的条件下能沿光源行走。同时,能检测埋在地下的金属片,发出声光指示信息,并能实时存储、显示检测到的断点数目以及各断点至起跑线间的距离,
[单片机]
基于ISD4004和AT89C51单片机实现火车语音播报系统的设计
在现代工业控制过程中,广泛应用了工作状态和故障状态报警装置,通常它以声、光形式提醒操作者及时处理出现的问题。随着新技术的发展,人们又开始将语音技术应用到这一领域。它以更直观、易懂、更方便、准确的形式向操作者提供有关信息,使操作者能够更准确、快速地处理系统问题。美国ISD公司生产的ISD系列智能语音存储芯片音质好,长期断电语音信号不丢失,非常适合于电子产品的开发应用。成功应用ISD4004和AT89C51单片机设计了火车站信号自动语音播报系统,通过对火车站铁路线的上行和下行控制、车辆调度、系统主副电源的启用等多路信号进行检测并采集,根据安全隐患的防范要求,由单片机控制查询安全警示语音信息并播报,实现安全操作提示及报警。系统在火车站信
[单片机]
基于ISD4004和<font color='red'>AT89C51</font><font color='red'>单片机</font>实现火车语音播报系统的设计
单片机AT89C51 正反转可控的步进电机
单片机AT89C51 正反转可控的步进电机 单片机源程序: /*************** writer:shopping.w ******************/ #include reg52.h #define uint unsigned int #define uchar unsigned char uchar code FFW = { 0x01,0x03,0x02,0x06,0x04,0x0c,0x08,0x09 }; uchar code REV = { 0x09,0x08,0x0c,0x04,0x06,0x02,0x03,0x01 }; sbit K1 = P3^0; sbit K2
[单片机]
<font color='red'>单片机</font><font color='red'>AT89C51</font> 正反转可控的步进电机
At89c51单片机键盘扫描和显示程序
;****************************************************** ;* 名称:kbd ;* 功能:从键盘中读入按键值,存入寄存器A:r*4+c ;* 输入: ;* 输出: A=按键值 ;****************************************************** org 0000h ljmp main org 0200h main: init: MOV 60H,#10h MOV 61H,#10h MOV 62H,#10h MOV 63H,#10h wait: acall keyscan ;有键按下,
[单片机]
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved