人行过马路交通灯控制系统led红绿灯与闪亮控制

上传人:e****s 文档编号:154999599 上传时间:2022-09-22 格式:DOC 页数:42 大小:2.50MB
收藏 版权申诉 举报 下载
人行过马路交通灯控制系统led红绿灯与闪亮控制_第1页
第1页 / 共42页
人行过马路交通灯控制系统led红绿灯与闪亮控制_第2页
第2页 / 共42页
人行过马路交通灯控制系统led红绿灯与闪亮控制_第3页
第3页 / 共42页
资源描述:

《人行过马路交通灯控制系统led红绿灯与闪亮控制》由会员分享,可在线阅读,更多相关《人行过马路交通灯控制系统led红绿灯与闪亮控制(42页珍藏版)》请在装配图网上搜索。

1、摘要纵观单片机的发展和应用, 51 单片机越来越无法满足用户的需求, ARM 高速 32位单片机的出现,缔造了嵌入式系统的新纪元.嵌入式系统是指以应用为中心,以计算机技术为基础,软件,硬件可裁减,适应应用系统对功能、可靠性、成本、体积、和功耗严格要求的专用计算机系统。嵌入式系统已广泛地渗透到科学研究、工程设计、军事等各种领域、甚至商业、文化、艺术、及人们日常生活的方方面面。随着国内外各种嵌入式产品的进一步开发和推广,嵌入式技术的重要性日益凸显,使得我们不得不将注意力转移到它身上。ARM的应用已遍及工业控制、消费类电子产品、通信系统、网络系统、无线系统等各类产品市场。本文设计了一款基于ARM7的

2、带闪烁人行过马路交通灯控制系统,系统中采用单片机控制各十字路口的信号灯,利用ARM7控制板完成对单片机的控制。主控计算机通过互联网完成对ARM7系统板控制,在主控计算机上可实现任意相位的设置,同时,可完成城市所有路口信号灯的监视和在线调整。GPIO端口0管脚值寄存器IOPIN,它的配置方式仅用于数字方式。不管它配置成输入或输出,或作为GPIO,或可选的数字功能,该寄存器引脚总是给出逻辑值。关键词:ARM7,单片机,先进的精简指令微处理器,通用输入输出接口,发光二极管Abstract Throughout the development and application of SCM, 51 SC

3、M increasingly unable to satisfy the demand of users, ARM speed 32bit MCU embedded systems, creates the new era of embedded system. Refer to the application for the center to computer technology as the foundation, software, hardware, can adapt to function, application system reliability, cost, volum

4、e, and the power of the strict specialized computer system. The embedded system has been widely permeates scientific research and engineering design, military and other fields, or even commercial, culture, art, and all aspects of Peoples Daily life. With the further development of embedded products,

5、 and the importance of the embedded technology allows us to increasingly prominent, divert attention to it. The ARM of the application in industrial control, consumer electronics, communication system, network system, wireless systems and other kinds of product market. The paper design a cross road

6、traffic signal lamp based the ARM7, the system controls the all crossroad signal lights by single-chip microprocessor and controls the single-chip microprocessor by the ARM7 controlled board. The main controlled computers control ARM7 system board. We can set all phases on the computer, at the same

7、time, we can test and set the parameters on the line. GPIO port 0 Pin value register IOPIN,This register provides the value of port pins that are configured to perform only digital functions. The register will give the logic value of the pin regardless of whether the pin is configured for input or o

8、utput, or as GPIO or an alternate digital function. Key words:ARM7,Single-chip microprocessor,GPIO,LED目录摘要IAbstractII目录III1 绪论1122 工作硬件原理42.1 LPC2103简介42.1.1 概述42.1.2 LPC2103特性42.1.3 管脚信息52.2 EasyARM2103硬件说明62.2.1 功能特点62.2.2 LPC2103 PACK板原理图72.3 EasyARM2103底板原理图82.3.1 电源电路82.3.2 复位和I2C电路92.3.3 时钟电路1

9、02.3.4 JTAG接口电路112.3.5 UART接口电路112.3.6 按键与显示电路122.4 硬件结构132.4.1 元件布局图13143 EasyARM2103 快速入门15153.1.1 CodeWarrior IDE简介153.1.2 AXD调试器简介163.2 工程的编辑173.2.1 建立工程173.2.2 建立文件193.2.3 添加文件到工程193.2.4 编辑连接工程203.2.5 打开旧工程223.3 工程的调试223.4 EasyJTAG-H简介233.4.1 EasyJTAG-H安装243.4.2 H-JTAG配置244 带闪烁人行过马路交通灯控制系统的设计与实

