当前位置:文档之家› 单片机的交通灯设计毕业论文

单片机的交通灯设计毕业论文

【摘要】

交通在人们的日常生活中占有重要的地位,随着人们社会活动的日益频繁,这点更是体现的淋漓尽致。交通信号灯的出现,使交通得以有效管制,对于疏导交通流量、提高道路通行能力,减少交通事故有明显效果。本系统采用单片机AT89C51为中心器件来设计交通灯控制器,系统实用性强、操作简单、扩展性强。本设计就是采用单片机模拟十字路口交通灯的各种状态显示以及倒计时时间。软件上采用C51编程,主要编写了主程序,LED数码管显示程序,中断程序延时程序等。经过整机调试,实现了对十字路口交通灯的模拟。

关键词:显示,单片机,交通灯

Abstract:Traffic in People's Daily life has important position, as people of social activities have become increasingly frequent, this is reflected the incisively and vividly. The emergence of the traffic lights, traffic is effectively controlled, for facilitating traffic flow, improve road capacity, reduce traffic accidents have obvious effect. The system USES AT89C51 single chip for center device to designing traffic light controller, system practical, simple operation and expandability. This design is simulated by single chip microcomputer intersection traffic lights to the various states display, and the countdown time.

Software is used on C51 programming, mainly to write the main program, LED digital tube show program, interruption program delay procedures, etc. After the commissioning, realize the intersection of traffic simulation.

KEYWORDS: Traffic Control, Single Chip Microcomputer , 80C51

目录

前言 (1)

1交通灯设计方案的选择与论证 (2)

1.1设计任务及要求论证 (2)

1.1.1任务: (2)

1.1.2方案选择与论证 (2)

1.2设计主要内容及设计思路 (3)

1.3方案组成和说明 (4)

1.4AT89C51简介 (5)

1.5两位七段式数码管 (8)

1.5.1两位七段式数码管介绍: (8)

2 系统硬件设计与实现 (9)

2.1简易交通灯基本组成部分 (9)

2.2时钟电路设计 (9)

2.3复位电路设计 (10)

2.4按键接口电路设计 (10)

2.5交通灯状态显示电路的设计 (11)

2.5.1 LED基本结构 (12)

2.5.2 LED译码方式 (13)

2.5.3 LED显示器与单片机接口设计 (13)

3 系统软件设计 (14)

3.1程序流图 (14)

4 系统调试 (16)

4.1硬件调试 (16)

4.2软件调试 (16)

4.3P ROTEUS软件仿真 (16)

4.3.1 仿真过程 (17)

5毕业设计体会 (19)

5.1心得体会 (19)

结束语 (20)

文献 (21)

附录一:交通灯硬件电路 (22)

附录二:源程序 (23)

附录三:元器件清单及使用说明 (29)

前言

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

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

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

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

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

随着经济的发展,交通运输中出现了一些传统方法难以解决的问题。道路拥挤现象日趋严重,造成的经济损失越来越大,并一直保持大比例的增长。由于生活水平的提高,人们对交通运输的安全性及服务水平提出了更高的要求。在交通中管理引入单片机交通灯控制代替交管人员在交叉路口服务,有助于提高交通运输的安全性、提高交通管理的服务质量。并在一定程度上尽可能的降低由道路拥挤造成的经济损失,同时也减小了工作人员的劳动强度。

中国车辆数量不断增加,交通控制在未来的交通管理中起着越来越重要的作用。

1交通灯设计方案的选择与论证

1.1 设计任务及要求论证

1.1.1任务:

本设计系统是基于单片机的模拟交通灯控制系统,具有一定的实际意义。本课题的目的是以单片机为核心,通过LED数码管显示和LED灯完成了十字路口的工作状态的模拟,并且通过按键有效的控制等待时间的长短。其运行可靠,操作方便,适用性强,可以广泛应用于城市路口,具有较大的推广价值。设计好后通过PROTUES软件仿真,并调试。

1.1.2方案选择与论证

