MSP交通灯控制标准系统Word格式文档下载.docx

上传人:b****3 文档编号:14962887 上传时间:2022-10-26 格式:DOCX 页数:27 大小:221.46KB
下载 相关 举报
MSP交通灯控制标准系统Word格式文档下载.docx_第1页
第1页 / 共27页
MSP交通灯控制标准系统Word格式文档下载.docx_第2页
第2页 / 共27页
MSP交通灯控制标准系统Word格式文档下载.docx_第3页
第3页 / 共27页
MSP交通灯控制标准系统Word格式文档下载.docx_第4页
第4页 / 共27页
MSP交通灯控制标准系统Word格式文档下载.docx_第5页
第5页 / 共27页
点击查看更多>>
下载资源
资源描述

MSP交通灯控制标准系统Word格式文档下载.docx

《MSP交通灯控制标准系统Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《MSP交通灯控制标准系统Word格式文档下载.docx(27页珍藏版)》请在冰豆网上搜索。

MSP交通灯控制标准系统Word格式文档下载.docx

74HC164驱动电路用于对LED及数码管的驱动;

此系统可以长时间稳定的运行,可用于各种十字路口,进行自动的交通控制,由于留有其它接口,可以很方便的进行升级扩展。

本设计实现的功能为:

直行、左转及右转三个方向的交通灯控制;

交通灯的时间显示;

绿灯将结束时的闪烁控制;

当有违章车辆是输出信号通知电子警察,拍下其车牌号等违章处理。

可以看出其功能是较为复杂的。

二、实验目的

通过设计交通灯系统从而加深对汇编语言的理解以及对单片机原理英及接口技术的了解和深入应用,单片机硬件操作调试及程序烧录方法等。

通过设计初步了解MSP430单片机的工作原理及指令集。

了解Proteus及IARFOR430(EW430)软件的应用。

深入了解交通灯系统的设计。

三、实验场地及仪器、设备和材料:

材料清单:

MSP430F149单片机最小系统版×

1

七段共阴数码管0.56英寸×

8

双面PCB板9x15cm×

单排针×

4

3mmLED(红黄绿)×

36

杜邦线×

10

74HC164×

12

74LS04×

电阻电容若干

实验器材:

示波器,万用表,PC机

实验软件:

Proteus,IARFor430,SF_BSL430

四、实验内容

1、实验原理

1)硬件电路

在硬件上,为了简洁,做成模块化。

十字路口的交通灯,在前后左右四个方向上有一个模块,显示本方向上对车辆通行的允许状态。

每个模块上有两个数码管显示当前允许或禁止车辆通行的时间(单位S);

有9盏交通灯,分别控制本方向上的三个细分方向,如本方向为朝东,则三个细分方向为向东方向(直行)、向东北方向(右转弯方向)及向东南方向(左转弯方向),每个细分方向有3盏灯,红绿黄,所以每个模块有9盏灯。

四个方向上的四个模块是完全相同的。

MSP430有输出口线相当丰富的系列器件,如MSP430F13/14系列有6×

8=48条I/O口线,而MSP430F43/44除了有6×

8=48条I/O口线外,还有160段液晶模块的所有输出端在不驱动液晶时,也可以用于普通输出。

这样完全有条件直接使用MSP430的口线与所有的显示器连接(当然需要驱动)

但这样,不便于模块化,因为每个模块将有很多连线与处理器相连,此方案不可行。

应改为使用74HC164串行输出与所有显示器连接。

整个交通灯设计如下图所示。

对于每个交通灯模块,电路见上图。

所有74HC164的时钟端连在一起,使用MSP430的一条I/O口线驱动。

用两片74HC164驱动两位数码管,显示时间。

而交通灯有9盏,剩下的一片74HC164只能输出驱动8盏,还有一盏不能驱动。

可以发现:

交通灯的数码显示没有使用小数点,那么就利用任意一片74HC164的最后一位驱动剩下的第9盏灯。

74HC164之间的级联在前面已经有讲述。

图二中的“显示地控制”信号的作用是每个模块的显示器(数码管与灯)的地线都连在一起,没有直接与地相连,而是通过一个三极管由处理器控制。

