嵌入式交通灯设计_第1页
嵌入式交通灯设计_第2页
嵌入式交通灯设计_第3页
嵌入式交通灯设计_第4页
嵌入式交通灯设计_第5页
已阅读5页,还剩31页未读 继续免费阅读

下载本文档

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

文档简介

1、嵌入式交通灯设计嵌入式系统设计专题实践交通灯控制系统专业:电子信息工程班级:电子1102姓名:XXX 学号:XXXXXXXX同组人:XXX指导教师:XXX目录一、方案设计与论证 11.1系统任务描述 11.2系统方案设计 41.3系统框图 4二、硬件电路设计 42.1控制器最小系统设计 42.2数码管显示模块设计 62.3交通灯指示模块设计 8三、系统软件设计 83.1系统软件流程图 83.2 500ms定时器子程序设计 93.3计数显示子程序设计 10四、系统调试 114.1硬件调试 114.2软件调试 114.3综合调试 11五、结论 12六、心得体会 13七、附录 157.1 实物图 1

2、57.1参考文献 167.2示例代码 16摘要随着移动设备的流行和发展,嵌入式系统已经成为一个热点。它并不是最 近出现的新技术,只是随着微电子技术和计算机技术的发展,微控制芯片功能 越来越大,而嵌入微控制芯片的设备和系统越来越多,从而使得这种技术越来 越引人注目。它对软硬件的体积大小、成本、功耗和可靠性都提出了严格的要 求。嵌入式系统的功能越来越强大,实现也越来越复杂,随之出现的就是可靠性大大降低。最近的一种趋势是一个功能强大的嵌入式系统通常需要一种操作 系统来给予支持,这种操作系统是已经成熟并且稳定的,本文将介绍一种基于 飞思卡尔K60P144M100SF2RM制的交通信号灯的自动指挥系统。

3、交通信号灯控 制方式很多。本系统采用嵌入式系统,本系统性能稳定,功能完善,实用性强。关键词:交通灯 K60P144M100SF2RM 嵌入式系统 定时显示、方案设计与论证1.1 系统任务描述本次设计中根据实际需要, 结合嵌入式系统的特点, 完成对交通灯 的控制系统设计。系统功能包括实现对车辆的直行,左拐、停止等待等 功能。基于飞思卡尔 K60P144M100SF2RM制器,实现对车辆进行指导 控制。 本系统中主要由控制器最小系统、数码管显示模块、交通灯模块 等相关模块构成。系统任务包括三个环节。假设十字路口南北方向为主干车道,东西方向为支干道。1)完成交通灯的变化规律,就是一个十字路口分别为东

4、西向和南北向,四 个路口均有红黄绿三灯和两位 LED数码显示管,及每个路口有一个人行道 交通灯。2) 交通灯上电后进入初始状态即东西红灯常亮60s,南北绿灯常亮60s,第一种状态:南北绿灯亮通车,东西红灯亮禁止通行,当东西红灯亮时, 东西方向的人行道为绿灯,持续 60s 后转第二个状态:南北绿灯灭转黄灯 闪亮 10 次,延时 10s, 东西仍然红灯,东西方向人行道仍为绿灯; 10s 后转 第三个状态:东西绿灯亮通车 60s,南北转红灯禁止通行60s,南北方向人 行道为绿灯持续 60s;60s 后转第四个状态: 东西绿灯灭转黄灯闪亮 10次,延时10s,南北仍然红灯,南北方向人行道仍为绿灯。最后

5、循环至第一种状态O3)用4个两位一体LED数码管(各个方向均有1个两位一体LED数码管, 分别表示个位和十位)显示倒计时。倒计时用于提醒驾驶员和行人信号灯 发生变化的时间,以便他们在“停止”和“通行”两者作出合适的选择。以下为系统的工作状态图:图1-1工作状态图下为本系统的工作方式图7南北方向 NS G Y R电路图1-2工作方式图(1)CO 红绿黄oo红绿黄图1-2工作方式图(2)1.2系统方案设计本系统基于K60P144M100SF2RM制器设计的交通灯控制系统。设计过程主 要采用自上向下的设计思路和模块化设计的设计思想,对软件和各个硬件模块 进行独立设计,综合调试。软件包括显示、定时器、