10、现274.1 带闪烁人行过马路交通灯控制的基本规则274.2 交通灯点亮与熄灭的原理284.3 ARM定时器控制的原理294.4 带闪烁人行过马路交通灯控制的连接294.5 通灯控制系统的硬件设计304.6 主程序314.7 中断服务程序335 总结与体会35致谢36参考文献371 绪论 随着我国改革开放的不断深入 ,城市化进程不断加快 ,交通事业飞速发展 ,交通拥挤已成为城市经济发展的“瓶颈”,特别是大、中城市不断增加的车辆和有限的道路空间矛盾日益加剧。 目前我国城市里的十字路口交通系统大都采用定时来控制(不排除繁忙路段或高峰时段用交警来取代交通灯的情况),这样必然产生如下弊端:当某条路段的

11、车流量很大时却要等待红灯,而此时另一条是空道或车流量相对少得多的道却长时间亮的是绿灯,这种多等少的尴尬现象是未对实际情况进行实时监控所造成的,不仅让司机乘客怨声载道,而且对人力和物力资源也是一种浪费。缓解道路交通拥堵 ,减少交通事故 ,改善道路交通环境 ,节约交通能源 ,减轻驾驶疲劳等功能 ,最终实现安全、舒适、快速、经济的交通环境是目前急需解决的城市交通管理系统的关键技术之一。 本文采用的设计是使用ARM32位LPC2103芯片,作为带闪烁人行过马路交通灯控制系统的核心部件,利用ARM32位芯片定时器的优势,对带闪烁人行过马路交通灯精确的控制;可根据车流量的大小,合理的和精确的控制每一个路口

12、的车辆直向通行和车辆向左转弯通行的时间,来减少路口车辆拥塞的时间。达到路口车辆畅通的的同时减少车辆的停留时间,从而有利于减轻城市马路空气污染的目的。当人类历史跨入21世纪的时候,全球社会、经济、市场、产业结构及科学技术等发生着深刻的变革:国际和国内市场向着大竞争大合作的方向发展;产业结构向着以信息产业为主的方向发展;基础科学、信息科学、材料科学、管理科学和现代控制理论与制造科学等获得了突破性的进展,而且相互交叉融合。以网络为基础的科学活动环境研究对未来的计算模式和科研活动产生了深刻的影响,同时也提出了挑战,如:无序成长性与动态有序性的统一;自治条件下的协同性及安全保证;异构环境下的系统可用性和

13、易用性;海量信息的结构化组织与管理等。在此背景下,网络技术与先进制造技术的有效融合形成了一种全新的生产制造模式-网络化制造。网络化制造技术的出现和发展,引起了全球制造领域的极大关注。2000年3月在新加坡召开的第五届国际计算机集成制造(CIM)大会上,大会组织委员会主席Robert Gay和学术委员会主席Jasbir Sing联合撰写的大会论文集前言中指出:“近年来制造业最伟大的影响就是基于Internet技术和相关业务的出现”。网络化制造涉及的技术问题多且内容复杂,许多技术问题都有待于深入研究和解决。在这些技术内容和技术问题中,网络化协同产品开发将是今后相当一段时间网络化制造的主要研究课题。

14、主要原因是:网络化产品协同开发有利于快速响应市场机遇,有利于迅速组织人力、物力资源,开发出质量优、成本低的新产品,赢得市场竞争。网络环境下新产品的研究、开发、设计、制造、管理、营销、服务不再局限于一座城市、一个地区甚至一个国家。同时,企业间的兼并和收购成为激烈竞争的必然结果,这使得企业规模急剧膨胀,其内部生产、管理和决策支持系统多种多样系统间的信息和知识交换成为瓶颈。而且,随着现代产品的复杂度和技术含量的提高,单一企业常常受到技术和资源等方面的限制,不能胜任产品开发的全过程。于是,利用现代计算机和网络技术,进行企业间的合作和同盟,以便充分利用各自的资源和技术优势,取长补短,获得整体优化。这样,