交通灯控制系统,可由多种电路来构成,我们这里提供三种方案供选择:方案一:采用可编程控制器,可编程控制器又称PLC是一种数字运算操作的电子系统,专为在工业环境下的应用而设计。它采用可编程的存储器,存储执行逻辑运算、顺序控制、定时、计数和算术运算等操作的面向用户的指令,并能通过数字或模拟输入输出模块,控制各种类型的机械或生产过程。PLC控制一般具有可靠性高、易操作、维修、编程简单、灵活性强等特点。

PLC的主要特点:

1)可靠性:对维修的产品,可靠性包括产品的有效性和可维修性;

2)易操作性:对PLC的操作包括程序输入和更改的操作。大多数PLC采用编程器进行输入和更改的操作。编程器至少提供了输入信息的显示,对大中型的PLC,编程器采用了CRT屏幕显示,因此,程序的输入直接可以显示。更改程序的操作也可以直接根据所需要的地址编号或接点号进行搜索或顺序寻找,然后进行更改。更改的信息可在液晶屏或CRT上显示。

3)编程方便。PLC有多种程序设计语言可供使用。

4)灵活性:PLC采用的编程语言有梯形图,布尔助记符、功能表图、功能模块和语句描述编程语言编程方法的多样性使编程方便,应用面拓展。扩展灵活性是它的一个重要特点。它可根据应用的规模不同,即可进行容量的扩展、功能的扩展、应用和控制范围的扩展。

但是PLC的价格过于昂贵,不易拓展和升级,无法实现大众化,所以控制系统将向单片机控制系统逐渐过度。

方案二:采用FPGA(现场可编程门阵列)作为系统的控制器。FPGA可以实现各种复杂的逻辑功能,规模大,密度高,它将所以器件集中在一块芯片上,减小了体积,提高了稳定性,并且可一应用EDA软件仿真、调试,易于进行功

能扩展。FPGA采用并行的输入输出方式,提高了系统的处理速度,适合作为大规模实时系统的控制核心。但由于本设计对数据处理的速度要求不高,FPGA的高速处理优势得不到充分体现,并且由于起集成度高,使其成本偏高,同时由于芯片的引脚较多,实物硬件电路板布线复杂,加重了电路设计和实际焊接的工作。

方案三:采用单片机编程控制的方式。随着大规模集成电路技术的发展,微型计算机也在不断的进步,而其中就包含单片机技术。单片机主要应用于控制领域,用以实现各种测试和控制功能。

单片机的特点:

1)控制系统在线作用。单片机的控制作用可分为两个方面:一是离线控制,

二是在线控制。

2)软硬件结合。单片机的引入使控制系统大大“软化”,相比其他计算机应

用问题,单片机控制应用中的硬件内容较多,所以单片机控制应用有软硬结合的特点。

3)应用现场环境恶劣。通常单片机应用现场的环境比较恶劣,电磁干扰、电

源波动、冲击振动、高低温等因素都会影响系统的工作的稳定。此外,无人值守的环境也会对单片机系统的稳定性和可靠性提出更高的要求。所以稳定和可靠在单片机的应用中具有格外重要的意义。

4)应用的广泛性。在生活和生产的各个领域中,凡是有自动控制要求的地方

都会有单片机的身影出现。其应用领域包括工业自动化方面、仪器仪表方面、家用电器方面、信息和通信产品方面以及军事装备方面。

5)综上所述,单片机的稳定性,可靠性都有着很好的保证,它也具有一定的

精度,且低电压、低功耗。从经济方面考虑,也最为合适。所以此次设计选用单片机为核心控制器。在本系统的开发和设计中,选择ATMEL 公司的AT89C52单片机最合适。

1.2 设计主要内容及设计思路

内容:

1)单片机基本系统电路设计;

2)显示、按键电路设计;

3)软件设计;

4)Proteus professional软件的模拟仿真;

设计思路:

交叉字路口是城市交通运输的咽喉,如何使各种交通流顺畅地通过是城市交通信号控制系统成功与否的关键。随着现代城市的发展,交通流量的增加,