因为在操作74HC164移位时,如果所有的显示器都接地,则在74HC164将数据位一位一位地移动过程中,导致所有的显示器都被点亮(包括本来不该亮的)。

如果交通灯是这样的话,那么在这一瞬间,红、绿、黄全亮,会给交通带来麻烦。

为了解决这个问题,控制显示器的地线,在操作74HC164进行数据移位时输出控制显示器的地线为高电平,则显示器不显示(被关闭)。

由于操作的时间不长,眼睛的暂留作用将不会认为灯的熄灭。

相反如果灯不该亮而亮,则人眼睛会看到、等对74HC164操作完毕,再打开显示器,地线为低电平。

违章检测的工作原理是,在真实的交通灯中一般使用压力传感器,当在禁行方向有车辆通过压力传感器时,传感器给处理器一个信号,告知有违章车辆通过。

而在这里使用简单的光电传感器:

红外对管。

红外线发射管一直发射红外线,接收管一直接受红外线。

当在禁行时段检测到没有红外线(被车辆挡住了)时,则认为有违章车辆通过。

并告知处理器,处理器输出信号给在照相机。

模块间的级联问题。

由其中一个模块与处理器模块相连。

然后连接下一模块等(如图1所示)、所有的74HC164时钟线连在一起,数据线由前一模块的最高位输出,所有显示器的地线连在一起与处理器模块连接。

处理器使用MSP430F149.

下图为仿真中的一个模块。

2)MSP430最小系统

图3MSP430单片机最小系统

如图3所示,MSP430最小系统由复位电路、晶振电路、JTAG等组成。

MSP430单片机的64个引脚大致可分为4类:

电源、时钟、控制和I/O引脚。

MSP430系列单片机的中断源较多,并且可以任意嵌套,使用时灵活方便。

当系统处于省电的备用状态时,用中断请求讲它唤醒只有6us。

超低功耗MSP430单片机之所以有超低的功耗,是因为其在降低芯片的电源电压及灵活而可控的运行时钟方面都有其独到之处。

首先,MSP430系列单片机的电源电压采用的是1.8~3.6V电压。

因而可使其在1MHz的时钟条件下运行时,芯片的电流会在200~400uA左右,时钟关断模式的最低功耗只有0.1uA。

其次,独特的时钟系统设计,在MSP430系列中有两个不同的系统时钟系统:

基本时钟系统和锁频(FLL和FLL+)时钟系统或DCO数字振荡器时钟系统。

有的使用一个晶体振荡器(32768Hz),有的使用两个晶体振荡器。

由系统时钟系统产生CPU和各功能所需的时钟,并且这些时钟可以在指令的控制下,打开和关闭,从而实现对总体功耗的控制。

3)IARFOR430简介

IARSystems是全球领先的嵌入式系统开发工具和服务的供应商。

公司成立于1983年,迄今已有27年,提供的产品和服务涉及到嵌入式系统的设计、开发和测试的每一个阶段,包括:

带有C/C++编译器和调试器的集成开发环境、实时操作系统和中间件、开发套件、硬件仿真器以及状态机建模工具。

国内普及的MSP430开发软件种类不多,主要有IAR公司的EmbeddedWorkbenchforMSP430(简称EW430)和AQ430。

目前IAR的用户居多。

IAREW430软件提供了工程管理,程序编辑,代码下载,调试等所有功能,并且软件界面和操作方法与IAREWforARM等开发软件一致,因此,学会了IAREW430,就可以很顺利的过度到另一种新处理器的开发工作。

4)Proteus仿真软件简介

Proteus是世界上著名的EDA工具(仿真软件),从原理图布图、代码调试到单片机与外围电路协同仿真,一键切换到PCB设计,真正实现了从概念到产品的完整设计。

是目前世界上唯一将电路仿真软件、PCB设计软件和虚拟模型仿真软件三合一的设计平台,其处理器模型支持8051、HC11、PIC10/12/16/18/24/30/DsPIC33、AVR、ARM、8086和MSP430等,2010年又增加了Cortex和DSP系列处理器,并持续增加其他系列处理器模型。