15、虚拟企业应运而生。虚拟企业是组织经营活动的一种方法,这里,不同和独立的合作伙伴建立一个企业联盟来共享商业机遇,产品的开发和生产不再局限于单个企业中,产品的开发过程更需要多领域,多学科的人员参与。上述产品开发模式随着Internet变成网络应用平台而越来越具有可实现性。但是,从总体上讲,网络化协同产品开发的研究还不够深入,缺乏系统的理论体系和支持工具,研究成果与实际需求尚有一定的差距。因此,探索网络环境下的协同产品开发方法和关键技术,并开发出相应的支持系统,是一项具有重要理论意义和广泛应用前景的研究课题。理论不可能产生在实践之前,它需要实践经验作为其构成的基本要素;理论也不是产生在实践的终点,因

16、为它负有指导后续实践使之有更多成功机会的责任。本论文针对网络化协同产品开发业务流程和软件技术架构进行了深入的研究。汽车进入家庭步伐的加快和城市汽车数量的增多, 城市道路交通问题显得越来越重要。我们在马路上经常会看到这种现象: 一旦整个路口的交通信号灯出现故障, 若没有交警的及时疏导, 该路口就会塞得一塌糊涂。原交通信号控制大都采用继电器或单片机实现, 存在着功能少、可靠性差、维护量大等缺点,越来越不能适应城市道路交通高速发展的要求。另外, 根据人车流量的多少, 可能随时增加路口的交通信号, 比如增加转弯或人行道交通信号, 原有系统的制约性就更明显了。交通问题在现在乃至将来的一段时间内仍是制约国

17、内各大中城市发展的主要问题之一。以上海为例,“开车没有骑车快,坐车没有走路快”,这种现象在上海交通高峰时段已是见怪不怪。国际展览局在申办城市手册中谈到交通问题时指出:“成功举办世博会的关键因素是要有一个有效的交通系统”,而“上海正面临着经济发展和城市快速扩展而产生的交通需求挑战”,已经不堪重负的上海城市交通,能否经受得住世博会的考验?可见解决交通问题,刻不容缓。2 工作硬件原理 LPC2103简介2.1.1 概述LPC2103是一个基于支持实时仿真的16/32位ARM7 TDMI-S CPU的微控制器,并带有32kB的嵌入高速Flash存储器,128位宽度的存储器接口和独特的加速结构使32位代

18、码能够在最大时钟速率下运行。 较小的封装和极低的功耗使LPC2103适用于访问控制器和POS机等小型应用系统中;由于内置了宽范围的串行通信接口(2个UART、SPI、SSP和2个I2C)和8KB的片内SRAM,LPC2103也适合用在通信网关和协议转换器中。32/16位定时器、增强型10位ADC、定时器输出匹配PWM特性、多达13个边沿、电平触发的外部中断、32条高速GPIO,使得LPC2103微控制器特别适用于工业控制和医疗系统中。2.1.2 LPC2103特性1. 16/32位ARM7 TDMI-S微控制器,超小LQFP48封装; 2. 8KB的片内静态RAM和32KB的片内Flash程序

19、存储器。128位宽度接口/加速器可实现高达70 MHz工作频率; 3. 通过片内boot装载程序实现在系统/在应用编程(ISP/IAP)。单个Flash扇区或整片擦除时间为100ms,256字节编程时间为1ms; 4. 嵌入式ICE RT通过片内RealMonitor软件提供实时调试; 5. 10位A/D转换器提供8路模拟输入(每个通道的转换时间低至2.44us),以及特定的结果寄存器来最大限度地减少中断开销; 6. 2个32位定时器/外部事件计数器(带7路捕获和7路比较通道); 7. 2个16位定时器/外部事件计数器(带3路捕获和7路比较通道); 8. 低功耗实时时钟(RTC)具有独立的电源

20、和特定的32KHz时钟输入; 9. 多个串行接口,包括2个UART(16C550协议标准)、2个高速I2C总线(400 Kbit/s)、SPI和具有缓冲作用和数据长度可变功能的SSP; 10. 向量中断控制器(VIC),可配置优先级和向量地址; 11. 多达32个通用I/O口(可承受5V电压); 12. 多达13个边沿、电平触发的外部中断管脚; 13. 通过一个可编程的片内PLL(100us的设置时间)可实现最大为70MHz的CPU操作频率,其具有10MHz25MHz的输入频率; 14. 片内集成振荡器与外部晶体的操作频率范围为125MHz; 15. 低功耗模式包括空闲模式、带RTC的睡眠模式

