单片机智能交通灯控制系统国内外研究现状

单片机智能交通灯控制系统国内外研究现状,第1张

国外研究状况 智能交通系统(ITS)在日本发展于70年代,从1973年到1978年,日本成功开展了一个叫动态路径诱导系统的实验,在这个试验中车上的驾驶员可以根据车上装载的显示器显示的道路拥堵情况及诱导方向,选择自己达到目的地的最佳路线。从80年代中期至90年代中期这十年间,日本先后完成了道路与车辆之间的通信系统、交通信息通信系统、超智能车辆系统、安全车辆系统、新交通管理系统等方面的研究,在此基础上,1994年1月,由日本警察厅,通产省,运输省,邮电省等四个部门联合成立了日本道路车辆交通智能化推进协会用以推动ITS在日本的发展。 美国交通系统的智能化是研究最早的,始于上世纪60年代末,那时叫做电子路径导向系统(ERGS)。中间暂停了十多年,到80年代中期后以加州交通部门研究的驾驶员寻路系统获得了成功为契机,在美国全国开展了被称为智能化车辆——道路系统(IVHS)的研究,在1991年成立了美国智能交通系统协会,主要宗旨是帮助和加速智能交通系统在政府和民间企业的发展,从而有力的促进美国智能交通系统的研究的发展。1991年美国总统签署了综合提高陆上交通效率法案,又称冰茶法案,把开发研究智能化车辆——道路系统作为国策,并给与充足的财政支持。19945年将美国IVHS改名美国ITS以表明这方面的研究开发不仅限于车辆和道路,而推广到一切交通工具和交通中所组成的智能化系统。 国内研究状况 目前我国的城市道路交叉口的交通信号灯虽然是自动的,但是仔细的会发现红绿灯转换是定时状态的,即转换间隔时间是固定不变的,定时式的交通灯是不和实际要求需要的,如果东西和南北方向的车流量相差很大,而交通灯是平均分配导通时间,就会出现一方面车挤一方面车松的尴尬状况,就会造成城市间的道路交通拥挤局面,这就是机器自动控制不如现场人工指挥的差别。然而人工指挥劳动强度大,我们应该充分发挥计算机的作用,用计算机模拟人工智能来控制交通灯,从而提高社会效益和时间节约率。国内的交通灯一般设在十字路门,在醒目位置用红、绿、黄三种颜色的指示灯。加上一个倒计时的显示计时器来控制行车。对于一般情况下的安全行车,车辆分流尚能发挥作用,但根据实际行车过程中出现的情况,还存在以下缺点:1.两车道的车辆轮流放行时间相同且固定,在十字路口,经常一个车道为主干道,车辆较多,放行时间应该长些;另一车道为副干道,车辆较少,放行时间应该短些。2.没有考虑紧急车通过时,两车道应采取的措施,臂如,消防车执行紧急任务通过时,两车道的车都应停止,让紧急车通过。

看方向

如果选择嵌入式硬件开发,就不懂了

软件开发的话,分底层和应用层

我是从事wince驱动开发的(快满一年),

以wince为例,底层就是boot、bsp修改、驱动开发这几部分

学习路线:

1、买个开发板

2、按照开发板上的例子玩玩,ARM汇编稍微能看懂,写点简单的程序跑跑,对汇编有个大概的了解,bootloader等等会多少涉及点汇编的东西

然后就是开发板上的一些驱动玩玩。如果可以拿相似的BSP移植到开发板上就更好了,对BSP就有更多的认识了,学完以上可能可以找到工作,在工作中进一步加深理解

如果是应用的话,wince,我们写应用用的是VS2005,VC++,和PC的开发基本差不多

学完一个 *** 作系统,切换到另一个平台相对而言还是蛮快的,基本都是相通的

我之前的经验是,我买了开发板玩了ADS程序写了小型的程序,就是把LED啊、液晶屏啊、等等驱起来,然后,在linux下玩驱动,写了几个简单的流驱动,去应聘,鬼使神差被招进去玩wince驱动了,感觉差得不是很多,玩了2周就开始上手,2个月之后,底层这块就都扔给我了

以上,仅供参考(至于开发板,如果是消费电子类的,好像三星的S3C系列用的人比较多,开发板也很多,工业类的就不懂了。至于选哪家开发板厂家,百度google一下)

1、您得有一定数量的Money。

(1)、开发板贵

(2)、培训费更贵

(3)、开发平台是贵得不能再贵。(除非您只是想玩玩而已)

2、需要学习的东西多。(1)、window环境编程;(2)、Linux环境编程;(3)、单片机

3、最后也是最重要的一点,你得有坚韧不拔之志和一颗平常之心。

(1)、自信 坚强 积极 勤快 (注:好的自信是自觉的!)

(2)、成功其实就是成为最好的您自己

嵌入式门槛虽然较高,但也跟其他事物一样,并不是牢不可破。只要我们用心去对待,东雪终将化去,春风定会吹来。具体步骤如下:

1、《C语言》第二版 谭浩强 ; 《C程序设计语言》第二版 徐宝文译 机戒工业出版社

你能区分开指针数组和数组指针吗?你知道函数指针吗?

你能区分开定义一个变量时系统给它分配的空间与用malloc()函数给一个变量分配的空间有什么不一样吗?

2、《数据结构》C语言版 黄国愉、叶乃青编 清华大学出版社

你能合上书本,用C语言实现书中的单链表、双链表数据结构吗?

3、《实用C++程序设计》第二板 中国电力出版社 Steve_Oualline著

此阶段主要是学习其面向对象的编程思想,加深对C语言和数据结构的理解。

4、学习单片机,最好能找个前辈带一带。

你能用51单片机做出一样实际的东西吗?即使它再简单!

要注意加深对中断的理解。

5、学习ARM单片机。

(1)、细读《ARM微控制器基础与实战》周立功编写 (注:即使你不用书中的开发板)

(2)、细读相关芯片的原版英文文档。如:arm920TE.pdf S3C2410_1.2.pdf

6、学习uCOS!! *** 作系统。

(1)、细读《嵌入式实时 *** 作系统uC/OS-!!》第二版 召贝贝译

你能把uCOS!!移植到自己的平台上吗?

(2)、能编写在uCOS!! *** 作系统环境下运行的针对具体硬件的驱动程序

7、熟悉Linux环境,学习Linux环境编程,学习交叉编程

(1)、细读《linux命令大全.pdf》

(2)、细读《GNU Make 使用手册(中译版).pdf》

(3)、学习创建交叉编程环境.

8、学习Linux *** 作系统。

(1)、《UNIX环境高级编程》

(2)、细读“joyfire 笔记”,可在“www.qianrushi.com”网站的好书下载栏目获取

(3)、细读《linux内核完全注释》

(4)、细读《understanding the linux kernel 2》

(5)、利用源代码阅读利器工具”Source Insight”进行真正的linux内核原码刨析

(6)、最后进行内核移植,并能编写在linux *** 作系统环境下运行的针对具体硬件的驱动程序

9、学习Linux设备驱动编写。可参考《Linux设备驱动程序》

10、复习C++,学习用QT进行图形界面编程

(1)、细读《QT编程宝典》

(2)、学会通过查看QT电子文档进行QT GUI实地编程

(3)、学习交叉编程.(其实就是把命令qmake变为tmake)

11、当然,你也可学习一下PCB的制作和设计一个自己的CPU(即软壳)

至此,你已学完嵌入式的整流程!但谨记:一个有思想的人才真是一个力量无边的人;有容乃大,能予方强!


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/9017046.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-24
下一篇 2023-04-24

发表评论

登录后才能评论

评论列表(0条)

保存