




已阅读5页,还剩14页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
课程设计()课程: 嵌入式系统A 题目: 基于ARM的交通灯设计 课程设计任务书 电气与信息工程 院(系) 自动化 专业 自动化07-1,2 班级课程名称 嵌入式系统A 题 目 基于ARM的交通灯设计 一 设计要求利用ARM芯片模拟实现交通灯控制二 设计作用和目的1、注重培养综合运用所学知识、独立分析和解决实际问题的能力,培养创新意识和创新能力,并获得科学研究的基础训练。2、了解所选择的ARM芯片各个引脚功能,工作方式,计数/定时,I/O口,中断等的相关原理,并巩固学习嵌入式的相关内容知识。3、通过软硬件设计实现利用ARM芯片完成交通灯控制功能。三 课程设计应完成的任务1 查阅相关文献资料,熟悉所选ARM芯片2 总体设计方案规划,设计车辆遇到红灯停绿灯行情况,红绿灯时间均为60s,切换时间为10s,最后5s为黄灯闪烁3 系统硬件设计,熟悉IO接口,定时器计数器工作原理4 系统软件设计,包括交通信号灯的工作流程软件实现,用C语言编程5 设计心得体会及总结工作计划时间:本课程设计安排时间为20XX年12月6日至12月19日共2周,即第15,16周,共2周进度安排:第15周熟悉资料,构思结构,第16周分析课题,撰写设计报告指导教师系意见同意按任务书要求设计系主任签字 一 设计的目的与意义通过设计,培养自己综合运用所学知识、独立分析和解决实际问题的能力,培养创新意识和创新能力,并获得科学研究的基础训练,加深对ARM芯片的了解;熟悉ARM芯片各个引脚的功能,工作方式,计数/定时,I/O口,中断等相关原理,巩固学习嵌入式的相关内容知识。二 设计的内容利用ARM芯片模拟实现交通灯控制。自行选择所需ARM芯片,查阅相关文献资料,熟悉所选ARM芯片,了解所选ARM芯片各个引脚功能,工作方式,计数/定时,I/O口,中断等相关原理,通过软硬件设计实现利用ARM芯片完成交通灯的模拟控制。三 设计方案3.1 设计思路利用LPC2131ARM芯片实现单路交通灯的控制:a 实现红、绿、黄灯的循环控制。使用红、黄、绿三种不同颜色的LED灯实现此功能,由南往北方向红、黄、绿三个灯依次接在P1.18、P1.19、P1.20上,由北往南方向的红、黄、绿三个灯依次接在P1.21、P1.22、P1.23上,人行道用红、绿两个灯控制,依次接在P1.24、P1.25上,用软件控制灯的亮与灭来控制车辆和行人的通行。b用数码管显示倒计时。可以利用动态显示或静态显示,串行并出或者并行并出实现。c 南北方向控制车辆的绿灯熄灭的同时,控制蜂鸣器响2秒来作为警报。蜂鸣器接P0.7引脚。交通路口示意图如图3.1车辆遇到红灯停绿灯行的行走情况,红绿灯时间均为60s,切换时间为10s,最后5s为黄灯闪烁。公共场所公共场所图3.13.2 总体设计框图用ARM7系列芯片LPC2138作为系统的主控芯片,控制交通灯的循环点亮并显示灯亮时间(采用倒计时显示),当定时时间到的时候控制蜂鸣器响来提醒人们注意红绿灯的状态。交通等循环蜂鸣器LPC2131最小系统倒计时显示图3.2 四 硬件设计根据设计任务要求,自行选择电子元件,画出电气原理图,并调试。一个完整的系统除了主控芯片以外,还需配上电源系统、时钟电路、复位电路等。独立的芯片是不能工作的。4.1 LPC2138芯片介绍及设计LPC2138 是基于一个支持实时仿真和嵌入式跟踪的32 位ARM7TDMI-STM CPU 的微控制器,并带有32kB 的嵌入的高速Flash 存储器。128 位宽度的存储器接口和独特的加速结构,使32 位代码能够在最大时钟速率下运行。对代码规模有严格控制的应用可使用16 位Thumb.模式将代码规模降低超过30%,而性能的损失却很小。较小的封装和极低的功耗使 LPC2131 可理想地用于小型系统中,具有以下一些特性: 小型LQFP64封装 8k的片内静态RAM 和32k的片内Flash 程序存储器。 片内Boot装载软件实现在系统/在应用中编程(ISP/SAP)单扇区或整片擦除时间为400ms。256 字节行编程时间为1ms。 1个10位D/A转换器 两个32位定时器/计数器(带四路捕获和四路比较通道)、PWM单元(6路输出)和看门狗 实时时钟具有独立的电源和时钟源,在节电模式下极大地降低了功耗 多个串行接口,包括2 个16C550 工业标准UART、2 个高速I2C接口(400 kbit/s)、SPITM 和具有缓冲作用和数据长度可变功能的SSP。 多达47个5V的通用I/O口;向量中断控制器,可配置优先级和向量地址 9个边沿或电平触发的外部中断引脚 片内晶振频率范围:130 MHz。 通过片内PLL可实现最大为60MHz的CPU操作频率,PLL的稳定时间为100us 低功耗模式:空闲和掉电。 可通过个别使能/禁止外部功能和外围时钟分频来优化功耗。 通过外部中断将处理器从掉电模式中唤醒。 单电源,具有上电复位(POR)和掉电检测(BOD)电路: CPU 操作电压范围:3.0V3.6 V (3.3 V 10),I/O 口可承受5V 的电压。4.2 LPC2138芯片最小系统硬件设计图4.5为LPC2138芯片的原理图,64个引脚,采用3.3V电源供电,设计所需外接器件的网络名已经标出。图4.14.3 系统电源电路设计本电源运用5V的直流电源(图3.5所示)。通过DS2434芯片将5V电压转换为3.3V电压,为LPC2138芯片供电,LPC2138芯片所能承受的电压范围是3V3.6V(图4.2所示)。通过滤波电路(图4.3所示)可以很好地滤去转换后电压中的毛刺。图4.2图4.34.4 晶振与复位电路系统的晶振电路如图4.4所示LPC2138芯片采用11.0592MHz的晶振作为振荡时钟源,通过对芯片的进行软件设计可以将晶体振荡器的频率分频为所需的频率;系统的复位电路如图4.5所示,SP708S芯片的7号引脚连接到主控芯片的复位引脚(nRST)上,按下复位键S2时,系统将会复位到初始的状态。图4.4图4.54.5 LED循环显示设计 由南向北和由北向南车道各用一组红、绿、黄三色的指示灯,指挥车辆通行。绿灯是通行信号,面对绿灯的车辆可以直行,红灯是禁止通行信号,面对红灯的车辆必须在路口的停车线后停车。黄灯是警告信号,面对黄灯的车辆不能越过停车线,但车辆已十分接近停车线而不能安全停车时可以继续行进。具体红绿灯时间分配时间如表41所示。表41:50s5s5s50s5s5s南北通道绿灯亮绿灯闪黄灯闪红灯亮红灯闪黄灯闪人行道红灯亮红灯亮红灯亮绿灯亮红灯亮红灯亮 上表说明南北通道绿灯亮、绿灯闪黄灯闪时人行道都是红灯亮,只有车道红灯亮(车辆完全停下来)时人行道绿灯才亮,这样保证了过马路的行人人身安全,避免了不必要的交通事故。硬件电路连接图如图4.6所示图4.6交通灯LED的发光和熄灭的控制,是通过控制GPIO寄存器组来完成的,须先将引脚P1.18P1.25通过引脚功能选择寄存器PINSEL1,设置为GPIO方式;再设置GPIO方向寄存器1(IO1DIR),对应的引脚设置为输出方向。要点亮LED1LED8需要使用GPIO清零寄存器1(IO1CLR)的对应位设置为1,即在引脚P1.18P1.25上加逻辑低电平,即可点亮这些灯。与之相反,要熄灭这些灯,则要用GPIO输出置位寄存器1(IO1SET)将对应的位置位即可。4.6 数码管倒计时显示硬件设计数码管是一种很普遍的显示器件,数码管的主要部分是七段发光二极管;数码管分为共阴极和共阳极两种,为了保护各段LED,需外加限流电阻。有的产品还附加有一个小数点,因此有人也称之为八段式发光二极管。图4.7如图4.7所示,数码管由8个发光段(第八段表示小数点)的不同组合,从而实现十六进制数的显示。通过段选端可以控制数码管显示内容,位选端用于控制整个数码管是否工作:对于共阴极数码管,位选端要接低电平,对于共阳极数码管,位选端接高电平。数码管有两种显示方式:动态显示和静态显示。静态显示让数码管要点亮的数码管同时持续点亮;动态显示则利用了人眼的视觉暂留原理,在一个时间内只点亮一个数码管。本次设计采用2位一体的数码管,数码管的2条位选线连接ARM的通用I/O口;数码管的8个段选端连接74HC595芯片的并行I/O输出接口,74HC595再与ARM的SPI0模式进行通信,接受ARM发送过来的数据。数码管硬件电路连接图如图4.8所示。图4.84.7 蜂鸣器设计将蜂鸣器正极端接电源,负极端通过三极管接地,三极管基极通过电阻接到LPC2138芯片的P0.8引脚上。具体硬件电路连接图如图4.9所示图4.9五 软件设计5.1 交通灯控制软件流程图图5.1为ARM模拟交通灯控制程序流程图,主程序主要完成倒计时显示及控制蜂鸣器,中断服务程序主要控制那些灯亮以及亮的时间。开始定时器0初始化初始化中断,开中断交通灯倒计时显示中断服务程序流程图系统保护现场车道红灯计数变量-1车道绿灯闪烁计数-1车道红灯闪烁计数-1黄灯闪烁计数-1车道闪烁黄灯计数-1车道绿灯计数-10=Flag50115=flag120110=flag11560=flag11050=flag55中断返回55flag60flag=120flag=0,清零计数变量NYNNNNNYYYYYNflag=55or115控制蜂鸣器响2秒NY主程序流程图图5.15.2 ARM交通灯模拟控制程序设计定时器控制原理:定时器对外设时钟Fpclk周期进行计数,根据4个匹配寄存器的设定可设置为匹配(即达到匹配寄存器指定的定时值)时产生中断或执行其他操作。ARMLPC2138有两个32位定时器,定时器0和定时器1,本次设计仅适用定时器0,选定定时器0中断为向量IRQ。设置P0、P1口为GPIO输出状态,初始化定时器,选定定时器0中断为向量IRQ,对VICIntEnable、VICIntSelect、VICvecttl进行设置,初始化SPI接口,根据设计要求编写软件程序。根据事先画好的程序流程图,用C语言编写程序。在主程序中对需要用到的I/O口进行定义,并设置相应的I/O口,比如要求P1.18P1.25引脚为GPIO功能,则通过对引脚功能选择 寄存器PINSEL1将对应的引脚设置为GPIO方式并设置GPIO方向,在GPIO方向寄存器IO1DIR里设置,之后对定时器0进行初始化,并开相应的中断。然后进入大循环进行倒计时显示、控制蜂鸣器的蜂鸣与否并判断flag是否加到设定值,对flag加到设定值后进行清零,让flag重新计数。中断服务程序的设计,每隔一秒钟定时器中断一次,每中断一次flag加1根据LED点亮的先后顺序以及点亮的时间,分别编写相应的程序。设计为系统上电即点亮车道红灯以及马路绿灯,倒计时50s红灯开始闪烁,同时马路红灯亮,红灯闪5s接着转为黄灯闪5s,然后车辆通道转为绿灯亮,50s后绿灯闪5s,黄灯再闪5s之后又回到红灯亮,人行道只在车辆通道红灯时才亮绿灯。这主要靠在中断服务程序中对计数值flag的判断来对正在点亮的灯进行定时实现程序详细清单见附录1六 设计心得体会及总结两周的课程设计结束了,在这次的课程设计中不仅检验了我所学习的知识,也培养了我如何去把握一件事情,如何去做一件事情,又如何完成一件事情。在设计过程中,与同学分工设计,和同学们相互探讨,相互学习,相互监督。学会了合作,学会了运筹帷幄,学会了宽容,学会了理解,也学会了做人与处世。课程设计是我们专业课程知识综合应用的实践训练,着是我们迈向社会,从事职业工作前一个必不少的过程”千里之行始于足下”,通过这次课程设计,我深深体会到这句千古名言的真正含义我今天认真的进行课程设计,学会脚踏实地迈开这一步,就是为明天能稳健地在社会大潮中奔跑打下坚实的基础通过这次交通灯设计,本人在多方面都有所提高。通过这次交通灯设计,培养综合运用所学知识、独立分析和解决实际问题的能力,培养创新意识和创新能力,并获得科学研究的基础训练。了解所选择的ARM芯片各个引脚功能,工作方式,计数/定时,I/O口,中断等的相关原理,并巩固学习嵌入式的相关内容知识。通过软硬件设计实现利用ARM芯片完成交通灯控制功能。首先查阅相关文献资料,熟悉所选ARM芯片。第二步总体设计方案规划,设计车辆遇到红灯停绿灯行情况,红绿灯时间均为60s,切换时间为10s,最后5s为黄灯闪烁。接下来 系统硬件设计,熟悉IO接口,定时器计数器工作原理。最后系统软件设计,包括交通信号灯的工作流程软件实现,用C语言编程。提高了计算能力,绘图能力,熟悉了规范和标准,同时各科相关的课程都有了全面的复习,独立思考的能力也有了提高。在这次设计过程中,体现出自己单独设计模具的能力以及综合运用知识的能力,体会了学以致用、突出自己劳动成果的喜悦心情,从中发现自己平时学习的不足和薄弱环节,从而加以弥补。在此感谢我们的何老师.,老师严谨细致、一丝不苟的作风一直是我工作、学习中的榜样;老师循循善诱的教导和不拘一格的思路给予我无尽的启迪;这次模具设计的每个实验细节和每个数据,都离不开老师您的细心指导。而您开朗的个性和宽容的态度,帮助我能够很顺利的完成了这次课程设计。同时感谢对我帮助过的同学们,谢谢你们对我的帮助和支持,让我感受到同学的友谊。 由于本人的设计能力有限,在设计过程中难免出现错误,恳请老师们多多指教,我十分乐意接受你们的批评与指正,本人将万分感谢。七 参考文献【1】.周立功主编;ARM嵌入式系统基础教程M(第2版);北京:北京航空航天大学出版社;20XX.【2】.张崙编著;32位嵌入式系统硬件设计与调试M;北京:机械工业出版社;20XX.【3】.马洪连,等编著;嵌入式系统设计教程M;北京:电子工业出版社;20XX.【4】.王田苗主编;嵌入式系统设计与实例开发M;北京:清华大学出版社;20XX.【5】.符意德编著;嵌入式系统设计原理及应用M;北京:清华大学出版社;20XX.【6】.沈文斌主编;嵌入式硬件系统设计与开发实例详解M;北京:电子工业出版社;20XX.【7】.江思敏,陈明编著;Protel电路设计教程M(第2版);北京:清华大学出版社;20XX.【8】.罗蕾主编;嵌入式实时操作系统及应用开发M;北京:北京航空航天大学出版社;20XX.【9】.PHILIPS公司;LPC2114/2124/2138/2212/2214 User Manual;20XX.【10】.谭浩强编著;C语言程序设计M(第3版);北京:清华大学出版社;20XX.【11】田泽.嵌入式系统开发与应用M;.北京:北京航空航天大学出版社,20XX.【12】马忠梅,英惠.ARM嵌入式处理器结构与应用基础(第2版)M.;北京:北京航空航天大学出版社,20XX.【13】严蔚敏,吴伟民.数据结构:C语言版M.北京:清华大学出版社,1996.【14】 王宇行.ARM程序分析与设计M.北京:北京航空航天大学出版社,20XX.【15】胥静.嵌入式系统设计与开发实例详解:基于ARM的应用M.北京:北京航空航天大学出版社,20XX.附录1:#include config.h#define LED1 118 /P1.18南北红灯#define LED2 119 /P1.19南北绿灯#define LED3 120 /P1.20南北黄灯#define LED4 121 /P1.21南北红灯#define LED5 122 /P1.22南北绿灯#define LED6 123 /P1.23南北黄灯#define LED7 124 /P1.24马路红灯#define LED8 125 /P1.25马路绿灯#define Y 0x00900000#define R 0x00240000#define G 0x00480000#define SEL1 126 /数码管位选1#define SEL2 127 /数码管位选2#define HC595_CS 0x00000200 /P0.9#define BEEP 0x00000100 /P0.8为蜂鸣器控制unsigned int dat,nb,h,flag;unsigned char tab=0XC0,0XF9,0XA4,0XB0,0X99,0X92,0X82,0XF8,0X80,0X90;/*定时器0中断服务子程序 重装初值,计数增减*/void _irq IRQ_Time0(void) unsigned int i;if(flag50)&(flag55)i=IO1PIN;if(i&R)=0)IO1SET=R;elseIO1CLR=R; /红灯每秒闪烁一次nb-; /红灯时间减1if(flag=55)IO1CLR=LED3|LED6|LED7; /车道黄马路红IO1SET=(LED3|LED6|LED7);h=5;if(55flag)&(flag60)i=IO1SET;if(i&Y)=0)IO1SET=Y;elseIO1CLR=Y; /黄灯闪烁h-; /黄灯时间秒减1if(60=flag)&(flag110)if(flag=60) nb=51;IO1CLR=LED2|LED5|LED7; /车道绿马路红IO1SET=(LED2|LED5|LED7);nb-; /绿灯时间减1if(110=flag)&(flag115) /计数慢一个周期后重新开始计数i=IO1SET;if(i&G)=0)IO1SET=G;elseIO1CLR=G; /绿灯闪烁nb-; /绿灯时间减1if(flag=115)h=5;IO1CLR=LED3|LED6|LED7; /车道黄马路红IO1SET=(LED3|LED6|LED7);if(115flag)&(flag120)i=IO1SET;if(i&Y)=0)IO1SET=Y;elseIO1CLR=Y; /黄灯闪烁h-; /黄灯时间减1flag+; T0IR = 0x01; / 清除中断标志 VICVectAddr = 0x00; / 通知VIC中断处理结束/*Time0Init() 定时器0定时中断初始化*/void Time0Init(void) T0PR = 99; / 设置定时器0分频为100分频得110592Hz T0MCR = 0x03; / 匹配通道0匹配中断并复位T0TC T0MR0 = 110592; / 比较值(1秒定时值) T0TCR = 0x03; / 启动并复位T0TC T0TCR = 0x01; VICIntSelect = 0x00; / 所有中断通道设置为IRQ中断 VICVecttl0 = 0x24; / 定时器0中断通道分配最高优先级 VICVectAddr0 = (uint32)IRQ_Time0; / 设置中断服务程序地址向量 VICIntEnable = 0x00000010; / 使能定时器0中断/* void SPImasterInit() SPI初始化*/void SPImasterInit()unsigned int fdiv;fdiv=8;S0PCCR=fdiv&0xfe;S0PCR=(03)|(14)|(15)|(06)|(17);/* HC595_SendDat() 向74HC595发送一字节数据*/void HC595_SendDat(unsigned int dat)IO0CLR=HC595_CS;S0PDR=dat;while(0=(S0PSR&0x80); /等待数据发送完毕IO0SET=HC595_CS;/*Delay_NS() 长软件1ms延时*/void Delay_Ns(unsigned int dly) while(dly-)/dly ms延时 unsigned int j; for(j=1;j=613;j+) /1ms延时; /* void LED_Display()*功能: LED数码管显示*/void LED_Display() if(flag55)|(60=flag)&(flag115) dat=nb/10;/显示十位数据 HC595_SendDat(tabdat); IO1SET=SEL1;/打开数码管位选1
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 人教版六年级下册音乐学习活动计划
- 工业机器人应用系统行业商业计划书
- 2025年医疗器械可靠性工程与质量控制方法研究报告
- 小学信息中心教育信息化评估计划
- 2025公司项目部管理人员安全培训考试试题完美
- 2025车间安全培训考试试题【A卷】
- 2025年新员工岗前安全培训考试试题含答案(培优B卷)
- 2025年承包商入厂安全培训考试试题(基础题)
- 2025新版车间安全培训考试试题(达标题)
- 2024-2025各个班组安全培训考试试题答案新
- 《VEP波形解释》课件
- 福建省危险性较大的分部分项工程安全管理标准
- 闽教版英语六年级下册单词默写表
- 【MOOC】寄生虫病与食品安全-华中科技大学 中国大学慕课MOOC答案
- 国开2024年秋《投资学》形考作业册1-4答案
- 不稳定型心绞痛课件
- 全光校园网络解决方案
- 建筑企业安全生产事故报告及处理制度(4篇)
- 第七章 循证医学课件
- 风电专业考试题库带答案
- 艾滋病职业防护培训
评论
0/150
提交评论