现在的大中城市都以六车道居多,本方案即以六车道为控制对象,其结构如图2-1所示:

图1-1 交叉路口结构图

本设计主要是关于交通灯的智能控制,车辆行驶时共有直行、左转、右转三个方向,通过数码管对倒计时间的显示和红、绿、黄三色灯的指示,以达到交通顺畅通行的目的。同时,可以通过按键来控制倒计时的长短,实现智能控制人流高峰和低谷时,交通灯运行的状态。

1.3 方案组成和说明

单片机模块是整个系统的核心部分,在这样一个模拟交通灯系统中,需要有时钟电路模块提供基准震荡频率以及单片机基本系统、指示电路、显示电路、键盘电路、电源电路、下载线电路设计。系统基本原理方框图如图1-2所示:

图1-2系统基本原理方框图

由上总体方框图可以看到此次设计硬件电路有六大部分所构成,围绕以主控部分发挥各自的功能。只有这几部分有机结合才可以很好的实现本次设计的目的。

1.4 AT89C51简介

AT89C51是一种带4K字节闪烁可编程可

擦除只读存储器(FPEROM—Falsh

Programmable and Erasable Read Only

Memory)的低电压,高性能CMOS8位微处理

器, ATMEL的AT89C51是一种高效微控制器,

AT89C51是它的一种精简版本。AT89C51单片

机为很多嵌入式控制系统提供了一种灵活性

高且价廉的方案。外形及引脚排列如1-2所

示。图1-3 AT89C51引脚排列图

1、管脚说明:

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)这是由于上拉的缘故。

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

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:来自反向振荡器的输出。

2、振荡器特性:

XTAL1和XTAL2分别为反向放大器的输入和输出。该反向放大器可以配置为片内振荡器。石晶振荡和陶瓷振荡均可采用。如采用外部时钟源驱动器件,XTAL2应不接。有余输入至内部时钟信号要通过一个二分频触发器,因此对外部时钟信号的脉宽无任何要求,但必须保证脉冲的高低电平要求的宽度。

3、芯片擦除:

整个PEROM阵列和三个锁定位的电擦除可通过正确的控制信号组合,并保持ALE管脚处于低电平10ms 来完成。在芯片擦操作中,代码阵列全被写“1”且在任何非空存储字节被重复编程以前,该操作必须被执行。

4、串口通讯

串口通信需要用到那些特殊功能寄存器是SCON,TCON,TMOD,SCON等。

SBUF 数据缓冲寄存器这是一个可以直接寻址的串行口专用寄存器。实际上SBUF 包含了两个独立的寄存器,一个是发送寄存,另一个是接收寄存器,但它们都共同使用同一个寻址地址-99H。CPU 在读SBUF 时会指到接收寄存器,在写时会指到发送寄存器,而且接收寄存器是双缓冲寄存器,这样可以避免接收中断没有及时的被响应,数据没有被取走,下一帧数据已到来,而造成的数据重叠问题。发送器则不需要用到双缓冲,一般情况下我们在写发送程序时也不必用到发送中断去外理发送数据。

SCON 串行口控制寄存器通常在芯片或设备中为了监视或控制接口状态,都会引用到接口控制寄存器。SCON 就是51 芯片的串行口控制寄存器。它的寻址地址是98H,是一个可以位寻址的寄存器,作用就是监视和控制51 芯片串行口的工作状态。51 芯片的串口可以工作在几个不同的工作模式下,其工作模式的设置就是使用SCON 寄存器。它的各个位的具体定义如下:

SM0 SM1 SM2 REN TB8 RB8 TI RI

SM0、SM1 为串行口工作模式设置位,这样两位可以对应进行四种模式的设置。串行口工作模式设置如表1-1所示:

表1-1 串行口工作模式设置

在这里只说明最常用的模式1,其它的模式也就一一略过。表中的fosc 代表振荡器的频率,也就是晶振的频率。UAR为(Universal Asynchronous Receiver)的英文缩写。

