基于51单片机智能交通灯的控制系统设计.doc_第1页
基于51单片机智能交通灯的控制系统设计.doc_第2页
基于51单片机智能交通灯的控制系统设计.doc_第3页
基于51单片机智能交通灯的控制系统设计.doc_第4页
基于51单片机智能交通灯的控制系统设计.doc_第5页
已阅读5页,还剩27页未读 继续免费阅读

下载本文档

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

文档简介

前言自从20世纪70年代单片微型计算机诞生以来,单片机以其功能强、体积小、质量轻、价格低、可靠性高、可塑性好等得到了广泛的应用。单片机是目前世界上数量最多的计算机。在现代人类生活中,几乎每件电子和机械产品都集成有单片机,因而,单片机已成为工程师们开发嵌入式系统和小型智能化产品的首选控制器。随着社会经济的发展,车辆的增多,交通拥挤和阻塞现象时常出现,因此城市交通问题越来越引起人们的广泛关注。为保证交通安全,预防交通阻塞,交通灯得到了广泛的应用。因此设计新型的交通灯控制系统,对减少交通事故,缓解交通阻塞,提高畅通率具有很重要的现实意义。考虑到单片机具有功能强、体积小、质量轻、价格低、可靠性高、可塑性好等特点,本次课程设计拟采用MCS - 51系列的单片机来实现十字路口交通信号灯的自动和手动控制。单片机原理及应用课程设计是我们在学完课程理论知识后的一次综合性重要事件活动。该课程设计的主要目的是通过实践活动,巩固和加深单片机原理及应用课程中所学的理论知识,提高实验动手能力,基本掌握单片机应用电路的一般设计方法,提高电子电路的设计水平,加深对单片机软硬件知识的理解,获得初步的应用经验,为以后从事生产和科研工作打下一定的基础。目 录前言第一章 设计的目的和要求11.1 设计的目的11.2 设计的基本要求11.2.1课程设计要求11.2.2 基本设计功能要求1第二章 系统方案设计22.1 设计任务分析及方案设计22.2 硬件总体设计22.2.1 系统组成方案22.2.2 按钮、数码管显示功能的定义22.3 软件总体设计22.3.1.存储单元的分配、标志位的定义22.3.2.主程序框图32.3.3 中断控制有关寄存器33.1 AT89C51单片机介绍83.1.1 AT89C51单片机简介83.1.2 各引脚说明83.2 共阴极7段数码管介绍10第四章 硬件电路设计124.1 晶振电路124.2 复位电路124.3中断电路134.4 显示电路13第五章 软件设计145.1 中断服务程序145.2 延时子程序145.3 数码管显示子程序14第六章 系统仿真及操作说明166.1 Keil软件介绍166.2 Proteus软件介绍166.3 Proteus和Keil整合166.4 仿真结果及操作166.5 PCB板制作20第七章 课程设计总结21参 考 文 献22附录1:程序代码23附录2:原理图29第一章 设计的目的和要求1.1 设计的目的本次智能交通灯的控制系统设计是基于51单片机,通过本次课程设计,我们应该达到以下目的:1)掌握51系列单片机的基本硬件结构及工作原理;2)掌握51系列单片机的汇编语言及基本程序设计方法;3)学习并掌握使用51系列单片机开发控制系统的基本步骤及方法;4)掌握利用proteus和Keil软件进行整合实现系统的仿真。1.2 设计的基本要求1.2.1课程设计要求本次课程设计中要求能熟练运用51单片机实现硬件与软件结合完成电子产品的设计,把理论和实践充分结合起来,提高动手实践和创新能力。另要会用Keil软件编程调试运行程序,并结合Proteus软件画出原理图进行仿真。1.2.2 基本设计功能要求基本设计功能要求主要分为以下几个部分:(1) 传统交通灯自动定时控制交通灯用于控制行人和车辆依次通过十字路口。其设计要求如下:1) 首先车行道亮绿灯45s,同时人行道亮红45s;2) 45s后,车行道黄灯闪烁3次,亮、灭各1s,此时人行道仍维持红灯;3) 6s后,转为人行道亮绿灯20s,车行道亮红灯20s;4) 20s后,再转到第1)步,如此循环往复;5) 51系列单片机控制整个系统工作;6) 交通信号灯用LED代替;7) 用7段数码管显示定时时间。(2) 手动智能交通灯控制为了提高交通控制和疏导能力,在传统交通灯自动定时控制系统中增加了如下设计要求:1) 当人行道无人时(实验时用K1控制),此时立刻让车辆通过。2) 当有特殊车辆时(如救护车和警车,实验时用K2控制),优先让其通过,此时人行道和车行道均亮红灯15s;3) 当有人需要过马路时(实验时用K3控制),此时能立刻让人通过,之后转入自动定时控制;第二章 系统方案设计2.1 设计任务分析及方案设计本次课程设计,对于传统的交通灯定时控制系统主要涉及到的软件程序有定时延时程序,以及自动循环的无条件转移命令的使用。对于手动控制部分涉及中断程序的编写,中断加定时则可实现智能功能。如此,传统的交通灯自动定时系统加上中断控制(实验用按键控制)就可实现简单的智能交通灯控制系统,提高交通的疏导能力。2.2 硬件总体设计2.2.1 系统组成方案整个设计以AT89C51 单片机为核心,由晶振电路、复位电路、LED、数码管显示、特殊及紧急情况中断(按钮控制)组成。硬件设计方案如图2-1所示。 A T 8 9 C 5 1 单 片 机 晶 振 电 路 复位电路 中 断 系 统LED数码显示电路图2-1 硬件设计方案2.2.2 按钮、数码管显示功能的定义本次采用按钮模拟特殊及紧急情况的中断:K1代表人行道无人,车辆通行的特殊情况;K2代表紧急情况时(或者特殊车辆通行)人行道和车行道均禁止通行;K3代表人行道有人要过马路,车辆禁止通行情况。7段数码管的功能是以秒为单位倒计时显示通行(或禁止通行)所剩时间。2.3 软件总体设计2.3.1.存储单元的分配、标志位的定义存储单元的分配情况如表2-1所示。单元起始地址内容0000H主程序入口地址0003HINT0TINT中断服务程序入口地址000BHINT1TINT中断服务程序入口地址0013HT0TINT中断服务程序入口地址001BHT1TINT中断服务程序入口地址0300H主程序起始地址表2-1 存储单元分配程序编写中用到了51单片机的P3口的第二功能,其位的标志定义如表2-2所示。表2-2 P3口第二功能标识引脚口线第二功能符号第二功能名称10P3.0RXD串行数据接收11P3.1TXD串行数据发送12P3.2外部中断0申请13P3.3外部中断1申请14P3.4T0定时/计数器0的计数输入15P3.5T1定时/计数器1的计数输入16P3.6外部数据存储器写选通17P3.7外部数据存储器读选通2.3.2.主程序框图设南北车行道为A道,东西人行道为B道,主程序框图如图2-2所示。2.3.3 中断控制有关寄存器51子系列单片机有5个中断源,中断系统中有4个用于中断控制的寄存器TCON、SCON、IE、IP。TCON和SCON的相关标志位是便于系统了解每个中断源是否产生了中断请求,而IE用于控制中断的允许/禁止,IP用于定义中断是低优先级还是高优先级,从而使系统具有实现两级中断嵌套的功能。(1) 定时器控制寄存器TCON(Time controller)寄存器地址:88H,位地址88H8FH寄存器功能:用于保存外部中断请求以及定时器的计数溢出表3-3 TCON的格式位地址8FH8EH8DH8CH8BH8AH89H88H位符号TF1TR1TF0TR0IE1IT1IE0IT0A道有车?B道有车?A道有车?A道闪黄灯,B亮红灯延时6秒B道闪黄灯,A亮红灯延时6秒允许中断置A道通行标志延时0.5.秒R1-1=0?R3-1=0?B道有人?置B通行标志延时0.5秒B亮绿灯,A道亮红灯B道通行时间送R3开始YNYA道有车?B道有车?A道有车?A道闪黄灯,B亮红灯延时6秒B道闪黄灯,A亮红灯延时6秒允许中断置A道通行标志延时0.5.秒R1-1=0?R3-1=0?A道有人? 置B通行标志延时0.5秒B亮绿灯,A道亮红灯B道通行时间送R3开始开始A道通行时间送R1YYA道亮绿灯,B亮红灯NYN图2-2 主程序框图表3-4 TCON标志位功能说明位名称功能说明TF1计数溢出标志计数溢出时,硬件将其置1,转向中断后,硬件清0TR1定时器运行控制=1启动定时计数器=0启动定时计数器TF0计数溢出标志计数溢出时,硬件将其置1,转向中断后,硬件清0TR0定时器运行控制=1启动定时计数器=0启动定时计数器IE1外中断标志采样到INT1时硬件置1,中断响应完成后,自动清0IT1外中断请求触发方式控制位=1脉冲触发方式,后沿负跳有效=0电平触发方式,低电平有效IE0外中断标志采样到INT0时硬件置1,中断响应完成后,自动清0IT0外中断请求触发方式控制位=1脉冲触发方式,后沿负跳有效=0电平触发方式,低电平有效(2) 串行口控制器SCON(serial controller)寄存器地址:98H,位地址98H9FH表3-5 SCON的格式位地址9FH9EH9DH9CH9BH9AH99H98H位符号SM0SM1SM2RENTB8RB8TIRI表3-6 SCON各标志位的功能位名称功能SM0串口工作方式SM1串口工作方式SM2多机通讯控制位REN允许接受位TB8发送数据位RB8接受数据位TI串口发送中断请求标志单片机发送完串行数据时硬件置1,中断响应后硬件置0RI串口接受中断请求标志单片机接受完串行数据时硬件置1,中断响应后硬件置0(3) 中断允许控制寄存器IE(Interrupt Enable)寄存器地址:0A8H,位地址0A 8H0A FH表3-7 IE的格式位地址0AFH0AEH0ADH0ACH0ABH0AAH0A9H0A8H位符号EA/ESET1EX1ET0EX0表3-8 IE各标志位功能说明位名称功能说明EA中断允许总控制位=0禁止所有中断;=1允许中断/ES串行中断允许控制位=0禁止串行中断;=1允许串行中断ET1定时/计数允许控制位=0禁止定时/计数中断;=1允许定时/计数中断EX1外部中断允许控制位=0禁止外中断;=1允许外中断ET0定时/计数允许控制位=0禁止定时/计数中断;=1允许定时/计数中断EX0外部中断允许控制位=0禁止外中断;=1允许外中断(4) 中断优先控制器IP(interrupt priority)寄存器地址:0B8H,位地址0B8H0BFH功能:控制中断优先级别。表3-9 IP的格式位地址0BFHOBEH0BDH0BCH0BBH0BAH0B9H0B8H位名称/PSPT1PX1PT0PX0表3-10 IP各位标志功能位名称功能说明/PS串行中断优先级设定位=1优先级高;=0优先级低PT1定时中断1优先级设定位=1优先级高;=0优先级低PX1外部中断1优先级设定位=1优先级高;=0优先级低PT0定时中断0优先级设定位=1优先级高;=0优先级低PX0外部中断0优先级设定位=1优先级高;=0优先级低(5) 定时/计数器控制寄存器(1) 定时控制寄存器TCON,其格式如表3-3所示,表3-4是对其各个标志位的功能说明。(2) 工作方式控制寄存器TMOD不可位寻址,只可字节寻址表3-11 TMOD的格式位序D7D6D5D4D3D2D1D0位符号GATEC/M1M0GATEC/M1M0定时/计数器T1T0表3-12 TMOD位标志的功能位名称功能说明GATE门控位=0以运行控制位TR启动定时器=1以外部中断请求信号启动定时器C/定时/计数选择位=0定时工作方式;=1计数工作方式M1工作方式选择位M1M0=00 方式0,13位计数器M1M0=00 方式1,16位计数器M1M0=00 方式2,8位计数器M1M0=00 方式11,两个8位计数器M0第三章 主要元器件介绍整个硬件设计方案以AT89C51 单片机为核心,由晶振电路、复位电路、LED、数码管显示、特殊及紧急情况中断(按钮控制)组成。3.1 AT89C51单片机介绍3.1.1 AT89C51单片机简介AT89C51是MCS51系列单片机中的一种低功耗、高性能的片内含有4KB快闪可编程/擦除只读存储器的8位CMOS微控制器,使用高密度、非易失存储技术制造,并且与80C51引脚和指令系统完全兼容。 主要性能:与MCS-51 微控制器产品系列兼容。 片内有4KB可在线重复编程的快闪擦写存储器存储数据保存时间为10年。宽工作电压范围:Vcc可为2.7V到6V全静态工作;可从0Hz至16MHz 程序存储器具有3级加密保护 128*8位内部RAM 32条可编程I/O线、两个16位定时器/计数器、中断结构具有5个中断源和2个优先级、可编程全双工串行通道、空闲状态维持低功耗和掉电状态保存存储内容。89C51单片机是把那些作为控制应用所必需的基本内容都集成在一个尺寸有限的集成电路芯片上。如果按功能划分,它由如下功能部件组成,即微处理器、数据存储器、程序存储器、并行I/O口、串行口、定时器/计数器、中断系统及特殊功能寄存器。它们都是通过片内单一总线连接而成,其基本结构依旧是CPU加上外围芯片的传统结构模式。但对各种功能部件的控制是采用特殊功能寄存器的集中控制方式。微处理器、数据存储器、程序存储器、并行I/O口、串行口、定时器/计数器、中断系统各部分功能及说明类似于8051单片机内部结构说明。 特殊功能寄存器共有21个,用于对片内的各功能的部件进行管理、控制、监视。实际上是一些控制寄存器和状态寄存器,是一个具有特殊功能的RAM区。 由上可见, 89C51单片机的硬件结构具有功能部件种类全,功能强等特点。特别值得一提的是该单片机CPU中的位处理器,它实际上是一个完整的1位微计算机,这个1位微计算机有自己的CPU、位寄存器、I/O口和指令集。1位机在开关决策、逻辑电路仿真、过程控制方面非常有效;而8位机在数据采集,运算处理方面有明显的长处。MCS-51单片机中8位机和1位机的硬件资源复合在一起,二者相辅相承,它是单片机技术上的一个突破,这也是MCS-51单片机设计的精美之处。3.1.2 各引脚说明图3-1是AT89C51单片机芯片的引脚图。P00P07 P0口8位双向三态口线(在引脚的3932号端子)。P10P17 P1口8位准双向口线(在引脚的18号端子)。P20P27 P2口8位准双向口线(在引脚的2128号端子)。P30P37 P3口8位准双向口线(在引脚的1017号端子)。(1) P0口有三个功能: (a) 外部扩展存储器时,用作数据总线(如图中的D0D7为数据总线接口)(b) 外部扩展存储器时,用作低八位地址总线,需外接地址锁存器(如图中的A0A7为地址总线接口)。(c) 不扩展时,可做一般的I/O口使用。当作I/O口输出时需外接上拉电阻,当作I/O口输出时,需先将端口置1才可使用。图3-1 AT89C51引脚(2) P1口功能:P1口只做I/O口使用,其内部有上拉电阻不需外接上拉电阻,当作I/O口输出时,需先将端口置1才可使用。(3) P2口有两个功能:(a) 扩展外部存储器时,当作高八位地址总线使用;(b) 做一般I/O口使用,其内部有上拉电阻不需外接上拉电阻,当作I/O口输出时,需先将端口置1才可使用。(4) P3口有两个功能:(a) 作一般I/O口使用外(其内部有上拉电阻)不需外接上拉电阻,当作I/O口输出时,需先将端口置1才可使用。(b) 作为中断信号和外部数据存储器的读写选通控制信号。表2-2所示为P3口各引脚的第二功能。实际中,P3口的第二功能非常重要,只有在第二功能不用时,才用作I/O口。(5) (第30引脚):地址锁存允许/编程脉冲输入(a) 第一功能:在系统扩展时,ALE用于控制把P0口的输出低8位地址送锁存器锁存起来,以实现低位地址和数据的隔离;(b) 第二功能:为编程脉冲的输入端。(6) (第29引脚):外部程序存储器读选通信号,低电平有效。(7) (第31引脚):外部程序存储器地址允许输入/编程电源输入(a) 第一功能:用于选择访问的外部程序存储器,当接地时,只访问外部程序存储器,当接高电平时,先访问内部程序存储器再访问外部程序存储器;(b) 第二功能:当对单片机内部EPROM编程时,给此引脚施加25V的编程电源。(8) (第九引脚): 复位信号输入端/备用电源输入端(a) 第一功能:复位输入端,高电平有效。当输入的信号连续2个机器周期以上高电平时即为有效,用以完成单片机的复位初始化操作,当复位后程序计数器PC=0000H,即复位后将从程序存储器的0000H单元读取第一条指令码;(b) 第二功能:备用电源输入端,给内部RAM供电,以保证内部RAM数据不丢失。(9) XTAL1(第19引脚)和XTAL2(第18引脚) :外接晶振引脚。当使用芯片内部时钟时,此二引脚用于外接石英晶体和微调电容;当使用外部时钟时,用于接外部时钟脉冲信号。(10) VCC(第40引脚):电源端接+5V电压输入。(11) GND(第20引脚):接地端。3.2 共阴极7段数码管介绍LED显示器有共阴极和共阳极两种结构,本次课程设计用到的是共阴极7段数码,其外观如图3-2。在共阴极结构中,各段发光二极管的阴极连在一起,将此公共点接地,某一段发光二极管的阳极为高电平时,该段发光,其结构如图3-3所示。 图3-2 外观图 图3-3 共阴极结构图LED显示09某个字符时,则要求在adp送固定的字段码,如要使LED显示“0”,则要求a、b、c、d、e、f各引脚为高电平,g和dp为低电平,字段码为“3fh” ,如表3-1。表3-2所示是共阴极字符09七段码。表3-1 字符“0”的字段码段命dpgfedcba字符00111111表3-2 共阴极十六进制数段码表显示数值驱动代码03FH106H25BH34FH466H56DH67DH707H87FH96FH第四章 硬件电路设计硬件电路的设计主要包括晶振时钟电路设计、复位电路设计、中断按键输入电路设计、以及显示电路的设计。4.1 晶振电路 时钟电路用于产生MCS-51单片机工作时所必须的时钟控制信号。其内部电路在时钟信号控制下,严格地按时序执行指令进行工作。在执行指令时,CPU首先要到程序存储器中取出需要执行的指令操作码,然后译码,并由时序电路产生一系列控制信号去完成指令所规定操作。本设计采用12MHz晶振和两个22pF瓷片电容,图4-1所示他们构成一个稳定的自激振荡器。该电容的大小影响振荡器频率的高低、振荡器的稳定性和起振的快速性。图4-1 晶振电路4.2 复位电路复位电路的原理:单片机RST引脚接收到2US以上的电平信号,只要保证电容的充放电时间大于2US,即可实现复位,所以电路中的电容值是可以改变的。图4-2所示的复位电路的按键按下系统复位,是电容处于一个短路电路中,释放了所有的电能,电阻两端的电压增加引起的。图4-2 复位电路4.3中断电路中断电路是用来模拟特殊情况。如图4-3,按键K0为传统的自动定时控制;按键K1是人行道侧无人时车辆通行的情况;按键K2是发生紧急情况时,特种车(救护车、警车等)先通过;按键K3是当人行道侧有人需要过马路时按下按键则车辆禁止通行。图4-3 中断电路4.4 显示电路本次课程设计中用红、黄、绿的LED灯分别代替交通灯的红灯、黄灯、绿灯,用共阴极的7段数码管进行倒计时,如图4-4所示排列。图4-4 显示电路第五章 软件设计此简易智能交通灯的工作主要有:能够完成传统交通灯的自动定时功能,另在特殊情况下能够响应外部中断,进行相应的控制。软件设计主要涉及中断服务程序的编写,延时子程序和数码管显示程序。5.1 中断服务程序51子系列的单片机其内部共有5个中断源,2个外部中断和2个定时/计数中断,以及1个串行中断。本次软件设计用到了2外部中断和2个定时/计数中断。表5-1和5-2所示分别是其入口地址和信号引脚,图5-1是中断服务程序的框图(以紧急情况为例),程序清单见附录1。表5-1 中断入口地址中断入口地址段0003H000AH000BH0012HT00013H001AHT1001BH0022H表5-2 中断信号引脚中断信号输入引脚P3.2P3.3T0P3.4T1P3.55.2 延时子程序延时程序块是要生成一定的是时间延时,这在数码管显示模块中会用到,以满足足动态扫描时数码管的闪亮能产生视觉效果。延时是通过DJNZ循环产生延时,具体程序见附录1程序清单。5.3 数码管显示子程序数码管显示是通过查表(共阴极十六进制数段码表)将相应置1分别显示十位、个位,具体程序见附录1程序清单。A闪黄灯,B亮红灯开始A道通行?返回B闪黄灯,A亮红灯延时6秒A闪黄灯,B亮红灯A亮绿灯,B亮红灯B亮绿灯,B亮红灯A道放行?紧急通行?YNYYN图5-1 中断服务程序框图第六章 系统仿真及操作说明系统仿真是利用Keil编译软件和Proteus仿真软件相整合对智能交通灯系统进行仿真测试。6.1 Keil软件介绍Keil C51是美国Keil Software公司出品的51系列兼容单片机C语言软件开发系统,与汇编相比,C语言在功能上、结构性、可读性、可维护性上有明显的优势, Keil提供了包括C编译器、宏汇编、连接器、库管理和一个功能强大的仿真调试器等在内的完整开发方案,通过一个集成开发环境(Vision)将这些部分组合在一起。如果使用C语言编程,那么Keil几乎就是不二之选,即使不使用C语言而仅用汇编语言编程,其方便易用的集成环境、强大的软件仿真调试工具也会令你事半功倍。本次设计采用汇编语言编程,生成.hex文件以供装载到Protues中的单片机进行仿真。6.2 Proteus软件介绍Proteus是由英国Labcenter Electronics公司开发的EDA工具软件,现在使用非常广泛该软件具有原理布图、电路的分析与仿真等多项功能,可以对基于单片机的设计及连同所有的周围电子器件一起仿真。Proteus具有功能很强的ISIS 智能原理图输入系统及丰富的操作菜单与工具。在ISIS 编辑区中,能方便地完成单片机系统的硬件设计、软件设计、单片机源代码级调试和仿真。它是一种混合电路的仿真工具,能对模拟电路、数字电路、单片机及其外围电路进行动态仿真。6.3 Proteus和Keil整合Proteus软件支持微处理器的仿真,并能与Keil进行协同调试。整个过程与真实的硬件调试极其相似。Proteus与Keil软件整合过程就是建立一个软硬件联合仿真系统的过程,Keil与Proteus的整合调试可以实现系统的总调。在该系统中,Keil作为软件调试界面,Proteus作为硬件仿真和调试界面 。Proteus和Keil软件构建单片机仿真环境时,经常用以下2种方法:1) Keil与Proteus离线联合使用;2) Keil与Proteus在线联合仿真调试。本次课程设计中采用的是第一种Keil与Proteus离线联合使用的方法实现交通灯控制系统的仿真。首先通过Keil编辑、修改、编译源程序并生成HEX文件,其次运行Proteus,将HEX文件与原理图中的单片机进行绑定即可完成仿真成功。6.4 仿真结果及操作通过Proteus软件对系统硬件设计和软件设计结合仿真,汇编程序代码通过Keil编辑、编译后生成HEX文件,然后通过点击单片机加载程序,实现硬件与程序的结合仿真,各仿真结果如下:(1) 正常工作状态:1) 南北车行道亮绿灯45s,同时东西人行道亮红灯,如图6-1-1所示。2) 45s后,车行道黄灯闪烁3次,亮灭各1s,人行道仍然维持红灯,如图6-1-2所示。3) 6s后,车行道红灯亮20s,人行道绿灯亮,如图6-1-3所示。图6-1-1 车行道亮红灯,人行道绿灯图6-1-2 车行道黄灯闪烁,人行道任亮绿灯图6-1-3 车行道红灯亮,人行道绿灯亮(2) 特殊情况的中断1) 按下按键K1,无人过马路车辆通行,交通灯情况如图6-2所示。图6-2-1 无人过马路,车辆通行2) 按下按键K2,出现紧急情况,人行道和车行道均亮红灯禁止通行,如图6-3模拟状态。紧急情况处理之后,又自动切换回自动控制功能。图6-2-2 紧急情况禁止通行3) 按下按键K3,此时有人需要过马路,车辆禁止通行,如图6-2-3所示。当行人通过马路后,又自动切换回自动控制功能图6-2-3 有人通行,车辆禁止通行6.5 PCB板制作Proteus除了具有强大的电路仿真功能,还有实用的PCB设计平台。其具有先进的自动布局/布线功能、完整的PCB设计功能、多种输出格式的支持。本次课程设计的器件中由于按键和7段数码管在proteus中的PCB板中不输出,考虑到数码显示管一般插入实验面板,所以在本次课程设计中用插针代替了按键和7段数码管制作PCB板。Proteus虽具有先进的布局/布线功能,但布置出的线路存在多种问题,不如手工布线好。PCB的制作是自己手动布线,图6-2所示为PCB的面板图。图6-2 PCB面板图第7章 课程设计总结本次课程设计的优点有:1) 正常情况下能够自动定时控制人流和车流的通行;2) 紧急情况时能够优先特殊车辆的通行;3) 对于人少地广的地方可以实现行人手动控制,在无人时一直允许车辆通行,能够有效提高交通疏导能力。设计中存在的不足有:1) 本次课程设计中只着眼于交通灯的控制功能的实现,没有考虑到能耗和按键产生的抖动的问题;2) 由于延时程序使得数码管显示开始有虚影;3) 初次在Proteus中手工布线,比较不整洁,面板面积比较大,耗费材料。课程设计中遇到的问题主要有以下几方面:1) 在Proteus中绘制仿真原理图时部分元器件查找困难,不过通过百度和读参考文章可以立即解决;2) 在用Keil进行程序的编译时出现众多错误,有标号和关键字重复,存储单元重叠,以及程序功能实现(黄灯闪烁3次倒计时6秒)的错误,最后通过不断调试能够实现相应的功能;3) 在PCB的制作过程中,遇到部分元器件没有对应的封装,不过好在其都可以用对应的插针代替,最后元器件可以通过导线和相应的元件插入对应的电路面板,另外所有元件都要进行编号,电源和接地也要相应赋名才能够将所有元件导入PCB中。通过本次课程设计,我进一步了解了单片机控制功能强,扩展灵活的优点,并将课堂上学到的理论知识和实践结合起来,模拟出实际产品的原理。在整个课设过程中,我遇到了各种各样的小问题,尤其是软件的使用和程序的调试以及PCB板的制作,最后都通过百度,查资料,看学习视频以及向周围同学请教等方式得到相应的解决。因此在整个课设中,除了加强了我对单片机相应知识的理解和掌握外,收获最大的就是锻炼了自己发现问题和通过各种途径解决问题的能力。另外,课程设计也训练了自己的定力和耐力,课设过程中遇到的问题需要时间和耐心慢慢排查相应错误。课程设计是将理论知识用于实践的重要环节,也是我们所学专业和将来的社会工作联系紧密的环节,自己能够在参照他人成果的基础上独立做出实现自己所需功能的小型单片机控制系统,这个过程给了自己对于所学专业以及自己能够学习好本专业的信心。参 考 文 献1 郭文川.MCS-51单片机原理、接口及应用.电子工业出版社.2013.12 侍金凤.基于51单片机的交通灯智能控制系统J.科技信息.2010(35):4853 许景辉.单片机原理及应用课程设计指导书.西北农林科技大学出版社.2011.124 独立网页(无作者名).链接:/link?url=iQmJu2w_O6HIvMy8i9d3yCFT3329pW-d2g0OCNc4FlnbPg_thH4cQL7tNJHRRLQjoF0GrbheNpH32yJWbhjI9q5 独立网页(无作者名).链接:/link?url=jjNjoE2vimbRH1QonWeeMvnVUcgmRKUmxgD79-RdRNdMoH1mpOY8qUFjFnNnS9P0CGctTDQ8vk0IepYd17ttdq6 蒋辉平,周国雄.基于Proteus的单片机系统设计与仿真实例M.北京:机械工业出版社,2009:1-10.7 孙凌燕,黄允千.Proteus与Keil软件的整合在单片机实验开发中的应用J.实验室研究与探索,2008,27(4):59-61.8 郭海丽.基于Proteus与单片机的交通灯控制系统的设计.衡水学院学报.2012:4-14 附录1:程序代码 ORG 0000H AJMP MAIN ORG 0003H LJMP INT0INT ; 跳到设定时间中断服务程序 ORG 000BH LJMP INT1INT ;跳到南北有车东西无人中断服务程序 ORG 0013H LJMP T0INT ; 跳到跳到特种车辆自动服务程序 ORG 001BH LJMP T1INT ; 跳到东西有人南北无车中断服务程序 ;数字显示段码 ORG 0100H TAB: DB 3FH,6H,5BH,4FH,66H,6DH,7DH,7H,7FH,6FH;主程序 ORG 0300H MAIN: MOV 25H,#45 ; 南北通行时间初始值,存到25H单元 MOV 26H,#20 ; 东西通行时间初始值,存到26H单元 MOV SP,#40H ; 堆栈选址 CLR P3.0 ; MOV TMOD,#66H ; T0、T1都计数方式,工作模式2 ,启动方式TRi确定 MOV TL0,#255 ; 计数器0初值 低8位 MOV TH0,#0 ; 计数器0初值高8位 MOV TL1,#255 ; 计数器1初值 低8位 MOV TH1,#0 ; 计数器1初值高8位 SETB IT0 ; 外部中断一边沿触发 SETB IT1 ; 外部中断二边沿触发 MOV IE,#8FH ; 开中断 SETB TR0 ; T0开始计数 SETB TR1 ; T1 开始计数; 南北绿灯东西红灯 NBLD: CLR P3.0 ; MOV R1,25H ; 南北通行时间45秒(25h)=45,(NBLD即东西绿灯) NBLD1: MOV P2,#1EH ; 点亮南北绿灯东西红灯 MOV 20H,R1 ; 为南北方向显示时间做准备 MOV A,R1 ; ADD A,#6 ; MOV 21H,A ; 为东西方向显示时间做准备 LCALL DISP1 ; 显示通行所剩时间,其中有0.5秒延时 LCALL DISP1 ; 再次显示以便数码管不闪,且再延时0.4秒以便凑够一秒 DJNZ R1,NBLD1 ; 判断45秒是否已完,若未完则从新显示、延时;南北黄灯闪东西红灯ShanHD: MOV R2,#6 ; 黄灯闪亮6秒 MOV P2,#1DH ; 点亮黄灯 HD: MOV 22H,R2 ; 为显示时间做准备 LCALL DISP2 ; 黄灯闪亮剩时显示 ,其中延时1秒 CPL P2.1 ; 熄灭黄灯 DJNZ R2,HD ; 判断6秒是否已完,若未完则从新闪灭、延时和显示;南北红灯东西绿灯 DXLD: CLR P3.0 ; MOV R3,26H ; 东西通行20秒 (26H)=20, (DXLD即东西绿灯) DXLD1: MOV P2,#33H ; 点亮南北红灯东西绿灯 MOV 24H,R3 ; 为东西方向显示时间做准备 MOV A,R3 ; ADD A,#6 ; MOV 23H,A ; 为南北方向显示时间做准备 LCALL DISP3 ; 时间显示 ,其中有1秒延时 LCALL DISP3 ; 凑够1秒时间 DJNZ R3,DXLD1 ; 判断20秒是否已完;南北红灯东西黄灯闪ShanHD1: MOV R2,#6 ; 转入黄灯闪亮6秒 MOV P2,#2BH ; 点亮南北红灯东西黄灯 HD1: MOV 22H,R2 ; 为显示做准备 LCALL DISP2 ; 显示时间,并延时1秒 CPL P2.4 ; 点亮南北红灯关闭东西黄灯 DJNZ R2,HD1 ; 判断6秒是否到,若未到继续闪灭东西黄灯 AJMP NBLD;特种车辆通过Tezhong: MOV P2,#1BH ; 点亮东西南北红灯 SETB P3.0 ; MOV R4,#15 ; 特殊车辆通过时间15秒 QHD: MOV 27H,R4 ; 为显示做准备 LCALL DISP4 ; 显示时间 DJNZ R4,QHD ; 判断15秒是否到,若不到继续显示时间 CLR p3.0 ; AJMP NBLD ; 主程序到此完 ;延时程序 DELAY: ACALL DELAY1 ; 10ms延时 ACALL DELAY1 RET DELAY1: MOV R6,#50 ; 5ms延时 ,(5ms=50*50*2us) DE6: MOV R0,#50 DE7: DJNZ R0,DE7 DJNZ R6,DE6 RET;南北通行的时间显示子程序 DISP1: MOV P0,#0 ; 熄灭数码管 MOV R7,#25 ; 以下调用四次5毫秒延时程序,故25*4*5毫秒=0.5秒 RP1: MOV A,20H ; 南北方向要显示的时间移到寄存器A MOV DPTR,#TAB ; 要显示的数字代码表首地址 MOV B,#10 DIV AB ; 要显示的时间与10相除,求出十位和个位 MOVC A,A+DPTR ; 找到十位的显示代码 MOV P1,#00001110B; 选择南北数码管十位片 MOV P0,A ; 送出十位显示代码 LCALL DELAY1 ; 延时5ms以点亮数码管 MOV A,B ; 把个位数移到寄存器A MOVC A,A+DPTR ; 找到个位数显示代码 MOV P1,#00001101B ; 选择南北数码管个位片 MOV P0,A ; 送出个位数显示代码 LCALL DELAY1 ; 延时5ms以点亮数码管 MOV A,21H ; 东西方向要显示的时间移到寄存器A MOV DPTR,#TAB ; 要显示的数字代码表首地址 MOV B,#10 DIV AB ; 要显示的时间与10相除,求出十位和个位 MOVC A,A+DPTR ; 找到十位的显示代码 MOV P1,#00001011B; 选择东西数码管的十位片 MOV P0,A ; 送出十位显示代码 LCALL DELAY1 ; 延时5ms以点亮数码管 MOV A,B ; 把个位数移到寄存器A MOVC A,A+DPTR ; 找到个位的显示代码 MOV P1,#00000111B ; 选择东西数码管的个位片 MOV P0,A ; 送出个位显示码 LCALL DELAY1 DJNZ R7,RP1 ; 是否已循环2

温馨提示

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

评论

0/150

提交评论