21、和掉电模式; 16. 可通过个别使能/禁止外围功能和外围时钟分频来优化额外功耗; 17. 通过外部中断或RTC将处理器从掉电模式中唤醒。 2.1.3 管脚信息 图2.1 LQFP48管脚配置 图2.2 PLCC44管脚配置2.2 EasyARM2103硬件说明2.2.1 功能特点 1. 采用“底板PACK板”的形式构成EasyARM2103开发套件,PACK板的主芯片为LPC2103; 2. 板上所有的功能器件与LPC2103的引脚可通过跳线来连接; 3. 配套有详细的开发板实验教程; 4. I/O口全部引出,方便用户连接外部电路进行开发; 5. 可进行GPIO的输入输出实验,如按键输入、发光

22、二极管输出等; 6. 按键、发光二极管分别可用于外部中断、GPIO输出等;7. 具有RS-232转换电路,可与上位机进行通信,完成UART通信实验; 8. 具有I2C接口和SPI/SSP接口输出; 9. 提供基于PC的人机界面,方便调试实时时钟和串口通信等; 10. 可进行外部中断实验,学习向量中断控制器(VIC); 11. 定时器实验,如定时输出和定时器捕获等; 12. 复位芯片CAT1025,完成I2C总线实验; 13. A/D转换实验; 14. 实时时钟控制实验; 15. WDT看门狗实验; 16. 详细的实验教程和实验例程完整地验证了芯片的所有功能外设。2.2.2 LPC2103 PA

23、CK板原理图LPC2103 PACK板的电路设计如图2.3所示,芯片LPC2103的所有引脚全部连接到插针上,电容C1-C5用于对LPC2103芯片上5个电源端进行滤波。图 2.3 LPC2103PACK原理图2.3 EasyARM2103底板原理图2.3.1 电源电路 电压稳至3.3V和1.8V,0欧的电阻用来隔离数字电源和模拟电源、数字地和模拟地。 SPX1117系列LDO芯片是EXAR公司生产的低压差芯片,其特点是输出电流大,输出电压精度高,稳定性高,宽电压输入(这里选择的是5V输入)。此系列LDO芯片的输出电流高达800mA,输出电压的精度在1之内,可广泛应用于手持式仪表、数字家电、工

24、业控制等领域。注意在电路输入输出端接一个10F的电容,可改善瞬态响应和稳定性。 电源电路 2.3.2 复位和I2C电路由于ARM芯片的高速、低功耗和低工作电压的工作特性,导致其噪声容限低,对电源纹波、瞬态响应性能、时钟源的稳定性和电源监控的可靠性等诸多方面有很高的要求。开发板采用的是带有256字节存储空间、I2C接口的专用电源监控复位芯片CAT1025,保证了系统的可靠性,其电路原理如图2.5所示。 nRST连接到芯片LPC2103的复位引脚,当复位按键RST1按下时,CAT1025的复位引脚输出有效信号,使芯片LPC2103复位。I2C总线需要外接上拉电阻R15、R16 。图 复位电路2.3

25、.3 时钟电路 LPC2103微控制器可使用外部晶振或外部时钟源,内部PLL电路可调整系统时钟,使系统运行速度更快(CPU的操作频率最大可达70MHz)。若不使用片内PLL功能及ISP下载功能,则外部晶振频率为130MHz,外部时钟频率为150MHz;若使用片内PLL功能或ISP下载功能,则外部晶振频率为1025MHz,外部时钟频率为1025MHz。EasyARM2103开发板使用外部晶振11.0592MHz,实时时钟为32.768KHz,电路原理如图2.6所示。用11.0592MHz的外部晶振使串口的波特率更精确,同时能支持LPC2103微控制器内部的PLL电路及ISP(在系统编程)功能。图

26、 2.6 时钟电路2.3.4 JTAG接口电路 JTAG接口电路采用ARM公司提出的标准20脚JTAG仿真调试接口,JTAG接口与LPC2103引脚之间的连接如图2.7所示。在RTCK引脚处接一个4.7K的下拉电阻,将在系统复位后使能JTAG调试接口。 JTAG接口电路2.3.5 UART接口电路由于开发板是3.3V供电系统,需要使用电平转换芯片SP3232E来进行RS-232电平转换。SP3232E的工作电压为3.3V,电平转换电路如图2.8所示。 当使用ISP功能时,需要将PC机的串口与开发板的串口相连,短接JP6端口,短接P0.14,在系统复位时,进入ISP状态。同样,在程序仿真调试中,