RE为允许接收位,REM 置1时串口允许接收,置0时禁止接收。REM是由软件置位或清零。如果在一个电路中接收和发送引脚P3.0,P3.1 都和上位机相连,在软件上有串口中断处理程序,当要求在处理某个子程序时不允许串口被上位机来的控制字符产生中断,那么可以在这个子程序的开始处加入REM=0 来禁止接收,在子程序结束处加入REM=1 再次打开串口接收。

TB8 发送数据位8,在模式2 和3 是要发送的第9 位。该位可以用软件根据需要置位或清除,通常这位在通信协议中做奇偶位,在多处理机通信中这一位则用于表示是地址帧还是数据帧。

RB8 接收数据位8,在模式2 和3 是已接收数据的第9 位。该位可能是奇偶位,地址/数据标识位。在模式0 中,RB8 为保留位没有被使用。在模式1 中,当SM2=0,RB8 是已接收数据的停止位。

TI 发送中断标识位。在模式0,发送完第8 位数据时,由硬件置位。其它模式中则是在发送停止位之初,由硬件置位。TI 置位后,申请中断,CPU 响应中断后,发送下一帧数据。在任何模式下,TI 都必须由软件来清除,也就是说在数据写入到SBUF 后,硬件发送数据,中断响应(如中断打开),这时TI=1,表明发送已完成,TI不会由硬件清除,所以这时必须用软件对其清零。

RI 接收中断标识位。在模式0,接收第8 位结束时,由硬件置位。其它模式中则是在接收停止位的半中间,由硬件置位。RI=1,申请中断,要求CPU 取走数据。但在模式1 中,SM2=1时,当未收到有效的停止位,则不会对RI 置位。同样RI 也必须要靠软件清除。常用的串口模式1 是传输10 个位的,1 位起始位为0,8 位数据位,低位在先,1 位停止位为1。它的波特率是可变的,其速率是取决于定时器1 或定时器2 的定时值(溢出速率)。

1.5两位七段式数码管

1.5.1两位七段式数码管介绍:

两位七段式数码管其实就是将两个一位八段式数码接相应的电路组合在一起。并引出两控制端 1和2,同过其电平的高低来控制两个数码管的高低位工作。其中两个数码管的八个端子A,B,C,D,E,F,G,DP为公共所用。(其图形如图1-6所示)

2 系统硬件设计与实现

2.1简易交通灯基本组成部分

简易交通灯主要是由复位电路、时钟电路、键盘电路、显示电路、LED 指示电路这几部分组成。

此系统核心元件为单片机AT89C51,对其编写相关程序来控制交通信号灯和数码管的时间显示。系统共采用12个发光二极管来模拟各路交通信号灯,2个LED七段数码管以倒计时的方式显示各个方向上允许通行或禁止通行的信号灯剩余的时间。停25S,准备5S,之后通行20S,在东西和南北两个方向上这两种状态不断循环。源程序采用C语言编写,并通过keil软件进行编译,最后倒入AT89C51单片机中,运行系统。设计好后通过PROTUES软件仿真,并调试。

2.2时钟电路设计

AT89C51内置最高频率达12MHz的时钟电路,用于产生整个单片机运行的脉冲时序但AT89C51单片机需外置振荡电容。

由上可见,AT89C51单片机的硬件结构具有功能部件种类全,功能强等特点。特别值得一提的是该单片机CPU中的位处理器,它实际上是一个完整的1位微计算机,这个一位微计算机有自己的CPU、位寄存器、I/O口和指令集。1位机在开关决策、逻辑电路仿真、过程控制方面非常有效;而8位机在数据采集,运算处理方面有明显的长处。MCS-51单片机中8位机和1位机的硬件资源复合在一起,二者相辅相承,它是单片机技术上的一个突破,这也是MCS-51单片机在设计的精美之处。

