欢迎来到三一文库! | 帮助中心 三一文库31doc.com 一个上传文档投稿赚钱的网站
三一文库
全部分类
  • 研究报告>
  • 工作总结>
  • 合同范本>
  • 心得体会>
  • 工作报告>
  • 党团相关>
  • 幼儿/小学教育>
  • 高等教育>
  • 经济/贸易/财会>
  • 建筑/环境>
  • 金融/证券>
  • 医学/心理学>
  • ImageVerifierCode 换一换
    首页 三一文库 > 资源分类 > DOC文档下载  

    毕业设计(论文)-基于单片机的人行过马路智能交通灯系统的设计.doc

    • 资源ID:3946923       资源大小:9.53MB        全文页数:46页
    • 资源格式: DOC        下载积分:6
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录   微博登录  
    二维码
    微信扫一扫登录
    下载资源需要6
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    毕业设计(论文)-基于单片机的人行过马路智能交通灯系统的设计.doc

    摘要摘要 I 摘要摘要 纵观单片机的发展和应用, 51 单片机越来越无法满足用户的需求, ARM 高速 32 位单片机的出现,缔造了嵌入式系统的新纪元. 嵌入式系统是指以应用为中心,以计算机技术为基础,软件,硬件可裁减,适应 应用系统对功能、可靠性、成本、体积、和功耗严格要求的专用计算机系统。嵌入式 系统已广泛地渗透到科学研究、工程设计、军事等各种领域、甚至商业、文化、艺术、 及人们日常生活的方方面面。随着国内外各种嵌入式产品的进一步开发和推广,嵌入 式技术的重要性日益凸显,使得我们不得不将注意力转移到它身上。ARM 的应用已遍及 工业控制、消费类电子产品、通信系统、网络系统、无线系统等各类产品市场。此设 计采用了 ARM7 微处理器 LPC2103 作为核心处理器。本文介绍了一个智能交通灯系统的 设计。该智能交通灯控制系统可以实现的功能有:对某人行马路的交通路口进行控制 和对红绿灯的闪亮控制;各路口有固定的工作周期。人行过马路交通灯控制系统不仅 可以缓解交通拥堵,还能阻止一些交通事故的发生。它采用 LPC2103 来实现对红绿灯 的控制。其中通过设置 LPC2103 的 GPIO 功能用定时器来实现 LED 灯的亮灭与闪亮。 关键词关键词: ARM7ARM7 LPC2103LPC2103 LEDLED 灯灯 Abstract II Abstract Throughout the development and application of SCM, 51 SCM 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, volume, 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 People's Daily life. With the further development of embedded products, 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. This design uses the LPC2103 ARM7 microprocessor core processors . This article describes an intelligent traffic light system. The intelligent traffic light control system functions can be achieved: the road trip against a person to control the traffic junctions and traffic lights to flash control; the intersection with a fixed duty cycle. Pedestrian crossing traffic light control system can not only ease traffic congestion, but also prevent a number of traffic accidents. It uses LPC2103 to realize the control of traffic lights. LPC2103's GPIO by setting them with a timer function to achieve bright LED lights off and shine. Key words:ARM7 LPC2103 LED lights 目录目录 III 目录目录 摘要 I Abstract .II 目录 III 1 引言 1 1.1 背景.1 1.2 现状问题.2 2 工作硬件原理 3 2.1 LPC2103 简介 .3 2.1.1 概述.3 2.1.2 管脚信息.3 2.2 ARM2103 底板原理图 .4 2.2.1 电源电路.4 2.2.2 时钟电路.4 2.2.3 JTAG 接口电路 4 2.2.4 LPC2103 电路原理图和最小系统实物图 .5 2.2.5 人行过马路交通灯控制系统电路原理图.6 3 工程建立和调试 7 3.1 ADS 1.2 集成开发环境的组成 .7 3.1.1 CodeWarrior IDE 简介 .8 3.2 工程的编辑 9 3.2.1 建立工程 9 3.2.2 建立文件10 3.2.3 添加文件到工程10 3.2.4 编辑连接工程11 3.3 工程的调试 .12 4 LPC2103 基础知识详解13 4.1 引脚链接模块 .13 4.1.1 概述13 4.1.2 寄存器描述13 4.2 GPIO .15 4.2.1 概述15 目录目录 IV 4.2.2 寄存器描述16 4.3 向量中断控制器 .17 4.3.1 概述17 4.3.2 寄存器描述17 4.3.3 向量 IRQ 中断18 4.4 定时器 0 和定时器 1 19 4.4.1 概述19 4.4.2 特性19 4.4.3 引脚描述20 4.4.4 寄存器描述20 4.4.5 定时器中断23 5 带闪烁人行过马路交通灯控制系统的设计与实现 .26 5.1 带闪烁人行过马路交通灯控制的基本规则 .26 5.2 人行过马路交通灯点亮与熄灭的原理 .28 5.3 ARM 定时器控制的原理 .28 5.4 ARM 中断控制的原理 .29 5.5 人行过马路交通灯控制系统的硬件设计 .29 5.6 人行过马路交通灯控制程序的设计 .29 5.61 定时器 0 初始化程序.29 5.62 定时器 1 初始化程序.31 5.63 中断服务程序.31 5.64 主程序.32 6 总结与体会 .33 6.1 总结 .33 6.2 体会 .33 6.3 致谢 .34 6.4 参考文献 .34 附录 A 源程序.35 引言引言 1 1 引言引言 随着我国改革开放的不断深入 ,城市化进程不断加快 ,交通事业飞速发展 ,交通 拥挤已成为城市经济发展的“瓶颈”,特别是大、中城市不断增加的车辆和有限的道路 空间矛盾日益加剧。 目前我国城市里的人行过马路交通系统大都采用定时来控制(不排除繁忙路段或高 峰时段用交警来取代交通灯的情况),这样必然产生如下弊端:当某条路段的车流量很 大时却要等待红灯,而此时另一条是空道或车流量相对少得多的道却长时间亮的是绿 灯,这种多等少的尴尬现象是未对实际情况进行实时监控所造成的,不仅让司机乘客 怨声载道,而且对人力和物力资源也是一种浪费。缓解道路交通拥堵 ,减少交通事故 ,改善道路交通环境 ,节约交通能源 ,减轻驾驶疲劳等功能 ,最终实现安全、舒适、 快速、经济的交通环境是目前急需解决的城市交通管理系统的关键技术之一。 本文采用的设计是使用 ARM32 位 LPC2103 芯片,作为带闪烁人行过马路交通灯控制 系统的核心部件,利用 ARM32 位芯片定时器的优势,对带闪烁人行过马路交通灯精确 的控制;可根据车流量的大小,合理的和精确的控制每一个人行过马路通道的时间, 来减少道路上车辆拥塞的时间。达到路口车辆畅通的的同时减少车辆的停留时间,从 而有利于减轻城市马路空气污染的目的。 1.1 背景背景 当人类历史跨入 21 世纪的时候,全球社会、经济、市场、产业结构及科学技术等 发生着深刻的变革:国际和国内市场向着大竞争大合作的方向发展;产业结构向着以 信息产业为主的方向发展;基础科学、信息科学、材料科学、管理科学和现代控制理 论与制造科学等获得了突破性的进展,而且相互交叉融合。 以网络为基础的科学活动环境研究对未来的计算模式和科研活动产生了深刻的影 响,同时也提出了挑战,如:无序成长性与动态有序性的统一;自治条件下的协同性 及安全保证;海量信息的结构化组织与管理等。在此背景下,网络技术与先进制造技 术的有效融合形成了一种全新的生产制造模式-网络化制造。网络化制造技术的出现 引言引言 2 和发展,引起了全球制造领域的极大关注。网络化制造涉及的技术问题多且内容复杂, 许多技术问题都有待于深入研究和解决。在这些技术内容和技术问题中,网络化协同 产品开发将是今后相当一段时间网络化制造的主要研究课题。网络环境下新产品的研 究、开发、设计、制造、管理、营销、服务不再局限于一座城市、一个地区甚至一个 国家。同时,企业间的兼并和收购成为激烈竞争的必然结果,这使得企业规模急剧膨 胀,其内部生产、管理和决策支持系统多种多样系统间的信息和知识交换成为瓶颈。 而且,随着现代产品的复杂度和技术含量的提高,单一企业常常受到技术和资源等方 面的限制,不能胜任产品开发的全过程。于是,利用现代计算机和网络技术,进行企 业间的合作和同盟,以便充分利用各自的资源和技术优势,取长补短,获得整体优化。 上述产品开发模式随着 Internet 变成网络应用平台而越来越具有可实现性。但是, 从总体上讲,网络化协同产品开发的研究还不够深入,缺乏系统的理论体系和支持工 具,研究成果与实际需求尚有一定的差距。因此,探索网络环境下的协同产品开发方 法和关键技术,并开发出相应的支持系统,是一项具有重要理论意义和广泛应用前景 的研究课题。理论不可能产生在实践之前,它需要实践经验作为其构成的基本要素; 理论也不是产生在实践的终点,因为它负有指导后续实践使之有更多成功机会的责任。 本论文针对网络化协同产品开发业务流程和软件技术架构进行了深入的研究。 1.2 现状现状问题问题 近来有不少市民反映,由于一些道路红绿灯设置不甚合理,给行人过马路带来不 便,甚至险象环生,成为诱发交通事故的原因之一。在车流繁杂的路口,因为人行道 的绿灯时间太短,导致通常都要小跑才能过马路,这对老年人和儿童来讲的确是件难 事。 红绿灯时间究竟多久才能让行人从容通过?专业人士介绍,红绿灯时间设置有固 定的计算公式,主要以所在路口的车流量、人流量等数据为指标,结合常人行走平均 速度(大约1.3米/秒) ,并考虑行人的过路时间得来的。交通问题在现在乃至将来的一 段时间内仍是制约国内各大中城市发展的主要问题之一,因此合理的设置人行过马路 交通灯控制系统成为交通系统中的一个重要问题。 工作硬件原理工作硬件原理 3 2 工作硬件原理工作硬件原理 2.1 LPC2103 简介简介 2.1.1 概述概述 LPC2103是一个基于支持实时仿真的16/32位ARM7 TDMI-S CPU的微控制器,并带 有32kB的嵌入高速Flash存储器,128位宽度的存储器接口和独特的加速结构使32位代 码能够在最大时钟速率下运行。 较小的封装和极低的功耗使LPC2103适用于访问控制器和POS机等小型应用系统中; 由于内置了宽范围的串行通信接口(2个UART、SPI、SSP和2个I2C)和8KB的片内 SRAM,LPC2103也适合用在通信网关和协议转换器中。32/16位定时器、增强型10位 ADC、定时器输出匹配PWM特性、多达13个边沿、电平触发的外部中断、32条高速 GPIO,使得LPC2103微控制器特别适用于工业控制和医疗系统中。 2.1.2 管脚信息管脚信息 图 2.1 PLC2103 管脚配置 工作硬件原理工作硬件原理 4 2.2 ARM2103ARM2103底板原理图底板原理图 2.2.1 电源电路电源电路 LPC2103 控制器需要双电源供电,1.8V 内核电压和 3.3V 功能外设电压,5V 电源由 变压器或 USB 电源线输入,二极管 1N5819 可以防止电源反接。电路采用 SPX1117 系列 LDO 芯片 SPX1117M-3.3 和 SPX1117M-1.8 将电压稳至 3.3V 和 1.8V,0 欧的电阻用来隔 离数字电源和模拟电源、数字地和模拟地。 SPX1117 系列 LDO 芯片是 EXAR 公司生产的 低压差芯片,其特点是输出电流大,输出电压精度高,稳定性高,宽电压输入(这里 选择的是 5V 输入) 。此系列 LDO 芯片的输出电流高达 800mA,输出电压的精度在±1 之内,可广泛应用于手持式仪表、数字家电、工业控制等领域。注意在电路输入输出 端接一个 10F 的电容,可改善瞬态响应和稳定性。 2.2.2 时钟电路时钟电路 LPC2103 微控制器可使用外部晶振或外部时钟源,内部 PLL 电路可调整系统时钟, 使系统运行速度更快(CPU 的操作频率最大可达 70MHz) 。若不使用片内 PLL 功能及 ISP 下载功能,则外部晶振频率为 130MHz,外部时钟频率为 150MHz;若使用片内 PLL 功能或 ISP 下载功能,则外部晶振频率为 1025MHz,外部时钟频率为 1025MHz。 ARM2103 开发板使用外部晶振 11.0592MHz,实时时钟为 32.768KHz,电路原理如图 2.2 所示。用 11.0592MHz 的外部晶振使串口的波特率更精确,同时能支持 LPC2103 微 控制器内部的 PLL 电路及 ISP(在系统编程)功能。 图 2.2 时钟电路 2.2.3 JTAGJTAG 接口电路接口电路 JTAG 接口电路采用 ARM 公司提出的标准 20 脚 JTAG 仿真调试接口,JTAG 接口与 工作硬件原理工作硬件原理 5 LPC2103 引脚之间的连接如图 2.3 所示。在 RTCK 引脚处接一个 4.7K 的下拉电阻,将在 系统复位后使能 JTAG 调试接口。 图 2.3 JTAG 接口电路 2.2.4 LPC2103LPC2103 电路原理图和最小系统实物图电路原理图和最小系统实物图 最小系统电路原理图如下图 2.4 所示: 图 2.4 最小系统电路原理图 工作硬件原理工作硬件原理 6 最小系统实物图如下图 2.5 所示: 图 2.5 最小系统实物图 2.2.5 人行过马路交通灯控制系统电路原理图人行过马路交通灯控制系统电路原理图 人行过马路交通灯控制系统LED 红绿灯与闪亮控制的电路原理图如下图 2.6 所示: 图 2.6 电路原理图 工程建立和调试工程建立和调试 7 3 工程建立和调试工程建立和调试 本章将介绍在ADS1.2开发环境里如何建立、编译连接工程及对工程进行调试的基 本方法,进而说明基于LPC2103 ARM微控制器的工程模板。 3.1 ADS 1.2集成开发环境的组成集成开发环境的组成 ADS集成开发环境是ARM公司推出的ARM核微控制器集成开发工具,英文全称为ARM Developer Suite,成熟版本为ADS1.2。ADS1.2支持ARM10之前的所有ARM系列微控制器, 支持软件调试及JTAG硬件仿真调试,支持汇编、C、C+源程序,具有编译效率高、系 统库功能强等特点,可以在Windows98、Windows2000、Windows XP以及RedHat Linux 上运行。 ADS 1.2由6个部分组成,如表3.1所示。 表 3-1 ADS 1.2 的组部分 名称描述使用方式 代码生成工具 ARM 汇编器 ARM 的 C、C+编译器 Thumb 的 C、C+编译器 ARM 连接器 由 CodeWarrior IDE 调用 集成开发环境CodeWarrior IDE工程管理,编译连接 调试器 AXD ADW/ADU armsd 仿真调试 指令模拟器ARMulator由 AXD 调用 ARM 开发包 底层的例程 实用程序(如 fromELF) 实用程序由 CodeWarrior IDE 调用 ARM 应用库C、C+函数库等用户程序使用 由于用户一般直接操作的是 CodeWarrior IDE 集成开发环境和 AXD 调试器, 所以本文只介绍这两部分的使用,其它部分的详细说明参考 ADS 1.2 的在线帮助文档。 工程建立和调试工程建立和调试 8 3.1.1 CodeWarrior IDE简介简介 ADS 1.2使用了CodeWarrior IDE集成开发环境,并集成了ARM汇编器、ARM的 C/C+编译器、Thumb的C/C+编译器、ARM连接器,包含工程管理器、代码生成接 口、语法敏感(对关键字以不同颜色显示)编辑器、源文件和类浏览器等。 CodeWarrior IDE主窗口如图3.1所示。 图 3.1 CodeWarrior 开发环境 3.1.2 AXD调试器简介调试器简介 工程建立和调试工程建立和调试 9 图 3.2 AXD 调试器 AXD调试器ARM Extended Debugger是ARM扩展调试器,包括ADW/ADU的所有特 性,支持硬件仿真和软件仿真。AXD能够装载映像文件到目标内存,具有单步、全速和 断点等调试功能,可以观察变量、寄存器和内存的数据等,AXD调试器主窗口如图3.2 所示。 3.2 工程的编辑工程的编辑 3.2.1 建立工程建立工程 点击WINDOWS操作系统的【开始】【程序】【ARM Developer Suite v1.2】 【CodeWarrior for ARM Developer Suite】启动Metrowerks CodeWarrior,启动ADS1.2 IDE如图3.3所示。 图3.3 启动ADS1.2 IDE 点击【File】菜单,选择【New】即弹出New对话框,如图3.4所示。 工程建立和调试工程建立和调试 10 图 3.4 New 对话框 选择工程模板为 ARM 可执行映象(ARM Executable Image)或 Thumb 可执 行映象 (Thumb Executable Image),或 Thumb、ARM 交织映象(Thumb ARM Interworking Image), 然后在【Location】项选择工程存放路径,并在【Project name】项输入工程 名称,点击【确定】按钮即可建立相应工程,工程文件名后缀为 mcp(下文有时也把 工程称为项目)。 3.2.2 建立文件建立文件 建立一个文本文件以便输入用户程序。点击“New Text File”图标按钮,然后在新 建的文件中编写程序,点击“Save”图标按钮将文件存盘(或从【File】菜单选 择 【Save】),输入文件全名,如 TEST1.S。注意,请将文件保存到相应工程的目录下, 以 便于管理和查找。当然,您也可以 New 对话框选择【File】页来建立源文件,或使 用其它文 本编辑器建立或编辑源文件。 3.2.3 添加文件到工程添加文件到工程 在工程窗口中 【Files】 页空白处点击鼠标右键, 弹出浮动菜单, 选择 “AddFiles”即 可弹出“Select files to add”对话框,选择相应的源文件(可按着 Ctrl 键一次选 择多 个文件),点击【打开】按钮即可。 工程建立和调试工程建立和调试 11 图 3.5 Select files to add 对话框 另外,用户也可以在【Project】菜单中选择【Add Files】来添加源文件,或 使用New 对话框选择【File】页来建立源文件时选择加入工程,即选中“Add to Project”项。添加文 件操作如3.5所示。 3.2.4 编辑连接工程编辑连接工程 如 图 3.6 所示为工程窗口中的图标按钮,通过这些图标按钮,您可以快速地进行工 程设置、 编译连接、启动调试等等。在不同的菜单项上可以分别找到对应的菜单命令。 工程建立和调试工程建立和调试 12 图 3.6 工程窗口中的图标按钮 点击“DebugRel Settings”图标按钮,即可进行工程的地址设置、输出文件设 置、编 译选项等。在“ARM Linker”对话框设置连接地址,在“Language Settings” 中设置各编译器的编译选项。 对于简单的软件调试,可以不进行连接地址的设置,直接点击工程窗口的 “Make”图 标按钮,即可完成编译连接。若编译出错,会有相应的出错提示,双击 出错提示行信息, 编辑窗即会使用光标指出当前出错的源代码行。 Touch 栏用于标记文件是否已编译,若打上“”则表明对应文件需要重新编译。 可以通过单击该栏位置来设置/取消符号“”,或将工程目录下的*.tdt 文件删除 也 可以使整个工程源文件均打上“”。 重新编译之前,建议将原来生成的目标文件都删除,方法如下,点选“project” 下拉菜 单的“Remove Object code”-“All Targets”,删除了旧目标文件后,所有 文件都被“touch”上了,此时可对整个工程进行重新编译。 3.3 工程的调试工程的调试 工程建立和调试工程建立和调试 13 图 3.7 Choose Target 窗口 当工程编译连接通过后, 在工程窗口中点击 “Debug”图标按钮 即可启动 AXD(也 可以通过【开始】菜单起动 AXD)。点击菜单【Options】选择【Configure Target】, 即弹 出 Choose Target 窗口, 如图 3.7 所示。 在没有添加其它仿真驱动程序前, Target 项中只有 两项,分别为 ADP(JTAG 硬件仿真)和 ARMUL(软件仿真)。 选择仿真驱动程序后,点击【File】选择【Load Image】加载 ELF 格式的可 执行文件,即*.axf 文件。 (说明:当工程编译连接通过后,在“工程名工程名_Data 当前的生成目标”目录下就会生成一个*.axf 调试文件。如工程 TEST,当前的生成目 标 Debug,编译连接通过后,则在TESTTEST_DataDebug目录下生成 TEST.axf 文 件。 LPC2103 基础知识详解基础知识详解 14 4 LPC2103LPC2103 基础知识详解基础知识详解 4.1 引脚链接模块引脚链接模块 4.1.1 概述概述 LPC2103 控制器的引脚都具有多种功能,但是每个引脚在某一时刻只能选择一种 功能。图4.1是LPC2103 引脚P0.0 的一个功能选择示意图,通过配置引脚功能选择寄 存器即可选择相应的功能。 当使用一个功能外设时,如果需要相应的引脚参与(如 GPIO 等) ,则必须在实现 这一功能之前先设置好引脚的功能,否则无法实现该外设功能。 图 4.1 引脚链接模块示意图 4.1.2 寄存器描述寄存器描述 LPC2103具有两个PINSEL寄存器,PINSEL0和PINSEL1,它们都是32位宽度的,详细 描述如表4.1所列。 LPC2103 基础知识详解基础知识详解 15 表4.1 引脚连接模块寄存器描述 名称 描述 访问 复位值1 地址 PINSEL0 引脚功能选择寄存器0 读/写 0x00000000 0xE002C000 PINSEL1 引脚功能选择寄存器1 读/写 0x00000000 0xE002C004 1:复位值仅反映已使用位中保存的数据,不包含保留位的内容。 PINSEL0 和 PINSEL1 寄存器中的每两个位控制着一个引脚的功能,所以一个引脚最 多可以有 4 种不同的功能选择。PINSEL0 和 PINSEL1 寄存器就是按照如表 4.2、表 4.3 所列的设定来选择 P0 口的引脚功能。 表 4.2 引脚功能选择寄存器 0 PINSE0 引脚名称 00011011 复位 值 1:0P0.0GPIO P0.0TxD0(UART0) MAT3.1(定时器3)保留 00 3:2P0.1GPIO P0.1RxD0(UART0) MAT3.2(定时器3)保留 00 5:4P0.2GPIO P0.2SCL0(I2C0) CAP0.0(定时器0)保留 00 7:6P0.3GPIO P0.3SDA0(I2C0) MAT0.0(定时器0)保留 00 9:8P0.4GPIO P0.4SCK0(SPI0) CAP0.1 (定时器0)保留 00 11:10P0.5GPIO P0.5MISO0(SPI0) MAT0.1 (定时器0)保留 00 13:12P0.6GPIO P0.6MOSI0(SPI0) CAP0.2(定时器0)保留 00 15:14P0.7GPIO P0.7SSEL0(SPI0) MAT2.0(定时器2)保留 00 17:16P0.8GPIO P0.8TxD1 (UART1) MAT2.1(定时器2)保留 00 19:18P0.9GPIO P0.9RxD1(UART1) MAT2.2(定时器2)保留 00 21:20P0.10GPIO P0.10RTS1 (UART1) CAP1.0(定时器1) AIN300 23:22P0.11GPIO P0.11CTS1(UART1) CAP1.1 (定时器1) AIN400 25:24P0.12GPIO P0.12DSR1(UART1) MAT1.0 (定时器1) AIN500 27:26P0.13GPIO P0.13 保留MAT1.1 (定时器1) DTR1 (UART1) 00 29:28P0.14GPIO P0.14EINT1SCK1(SSP1)DCD1 (UART1) 00 31:30P0.15GPIO P0.15EINT2 保留 RI1 (UART1) 00 LPC2103 基础知识详解基础知识详解 16 表 4.3 引脚功能选择寄存器 1 PINSEL1 引脚名称 00011011 复位值 1:0P0.16GPIO P0.16EINT0 MAT0.2(定时器0)保留 00 3:2P0.17GPIO P0.17SCL1 (I2C1) CAP1.2 (定时器1)保留 00 5:4P0.18GPIO P0.18SDA1 (I2C1) CAP1.3 (定时器1)保留 00 7:6P0.19GPIO P0.19MISO1 (SPI1) MAT1.2(定时器1)保留 00 9:8P0.20GPIO P0.20MOSI1 (SPI1) MAT1.3(定时器1)保留 00 11:10P0.21GPIO P0.21SSEL1 (SPI1) MAT3.0(定时器3)保留 00 13:12P0.22GPIO P0.22 保留保留 AIN000 15:14P0.23GPIO P0.23 保留保留 AIN100 17:16P0.24GPIO P0.24 保留保留 AIN200 19:18P0.25GPIO P0.25 保留保留 AIN600 21:20P0.26GPIO P0.26 保留保留 AIN700 23:22P0.27GPIO P0.27TRST (JTAG) CAP2.0(定时器2)保留 01 25:24P0.28GPIO P0.28TMS (JTAG) CAP2.1(定时器2)保留 01 27:26P0.29GPIO P0.29TCK (JTAG) CAP2.2(定时器2)保留 01 29:28P0.30GPIO P0.30TDI (JTAG) MAT3.3(定时器3)保留 01 31:30P0.31GPIO P0.31TDO (JTAG) 保留保留 00 4.2 GPIOGPIO 4.2.1 概述概述 LPC2103只有1个32位的通用I/O口P031:0,由于与引脚的其它功能复用,在使 用前要进行相关的引脚设置,然后才能进行操作。其中,P0.27P0.31是JTAG调试引 脚,在复位时,如果DEBUG引脚为高,则P031:27是不能作为GPIO使用的,只能作为 JTAG调试引脚;反之,如果复位时DEBUG引脚为低,则P031:27引脚可以由用户设置, 此时,调试禁止。 LPC2103的GPIO有两种模式:高速GPIO和低速GPIO。高速GPIO的控制寄存器位于 CPU的局部总线上,可进行高速的读写操作,低速GPIO的控制寄存器挂在VPB总线上。 P0口作为高速GPIO使用时,将不能在调试环境下观察GPIO在VPB总线上的寄存器。 LPC2103 基础知识详解基础知识详解 17 4.2.2 寄存器描述寄存器描述 LPC2103的GPIO由表4.4、表4.5、表4.6中所列的寄存器来控制。 表4.4所列寄存器是用来选择GPIO的操作模式。当GPIO0M位的值为0时,选择低速 GPIO,当GPIO0M位的值为1时,选择高速GPIO。在使用引脚的GPIO时,必须选择GPIO的 操作模式。 表4.5所列是低速GPIO的相关寄存器,挂在VPB总线上。 表4.4 系统控制和状态标志寄存器(SCS-0xE01F C1A0) 位 名称 描述 复位值 0:低速GPIO在GPIO端口0上使能,通过VPB地址访问GPIO端口0,与 先前的LCP2000器件兼容 0 GPIO0M 1:高速GPIO在GPIO端口0上使能,通过片内存储器范围的地址来访 问,该模式包括端口屏蔽特性 0 31:1 - 保留,用户软件不要向其写入1。从保留位读出的值未被定义 NA 表4.5 GPIO控制寄存器(通过VPB总线访问的寄存器) 通用名称描述访问复位 PORT0 地址 /*设置定时器计数器 TC 与 MR0 值相等时产生中断,TC 与 MR1 值相 等时产生中断,TC 与 MR2 值相等时产生中断,TC 与 MR3 值相等 带闪烁人行过马路交通灯控制系统的设计与实现带闪烁人行过马路交通灯控制系统的设计与实现 31 时产生中断并复位。*/ T0MR0=Fpclk*5 ; /*给匹配寄存器 MR0 赋值*/ T0MR1=Fpclk*15; /*给匹配寄存器 MR1 赋值*/ T0MR2=Fpclk*20 ; /*给匹配寄存器 MR2 赋值*/ T0MR3=Fpclk*30; /*给匹配寄存器 MR3 赋值*/ 即对人行过马路红绿黄灯分别控制的时间是:红绿灯亮 15S-5S=10S;黄灯闪烁 20S- 15S=5S。 定时器 0 初始化流程图如图 5.5 所示: 带闪烁人行过马路交通灯控制系统的设计与实现带闪烁人行过马路交通灯控制系统的设计与实现 32 开始 定时器 0 复位 T0TC=T0MR0 申请中断 T0TC=T0MR2 复位 N Y N Y N N Y Y 不设时钟分频 设置 T0MCR T0TC=T0MR1 申请中断 申请中断 申请中断 T0TC=T0MR3 开 始 T1TC=T1MR0 N Y 定时器 0 复位 不设时钟分频 设置 T1MCR 设置 T1EMR 申请中断 T1TC=T1MR1 T1TC=T1MR2 T1TC=T1MR3 申请中断 申请中断 申请中断 N N Y Y Y 复位 N 图 5.5 图 5.6 5.62 定时器定时器 1 1 初始化程序初始化程序 本设计使用定时器 1 匹配翻转来控制黄灯的闪烁频率变化,其核心程序代码如下 所示: T1MCR = 0x400; /* 设置 T1MR3 匹配后复位 T1TC */ T1EMR = 0xff0 ; 带闪烁人行过马路交通灯控制系统的设计与实现带闪烁人行过马路交通灯控制系统的设计与实现 33 /* 设置 0.25s 匹配值 */ T1MR0 = Fpclk/4; /* 匹配翻转 MR0 */ T1MR1 = Fpclk/4; /* 匹配翻转 MR1 */ T1MR2 = Fpclk/4; /* 匹配翻转 MR2 */ T1MR3 = Fpclk/4; /* 匹配翻转 MR4 */ 定时器 1 初始化流程图如上图 5.6 所示。 5.63 中断服务程序中断服务程序 通过定义一个 32 位 count 变量,在中断发生时中断服务程序的 count 变量自加 1 操作并对其进行除 4 取余数操作,将其余数作为点亮一组 LED 灯的条件。每执行一次 中断服务程序,即可执行一次点亮一组 LED 灯。连续 4 次中断点亮 4 组 LED 灯后,又 回到了起点的中断服务;这样使的执行中断服务连续不断的循环持续下去,使人行过 马路交通灯的循环服务持续下去。 其中断服务程序流程图如下图 5.7 所示: 带闪烁人行过马路交通灯控制系统的设计与实现带闪烁人行过马路交通灯控制系统的设计与实现 34 开始 count+1 执行中断:所有黄灯 闪烁 Y N Y N Y N N Y count%4=0 count=1 nt =1 count%4=1 count=1 nt =1 执行中断:车行道红 灯亮,人行道绿灯亮 执行中断:所有黄灯 闪烁 count%4=2 count=1 nt =1 count%4=3 count=1 nt =1 执行中断:人行道红 灯亮,车行道绿灯亮 开始 定时器 0 初始化 定时器 1 初始化 IRQ 中断使能 寄存器初始化 定时器 0 分配为 IRQ 中断 定时器 0 中断使能 无限循环等待 匹配 Y N 执行中断函数 图 5.7 图 5.8 5.64 主程序主程序 主程序实现的是:设置 P0.12-P0.3 以及 P0.17-P0.26 引脚设置为 GPIO 输出状态, 选定时器 0 中断为向量 IRQ,将中断向量使能,选择 4 号中断源为向量 0 通道并将中断 服务程序地址赋给向量 0,并将中断使能,然后通过调用定时器初始化运行程序等待中 断发生执行中断服务程序,执行完一次中断服务程序后;再返回定时器初始化程序, 等待计数匹配产生,发生中断。其主程序流程图如上图 4.8 所示。 总结与体会总结与体会 35 6 总结与体会总结与体会 6.1 总结总结 本文设计了一款基于 ARM7 的人行过马路交通灯控制系统-LED 红绿灯与闪亮控制, 可以通过修改程序的方法任意设定红、绿、黄灯的亮、灭、以及闪烁时间。主控计算 机控制 ARM7 控制板,然后通过 ARM7 控制板的引脚来控制各个 LED 灯。 通过此次设计,

    注意事项

    本文(毕业设计(论文)-基于单片机的人行过马路智能交通灯系统的设计.doc)为本站会员(爱问知识人)主动上传,三一文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一文库(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    经营许可证编号:宁ICP备18001539号-1

    三一文库
    收起
    展开