27、若用到串口UART0,则需要短接JP6两个端口。图 串口电路2.3.6 按键与显示电路 EasyARM2103开发板提供了3个独立的按键、4个发光二极管,按键与显示电路如图2.9所示。当P0口作为输入时,内部没有上拉电阻,需要外接上拉电阻R17、R18、R19。显示电路中采用灌电流的驱动方式来驱动发光二极管,由于LPC2103芯片I/O口提供的灌电流大于其拉电流,可以保证了发光二极管的亮度。图 按键与LED电路2.4 硬件结构2.4.1 元件布局图EasyARM2103开发板的底板与PACK板的元件布局如图 .10、图 .11所示。图 底板元件布局图图 2.11 PACK板元件布局图EasyA

28、RM2103开发板使用说明及注意事项如下:1.电源电压 1. EasyARM2103开发板系统电源电压为5V,注意避免连接高于5V电压的电源; 2. 注意跳线的连接,避免短路现象。 1. 在使用开发板前,必须连接好PACK板与底板,注意不要将PACK板插反; 2. 禁止频繁拔插PACK,容易造成线路连接不良; 3. 当使用JTAG调试程序时,需要短接DBGSEL引脚,将底板的JP8短接; 1. 当使用ISP下载程序时,上电前需要将P0.14脚拉低,将底板的JP7短接; 2. 不使用ISP功能时,上电前需要开路JP7,否则系统无法进入调试状态。3 EasyARM2103 快速入门 本章将首先介绍

29、在ADS1.2开发环境里如何建立、编译连接工程及对工程进行调试的基本方法,进而说明基于LPC2103 ARM微控制器的工程模板、EasyJTAG-H仿真器的安装与使用,最后对ARM芯片如何进行ISP操作进行简单了解。 ADS集成开发环境是ARM公司推出的ARM核微控制器集成开发工具,英文全称为ARM Developer Suite,成熟版本为ADS1.2。ADS1.2支持ARM10之前的所有ARM系列微控制器,支持软件调试及JTAG硬件仿真调试,支持汇编、C、C+源程序,具有编译效率高、系统库功能强等特点,可以在Windows98、Windows2000、Windows XP以及RedHat

30、Linux上运行。 ADS 1.2由6个部分组成,如表1.1所示。 表 01 的组部分名称描述使用方式代码生成工具ARM 汇编器ARM 的 C、C+编译器 Thumb 的 C、C+编译器 ARM 连接器由 CodeWarrior IDE 调用集成开发环境CodeWarrior IDE工程管理,编译连接调试器AXD ADW/ADUarmsd仿真调试指令模拟器ARMulator由 AXD 调用ARM 开发包底层的例程实用程序(如 fromELF)实用程序由 CodeWarrior IDE调用ARM 应用库C、C+函数库等用户程序使用 由于用户一般直接操作的是 CodeWarrior IDE 集成开

31、发环境和 AXD 调试器,所以本文只介绍这两部分的使用,其它部分的详细说明参考 ADS 1.2 的在线帮助文档。3.1.1 CodeWarrior IDE简介ADS 1.2使用了CodeWarrior IDE集成开发环境,并集成了ARM汇编器、ARM的C/C+编译器、Thumb的C/C+编译器、ARM连接器,包含工程管理器、代码生成接口、语法敏感(对关键字以不同颜色显示)编辑器、源文件和类浏览器等。 CodeWarrior IDE主窗口如图3.1所示。 图 0.1 CodeWarrior 开发环境3.1.2 AXD调试器简介 图3.2 AXD调试器AXD调试器ARM Extended Debu

32、gger是ARM扩展调试器,包括ADW/ADU的所有特性,支持硬件仿真和软件仿真(ARMulator)。AXD能够装载映像文件到目标内存,具有单步、全速和断点等调试功能,可以观察变量、寄存器和内存的数据等,AXD调试器主窗口如Error! Reference source not found.2所示。3.2 工程的编辑 3.2.1 建立工程 点击WINDOWS操作系统的【开始】【程序】【ARM Developer Suite v1.2】【CodeWarrior for ARM Developer Suite】启动Metrowerks CodeWarrior;或双击“CodeWarrior fo

33、r ARM Developer Suite”。 图3.3 启动ADS1.2 IDE 点击【File】菜单,选择【New】即弹出New对话框,如图3.4所示。 图 0.2 New 对话框选择工程模板为 ARM 可执行映象(ARM Executable Image)或 Thumb 可执行映象 (Thumb Executable Image),或 Thumb、ARM 交织映象(Thumb ARM Interworking Image), 然后在【Location】项选择工程存放路径,并在【Project name】项输入工程名称,点击【确定】按钮即可建立相应工程,工程文件名后缀为 mcp(下文有时也

34、把工程称为项目)。3.2.2 建立文件 建立一个文本文件以便输入用户程序。点击“New Text File”图标按钮,然后在新建的文件中编写程序,点击“Save”图标按钮将文件存盘(或从【File】菜单选 择【Save】),输入文件全名,如 TEST1.S。注意,请将文件保存到相应工程的目录下,以 便于管理和查找。当然,您也可以New对话框选择【File】页来建立源文件,或使用其它文 本编辑器建立或编辑源文件。3.2.3 添加文件到工程 如图 3.3.5所示,在工程窗口中【Files】页空白处点击鼠标右键,弹出浮动菜单,选择“AddFiles”即可弹出“Select files to add”