单片机的时钟信号用来提供单片机片内各种微操作的时间基准,时钟信号通常用两种电路形式得到:内部振荡和外部振荡。MCS-51单片机内部有一个用于构成振荡器的高增益反向放大器,引脚XTALl和XTAL2分别是此放大电器的输入端和输出端,由于采用内部方式时,电路简单,所得的时钟信号比较稳定,实际使用中常采用这种方式,如图2-1所示在其外接晶体振荡器(简称晶振)或陶瓷谐振器就构成了内部振荡方式,片内高增益反向

放大器与作为反馈元件的片外石英晶体或陶瓷谐振

器一起可构成一个自激振荡器并产生振荡时钟脉冲。

图2-1中外接晶体以及电容C2和C1构成并联谐振电

路,它们起稳定振荡频率、快速起振的作用,其值为

30P左右,晶振频率选12MHz。图2-1 时钟电路

2.3 复位电路设计

AT89C51的上电复位电路如下图2-2所示,只要在RST复位输入引脚上接一电容至Vcc端,下接一个电阻到地即可。对于CMOS型单片机,由于在RST端内部有一个下拉电阻,故可将外部电阻去掉,而将外接电容减至1uF。上电复位的工作过程是在加电时,复位电路通过电容加给RST端一个短暂的高电平信号,此高电平信号随着Vcc对电容的充电过程而逐渐回落,即RST端的高电平持续时间取决于电容的充电时间。为了保证系统能够可靠地复位,RST端的高电平信号必须维持足够长的时间。上电时,Vcc 的上升时间约为10ms,而振荡器的起振时间取决于振荡频率,如晶振频率为10MHz,起振时间为1ms;晶振频率为1MHz,起振时间则为10ms。在图2的复位电路中,当Vcc掉电时,必然会使RST端电压迅速下降到0V以下,但是,由于内部电路的限制作用,这个负电

压将不会对器件产生损害。

在复位期间,端口引脚处于随机状态,

复位后,系统将端口置为全“l”态。如果

系统在上电时得不到有效的复位,则程序计

数器PC将得不到一个合适的初值,因此,

CPU可能会从一个未被定义的位置开始执行图2-2 AT89C51复位电路

程序。

2.4 按键接口电路设计

单片机使用的键盘分为独立式和矩阵式两种。

方案一:矩阵式键盘适用于按键数量较多的场合,它有行线和列线组成,按键位于行、列的交叉点上。行、列线分别连接到按键开关的两端,而有键按下时,行线电平状态将由与此行线相连的列线电平决定,列线电平如果为低,则行线电平为低;反之,则为高。这一点是识别矩阵键盘按键是否被按下的关键。矩阵式键盘各按键彼此将相互发生影响,所以必须将行、列线信号配合起来并作适当的处理,才能确定闭合键的位置。

方案二:矩阵式键盘也称行列式键盘,因为键的数目较多,所以键按行列组成矩阵。独立式键盘就是各按键相互独立,每个按键各接一根输入线,一根输入线上的按键工作状态不会影响其他输入线上的工作状态。因次,通过检测输入线的电平状态可以很容易的判断哪个按键被按下了独立式按键电路配置灵活,软件结构简单。

但每个按键需占用一根输入口线,此种按键电路适用于按键较少或操作速度教

高的场合独立式实际上就是一组相互独

立的按键,这些按键可直接与单片机的

I/O口连接,连接方法就是每个按键独立

一条口线,各按键之间状态不会影响且接

口简单。

考虑到这个控制器中,设定的按键不

多,为了使系统简单明了,在这里选择独

立式按键。如图2-3所示,图2-3 独立的按键电路连接图

2.5 交通灯状态显示电路的设计

十字路口的交通灯分布示意图如图2-4所示,将这12个交通灯进行编号。

图2-4 十字路口交通灯分布示意图

这12个交通灯共有四个状态:

状态1(S1):东西红灯(4、10)亮,南北绿灯(3、9)亮

状态2(S2):南北黄灯(2、8)亮,东西仍为红灯(4、10)亮

状态3(S3):南北红灯(1、7)亮,东西绿灯(6、12)亮

状态4(S4):东西黄灯(5、11)亮,南北仍为红灯(1、7)亮

