精华内容
下载资源
问答
  • 单片机设计交通灯

    2011-12-22 20:12:40
    相对于单片机而言,51比较普遍,这个文档就是介绍和现场模拟的单片机。。。
  • 51单片机设计交通灯keil工程文件C源文件,P1链接LED用于显示红绿灯,数码管显示时间
  • 单片机设计交通灯(protues仿真电路图)
  • 51单片机设计交通灯(仿真+C程序)51单片机的学习
  • 主要有单片机设计交通灯的代码描述,简单易懂.赶快下载吧赶快下载吧赶快下载吧赶快下载吧赶快下载吧赶快下载吧赶快下载吧赶快下载吧赶快下载吧赶快下载吧赶快下载吧赶快下载吧赶快下载吧
  • 采用单片机设计交通灯,用KEIL和PROTEUS7仿真完成。
  • 基本要求:利用STC-89C51单片机作为系统核心控制部分,用外围12个发光二极管(红、绿、蓝各4组)模拟交通灯的显示部分,自己设计电路和程序完成交通灯控制设计。 发挥部分: 1.扩展外部并口芯片(如8255A)对12个...
  • 基于51单片机交通灯程序设计 ,基础的交通信号灯的功能 内附有protues仿真程序,供单片机初学者使用
  • 本系统采用STC89C52单片机以及单片机最小系统和三极管驱动电路以及外围的按键和数码管显示等部件,设计一个基于单片机交通灯设计设计通过两位一体共阴极数码管显示,并能通过按键对定时进行设置。本系统实用性强...
  • 一个做过的设计,还不错,大家可以借鉴借鉴
  • 51单片机设计交通灯

    2012-05-21 16:30:32
    单片机课程设计的同志们,可以借鉴一下。
  • 作者:秩名 来源:华夏免费论文网 当今 ,社会上的汽车越来越多,并且交通事故愈演愈烈,为了要减少此类的事情的发生,必须加强道路的管理。因此、合理设计交通灯控制系统可以大大减少此类事情发生。
  • 设计实现了交通路口交通灯控制的功能,而且涵盖了proteus的仿真原理图,可以对设计进行仿真分析,供大家参考!
  • 此文件给出了应用51单片机实现交通灯设计方案,并附有keil4.0的编程代码及注释,以及protues仿真。
  • 51单片机交通灯设计,通过C仿真和protues实现
  • 交通在人们的日常生活中占有重要的地位,随着...本系统采用单片机AT89C51为中心器件来设计交通灯控制器,系统实用性强、操作简单、扩展性强。本设计就是采用单片机模拟十字路口交通灯的各种状态显示以及倒计时时间。
  • 仿真图和程序都有,亲测可用.基于51单片机,四通道交通灯
  • 交通灯光柱计时器的设计与实现,单片机实例设计+C语言代码
  • 完整的开题报告,已获得审核通过,希望能帮大家的忙
  • http://passport.csdn.net/ActivateUser.aspx?UserName=xiaoshideyun&Code=9uqhUn9M27i%2bzXlQzz8hrvxKBBbIVVxZ%2bDRPp5Kd8HScybXWh1O55mxg9Mmp8%2foCkLffnYGbLDL6ImlmsGWUD3wtbNyQeEo8
  • 着急啊,大佬们帮我一下,求指导一下,[img=https://img-bbs.csdn.net/upload/202006/15/1592212860_493970.png][/img]
  • 单片机原理及接口技术课程设计报告设计题目:人车分行交通信号指挥灯的控制人车分行交通信号指挥灯的控制在生活中,我们在各个路口基本都可以看到交通信号灯,道路交通信号灯是交通...本模拟交通灯系统利用单片机AT8...

    单片机原理及接口技术

    课程设计报告

    设计题目:人车分行交通信号指挥灯的控制人车分行交通信号指挥灯的控制

    在生活中,我们在各个路口基本都可以看到交通信号灯,道路交通信号灯是交通安全产品中的一种类别,是为了加强道路交通管理,减少交通事故的发生,提高道路使用效率,改善交通状况的一种重要工具。

    近年来,随着科技的飞速发展,电子器件也随之广泛应用,其中单片机也不断深入人民的生活当中。本模拟交通灯系统利用单片机AT89C51作为核心元件,实现了通过信号灯对路面状况的智能控制。系统具有结构简单、可靠性高、成本低等优点,有广泛的应用前景。

    本模拟系统由单片机硬/软件系统,两位8段数码管和LED灯显示系统。和复位电路、时钟产生电路等组成,较好的模拟了交通路面的控制,利用单片机良好的控制功能来进行设计,应用更灵活,功能更强大,也更智能化。通过C语言编程,单片机做控制,加上8个LED灯指示交通红绿灯、8155控制数码管倒计时显示来实现基本功能,外加处理突发中断情况的的按钮来模拟儿童的情况1.设计任务

    结合实际情况,基于AT89C51单片机设计一个人车分行交通信号指挥灯。该系统应满足的功能要求为:

    (1) 交通红绿灯显示;

    (2) 倒计时设置;

    (3) 儿童过马路提示。

    主要硬件设备:AT89C51单片机、8个LED灯、两个数码管显示器、蜂鸣器、8155I/O口扩展芯片

    列写交通灯变化表

    表1-1 利群超市门前路口交通灯变化情况表

    状态延时(s)

    状态 维持时间亮:人行灯,30s亮:人行红灯,3s亮:人行灯,17s亮:人行红灯,46s亮:人行红灯, 3s

    2. 整体方案设计

    人车分行交通信号指挥灯以AT89C51单片机作为整个系统的控制核心,应用其强大的接口功能,构成整个人车分行交通信号指挥灯控制的硬件系统。

    该系统用8个LED灯模拟东西南北红黄绿灯以及人行红绿灯,用AT89C51的P1口的8个管脚与其连接,两位数码管显示器显示各个状态的倒计时,而数码管显示器由8155的PA口和PB口控制,PB口控制数码管的段选码,PA口控制数码管的位选码,实现动态显示,节省管脚的使用,AT89C51的管脚P3.2分别连接应对突发状况的紧急开关。

    本系统硬件主要AT89C51单片机、LED输出模块、拨码开关、位数码管显示器部分组成。各模块的主要功能如下:

    (1) AT89C51作为整个系统的控制核心,通过编程控制各个模块;

    (2) 8155的功能是控制数码管显示器;

    (3) LED输出模块的功能是指示两个路口的红黄绿灯、人行红绿灯灯变化情况;

    (4) 数码管显示器的功能是显示倒计时时间;

    (5) 拨码开关的功能是在儿童时按下,防止发生交通事故。

    系统的整体设计方案设计图如图2-2所示。

    图2-2 交通灯整体设计图

    3.1复位电路

    复位电路

    3.2时钟产生电路

    时钟产生电路

    (2) 管脚说明:

    VCC:供电电压。

    GND:接地端。

    P0口:是一个8位漏极开路的双向I/O口,每脚可吸收8个TTL门流:可用于外部程序数据存储器,可以被定义为数据/地址的低八位。

    P1口:是一个由内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4个TTL门电流。

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

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

    表 3-5 P3口第二功能的引脚表

    端口引脚第二功能:P3.0RXD(串行输入口)P3.1TXD(串行输出口)P3.2INT0*(外中断0)P3.3INT1*(外中断1)P3.4T0(定时/计数器0外部输入)P3.5T1(定时/计数器1外部输入)P3.6WR*(外部数据存储器写选通)P3.7RD*外部数据存储器读选通)

    RST:复位输入;当振荡器复位器件时,要保持RST引脚两个机器周期的高电平时间。

    ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地址字节。ALE端以固定不变的频率周期输出正脉冲信号,可用于对外部输入的脉冲计数或定时。

    PSEN*:外部程序存储器的选通信号。

    EA*/VPP:当/EA保持低电平时,访问外部程序存储器;保持高电平时,

    展开全文
  • 基于单片机智能交通灯设计基于单片机智能交通灯设计基于单片机智能交通灯设计基于单片机智能交通灯设计
  • 单片机控制交通灯设计
  • 基于单片机交通灯设计
  • 基于51单片机交通灯控制系统设计

    万次阅读 多人点赞 2018-11-24 13:38:11
    设计为基于51单片机交通灯系统的设计,采用模块化、层次化设计。运用单片机AT89C51进行数据的分析和处理,为显示提供信号,显示部分采用8位数码管显示倒计时值。系统电路简单、集成度高、工作稳定、调试方便、检测...

    第一章 硬件设计与原理
    以AT89C51单片机为核心,起着控制作用。系统包括数码管显示电路、复位电路、时钟电路、发光二级管电路和按键电路。设计思路分为六个模块:复位电路、晶振电路模块、AT89C51、数码管显示电路、发光二级管电路和按键电路这六个模块。

    在这里插入图片描述

    1.2 硬件设计分析
    1.2.1 电源的设计
    系统电源使用直流5伏。
    由电脑USB接口提供电源。
    USB是通用串行总线(Universal Serial Bus)接口的简称。它是目前使用比较广泛的电脑接口之一,主要版本有1.0、1.1和最新的2.0三种版本。根据USB总线的工业标准,它可以提供额定功率为5V/500mA的电源供USB设备使用。
    1.2.2 单片机最小系统
    51单片机是对目前所有兼容intel 8031指令系统的单片机的统称。该系列单片机的始祖是intel的8031单片机,后来随着技术的发展,成为目前广泛应用的8为单片机之一。单片机是在一块芯片内集成了CPU、RAM、ROM、定时器/计数器和多功能I/O口等计算机所需要的基本功能部件的大规模集成电路,又称为MCU。51系列单片机内包含以下几个部件:
    一个8位CPU;一个片内振荡器及时钟电路;
    4KB的ROM程序存储器;
    一个128B的RAM数据存储器;
    寻址64KB外部数据存储器和64KB外部程序存储空间的控制电路;
    32条可编程的I/O口线;
    两个16位定时/计数器;
    一个可编程全双工串行口;
    5个中断源、两个优先级嵌套中断结构。
    如图1-2-1所示为AT89C51单片机基本构造,其基本性能介绍如下:
    图1-2-1 AT89C51单片机

    AT89C51本身内含40个引脚,32个外部双向输入/输出(I/O)端口,同时内含2个外中端口,3个16位可编程定时计数器,2个全双工串行通信口,STC89C51RC可以按照常规方法进行编程,但不可以在线编程。其将通用的微处理器和Flash存储器结合在一起,特别是可反复擦写的Flash存储器可有效地降低开发成本。
    AT89C51的主要特性如下表所示:

    在这里插入图片描述

    AT89C51为40脚双列直插封装的8位通用微处理器,采用工业标准的C51内核,在内部功能及管脚排布上与通用的8xc52相同,其主要用于会聚调整时的功能控制。功能包括对会聚主IC内部寄存器、数据RAM及外部接口等功能部件的初始化,会聚调整控制,会聚测试图控制,红外遥控信号IR的接收解码及与主板CPU通信等。主要管脚有:XTAL1(19脚)和XTAL2(18脚)为振荡器输入输出端口,外接12MHz 晶振。RST/Vpd(9脚)为复位输入端口,外接电阻电容组成的复位电路。VCC(40脚)和VSS(20脚)为供电端口,分别接+5V电源的正负端。P0~P3 为可编程通用I/O脚,其功能用途由软件定义,在本设计中,P0端口(32~39脚)被定义为N1功能控制端口,分别与N1的相应功能管脚相连接,13脚定义为IR输入端,10脚和11脚定义为I2C总线控制端口,分别连接N1的SDAS(18脚)和SCLS(19脚)端口,12脚、27脚及28脚定义为握手信号功能端口,连接主板CPU的相应功能端,用于当前制式的检测及会聚调整状态进入的控制功能。
    P0口:P0口是一组8位漏极开路型双向I/O 口,也即地址/数据总线复用口。作为输出口用时,每位能吸收电流的方式驱动8个TTL逻辑门电路,对端口P0写“1”时,可作为高阻抗输入端用。在访问外部数据存储器或程序存储器时,这组口线分时转换地址(低8位)和数据总线复用,在访问期间激活内部上拉电阻。在Flash 编程时,P0口接收指令字节,而在程序校验时,输出指令字节,校验时,要求外接上拉电阻。
    P1口:P1是一个带内部上拉电阻的8位双向I/O口,P1的输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。对端口写“1”,通过内部的上拉电阻把端口拉到高电平,此时可作输入口。作输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流(IIL)。与AT89C51不同之处是,P1.0和P1.1还可分别作为定时/计数器2 的外部计数输入(P1.0/T2)和输入(P1.1/T2EX)。Flash编程和程序校验期间,P1接收低8位地址。
    P2口:P2是一个带有内部上拉电阻的8 位双向I/O口,P2的输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。对端口P2写“1”,通过内部的上拉电阻把端口拉到高电平,此时可作输入口,作输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流(IIL)。在访问外部程序存储器或16位地址的外部数据存储器(例如执行MOVX @DPTR指令)时,P2口送出高8位地址数据。在访问8位地址的外部数据存储器(如执行MOVX @RI指令)时,P2口输出P2锁存器的内容。Flash编程或校验时,P2亦接收高位地址和一些控制信号。
    P3口:P3口是一组带有内部上拉电阻的8位双向I/O口。P3口输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。对P3口写入“1”时,它们被内部上拉电阻拉高并可作为输入端口。此时,被外部拉低的P3口将用上拉电阻输出电流(IIL)。P3口除了作为一般的I/O口线外,更重要的用途是它的第二功能P3口还接收一些用于Flash 闪速存储器编程和程序校验的控制信号。
    RST:复位输入。当振荡器工作时,RST引脚出现两个机器周期以上高电平将使单片机复位。
    ALE/PROG:当访问外部程序存储器或数据存储器时,ALE(地址锁存允许)输出脉冲用于锁存地址的低8位字节。一般情况下,ALE仍以时钟振荡频率的1/6输出固定的脉冲信号,因此它可对外输出时钟或用于定时目的。要注意的是:每当访问外部数据存储器时将跳过一个AL脉冲。对Flash存储器编程期间,该引脚还用于输入编程脉冲(PROG)。如有必要,可通过对特殊功能寄存器(SFR)区中的8EH单元的D0位置位,可禁止ALE操作。该位置位后,只有一条 MOVX 和MOVC指令才能将ALE激活。此外,该引脚会被微弱拉高,单片机执行外部程序时,应设置ALE禁止位无效。
    PSEN:程序储存允许(PSEN)输出是外部程序存储器的读选通信号,当AT89C51由外部程序存储器取指令(或数据)时,每个机器周期两次PSEN有效,即输出两个脉冲。在此期间,当访问外部数据存储器,将跳过两次PSEN信号。
    EA/VPP:外部访问允许。欲使CPU仅访问外部程序存储器(地址为0000H—FFFFH),EA端必须保持低电平(接地)。需注意的是:如果加密位LB1被编程,复位时内部会锁存EA端状态。如EA端为高电平(接Vcc端),CPU则执行内部程序存储器中的指令。Flash存储器编程时,该引脚加上+12V的编程允许电源Vpp,当然这必须是该器件是使用12V编程电压Vpp。
    XTAL1:振荡器反相放大器的及内部时钟发生器的输入端。
    XTAL2:振荡器反相放大器的输出端。
    单片机最小原理图如图1-2-2所示。
    图1-2-2 单片机最小系统

    单片机最小系统说明:
    时钟信号的产生:在MCS-51芯片内部有一个高增益反相放大器,其输入端为芯片引脚XTAL1,其输出端为引脚XTAL2。而在芯片的外部,XTAL1和XTAL2之间跨接晶体振荡器和微调电容,从而构成一个稳定的自激振荡器,这就是单片机的时钟振荡电路。
    时钟电路产生的振荡脉冲经过触发器进行二分频之后,才成为单片机的时钟脉冲信号。
    一般地,电容C2和C3取30pF左右,晶体的振荡频率范围是1.2-12MHz。如果晶体振荡频率高,则系统的时钟频率也高,单片机的运行速度也就快。
    单片机复位使CPU和系统中的其他功能部件都处在一个确定的初始状态下,并从这个状态开始工作。单片机复位条件:必须使9脚加上持续两个机器周期(即24个振荡周期)的高电平。
    1.2.3 显示系统
    数码管是一种半导体发光器件,其基本单元是发光二极管。
    数码管按段数分为七段数码管和八段数码管,八段数码管比七段数码管多一个发光二极管单元(多一个小数点显示);按能显示多少个“8”可分为1位、2位、4位等等数码管;按发光二极管单元连接方式分为共阳极数码管和共阴极数码管。共阳数码管是指将所有发光二极管的阳极接到一起形成公共阳极(COM)的数码管。共阳数码管在应用时应将公共极COM接到+5V,当某一字段发光二极管的阴极为低电平时,相应字段就点亮。当某一字段的阴极为高电平时,相应字段就不亮。。共阴数码管是指将所有发光二极管的阴极接到一起形成公共阴极(COM)的数码管。共阴数码管在应用时应将公共极COM接到地线GND上,当某一字段发光二极管的阳极为高电平时,相应字段就点亮。当某一字段的阳极为低电平时,相应字段就不亮。
    数码管要正常显示,就要用驱动电路来驱动数码管的各个段码,从而显示出我们要的数字,因此根据数码管的驱动方式的不同,可以分为静态式和动态式两类。
    1) 静态显示驱动:静态驱动也称直流驱动。静态驱动是指每个数码管的每一个段码都由一个单片机的I/O端口进行驱动,或者使用如BCD码二-十进制译码器译码进行驱动。静态驱动的优点是编程简单,显示亮度高,缺点是占用I/O端口多,如驱动5个数码管静态显示则需要5×8=40根I/O端口来驱动(要知道一个89C51单片机可用的I/O端口才32个呢),实际应用时必须增加译码驱动器进行驱动,增加了硬件电路的复杂性。
    2) 动态显示驱动:数码管动态显示接口是单片机中应用最为广泛的一种显示方式之一,动态驱动是将所有数码管的8个显示笔划"a,b,c,d,e,f,g,dp"的同名端连在一起,另外为每个数码管的公共极COM增加位选通控制电路,位选通由各自独立的I/O线控制,当单片机输出字形码时,所有数码管都接收到相同的字形码,但究竟是那个数码管会显示出字形,取决于单片机对位选通COM端电路的控制,所以我们只要将需要显示的数码管的选通控制打开,该位就显示出字形,没有选通的数码管就不会亮。通过分时轮流控制各个数码管的的COM端,就使各个数码管轮流受控显示,这就是动态驱动。
    本设计中数码管采用的是动态驱动方式。
    数码管外形如图1-2-3,数码管电路结构如图1-2-4。

    图1-2-3 数码管外形图
    图1-2-4 数码管电路结构示意图

    在这里插入图片描述
    图1-2-5 数码管显示电路
    1.2.4 发光二级管电路

    图1-2-6 发光二级管电路
    1.2.5 按键电路
    图1-2-7 按键电路

    第二章 软件设计与分析
    2.1 软件设计的组成
    该系统由延时子函数、数码管显示子函数、定时器0中断子函数、主函数和数据定义这几部分组成。
    在这里插入图片描述

    在这里插入图片描述

    //----------------------------------------------------------------------//
    上传过程感觉繁琐,里面可能有不全面的地方,请见谅。下面的是实现的目的。以及电路原理图

    **本次设计的主要目的是设计一个城市十字路口的交通灯控制系统,设计中将交通灯控制系统分为东西方向(主干道)和南北方向(次干道)两个方向,且在东西南北四个路口的每个路口设置红、绿、黄三个交通信号灯(用发光二极管模拟)和一个二位的LED数码显示管。设计的要求是规定在每一段时间内东西和南北两个方向中只有一个方向能够通行,另一个方向处于禁行状态,然后在经过一段时间后,禁行的方向和通行的方向互相转换状态,原来通行的状态变禁行状态,原来禁行的状态变为通行状态,如此循环下去。详细过程如下图2-1:
    状态① 状态②
    图 1图2-1 交通灯状态图
    状态①:东西方向的交通灯黄灯闪烁3秒后,红灯熄灭,绿灯点亮(东西方向允许车辆和行人通行),同时南北方向绿灯熄灭,红灯点亮(南北方向禁止车辆和行人通行),LED数码管倒计时显示40秒,在倒计时3秒时进入状态②。
    状态②:南北方向黄灯闪烁3秒后,红灯熄灭绿灯点亮(南北允许车辆和行人通行);同时东西方向绿灯熄灭,红灯点亮
    (东西方向禁止车辆和行人通行),LED数码管倒计时显示40秒,在倒计时3秒时进入状态①。
    接下来在没有人为干涉下将会一直按照上述进行循环。设计中还外设6个按键实现对交通灯控制系统的调控作用。

    电路原理图

    在这里插入图片描述

    在这里插入图片描述

    //——————————————————————————-——————————//
    相应的代码已经上传

    下载地址
    https://download.csdn.net/download/weixin_43442020/12231456

    下载链接里可以下载,解压后里面有压缩文件,压缩文件里面的资料更详细

    展开全文
  • 单片机交通灯系统设计 单片机交通灯系统设计
  • 毕业设计单片机控制交通灯 毕业设计单片机控制交通灯
  • 单片机交通灯设计

    2012-03-31 15:36:56
    单片机交通灯设计
  • 基于51单片机交通灯控制设计

    万次阅读 多人点赞 2019-07-12 21:29:19
    题目 交通灯控制设计 课程设计目标与任务、计划与进度安排: 实践教学要求与任务: 1、了解交通灯的基本工作原理; 2、用Proteus模拟实现交通灯控制; 3、用Keil C51编程实现上述功能; 4、用Keil与Proteus联调。 工作...

    课程设计任务书及成绩

    课程名称

    单片机课程设计

    题目

    交通灯控制设计

    课程设计目标与任务、计划与进度安排:

    实践教学要求与任务:

    1、了解交通灯的基本工作原理;
    2、用Proteus模拟实现交通灯控制;
    3、用Keil C51编程实现上述功能;
    4、用Keil与Proteus联调。

    工作计划与进度安排:

    17周查找相关资料。
    18周详细设计。
    19周程序测试,书写论文,进行答辩。

    1 引言

    交通事业蓬勃发展,交通流量年年增长,大、中、小城市的汽车、摩托车等各种车辆与日俱增,道路交通繁忙,经常有严重堵车现象,特别是在交叉口,机动车、非机动车、行人来往非常混乱,为了在叉口的各条干道实现合理的科学分流。本人根据单片机具有物美价廉、功能强、使用方便灵活、可靠性高等特点,提出了一种用STC89c51单片机自动控制交通信号灯及时间显示的方法,同时给出了软硬件的实现方法,为交通指挥自动化提供了一种新的廉价手段,具有一定的推广意义。本文介绍了控制基本原理以及控制的表现,同时也介绍了城市交通信息系统的设计目标, 开发途径及其系统结构与功能和数据地理编码、建库, 同时, 论述了系统中交通现状、交通管理、交通规划及背景信息查询模块的建造及应用。介绍了用于城市交叉路口的三色程控交通信号时间显示器的研制方案,对其电源供电、发光二极管构成的负载结构、灯色时间检测都给出了精巧合理的优化结构,大幅度地提高了产品可靠性并降低了制造成本。

    2 应用软件介绍

    2.1 C语言介绍

    C语言是于1972年由贝尔实验室的Dennis Ritchie在B语言的基础上开发出来的。最初的C语言是作为UNIX操作系统的开发语言而被人们所认识。此后,贝尔实验室对C语言进行了多次改进和版本的公布,C语言的优点才引起人们的普遍注意。随着UNIX操作系统在各种机器上的广范使用,使C语言得到了迅速推广。1978年由Brian W. Kernighan和Dennis M. Ritchit合著了《The C Programming Language》一书,该书对C语言作了详细的描述,这本书对C语言发展影响深远,并成为了后来C语言版本的基础,称之为标准C。随后C语言在各种计算机上快速得以推广,并导致了许多C语言版本的出现。

    2.2 Keil C51

    Keil C51 是美国 Keil Software 公司出品的 51 系列兼容单片机 C 语言软件开发系统,与汇编相比,C 语言在功能上、结构性、可读性、可维护性上有明显的优势,因而易学易用。Keil 提供了包括 C 编译器、宏汇编、链接器、库管理和一个功能强大的仿真调试器等在内的完整开发方案,通过一个集成开发环境(μVision)将这些部分组合在一起。运行 Keil软件需要 WIN98、NT、WIN2000、WINXP 等操作系统。

    2.3 Proteus

    Proteus 软件是英国 Lab Center Electronics 公司出版的 EDA 工具软件。它不仅具有其它EDA 工具软件的仿真功能,还能仿真单片机及外围器件。它是目前比较好的仿真单片机及外围器件的工具。虽然目前国内推广刚起步,但已受到单片机爱好者、从事单片机教学的教师、致力于单片机开发应用的科技工作者的青睐。 Proteus 是英国著名的 EDA 工具(仿真软件),从原理图布图、代码调试到单片机与外围电路协同仿真,一键切换到 PCB 设计,真正实现了从概念到产品的完整设计。是目前世界上唯一将电路仿真软件、PCB 设计软件和虚拟模型仿真软件三合一的设计平台,其处理器模型支持 8051、HC11、PIC10/12/16/18/24/30/DsPIC33、AVR、ARM、8086 和 MSP430 等,2010年又增加了 Cortex 和 DSP 系列处理器,并持续增加其他系列处理器模型。在编译方面,它也支持 IAR、Keil 和 MATLAB 等多种编译器。

    3 硬件资源介绍

    3.1单片机简介

    单片机(MCU)又称单片微控制器,它不是完成某一个逻辑功能的芯片,而是把一个计算机系统集成到一个芯片上。概括的讲:一块芯片就成了一台计算机。它的体积小、质量轻、价格便宜、为学习、应用和开发提供了便利条件。同时,学习使用单片机是了解计算机原理与结构的最佳选择。
    目前单片机渗透到我们生活的各个领域,几乎很难找到哪个领域没有单片机的踪迹。导弹的导航装置,飞机上各种仪表的控制,计算机的网络通讯与数据传输,工业自动化过程的实时控制和数据处理,广泛使用的各种智能 IC 卡,民用豪华轿车的安全保障系统,录像机、摄像机、全自动洗衣机的控制,以及程控玩具、电子宠物等等,这些都离不开单片机。更不用说自动控制领域的机器人、智能仪表、医疗器械了。因此,单片机的学习、开发与应用将造就一批计算机应用与智能化控制的科学家、工程师。

    3.2 89C51 简介

    89C51 是一种带 4K 字节闪烁可编程可擦除只读存储器(FPEROM—Flash Programmable and Erasable Read Only Memory)的低电压、高性能 CMOS8 位微处理器,俗称单片机。单片机的可擦除只读存储器可以反复擦除 100 次。该器件采用 ATMEL 高密度非易失存储器制造技术制造,与工业标准的 MCS-51 指令集和输出管脚相兼容。由于将多功能 8 位 CPU 和闪烁存储器组合在单个芯片中,ATMEL 的 89C51 是一种高效微控制器,89C2051 是它的一种精简版本。

    3.3 89C51 单片机的片内逻辑结构

    在这里插入图片描述

    3.4 89C51 硬件资源

    (1)微处理器(CPU):一个 8 位 CPU。
    (2)数据存储器(RAM):片内为 128B,片外最多可外扩 64KB。
    (3)程序存储器(4KB Flash ROM):片内为 4KB,片外最多可外扩程序存储器至 64KB。
    (4)4 个 8 位可编程并行 I/O 口(P0、P1、P2、P3),1 个全双工的串行口。
    (5)定时器/计数器:片内有 2 个 16 位的定时器/计数器,具有 4 种工作方式。
    (6)中断系统:具有 5 个中断源,2 级中断优先级。
    (7)特殊功能寄存器(SFR): 共有 21 个特殊功能寄存器,用于 CPU 对片内各功能部件进行管理、控制和监视。
    (8)1 个看门狗定时器(WDT)。

    3.5 89C51 的引脚图

    在这里插入图片描述

    (1)P0 口:8 位,漏极开路的双向 I/O 口。
    (2) P1 口:8 位,准双向 I/O 口,具有内部上拉电阻。
    (3)P2 口:8 位,专为用户使用的准双向 I/O 口,具有内部上拉电阻。
    (4)P3 口:8 位,准双向 I/O 口,具有内部上拉电阻。也可作为普通的 I/O 口使用。除此之外,P3 口还有第二功能的定义。

    4 设计课题

    交通灯控制设计:
    1.了解一个十字路口交通灯基本工作原理,要求分主次干道,并加入倒计时功能
    2.用Keil C51编程实现上述功能
    3.用Proteus模拟实现十字路口交通灯控制电路。
    4.用Keil与Proteus联调

    5.方案设计

    5.1交通灯四种通行模式及行车方向指示

    按照简单的交通路口规则,有四种模式

    1. 南北绿灯亮 东西红灯亮
    2. 南北黄灯闪 东西红灯亮
    3. 南北红灯亮 东西绿灯亮
    4. 南北红灯亮 东西黄灯闪

    在这里插入图片描述

    5.2 交通灯控制系统

    实用交通灯控制系统主要CPU控制模块为了、信号灯显示模块、倒计时显示模块等组成,如下图所示:
    在这里插入图片描述
    其中控制模块是最核心的部分,控制核心采用AT89C51单片机,利用AT89C51单片机内部定时器实现交通指示灯控制的计时功能,在正常情况下产生相应的控制信息控制倒计时显示电路,信号灯显示电路的正常运行。
    信号灯显示模块采用四个集成交通指示灯来模拟红、黄、绿交通指示灯,用单片机的P1口控制发光二极管的亮灭状态。
    倒计时显示模块的接口电路有静态显示和动态显示两种方式,由于动态显示方式在仿真软件中不易于查看,所以本次采用静态显示方式,这种方式优点是易于操作,缺点是浪费单片机接口资源。
    为了倒计时更加准确,采用外加晶振电路方法实现其功能。

    6硬件系统设计

    6.1 信号灯显示模块

    由于南北方向的信号灯始终是同一种状态,所以南北信号灯为一组,只需将对应的信号灯并联即可,东西方向同理。
    在这里插入图片描述

    6.2 倒计时显示模块

    选取8个7段数码管分别模拟显示四个方向的倒计时,数码管采用共阴极接法。
    为了提高P0、P2端口的电流输出能力,保证数码管亮度,保护端口引脚,在P0端口与数码管之间增加了74LS245芯片。
    在这里插入图片描述

    6.3 复位模块

    此系统可以通过复位按键实现从新工作,电路图如图所示:

    在这里插入图片描述

    7软件系统设计

    7.1 中断服务程序框图

    在这里插入图片描述

    7.2 主程序框图

    在这里插入图片描述
    7.3 程序代码

    #include<reg51.h>
    sbit g1=P1^0; 	//位定义
    sbit r1=P1^1; 
    sbit y1=P1^2; 
    sbit g2=P1^3; 
    sbit r2=P1^4; 
    sbit y2=P1^5; 
    unsigned char f=0;
    unsigned char nanbei_time=15;	 //定义南北的时间长度
    unsigned char dongxi_time=11;    //定义东西的时间长度
    unsigned char m; 
    unsigned char code  t[]={0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x27,0x7F,0x6F}; 
    void init_timer0(void) 	   //中断初始化函数
    	{
      	TMOD=0x01;  
      	TH0=(65536-50000)/256;  
     	 TL0=(65536-50000)%256;  
     	 ET0=1;  
     	 EA=1;  
      	TR0=1; 
     	 } 
     void display(unsigned char x) 
     	 {  
      	unsigned char m,n;  
    	m=x/10;  
    	n=x%10;  
    	P0=t[m];  
    	P2=t[n]; 
    	} 
    void timer(void) interrupt 1 using 1  //中断服务函数
    {
        TH0=(65536-50000)/256;
        TL0=(65536-50000)%256;
        f++;
        if(f==20)
        {
            f=0;
            m--;
        }
    }
    void main() 
    {
    	m=nanbei_time;
       	P1=0x00;  
    	init_timer0(); 
       	while(1)  {  
      	 do   {   
    	 display(m);   
       		g1=1;  
    		r1=0;
            g2=0;
            r2=1;
            }
            while(m!=3);
            do
            {        
                if(m<=3)
                {
                    y1=~y1;
    				r1=0;
    				g1=0;
                    r2=1;
    				g2=0;
                         }
            display(m);    
            		r1=0;
            g2=0;
            r2=1;
            }
            while(m!=3);
            do
            {        
                if(m<=3)
                {
                    y1=~y1;r1=0;g1=0;
                    r2=1;g2=0; 
                 }
            display(m);    
            }
    		while(m!=0);
    		if(m==0)
    {        m = dongxi_time;
    		y1 = 0;
    		y2 = 0;
        }
    	do{
    	display(m);
    	g1 = 0;
    	r1 = 1;
    	g2 = 1;
    	r2 = 0;
    	}
    	while(m!=3);
    	do{
    	      if(m<=3)
                {    
                    r1=1,g1=0;
                    y2=~y2,r2=0,g2=0;
              }
            display(m);
            }while(m!=0);
                if(m==0)
                {
                    m=nanbei_time;
                    y1=0;
                    y2=0;
                }
        }
    }
    

    8 电路仿真
    在这里插入图片描述
    在这里插入图片描述
    开始仿真:
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    9设计总结
    通过这次单片机课设,我不仅学到了许多新的知识,而且加深了我对以前学习的理论知识的掌握。以前我们学的东西仅限于课本,对实实在在的应用还比较模糊,这次课程设计有利于同学们学习目的的明确性和主动性。通过这次课程设计,我们知道了哪些东西是应该确实掌握的,在实践中填充我理论知识的不足,可以将理论很好地应用到实际当中去。
    10参考文献
    1.《单片机原理及接口技术》 张毅刚 人民邮电出版社
    2.《单片机课程设计指导书》 皮大能 北京理工大学出版社

    展开全文

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 2,328
精华内容 931
关键字:

单片机设计交通灯