35、对话框,选择相应的源文件(可按着Ctrl键一次选 择多个文件),点击【打开】按钮即可。图 0.3 在工程窗口中添加源文件图 0.4 Select files to add对话框 另外,用户也可以在【Project】菜单中选择【Add Files】来添加源文件,或使用New 对话框选择【File】页来建立源文件时选择加入工程,即选中“Add to Project”项。添加文 件操作如图 0.3.5、图 0.4.6所示。3.2.4 编辑连接工程如图 3.5.7所示为工程窗口中的图标按钮,通过这些图标按钮,您可以快速地进行工程设置、编译连接、启动调试等等。在不同的菜单项上可以分别找到对应的菜单命令。

36、图 0.5 工程窗口中的图标按钮图 0.6 DebugRel Settings 窗口 点击“DebugRel Settings”图标按钮,即可进行工程的地址设置、输出文件设置、编 译选项等,如图 0.6.8所示。在“ARM Linker”对话框设置连接地址,在“Language Settings” 中设置各编译器的编译选项。对于简单的软件调试,可以不进行连接地址的设置,直接点击工程窗口的“Make”图 标按钮,即可完成编译连接。若编译出错,会有相应的出错提示,双击出错提示行信息, 编辑窗即会使用光标指出当前出错的源代码行。编译连接输出窗口如图 3.9所示。图 3.9 编译连接输出窗口Touch

37、栏用于标记文件是否已编译,若打上“”则表明对应文件需要重新编译。可以通过单击该栏位置来设置/取消符号“”,或将工程目录下的*.tdt文件删除 也可以使整个工程源文件均打上“”。重新编译之前,建议将原来生成的目标文件都删除,方法如下,点选“project”下拉菜 单的“Remove Object code”-“All Targets”,删除了旧目标文件后,所有 文件都被“touch”上了,此时可对整个工程进行重新编译。3.2.5 打开旧工程点击【File】菜单,选择【Open】即弹出“打开”对话框,找到相应的工程文件(*.mcp),单击【打开】即可。在工程窗口的【Files】页中,双击源程序的文

38、件名即可打开该文件进行编辑。3.3 工程的调试 图 0.7 Choose Target 窗口当工程编译连接通过后,在工程窗口中点击“Debug”图标按钮(或者使用快捷键F5) 即可启动AXD(也可以通过【开始】菜单起动AXD)。点击菜单【Options】选择【Configure Target】,即弹出Choose Target窗口,如图 0.7.10所示。在没有添加其它仿真驱动程序前,Target 项中只有两项,分别为ADP(JTAG硬件仿真)和ARMUL(软件仿真)。选择仿真驱动程序后,点击【File】选择【Load Image】加载 ELF 格式的可执行文 件,即*.axf 文件。(说明:

39、当工程编译连接通过后,在“工程名工程名_Data当前的生成目 标”目录下就会生成一个*.axf 调试文件。比如工程 TEST,当前的生成目标 Debug,编译连 接通过后,则在TESTTEST_DataDebug 目录下生成 TEST.axf 文件) 3.4 EasyJTAG-H简介EasyJTAG-H 仿真器是一款新型的仿真器,目前,可以支持 LPC21037 微控制器和部分ARM9 芯片,支持 ADS1.2 集成开发环境,支持单步、全速及断点等调试功能,支持下载程 序到片内 FLASH 和特定型号的片外 FLASH,采用 ARM 公司提出的标准 20 脚 JTAG 仿真 调试接口。这款仿真