对应的硬件原理设计图如图2-5所示:

图2-5 交通灯状态显示电路

2.5.1 LED 基本结构

LED 是发光二极管显示器的缩写。LED 由于结构简单、价格便宜、与单片机接口方便等优点而得到广泛应用。LED 显示器是由若干个发光二极管组成显示字段的显示器件。在单片机中使用最多的是七段数码显示器。LED 七段数码显示器由8个发光二极管组成显示字段,其中7个长条形的发光二极管排列成“日”字形,另一个圆点形的发光二极管在显示器的右下角作为显示小数点用,其通过不同的组合可用来显示各种数字。LED 引脚排列如上图2-5所示。

图2-5 LED 管脚排列

2.5.2 LED译码方式

译码方式是指由显示字符转换得到对应的字段表2-1 共阴极字段码表

方式有硬件译码和软件译码方式两种。

硬件译码是指利用专门的硬件电路来实现显

示字符码的转换。

软件译码就是编写软件译码程序,通过译码

程序来得到要显示的字符的字段码,译码程序通

常为查表程序。

本设计系统中为了简化硬件线路设计,LED

译码采用软件编程来实现。由于本设计采用的是

共阴极LED,其对应的字符和字段码如表2-1所

示。

2.5.3 LED显示器与单片机接口设计

由于单片机的并行口不能直接驱动LED显示器,所以,在一般情况下,必须采用专用的驱动电路芯片,使之产生足够大的电流,显示器才能正常工作[7]。如果驱动电路能力差,即负载能力不够时,显示器亮度就低,而且驱动电路长期在超负荷下运行容易损坏,因此,LED显示器的驱动电路设计是一个非常重要的问题。

为了简化数字式直流电压表的电路设计,在LED驱动电路的设计上,可以利用单片机P0口上外接的上拉电阻来实现,即将LED的A-G段显示引脚和DP 小数点显示引脚并联到P0口与上拉电阻之间,这样,就可以加大P0口作为输

出口德驱动能力,使得LED能按照正常的亮度显示出数字,如图2-7所示。

图2-7 LED数码管与单片机接口电路

3 系统软件设计

3.1 程序流图

软件部分采用模块化程序设计的方法,由单片机控制主程序、数码管显示组成。系统软件设计是在KeilC编译环境下进行的,由于C语言程序可移植性好,所以提高了编程的效率。软件程序流程图如图3-1、3-2所示。

图 3-1 主程序流程

图3-2 主程序流程图

4 系统调试

4.1硬件调试

模拟程序调试

先编写一个简单无误的程序,写入AT89C51芯片,检查数码管是否可以正常显示,如果不能正常显示,则一一进行排查。如果能正常显示,则说明整体电路没有问题,可以进行软件调试。

4.2软件调试

当硬件调试完毕后,可进行软件调试。首先编写程序,检查程序编写是否正确,当程序编写无误后再将程序写入AT89C51芯片,观察电路有效果出来。如无法正常显示,可能是程序编写错误,继续改正。如果检查程序无误,但是结果显示还是不正确,则有可能是原件损坏。将程序进行编译后,打开AT89C51单片机的元件属性编辑对话框,如图4-1所示。在PROGRAM FILE中,单击文件夹图标,选择“程序RB.hex”文件后,即可对系统进行仿真。

图4-1 AT89C51属性对话框

4.3 Proteus软件仿真

Proteus7.2是目前最好的模拟单片机外围器件的工具,可以仿真51 系列、AVR,PIC 等常用的MCU 及其外围电路。因此在仿真和程序调试时,关心的不再是某些语句执行时单片机寄存器和存储器内容的改变,而是从工程的角度直接看程序运行和电路工作的过程和结果。对于这样的仿真实验,从某种意义上讲,是弥补了实验和工程应用间脱节的矛盾和现象。

4.3.1 仿真过程

(1)南北红,东西绿.如图4-2所示

(2)南北红,东西黄。如图4-3所示

相关主题
文本预览
相关文档 最新文档