在编译方面,它也支持IAR、Keil和MPLAB等多种编译器。

a.互动的电路仿真

用户甚至可以实时采用诸如RAM,ROM,键盘,马达,LED,LCD,AD/DA,部分SPI器件,部分IIC器件。

b.仿真处理器及其外围电路

可以仿真51系列、AVR、PIC、ARM、等常用主流单片机。

还可以直接在基于原理图的虚拟原型

上编程,再配合显示及输出,能看到运行后输入输出的效果。

配合系统配置的虚拟逻辑分析仪、示波器等,Proteus建立了完备的电子设计开发环境。

[2]​

2、实验内容

1)系统主程序的设计

系统使用低能耗方式,在主程序中主要完成必须的设置工作,而大部分事情如:

定时刷新显示和定时运行交通灯等,在定时器A中断中完成。

使用P1.2口中断进行违章车辆的检测。

系统主程序如下:

ORG01000h。

msp430f149FLASHSTART

RESETmov.w#300h,SP。

Initializestackpointer

StopWDTmov.w#WDTPW+WDTHOLD,&

WDTCTL。

StopWDT

SetupTAmov.w#TASSEL1+TACLR,&

TACTL。

SMCLK,clearTAR

SetupC0mov.w#CCIE,&

CCTL0。

CCR0interruptenabled

mov.w#35000,&

CCR0。

SetupP1bis.b#001h,&

P1DIR。

P1.0output

bis.w#MC1,&

StartTimer_aincontinousmode

MOV.B#0FFH,&

P2DIR。

P2.0为数据输出端,P2.1为时钟输出端

CALL#INIT_RAM

CALL#INIT_P1

eint

MJMPM

2)初始化

P1.0用于输出闪光灯,P1.2用于检测是否有违章车辆,为中断输入口。

3)定时器A中断程序

当主程序初始化之后,处理器将进入低功耗状态。

那么,除了有PI口检测违章车辆之外,其余功能都由定时器来完成。

定时器A应该实现一个走时时钟,作为交通灯的时间基准的基础上运行。

定时器的时间间隔为0.1秒,则走时时钟以秒为单位,每十次中断增加1.真个过程为106s(在交通灯的运行部分会详细讲述)。

在每一秒钟都要完成:

交通灯的运行:

交通灯计时器的减1计数:

显示缓存的刷新。

而每次进入中断(0.1s之后,都要完成:

送显示缓存的数据到显示器。

判断是否绿灯闪烁(将后面绿灯的闪烁部分详细讲解,当驴等接近尾声时,绿灯闪烁,提醒驾驶员减速行驶)。

4)显示程序的设计

显示子程序中要将所有的显示数据送到显示器,同事,在松鼠之前先关显示器。

数据送完后,再打开显示器。

下面的程序为送12个数据到显示器。

5)交通灯的运行

运行的交通灯因实际情况的不同而千差万别,。

如有的道路为单行道,有的方向上允许通行的时间较少,有的通行时间多。

有的路口“丁”字路等。

导致实际的交通灯运行很不一样,但多半是运行的参数不同。

本示例的交通灯为控制较为全面的南京中山东路和解放路十字路口交通灯的真实写照。

因为交通灯前后两模式的运行显示是完全相同的(有的例外),足有两模块的运行显示也是完全相同的。

所以下面的交通灯的实际运行状况只描述前面的模块与左面的模块。

如图5.46所示。

从图中可看出整个交通灯的运行时间是104s一个循环,在程序的编写上,直接按照图将交通灯与倒计时数据等送达各个模块即可。

在图中,定义了交通灯在各个时间段的运行状态。

在各个状态里,灯有固定的显示,计数器有固定的技术范围。

在理解图5.46的基础上,在一个循环时间内,各运行状态的时间分配如图所示。

为了程序编写方便,下面先编写交通灯的显示码。

其中前8位为一个字节,最后一位单独表示,放在某个特定单元。

在后面要讲到的有关闪烁问题,也需要编写显示码。

是你说主要是绿灯闪烁,闪烁的原

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 求职职场 > 简历

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1