40、器需要 H-JTAG 软件(调试代理)的支持。3.4.1 EasyJTAG-H安装由于EasyJTAG-H仿真器需要H-JTAG软件的支持,所以使用EasyJTAG-H之前,必须要先安装H-JTAG。将H-JTAG压缩包解压,然后运行安装文件H-JTAG.EXE,如图 3.8.11所示, 根据安装提示完成安装即可。图 0.8 HJTAG 安装界面3.4.2 H-JTAG配置 H-JTAG 设置较简单,只要进行以下两步操作,其它采用默认设置即可。(1)单击任务栏的H 提示图标,将看见H-JTAG的主窗口,如图 3.9.12所示。单击“放大镜”图标按钮后,能看见调试代理搜索到ARM7 处理器。图

41、0.9 H-JTAG Server 检测到的芯片内核 (2)选择【Flasher】-【Auto Download】选择自动下载项。注意,在 Flash 中调试时必须要选择“Auto Download”,而在 RAM 中调试可以不选择。H-Flasher 主要用来完成 Flash 的烧写。如果需要手动下载 hex 文件,需要按照下面的步 骤进行操作:在 1 Flash Selection中选择CPU的型号。如图3.13所示:图 0.10 选择芯片型号 打开 4 Programing选项,如图3.14所示。图3.14 Flash 编程选项Check:检测芯片内核。如果 EasyJTAG-H 连接正

42、确,且芯片型号正确,则 Check 后会 显示芯片的基本信息。 Type:烧写文件的类型。Auto Flash Down:自动下载方式; Intel Hex Format:下载 Hex 文件; Plain Binary Format:下载 Bin 文件。Src File:烧写文件的路径,如果 Type 选择为 Auto Flash Down 时,该项无效。Dst Addr:目标地址信息,只有 Type 选择为 Plain Binary Format 时,该项才有效。Program:对芯片进行编程操作。Erase:对选中(由“From To”指定)的扇区进行擦除操作。 工具栏中各选项功能说明:N

43、ew:新建一个配置文件。Load:载入配置文件。H-Flasher 在启动时,总是自动载入最近一次的配置信息。Save:将当前的配置信息保存为一个文件。Save As:将配置信息另存。Option:调试程序时,是否使能自动计算向量表前 32 字的累加和。默认为使能。4 带闪烁人行过马路交通灯控制系统的设计与实现4.1 带闪烁人行过马路交通灯控制的基本规则 在城市里的马路路口交通灯的控制规则中,始终都允许车辆靠右行驶。在行人过马路的斑马线处,带闪烁人行过马路交通灯控制系统是指通过运行程序来实现的,用ARM32位微控制器控制2组LED灯,每组有两个红灯和两个绿灯。 一组对应车辆,一组对应行人;当对

44、应车辆的2个红灯亮时,车辆禁止通行;此时对应行人的绿灯亮,行人可以过马路。反之车辆可以通行,行人禁止过马路。我们将这1种情况分别设置为1时刻与2时刻,一下是2种时刻的状态图。箭头指向为车辆行驶方向1时刻时:图4.1 1时刻状态图 此时LED1-LED4亮,LED5-LED8熄灭,车辆禁止通行,行人过马路。2时刻时:图4.2 2时刻状态图此时LED5-LED8亮,LED1-LED4熄灭,车辆通行,行人禁止过马路。4.2 交通灯点亮与熄灭的原理 引脚功能选择寄存器PINSEL0,设置为GPIO方式;再设置GPIO方向寄存器0(IO0DIR),对应的引脚位设置为输出方向。要点亮LED1LED8需要使

45、用GPIO清零寄存器0(IO0CLR)的对应位设置为1,即在引脚P0.0P0.7上加逻辑低电平,即可点亮这些灯。与之相反要熄灭LED1LED8需要使用GPIO输出置位寄存器0(IO0SET),即在引脚P0.0P0.15上加逻辑高电平,即可熄灭这些灯。GPIO 端口0管脚值寄存器IOPIN, 它的配置方式仅用于数字方式。不管它配置成输入或输出,或作为GPIO,或可选的数字功能,该寄存器引脚总是给出逻辑值。4.3 ARM定时器控制的原理定时器对外设时钟(Fpclk)周期进行计数,根据4个匹配寄存器的设定,可设置为匹配(即达到匹配寄存器指定的定时值)时产生中断或执行其他操作 ARM LPC2103有

46、两个32位定时器,它们是定时器0和定时器1,这里选用的是定时器0。4.4 带闪烁人行过马路交通灯控制的连接 为达到对2个时刻路口的交通灯控制的控制,需要设置8个LED分别与470欧电阻连接通过跳线分别与ARM芯片的8个引脚相连;连接方式如Error! Reference source not found.3所示:图4.3 交通灯连接控制原理图4.5 通灯控制系统的硬件设计 本交通灯控制器用单片机控制人行道的红绿灯和倒计时器,每个路口采用一套单片机系统。然后ARM7板完成对多单片机系统的控制。同时由ARM7控制板完成与主控计算机的数据交换。ARM7控制板与单片机的通信方式采用CAN总线方式;和计

