基于ARM的交通灯设计教材.docx
- 文档编号:24686857
- 上传时间:2023-05-31
- 格式:DOCX
- 页数:23
- 大小:456.15KB
基于ARM的交通灯设计教材.docx
《基于ARM的交通灯设计教材.docx》由会员分享,可在线阅读,更多相关《基于ARM的交通灯设计教材.docx(23页珍藏版)》请在冰豆网上搜索。
基于ARM的交通灯设计教材
成绩_______
重庆邮电大学移通学院
嵌入式系统课程
设计报告
题目交通灯设计
系别自动化
专业名称自动化
班级
学号
姓名
指导教师
重庆邮电大学移通学院实训中心制
二〇一四年十二月
《嵌入式系统》课程设计任务书
——供11级自动化系学生用
引言:
嵌入式系统课程设计是自动化专业的一个重要教学环节,既有别于毕业设计,又不同于课堂教学。
它需要学生统筹运用所学各个专业的基本理论、基本方法对现实生活中的实际问题进行设计和调试。
一、设计题目:
基于ARM的交通灯设计
掌握嵌入式系统设计的基本方法,熟悉S3C24X0的开发环境及软硬件的调试过程,了解S3C24X0芯片各个引脚功能,工作方式,计时/定时,I/O口,中断等的相关原理,根据控制要求进行编程,解决十字路口交通灯控制的问题。
巩固和加深对理论课中知识的理解,提高对所学知识的综合运用能力。
二、系统工作过程说明
车辆遇到红灯停绿灯行的行走情况,红绿灯时间均为60s,切换时间为10s,最后5s为黄灯闪烁。
利用S3C24X0ARM芯片实现单路交通灯的控制:
①实现红、绿、黄灯的循环控制。
使用红、黄、绿三种不同颜色的LED灯实现此功能,人行道用红、绿两个灯控制,用软件控制灯的亮与灭来控制车辆和行人的通行。
②用数码管显示倒计时。
可以利用动态显示或静态显示,串行并出或者并行并出实现。
③南北方向控制车辆的绿灯熄灭的同时,控制蜂鸣器响2秒来作为警报。
ARM92440芯片原理图:
交通路口示意图如下图:
设计内容:
(1)完成S3C24X0最小系统的硬件电路设计,并用ProtelDXP设计电路原理图;
(2)完成交通指示灯控制程序代码设计,在实验箱上调试并且能正常工作。
三、设计步骤:
(1)对系统进行需求分析;
(2)初始化配置(各种寄存器);
(3)编写各种相关的中断程序并在主函数中调用这些程序;
(4)编译程序;
(5)使用仿真器进行调试。
摘要
随着社会经济的发展,城市交通问题越来越引起人们的关注。
人、车、路三者关系的协调,已成为交通管理部门需要解决的重要问题之一。
城市交通控制系统是用于城市交通数据监测、交通信号灯控制与交通疏导的计算机综合管理系统,它是现代城市交通监控指挥系统中最重要的组成部分。
随着嵌入式系统的飞速发展,通过嵌入式的设计解决了交通的拥堵问题。
关键词:
ARM交通灯控制
Withthedevelopmentofsocietyandeconomy, city trafficproblemhasattractedmoreandmoreattention. Coordinationofhuman,vehicle, road, therelationshipbetweenthethree, hasbecomeoneoftheimportant problemsoftraffic management departmentstosolvethe. City trafficcontrolsystemfor city trafficdata monitoring,trafficsignalcontrol and trafficmanagementcomputersystem, it isthemostimportantpartof themodern citytrafficcontrolsystem.Withtherapiddevelopmentofembeddedsystem, the embeddeddesign tosolvethe trafficcongestionproblems.
Keywords:
ARM;Trafficlight;Control
一、绪论
1、设计目的
通过设计,培养自己综合运用所学知识、独立分析和解决实际问题的能力,培养创新意识和创新能力,并获得科学研究的基础训练,加深对ARM芯片的了解;熟悉ARM芯片各个引脚的功能,工作方式,计数/定时,I/O口,中断等相关原理,巩固学习嵌入式的相关内容知识。
2、设计内容
通过设计,培养自己综合运用所学知识、独立分析和解决实际问题的能力,培养创新意识和创新能力,并获得科学研究的基础训练,加深对ARM芯片的了解;熟悉ARM芯片各个引脚的功能,工作方式,计数/定时,I/O口,中断等相关原理,巩固学习嵌入式的相关内容知识。
3、要实现的目标
车辆遇到红灯停绿灯行的行走情况,红绿灯时间均为60s,切换时间为10s,最后5s为黄灯闪烁。
利用S3C24X0ARM芯片实现单路交通灯的控制:
①实现红、绿、黄灯的循环控制。
使用红、黄、绿三种不同颜色的LED灯实现此功能,人行道用红、绿两个灯控制,用软件控制灯的亮与灭来控制车辆和行人的通行。
②用数码管显示倒计时。
可以利用动态显示或静态显示,串行并出或者并行并出实现。
③南北方向控制车辆的绿灯熄灭的同时,控制蜂鸣器响2秒来作为警报。
二、系统分析及硬件设计
1、S3C24X0芯片介绍
(1)S3C2410X概述
S3C2410X是韩国三星公司推出的16/32位RISC微控制器,其CPU采用的是ARM920T内核,加上丰富的片内外设,为手持设备和其它应用,提供了低价格、低功耗、高性能微控制器的解决方案。
(2)主要特性
·具有16KB指令Cache、16KB数据Cache和存储器管理单元MMU。
·外部存储器控制器,可扩展8组,每组128MB,总容量达1GB;支持从Nandflash存储器启动。
56(60)个中断源。
4通道的DMA,并且有外部请求引脚。
·3个通道的UART,带有16(64)字节的TX/RXFIFO,支持IrDA1.0功能。
·具有2通道的SPI、1个通道的IIC串行总线接口和1个通道的IIS音频总线接口。
·有2个USB主机总线的端口,1个USB设备总线的端口。
·有4个具有PWM功能的16位定时器和1个16位内部定时器。
·8通道的10位A/D转换器,最高速率可达500kB/s;提供有触摸屏接口。
·2440有一个AC97音频解码器接口,一个数字摄像头接口。
·具有117(130)个通用I/O口和24通道的外部中断源。
·兼容MMC的SD卡接口(2410于2440的SD卡的波特率计算公式不同)。
·具有电源管理功能,可以使系统以普通方式、慢速方式、空闲方式和掉电方式工作。
·看门狗定时器。
·具有日历功能的RTC。
·有LCD控制器,支持4K色的STN和256K色的TFT,配置有DMA通道。
·具有PLL功能的时钟发生器,2410时钟频率高达203MHz,2440正常时钟平率为400MHz。
双电源系统:
·2410电源管理:
1.8/2.0V内核供电,3.3V存储器和I/O供电。
·2440电源管理:
1.2V内核供电。
·1.8V/2.5V/3.3V存储器和3.3VI/O供电。
(3)系统结构
主要由两大部分构成:
ARM920T内核及片内外设。
图2-1ARM920T内核及片内外设
ARM920T内核
由三部分:
ARM9内核ARM9TDMI、32KB的Cache、MMU。
图2-2ARM920T内核
片内外设
分为高速外设和低速外设,分别用AHB总线和APB总线。
图2-3片内外设
2、系统电路设计
(1)总体设计框图
用ARM9系列S3C24X0芯片作为系统的主控芯片,控制交通灯的循环点亮并显示灯亮时间(采用倒计时显示),当定时时间到的时候控制蜂鸣器响来提醒人们注意红绿灯的状态。
交通灯循环
S3C24X0
最小系统
蜂鸣器
图2-4最小系统
(2)系统电源电路:
图2-5系统电源电路
(3)蜂鸣器设计:
将蜂鸣器正极端接电源,负极端通过三极管接地,三极管基极通过电阻接到芯片的引脚上。
图2-6蜂鸣器
3、电路原理图
图2-7电路原理图
三、系统软件设计
1、
系统流程图中断服务程序流程图
开始系统保护现场
Y
定时器0初始化0<=Flag<50车道红灯计数-1
N
初始化中断,开Y
中断50<=Flag<<55车道红灯闪烁-1
N
交通灯显示倒计时55 N NFlag==120 60<=flag<110Y车道绿灯计数-1 Flag=0,清零计数变量N N110<=flag<115Y绿灯闪烁计数-1 Flag==55or115N Y115<=flag<120Y黄灯闪烁计数-1 N 控制蜂鸣器2S 中断返回 2、系统程序设计 由南向北和由北向南车道各用一组红、绿、黄三色的指示灯,指挥车辆通行。 绿灯是通行信号,面对绿灯的车辆可以直行,红灯是禁止通行信号,面对红灯的车辆必须在路口的停车线后停车。 黄灯是警告信号,面对黄灯的车辆不能越过停车线,但车辆已十分接近停车线而不能安全停车时可以继续行进。 具体红绿灯时间分配时间如表3-1所示。 50s 5s 5s 50s 5s 5s 南北通道 红灯亮 黄灯亮 黄灯闪 绿灯亮 黄灯亮 黄灯闪 人行道 绿灯亮 绿灯亮 绿灯亮 红灯亮 红灯亮 红灯亮 表3-1时间分配表 由于试验箱没有红黄绿三色LED灯,只有一组8个红色LED灯,所有就用如下LED灯来模拟交通信号灯。 图3-2实验箱LED灯 LED18、LED17分别为人行道红灯、绿灯; LED16、LED15、LED14分别为南向北的一组红灯、黄灯、绿灯; LED13、LED12、LED11分别为北向南的一组绿灯、黄灯、红灯; 图3-3LED灯模拟交通灯 根据红绿灯是时间分配表可以看出,红绿灯有六个状态: 状态 人行道 南向北马路 北向南马路 16进制 1 0 1 1 0 0 0 0 1 0x61 2 0 1 0 1 0 0 1 0 0x52 3 0 1 0 0 0 0 0 0 0x40 0 0 0 1 0 0 1 0 0x12 4 1 0 0 0 1 1 0 0 0x8c 5 1 0 0 1 0 0 1 0 0x92 6 1 0 0 0 0 0 0 0 0x80 0 0 0 1 0 0 1 0 0x12 表2信号灯16进制模拟 状态1: 马路红灯亮,人行道绿灯亮; 状态2: 马路黄灯亮,人行道绿灯亮; 状态3: 马路黄灯闪,人行道绿灯亮; 状态4: 马路绿灯亮,人行道红灯亮; 状态5: 马路黄灯亮,人行道红灯亮; 状态6: 马路黄灯闪,人行道红灯亮。 由于本本实验系统采用的是动态显示接口,其中数码管扫描控制地址为0x20006000,位0-位5位分别对应一个数码管,将其中某位清0来选择相应的数码管,地址0x20007000,为数码管的数据寄存器。 数码管采用共阳方式,向该地址写一个数据就可以控制数码管的显示。 所有我用如下代码来显示数码管的倒计时。 for(j=0;j<10;j++){ for(n=0;n<150;n++){ *((U8*)0x20007000)=0xfd; *((U8*)0x20006000)=num1[i]; Delay (1); *((U8*)0x20007000)=0xfe; *((U8*)0x20006000)=num2[j]; Delay (1); } } 四、系统调试 1、硬件调试 检查实验箱电路连接是否出错,LED是否完好。 2、程序调试 使用软件ADTIDE对程序进行检测语法错误。 3、软硬联调 当确认程序无误后下载到试验箱中进行仿真模拟,看实验箱上的LED灯是否按要求闪烁。 总结 着眼于目前普遍应用在城市道路上的交通灯控制系统,从课程设计的题目要求出发,设计了一个交通灯控制电路。 这让我们接触到了生活实际,也让我看到了嵌入式这么学科的现实应用,也让我在学校中学到的知识得到了相应的应用。 在设计的过程遇到了各种各样的问题,同时在设计的过程中发现了自己的不足之处,对以前所学过的知识理解得不够深刻,掌握得不够牢固,通过这次课程设计,把以前所学过的知识重新温故,巩固了所学的知识。 参考文献 [1].朱恺主编.嵌入式系统基础.北京: 机械工业出版社,2012.4 [2].何立民.单片机高级教程[M].北京: 航空航天大学出版社,2000 [3].查振亚.智能交通灯控制系统[J].北京: 华中理工大学学报, 1997 [4].谭浩强.C 程序设计[M].北京: 清华大学出版社,1999 [5].何立民.单片机应用技术大全[M].北京: 航空航天大学出版社,1994 [6].李广弟.单片机基础[M].北京: 航空航天大学出版社,1992 [7].张云龙.交通信号控制器的设计[J.北京: 兵工自动化出版社,2003 [8].阎 石.数字电子技术基础(第四版)[M].北京: 高等教育出版社,2000 [9].胡汉才.单片机原理及其接口技术[M].北京: 清华大学出版社,2000 附录 一、源程序 #defineU8unsignedchar unsignedcharnum1[6]={0x92,0x99,0xb0,0xa4,0xf9,0xc0};//5--0 unsignedcharnum2[10]={0x90,0x80,0xf8,0x82,0x92, 0x99,0xb0,0xa4,0xf9,0xc0};//9--0 voidDelay(inttime);//延时程序初始化 voidled(void){ while (1){ inti,j,n; for(i=0;i<5;i++){//马路红灯亮50S *((U8*)0x20005000)=0x61; for(j=0;j<10;j++){ for(n=0;n<150;n++){ *((U8*)0x20007000)=0xfd; *((U8*)0x20006000)=num1[i]; Delay (1); *((U8*)0x20007000)=0xfe; *((U8*)0x20006000)=num2[j]; Delay (1); } } } Delay (1); *((U8*)0x20005000)=0x52; for(j=0;j<5;j++){//马路红灯亮,人行道绿灯5S for(n=0;n<150;n++){ *((U8*)0x20007000)=0xfd; *((U8*)0x20006000)=0xc0; Delay (1); *((U8*)0x20007000)=0xfe; *((U8*)0x20006000)=num2[j]; Delay (1); } } for(j=5;j<10;j++){//马路黄灯闪5s Delay (1); for(n=0;n<150;n++){ *((U8*)0x20005000)=0x40; *((U8*)0x20007000)=0xfd; *((U8*)0x20006000)=0xc0; Delay (1); *((U8*)0x20007000)=0xfe; *((U8*)0x20006000)=num2[j]; Delay (1); *((U8*)0x20005000)=0x52; } } for(i=0;i<2;i++){//马路绿灯亮50s *((U8*)0x20005000)=0x8c; for(j=0;j<10;j++){ for(n=0;n<150;n++){ *((U8*)0x20007000)=0xfd; *((U8*)0x20006000)=num1[i]; Delay (1); *((U8*)0x20007000)=0xfe; *((U8*)0x20006000)=num2[j]; Delay (1); } } } Delay (1); *((U8*)0x20005000)=0x92; for(j=0;j<5;j++){//马路黄灯亮,人行道红灯亮5s for(n=0;n<150;n++){ *((U8*)0x20007000)=0xfd; *((U8*)0x20006000)=0xc0; Delay (1); *((U8*)0x20007000)=0xfe; *((U8*)0x20006000)=num2[j]; Delay (1); } } for(j=5;j<10;j++){//马路黄灯闪5s Delay (1); for(n=0;n<150;n++){ *((U8*)0x20005000)=0x80; *((U8*)0x20007000)=0xfd; *((U8*)0x20006000)=0xc0; Delay (1); *((U8*)0x20007000)=0xfe; *((U8*)0x20006000)=num2[j]; Delay (1); *((U8*)0x20005000)=0x92; } } } } //延时程序 voidDelay(inttime){ inti; intdelayLoopCount=100; for(;time>0;time--); for(i=0;i } 四、课程设计报告: 1、报告内容: 本报告内容包括7个部分,具体如下: (1)封面; (2)摘要、关键词(摘要要综述性概括设计的任务、过程、结论,200-300字,关键词3-5个); (3)课程设计任务书; (4)正文(设计过程,包括需求分析、硬件设计、软件设计、工作过程描述等); (5)总结(包括课程设计过程中的学习体会与收获、对本次课程设计的认识等内容); (6)参考文献5-8篇(包括在设计过程中查询过的文献资料); (7)附录(包括附图、程序等)。 2、报告格式: (1)摘要标题——加粗,宋体二号字,居中; 内容——宋体小四号字,1.5倍行距 关键词标题——加粗,宋体小四号字,居左; 内容——宋体小四号字,关键词之间以分号隔开 ——分页 (2)正文 正文标题——居中,加粗宋体三号字 内容——宋体小四号字,1.5倍行距 ——分页 (3)总结标题——居中,加粗宋体二号字 内容——宋体小四号字,1.5倍行距 ——分页 (4)参考文献标题——居中,加粗宋体二号字 内容——宋体小四号字,1.5倍行距 格式: [序号]作者姓名.书名(不用书名号).出版社.出版日期 如: ——分页 (5)附录标题——居中,加粗宋体二号字 内容——宋体小四号字,1.5倍行距 3、其他要求: (1)论文中涉及到的贴图,一律需要在贴图正下方居中位置用宋体五号字体注明序号及名称,如: 图1贴图名称;涉及到的表格,一律需要在表格正上方居中位置用宋体五号字体注明序号及名称,如: 表2数据结构表; (2)正文部分要求在10页以上; (3)论文中所有正文中文部分采用小四号宋体字,全角中文标点。 英文和数字一律采用半角,英文采用小四TimesNewRoman字体,半角标点符号。 (5)论文一律用A4纸打印,页边距采用A4默认的页边距,即: 上、下为: 2.54厘米;左、右为: 3.17厘米。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 ARM 交通灯 设计 教材