交通灯论文Word格式文档下载.docx
- 文档编号:8541379
- 上传时间:2023-05-11
- 格式:DOCX
- 页数:25
- 大小:339.77KB
交通灯论文Word格式文档下载.docx
《交通灯论文Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《交通灯论文Word格式文档下载.docx(25页珍藏版)》请在冰点文库上搜索。
最后在仿真软件实现出来。
关键词:
嵌入式、仿真、交通灯、定时器
Abstract
EmbeddedSystemDesignTrainingisagoodpracticeandconsolidationofthetheoryoflearningopportunitiesforuselectronicinformationengineeringstudents.alargeImprovingtoourhands-onabilityandthinkingability.itisacombinationoftheoryandpractice.thisTrainingofelectroniccircuitsimulation,ARM7MCUprogramdesignandcontroloftrafficlightscrossroadsknowledgecontentwithfun,intuitive,successful,practical,andsoon.
Thepracticaltrainingcanbedividedintotwostages:
Thefirstphase,datacollectionandprinciplesofanalysisandsimulation.SearchfortheinformationfromeverysourcestofinalizethePhilipsARM7ofLPC2131.AndtwodigitalLEDdisplaywithtwotrafficlightscountdown.UsingKeilforARMsoftwareprogrammingandcompiling,usingProteusIIpairsofcross-trafficlightcontrolsimulation.
Thesecondphase,programmingandsimulationdebugging.Byreferencingmaterials,usingassemblylanguagetosetthecountdowntimersontrafficlightsandcontrolthered,yellow,green,lightthreelightshavebeenordered.attheend,simulationsoftwaretoachievethem.
Keywords:
embedded,simulation,trafficlights,timers
目录
引言1
1确定课题及原理分析1
1.1确定课题1
1.2原理分析1
1.2.1ARM7forLPC2131使用介绍2
1.2.2LPC2131之定时器使用4
2软件编程7
2.1编译软件介绍7
2.2功能实现原理及程序思想8
3软件仿真8
3.1仿真软件介绍8
3.2交通灯功能仿真9
4实训心得体会10
谢辞11
参考文献12
附录13
引言
随着科技的进步,社会日趋发达,汽车和行人也跟着多了起来。
热闹繁华的城市十字路口,交通安全更是引起人们的越来越大的重视。
而顺应社会发展的需求,红绿灯的出现则变成了必然。
如今,红绿灯安装在各个道口上,已经成为疏导交通车辆最常见和最有效的手段。
1968年,联合国《道路交通和道路标志信号协定》对各种信号灯的含义作了规定。
绿灯是通行信号,面对绿灯的车辆可以直行,左转弯和右转弯,除非另一种标志禁止某一种转向。
左右转弯车辆都必须让合法地正在路口内行驶的车辆和过人行横道的行人优先通行。
红灯是禁行信号,面对红灯的车辆必须在交叉路口的停车线后停车。
黄灯是警告信号,面对黄灯的车辆不能越过停车线,但车辆已十分接近停车线而不能安全停车时可以进入交叉路口。
1确定课题及原理分析
1.1确定课题
通过对本课题的初步了解,并实地到十字路口对交通灯信号变化的观察和记录,最终确定很实训课题为《十字交通灯控制设计》。
本作品通过飞利浦生产的LPC2131ARM7单片机芯片进行中心处理,实现完美控制东西、南北方向的红黄绿灯,用数码管进行时间倒计时显示。
并可以通过按键调整倒计时时间功能。
1.2原理分析
具体仿真电路如图1.1所示:
图1.1
由图可以知道,LPC2131芯片采用外接3.3V电压供电,内部采用10M时钟频率驱动。
程序采用汇编语言编写。
通过设置一个定时器产生1秒的时钟溢出中断,并对设置的交通灯倒计时进行减一处理,达到以秒为单位进行倒计时。
到计时到0时,则对相应的红、黄、绿三个交通灯进行合理的点亮。
然后调用显示程序,并检测按键是否按下。
当有“+”、“-”信号按键按下时,关闭定时器,并对相应的寄存器进行相应的“+”、“-”处理,以达到可以改变倒计时时间的功能。
在按下东西通行或南北通行的按键时,同样关闭定时器的倒计时功能,并同时电平东西方向的绿灯、南北方向红灯或者东西方向的红灯、南北方向绿灯。
每次当定时器倒计时每次到0时,先后按照点亮绿、黄、红的先后顺序每次分别点亮一个相应的一颜色的灯。
这样,就达到了控制交通灯的目的。
硬件方面,两位数码管采用共阴数码管,数据段直接连于PINSEL0端口的P0.0到P0.7端口,并用一个排阻上拉。
六个交通灯则连接于PINSEL1口的P1.6到P1.21端口,并设置为GPIO输出端口。
P1.26到P1.31连接按键,设置为输入端口,并用1K电阻上拉。
1.2.1ARM7forLPC2131使用介绍
ARM(AdvancedRISCMachines),既可认为是一个公司的名字,也可认为是对一类微处理器的统称。
ARM是微处理器行业的一家知名企业,设计了大量高性能、廉价、耗能低的RISC处理器、相关技术及软件。
技术具有性能高、成本低和能耗省的特点。
适用于多种领域,比如嵌入控制、消费/教育类多媒体、DSP和移动式应用等。
1991年ARM公司成立于英国剑桥,主要出售芯片设计技术的授权。
目前,采用ARM技术知识产权(IP)核的微处理器,即我们通常所说的ARM微处理器,已遍及工业控制、消费类电子产品、通信系统、网络系统、无线系统等各类产品市场,基于ARM技术的微处理器应用约占据了32位RISC微处理器75%以上的市场份额,ARM技术正在逐步渗入到我们生活的各个方面。
ARM公司是专门从事基于RISC技术芯片设计开发的公司,作为知识产权供应商,本身不直接从事芯片生产,靠转让设计许可由合作公司生产各具特色的芯片,世界各大半导体生产商从ARM公司购买其设计的ARM微处理器核,根据各自不同的应用领域,加入适当的外围电路,从而形成自己的ARM微处理器芯片进入市场。
目前,全世界有几十家大的半导体公司都使用ARM公司的授权,因此既使得ARM技术获得更多的第三方工具、制造、软件的支持,又使整个系统成本降低,使产品更容易进入市场被消费者所接受,更具有竞争力。
ARM处理器的三大特点是:
耗电少功能强、16位/32位双指令集和众多合作伙伴。
其机构框图如图1.2所示:
图1.2
LPC2131/2132/2134/2136/2138微控制器是基于一个支持实时仿真和嵌入式跟踪的16/32位ARM7TDMI-SCPU,并带有32kB、64kB、128kB、256kB和512kB嵌入的高速Flash存储器。
128位宽度的存储器接口和独特的加速结构使32位代码能够在最大时钟速率下运行。
对代码规模有严格控制的应用可使用16位Thumb模式将代码规模降低超过30%,而性能的损失却很小。
较小的封装和很低的功耗使LPC2131/2132/2134/2136/2138特别适用于访问控制和POS机等小型应用中;
由于内置了宽范围的串行通信接口和8/16/32kB的片内SRAM,它们也非常适合于通信网关、协议转换器、软件modem、语音识别、低端成像,为这些应用提供大规模的缓冲区和强大的处理功能。
多个32位定时器、1个或2个10位8路的ADC、10位DAC、PWM通道、47个GPIO以及多达9个边沿或电平触发的外部中断使它们特别适用于工业控制应用以及医疗系统。
其主要的特性还有:
具有嵌入式ICE-RT逻辑,调试开发方便。
极低的功耗,适合对功耗要求较高的应用,如便携式产品。
能够提供0.9MIPS/MHz的三级流水线结构。
代码密度高并兼容16位的Thumb指令集。
对操作系统的支持广泛,包括WindowsCE、Linux、PalmOS等。
指令系统与ARM9系列、ARM9E系列和ARM10E系列兼容,便于用户的产品升级换代。
主频最高可达130MIPS,高速的运算处理能力能胜任绝大多数的复杂应用。
ARM7系列微处理器的主要应用领域为:
工业控制、Internet设备、网络和调制解调器设备、移动电话等多种多媒体和嵌入式应用。
ARM7系列微处理器包括如下几种类型的核:
ARM7TDMI、ARM7TDMI-S、ARM720T、ARM7EJ。
其中,ARM7TMDI是目前使用最广泛的32位嵌入式RISC处理器,属低端ARM处理器核。
TDMI的基本含义为:
支持16为压缩指令集Thumb;
支持片上Debug;
内嵌硬件乘法器(Multiplier)
1.2.2LPC2131之定时器使用
LPC2131具有2个32位可编程定时/计数器,均具有4路捕获、4比较路匹配并输出电路。
定时器对外设时钟(pclk)周期进行计数,可选择产生中断或根据4个匹配寄存器的设定,在到达指定的定时值时执行其它动作(输出高/低电平、翻转或者无动作)。
它还包括4个捕获输入,用于在输入信号发生跳变时捕获定时器值,并可选择产生中断。
可用于对内部事件进行计数的间隔定时器,或者通过捕获输入实现脉宽调制,亦可作为自由运行的定时器。
定时器0和定时器1除了外设基地址以外,其它都相同。
其定时器具有的特性有以下几点:
带可编程32为预分频器的32位定时器/计数器;
具有多达4路32位的捕获通道—当输入信号跳变时可取得定时器的瞬时值,也可以选择使捕获时间产生中断。
4个32位匹配寄存器:
(1)、匹配时定时器继续工作,可选择产生中断;
(2)、匹配时停止定时器,可选择产生中断;
(3)、匹配时复位定时器,可选择产生中断;
多达4个对应于匹配寄存器的外部输出,具有以下特性:
(1)、匹配时设置为高电平;
(2)、匹配时设置为高电平;
(3)、匹配时翻转;
(4)、匹配时无动作。
定时器0和定时器1的方框图见图1.3所示:
图1.3
在本次实训中需要配置的主要定时器寄存器分别为:
T0TC、T0PR、T0MCR、T0MR0、T0TCR、T0IR。
(IR:
定时器0–T0IR:
0xE00040000;
定时器1–T1IR:
0xE0008000)中断寄存器包含4个位用于匹配中断,4个位用于捕获中断。
如果有中断产生,IR中的对应位会置位,否则为0。
向对应的IR位写入1会复位中断,写入0无效。
(CTCR:
定时器0-T0CTCR:
0xE0004070;
定时器1-T1TCR:
0xE0008070)计数控制寄存器(CTCR)用来选择定时器或计数器模式,计数器模式下选择
计数的管脚和边沿。
当选择工作在计数器模式时,在每个pclk时钟的上升沿对CAP输入(由CTCR位3:
2选择)进行采样。
比较完CAP输入的2次连续采样结果后,可以识别下面四个事件中的一个:
上升沿、下降沿、任一边沿或选择的CAP输入的电平无变化。
只要识别到的事件与CTCR寄存器中位1:
0选择的事件相对应时,定时器计数器寄存器加1。
计数器的外部时钟源的操作受到一些限制。
由于pclk时钟的2个连续的上升沿用来识别CAP选择输入的一个边沿,所以CAP输入的频率不能大于1/2个pclk时钟。
因此,这种情况下同一CAP输入的高/低电平持续时间不能小于1/fpclk。
(TCR:
定时器0–T0TCR:
0xE0004004;
定时器1–T1TCR:
0xE0008004)定时器控制寄存器TCR用于控制定时器计数器的操作。
(TC:
定时器0–T0TC:
0xE0004008;
定时器1–T1TC:
0xE0008008)当预分频计数器到达计数的上限时,32位定时器计数器加1。
如果TC在到达计数上限之前没有被复位,它将一直计数到0xFFFFFFFF然后翻转到0x00000000。
该事件不会产生中断。
如果需要,可用匹配寄存器检测溢出。
(PR:
定时器0–T0PR:
0xE000400C;
定时器1–T1PR:
0xE000800C)32位预分频寄存器指到预分频计数器的最大值。
TC每经过PR+1个pclk加1。
例如,当PR=0时,定时器计数器每个pclk周期加1,当PR=1时,定时器计数器每2个pclk周期加1。
匹配寄存器(MR0–MR3)-MatchRegisters(MR0–MR3)匹配寄存器值连续与定时器计数值相比较。
当两个值相等时自动触发相应动作(产生中断,复位定时器计数器或停止定时器)。
具体执行什么动作由MCR寄存器控制。
(MCR:
定时器0–T0MCR:
0xE0004014;
定时器1–T1MCR:
0xE00080014)匹配控制寄存器用于控制在发生匹配时所执行的操作。
捕获寄存器(CR0–CR3)-CaptureRegisters(CR0–CR3)每个捕获寄存器都与一个器件管脚相关联。
当管脚发生特定的事件时,可将定时器计
数值装入该寄存器。
捕获控制寄存器的设定决定捕获功能是否使能以及捕获事件在管脚的上升沿、下降沿或是双边沿发生。
(CCR:
定时器0–T0CCR:
0xE0004028;
定时器1–T1CCR:
0xE0008028)当发生捕获事件时,捕获控制寄存器用于控制将定时器计数值是否装入4个捕获寄存器中的一个以及是否产生中断。
同时设置上升沿和下降沿位也是有效的配置,这样会在双边沿触发捕获事件。
在下面的描述中,“n”代表定时器的编号0或1。
(EMR:
定时器0–T0EMR:
0xE000403C;
定时器1–T1EMR:
0xE0008003C)外部匹配寄存器提供外部匹配管脚M(0-3)的控制和状态。
本次实训采用定时器匹配比较,并溢出产生中断,然后初值复位的方式进行定时1秒。
其功能框图如图1.4所示:
图1.4
定时器比较匹配输出由控制寄存器MCR进行匹配操作设置,而MR0~MR3寄存器则为4路比较匹配通道的比较值。
当比较匹配时,将会按照MCR的设置方法产生中断或者复位TC等,而且EMR可以控制比较匹配输出,可以匹配输出高电平、低电平、电平翻转等。
2软件编程
2.1编译软件介绍
本次实训软件程序,我们依然采用熟悉的KeilforARM编写程序。
Keil软件是单片机开发中离不开软件,我们写的汇编语言源程序要变为CPU可以执行的机器码有两种方法,一种是手工汇编,另一种是机器汇编,目前已极少使用手工汇编的方法了。
机器汇编是通过汇编软件将源程序变为机器码,用于MCS-51单片机的汇编软件有早期的A51,随着单片机开发技术的不断发展,从普遍使用汇编语言到逐渐使用高级语言开发,单片机的开发软件也在不断发展,Keil软件是目前最流行开发MCS-51系列单片机的软件,这从近年来各仿真机厂商纷纷宣布全面支持Keil即可看出。
Keil提供了包括C编译器、宏汇编、连接器、库管理和一个功能强大的仿真调试器等在内的完整开发方案,通过一个集成开发环境(uVision)将这些部份组合在一起。
运行Keil软件需要Pentium或以上的CPU,16MB或更多RAM、20M以上空闲的硬盘空间、WIN98、NT、WIN2000、WINXP等操作系统。
掌握这一软件的使用对于使用ARM系列单片机的爱好者来说是十分必要的,如果你使用C语言编程,那么Keil几乎就是你的不二之选(目前在国内你只能买到该软件、而你买的仿真机也很可能只支持该软件),即使不使用C语言而仅用汇编语言编程,其方便易用的集成环境、强大的软件仿真调试工具也会令你事半功倍。
KeilforARM软件图标如图2.1所示:
图2.1
2.2功能实现原理及程序思想
本作品所采用的是ARM7标准的指令系统,用汇编语言编写的ARM单片机控制程序。
主要分为三大部分。
第一部分:
初始化。
在程序的开头,要对程序后面需要使用到的通用寄存器R0~R7以及管脚配置寄存器PINSEL0、PINSEL1、PINSEL2进行设置。
分别设置P0.0~P0.11、P1.16~P1.21为GPIO输出端口进行信号输出,P1.28~P1.31为GPIO输入端口进行按键检测。
接着配置定时器的T0TC、T0PR、T0MCR、T0MR0等寄存器,设置意义为定时器0初值为0;
不进行分频;
匹配值为9999999,即为定时1秒;
当定时器匹配时产生中断,并复位初始值。
最后初始化部分还设置VIC中断为IRQ中断,把定时器0配置为IRQ第0个中断号。
并设置中断地址等。
基本完成初始化工作。
第二部分:
此部分为程序未产生中断信号时,进行顺序执行指令并等待中断的程序。
在此部分要完成的工作为:
按键检测;
十位数据处理,取出十位和个位;
显示程序;
对交通灯点亮顺序判断。
第三部分:
定时器中断程序。
在此程序中,当定时器匹配中断时,即跳到此程序执行。
在此程序里完成的工作为,对倒计时的时间寄存器进行减一,接着重新给时间寄存器赋值,然后跳出,更新中断优先级结束中断。
本程序相对比较简单,控制思想及程序思路也比较容易理解,但是在此却用到GPIO管脚配置,定时器设置使用,IRQ中断的配置和使用,以及一些ARM7基础硬件电路知识。
涉及到的都是初学者刚接触的,且很多问题和困难都是重复出现的问题,并且此程序采用汇编语言编写,对芯片底层要求了解比较深,所以这例子对于ARM7入门的学习是一个很好的机会。
3软件仿真
3.1仿真软件介绍
Proteus(海神)的ISIS是一款Labcenter出品的电路分析实物仿真系统,可仿真各种电路和IC,并支持单片机,元件库齐全,使用方便,是不可多得的专业的单片机软件仿真系统。
它可以仿真、分析各种模拟电路与集成电路,软件提供了大量模拟与数字元器件及外部设备,各种虚拟仪器,特别是它具有对单片机及其外围电路组成的综合系统的交互仿真功能。
该软件的特点:
①全部满足我们提出的单片机软件仿真系统的标准,并在同类产品中具有明显的优势。
②具有模拟电路仿真、数字电路仿真、单片机及其外围电路组成的系统的仿真、RS-232动态仿真、C调试器、SPI调试器、键盘和LCD系统仿真的功能。
③目前支持的单片机类型有:
68000系列、8051系列、AVR系列、PIC12系列、PIC16系列、PIC18系列、Z80系列、HC11系列以及各种外围芯片。
④支持大量的存储器和外围芯片。
总之该软件是一款集单片机和SPICE分析于一身的仿真软件,功能极其强大,可仿真51、AVR、PIC、ARM7等。
3.2交通灯功能仿真
具体实现十字路交通灯控制功能的仿真图如图3.1所示:
图3.1
初始假定南北方向绿灯通行,东西方向红灯等待。
当南北方向时间倒计时为0时,即将点亮黄灯,而东西方向红灯在南北方向黄灯灭之前保持不变。
当南北方向黄灯灭了,东西方向的红灯变为绿灯。
到此就完成了正常情况下交通的一次红绿灯顺序。
在有突发情况需要南北方向固定通行,则按下KEYNB,此时就停止倒计时。
并同时点亮南北方向绿灯和东西方向的红灯,若需要东西方向通行,按下KEYDX,情况也类似南北方向通行。
在交通十分拥挤,或者大雾大雨天气等,需要调整通行和等待的时间时,可以按下KEY1增加时间,或者按下KEY2减少时间,当设定好所需时间后,按下KEY3此交通灯控制系统就可以正常指挥交通。
到此,十字路口交通灯控制设计的仿真功能就完全结束。
4实训心得体会
本次嵌入式设计实训,时间过得很快,转眼间两个星期的实训就要结束了,在伴随着这两个星期之间的研究生考试以及公务员考试的时间冲突,这两星期可以说是充实,紧张而又愉快的。
在这两个星期的实训中,我学到了很多东西,不管是在知识架构上,还是在动手动脑能力上都起着潜移默化的影响。
回想起这段日子仍是历历在目。
通过了为期两周的嵌入式设计实训,我确实是学到了很多知识,拓展了自己的的视野。
记得我在读高中的时候,我帮家里安装一个开关控制电路,由于自己的动手能力不够强,结果把电路接成短路,还好因为电路原先装有保险丝,才没有造大的安全事故。
而通过这次实训课题《十字路交通灯控制设计》的研究,我在安全意识方面有了更高的警惕性。
在理论知识方面,我对飞利浦生产LPC2131ARM7单片机芯片的硬件结构、功能使用、指令系统、程序编写等有一个初步的认识。
并能够对所学的知识有一定的积累,期望达到质变。
具体在ARM7的GPIO端口配置、定时器0使用、IRQ中断设置、显示程序、按键检测等这些基础知识得到实践的检验,并能够真正的掌握这些内容,而不仅仅停留在理论考核上。
除此以外,我还学会了如何更好地与别人沟通,如何更好地去陈述自己的观点,如何说服别人认同自己的观点,同时也培养了我的团队合作精神,懂得团队的力量绝对不是单纯几个人的力量相加。
没有整个团队的努力,这次实训是绝对无法完成的。
这次所学知识与实际的应用,理论与实际的相结合,让我大开眼界。
也是对以前所学知识的一个初审。
让我在以后学习、找工作中也真是受益菲浅。
经过这次实训,我感受最深的,还有以下几点:
其一、实训是对每个人综合能力的检验。
要想做好任何事,除了自己平时要有一定的功底外,我们还需要一定的实践动手能力,操作能力。
只有经过自己的大脑去思考,去编写所需要的程序,才会真正的理解到ARM7单片机的工作原理,真正的把理论转换到实践中,只有真正的动手去做了这个课题,才会看到自己的优缺点,好驾驭之。
其二、此次实训,我深
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 交通灯 论文