47、算机之间的数据交换通过互联网来实现,只要在一台主控计算机上就可完成一个城市所有路口交通灯信号控制。交通灯控制系统的逻辑结构如Error! Reference source not found.4所示。交通灯控制系统主要由三大部分组成:主控计算机、ARM7控制板和单片机控制器。主控计算机功能主要是通过ARM7控制板完成对各十字路口的监视和在线动态调整。主控计算机与ARM7控制板的数据交换是通过互联网完成。ARM7控制板主要是完成对各路口单片机控制器的控制。包括读取单片控制器的十字路口红绿灯显示时间,向单片机控制器发送调整红绿灯整参数。ARM7控制板和单片机控制器的通信通过CAN总线完成。图4.4

48、 交通灯控制系统逻辑结构4.6 主程序 主程序实现的是:设置P0.0P0.8引脚设置为GPIO输出状态,选定时器0中断为向量IRQ,将中断向量使能,选择4号中断源为向量0通道并将中断服务程序地址赋给向量0,并将中断使能,然后通过调用定时器初始化运行程序等待中断发生执行中断服务程序,执行完一次中断服务程序后;再返回定时器初始化程序,等待计数匹配产生,发生中断。主程序为:/*Copyright (c)* * Descriptions: 定时器0匹配产生中断实验*/#include config.h#define LED1 (1 17)#define LED2 (1 18)#define LED3

49、(1 19)#define LED4 (1 20)uint32 count=0;/* Function name: Timer0_ISR* Descriptions: 定时器0中断主程序* input parameters: 无* ouput parameters: 无* Returned value: 无*/void _irq Timer0ISR (void)count+;if (count%2) = 0) IO0SET = LED1|LED2;IO0CLR = LED3|LED4; /* 点亮发光二极管 */else IO0SET = LED3|LED4;IO0CLR = LED1|LED

50、2; /* 熄灭发光二管 */T0IR = 0x03; /* 清除中断标志 */VICVectAddr = 0x00; /* 中断向量结束 */* Function name: Timer0Init* Descriptions: 定时器0初始化* input parameters: 无* ouput parameters: 无* Returned value: 无*/void Timer0Init(void)T0TCR = 0x02; /* 定时器0复位 */T0PR = 0; /* 不设时钟分频 */T0MCR = 0x19; /* 匹配后复位TC,并产生中断 */T0MR0 = Fpclk

51、*2; /* 设置0.5秒匹配值 */T0MR1 = Fpclk*12;T0IR = 0x03; /* 清除中断标志 */T0TCR = 0x01; /* 启动定时器0 */* Function name: main* Descriptions: 定时器0匹配产生中断* input parameters: 无* ouput parameters: 无* Returned value: 无*/int main (void)PINSEL1 = PINSEL1 & 0xFFFFFC03; /* 选择P0.17的GPIO功能 */IO0DIR = LED1|LED2|LED3|LED4; /* 设置P

52、0.17为输出 */IO0SET = LED1|LED2|LED3|LED4; /* 设置输出高电平 */Timer0Init(); /* 定时器0初始化 */IRQEnable(); /* IRQ中断使能 */ /*设置向量中断控制器*/VICIntSelect = VICIntSelect & (1 4); /* 定时器0分配为IRQ中断 */VICVectCntl0 = 0x20 | 4; /* 定时器0分配为向量IRQ通道0 */VICVectAddr0 = (uint32) Timer0ISR; /* 分配中断服务程序地址 */VICIntEnable = 1 4; /* 定时器0中

53、断使能 */while(1);return 0;/*END FILE4.7 中断服务程序#include config.h #define LED (1 17) /* * 函数名称:Timer0_ISR * 函数功能:定时器0中断主程序 * 输入参数:无 * 输出参数:无 */ void _irq Timer0ISR (void) if (IO0PIN & LED) = 0) IO0SET = LED; /* 点亮发光二极管 */ else IO0CLR = LED; /* 熄灭发光二极管 */ T0IR = 0x01; /* 清除中断标志 */ VICVectAddr = 0x00; /* 中断向量结束 */ /* * 函数名称:Timer0Init * 函数功能:定时器0初始化 * 输入参数:无 * 输出参数:无 */ void

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

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!