6、GPIO时钟等设置。硬件电路包括由三极管驱动的数码管显示电路以及交通灯显示电路。1.3系统框图6K60P144M100SF2RM 厂,控制器图1-3系统框图二、硬件电路设计本系统中硬件系统包括 K60P144M100SF2F最小系统设计、数码管显示 模块、交通灯显示模块。采用模块化设计的思想对以上模块进行设计。2.1 K60P144M100SF2RM!小系统设计Kinetis是低功耗可扩展和在工业上使用混合信号 ARMCortex-M4系列 的最好的组合。Kin etisMCU使用了飞思卡尔的新的90 nm带有独特FlexMemory的薄膜存储器(TFS闪存技术。Kinetis系列MCU吉合了

7、最新的低 功耗革新技术和高性能,高精密混合信号功能与连通,人机界面,安全及外设 广泛。KinetisMCU使用了飞思卡尔和ARM第三方合作伙伴的市场领先的捆绑模式。所有Kinetis系列都包涵强大的逻辑、通信和时序阵列和带有伴随着闪 存大小和I/O数量的集成度等级的控制外围部件。Kinetis 产品组合内核具有以下特点:ARM Cortex-M4内核带DSP指令,性能可达1.25 DMIPS/MHz (部 分Kinetis 系列提供浮点单元);32通道的DMA可用于外设和存储器数据传输并减少CPU干预;提供不同级别的 CPU频率50 MHz 72 MHz和100 MHz (部 分Kinetis

8、 系列提供120 MHz和150 MHz ); 10种低功耗操作模式用于优化外 设活动和唤醒时间以延长电池的寿命;行业领先的快速唤醒时间。正是由于K60控制器在性能上有较多的优点和较低的功耗,因而适合用来开发交通灯控制系 统。以下为本控制器的最小系统原理图:1_roor.s1 1JDlGTCLK114&rrn14JWtrTnir - AJA11JOK CT=ZkAJ. Ear*n EK- AEC-OJOB-Jpe*aj. jcK .MT.、訥3CMX-323FMi3kiK1=LaT TSiFJf* 1丄严利 I,.-图2-1最小系统原理图2.2数码管显示模块设计LED显示器采用发光二极管显示字

9、段。单片机糸统中经常采用的是八段显示器,即LED显示器中有8个发光二极管,每段LED的笔画分别称为a、b、c、d、e、f、g,代表“a.b.c.d.e.f.g.”七个字段和一个小数点“ dp”。它有共阴和共阳两种结构。七段LED的阳极连在一起称为共阳极接法,而阴极接在一起的称为共阴极接法。屮Bfln tv(v1J3E 3EX 3511tft*图2-2数码管了符J符nuj更阳0COHS7EH80H1F9E95EH?0H25BHA4HA77HS8H34FHBOHB7CHS3H4D6HCC5H5石DH9竭D5 EHA1H67DHS2H匚79HS6H707HFSE71HSEH图2-2七段LED的段代码

10、数码管的驱动分为静态和动态驱动。 在本系统中采用两个共阳数码 管进行动态显示。分别对三个状态进行计时,个位和十位分别用一个数 码管显示,每次计时加一的时间是 1s。以下是本模块的原理图:四位共阳数码管Ali15AK-15Q4A10Ub玄占a吊sO O O Q ? w 0 0 u E中清除标结图3-2定时器流程图3.3计数显示子程序设计计数显示是在定时器运行前提下进行工作的。数码管每刷新一个数时,时间是1s。这样的好处是显示与指示灯状态同步起来。同时也能做到效果比较直观。以下是此部分模块的流程图:17数码管译dis 1图3-3计数器20四、系统调试4.1硬件调试在硬件调试时,K60最小系统的调试

11、就是用集成Mini核心板进行用一个示例LED调试,当系统上电后,将系统示例程序下载到开发板中, 等进行测试能否正常运行。在GPIO端口进行初始化后,应对端口进行合 理设置在对核心板程序下载成功后,在程序能正确运行时,可以根据共 阳数码管的特点进行测试,对显示电路能否正常工作进行测试。验看 数码管计数时是否与预想的一样,若不一样营及时修正程序。最终使 结果出现与预期一样。4.2软件调试在软件调试时,在IAR for ARM 6.30版本平台上进行编程下载, 通过J LinkJI进行下载到K60核心板中。在调试时可以用单步调试, 全速运行,设置断点等方式。与此同时观看寄存器和变量的值在调试中 常常

12、发挥着重要作用。在修改和完善程序后,最终下载到核心板中运行。图4-1软件编程界面4.3综合调试测试一开始,我们就发现了系统出现了两个问题:一是有一部分交通灯亮 度不够,所发出来的光非常的微弱以致于几乎感觉不到它的亮度;二是数码管 不工作,没有时间显示。这与设计的要求完全不符。为了找出这个问题和解决 方法,我们查找了电路的输出各部分的输出电平。发现了一个现象,我们采用 的数码管是共阴极数码。而控制数码段显示的 P1 口输出的是高电平。经多方查阅资料,解决第二个问题可以有两个解决方法。其一,将硬件电 路作修改,将数码管换成共阳极的数码管。这样数码管就可以正常进行时间显 示了。其二,修改程序,让控制

13、数码管段码的P1输出的是低电平。若采用修改硬件电路的方法的话,硬件电路就得作变动。已经布好的线也必须有相应的变 动,操作起来比较麻烦。所以,我们采用了第二种方法。修改了程序电路中的 段码代码。再次调试,按照设计要求的指标,系统数码管电路部分基本能按照 预先设定的要求来进行倒计时的显示。亮度要求也基本符合预先设想。接下来还有一个问题有待解决,交通灯亮度不足,以致于部分交通灯只能 勉强看得出来它在亮而已。这明显不能满足设计要求。经多方检测,我们认为 这是由于 LED 灯驱动能力不足引起的亮度弱问题。若要修正这个问题,那就得 为 LED 灯增加驱动电路以提高电路的驱动能力。要实现这一步骤必须对硬件电

14、 路进行一定的改动。LED丁的驱动电路可以用集成电路电路芯片来进行驱动。在初步方案中我们考虑要用集成电路来完成。但是由于客观方面的原因,将要参 加工作离开学校没有制作实物的环境条件。因此,这部分改进只作了一个设想, 并没有时间去付诸实施。但基本问题和解决问题的原理我们还是有一定的了解。五、总结本次基于飞思卡尔K60P144M100SF2RM制器设计的交通灯控制系统,通 过合理的软件设计和硬件设计,实现了交通灯绿灯亮 60 秒,黄灯亮 10 秒,红 灯亮 60 秒,对南北主干道方向和东西支干道车辆进行直行和左转控制。用红、 绿、黄LED发光二极管代替实际中的交通指示灯,用数码管对亮灭时间进行计

15、时,使结果直观。六、心得体会通过嵌入式课程设计, 我不仅加深了对嵌入式理论的理解, 将理论很好地应 用到实际当中去,而且我还学会了如何去培养我们的创新精神,从而不断地战 胜自己,超越自己。创新,是要我们学会将理论很好地联系实际,并不断地去 开动自己的大脑,从为人类造福的意愿出发,做自己力所能及的,别人却没想 到的事。使之不断地战胜别人,超越前人。同时,更重要的是,我在这一设计 过程中,学会了坚持不懈,不轻易言弃。设计过程,也好比是我们人类成长的 历程,常有一些不如意,也许这就是在对我们提出了挑战,勇敢过,也战胜了, 胜利的钟声也就一定会为我们而敲响。7.1 实物图30(1)7.2参考文献1 嵌

16、入式系统原理与实践一一ARMCortex M4Kinetis微控制器王宜怀著电 子工业出版社;2 MC9S12X沖片机原理及嵌入式系统开发王宜怀著电子工业出版社;3 付家才单片机控制工程实践技术【M】北京:化学工业出版社4 单片机原理及应用,李建忠著,西安,西安电子科技大学;5 模拟电子技术基础,童诗白,华成英等著,北京,高等教育出版社;6 C程序设计,谭浩强著,北京,清华大学出版社;7.3示例代码:void mai n (void)/int m=0;/printf(TWR-K60N512 GPIO Example!n);/ uint i=0;/* Turn on all port clock

17、s */SIM_SCGC5 = SIM_SCGC5_PORTA_MASK | SIM_SCGC5_PORTB_MASK | SIM_SCGC5_PORTC_MASK | SIM_SCGC5_PORTD_MASK | SIM_SCGC5_PORTE_MASK;/* Enable GPIOA and GPIOE interrupts in NVIC */enable_irq(87); /GPIOA Vector is 103. IRQ# is 103-16=87/enable_irq(91); /GPIOE Vector is 107. IRQ# is 107-16=91/* Initialize

18、 GPIO on TWR-K60N512 */init_gpio();gpio_set (PORTB, 21, 1);gpio_set (PORTB, 20, 1);gpio_set (PORTA, 17, 0);gpio_set (PORTA, 16, 0);gpio_set (PORTA, 15, 0);gpio_set (PORTA, 14, 0);gpio_set (PORTA, 13, 0);gpio_set (PORTA, 12, 0);data7();while(1)for(dis_0 =0;dis_062;dis_0+)if(dis_060)gpio_set (PORTB, 2

19、1, 1);gpio_set (PORTB, 20, 1); gpio_set (PORTA, 17, 0);/gpio_set (PORTA, 13, 1);for(dis_1 =0;dis_112;dis_1+) if(dis_110)gpio_set (PORTB, 20,1);gpio_set (PORTB, 21,1);gpio_set (PORTA, 16, 0);gpio_set (PORTA, 15, 0);gpio_set (PORTA, 13, 0);for(dis_2=0;dis_261;dis_2+)if(dis_2=60)gpio_set (PORTB, 20,1);

20、gpio_set (PORTB, 21,1);gpio_set (PORTA, 14, 0);gpio_set (PORTA, 12, 0);/gpio_set (PORTA, 13, 0);/time_delay_ms(1000);void init_gpio()/Set PTA19 and PTE26 (connected to SW1 and SW2) for GPIO functionality, falling IRQ,/ and to use internal pull-ups. (pin defaults to input state)/PORTA_PCR19=PORT_PCR_

21、MUX(1)|PORT_PCR_IRQC(0xA)|PORT_PCR_PE _MASK|PORT_PCR_PS_MASK;/PORTE_PCR26=PORT_PCR_MUX(1)|PORT_PCR_IRQC(0xA)|PORT_PCR_PE _MASK|PORT_PCR_PS_MASK;/Set PTB10, PTB21, PTB21, and PTB23(connected to LEDs) for GPIO functionality/ 修改适合本电路板PORTB_PCR20=(0|PORT_PCR_MUX(1);PORTB_PCR21=(0|PORT_PCR_MUX(1);/PORTB_PCR22=(0|PORT_PCR_MUX(1);/PORTB_PCR23=(0|PORT_PCR_MUX(1);PORTD_PCR0=(0|PORT_PCR_MUX(1);PORTD_PCR1=

温馨提示

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

评论

0/150

提交评论