1、 成 绩 评 定 表学生姓名张书豪班级学号专 业通信工程课程设计题目十字路口交通灯控制评语组长签字:成绩日期 20 年 月 日课程设计任务书学 院信息科学与工程专 业通信工程学生姓名张书豪班级学号课程设计题目 十字路口交通灯控制实践教学规定与任务教学规定1理解基于ARM7核LPC2106管脚功能和特点,掌握I/O控制寄存器设立办法;2掌握ARM7应用系统编程开发办法,能用C语言编写应用程序;3纯熟掌握ADS1.2软件使用以及PROTEUS仿真调试办法;设计任务 1采用PROTEUS完毕十字路口交通灯控制硬件电路设计,规定单片机选型为飞利浦公司LPC2106,东西南北方向分别设立红黄绿3个批示灯
2、,东西方向和南北方向各用1个数码管显示通行时间; 2用ADS1.2编写C语言应用程序,完毕十字路口交通灯控制; 3采用PROTEUS将应用程序装载在LPC2106中,进行仿真验证。规定东西方向和南北方向数码管显示通行时间并倒计时,可以设立成同样,例如都是9秒倒计时;每当倒计时时间到,完毕红黄绿批示灯状态切换,模仿实现十字路口交通灯管理控制。指引教师: 201 年 月 日专业负责人:201 年 月 日学院教学副院长:201 年 月 日目 录1. .设计目2. .详细任务3. .硬件电路设计4. .源程序5. .仿真效果6. .实验心得体会设计课题 十字路口交通灯控制一、设计目:1理解基于ARM7
3、核LPC2106管脚功能和特点,掌握I/O控制寄存器设立办法;2掌握ARM7应用系统编程开发办法,能用C语言编写应用程序;3纯熟掌握ADS1.2软件使用以及PROTEUS仿真调试办法;二、详细任务:1采用PROTEUS完毕十字路口交通灯控制硬件电路设计,规定单片机选型为飞利浦公司LPC2106,东西南北方向分别设立红黄绿3个批示灯,东西方向和南北方向各用1个数码管显示通行时间;2用ADS1.2编写C语言应用程序,完毕十字路口交通灯控制;3采用PROTEUS将应用程序装载在LPC2106中,进行仿真验证。规定东西方向和南北方向数码管显示通行时间并倒计时,可以设立成同样,例如都是9秒倒计时;每当倒
4、计时时间到,完毕红黄绿批示灯状态切换,模仿实现十字路口交通灯管理控制。三、硬件电路设计。(参照下图完毕硬件电路设计,用屏幕抓图方式将自己设计PROTEUS电路图粘贴在下面,并用文字对所设计电路功能、原理进一步阐明)自己设计PROTEUS电路图附图(用屏幕抓图方式粘贴):硬件电路阐明:1设立所有I/O口为第一功能,将硬件电路图按上图所示连接。2东西南北四个方向分别装有红、黄、绿三灯,通过放置标号方式连接到LPC2106。3数码管为交通灯一位十进制双位数字倒计时显示,两个数码管显示同样数字。4管教控制为P0.0P0.6用来控制倒计时个位;P0.8P0.14用来控制倒计时十位;P0.16P0.21用
5、来控制交通灯显示,即发光二极管显示。四、源程序。(只将C语言应用程序附在背面,其他项目文档不要提供,C语言应用程序要有一定注释阐明)源程序:#includeconfig.h#includeLPC2106.huint32 table1=0x21066d,0x210666,0x21064f,0x21065b,0x210606,0x21063f,0x213f6f,0x213f7f,0x213f07,0x213f7d,0x223f6d,0x203f66,0x223f4f,0x203f5b,0x223f06,0x203f3f, 0x0c066d,0x0c0666,0x0c064f,0x0c065b,0x
6、0c0606,0x0c063f,0x0c3f6f,0x0c3f7f,0x0c3f07,0x0c3f7d,0x143f6d,0x043f66,0x143f4f,0x043f5b,0x143f06,0x043f3f; /显示初始化void delay(uint32 j)uint32 m,n;for(m=110;m0;m-)for(n=j;n0;n-);int main()uint32 i=0;PINSEL0=0x00000000;/寄存器初始化,选取其I/0口功能PINSEL1=0x00000000; /同上IODIR=0x00003fffff;/方向寄存器设立,设立为输出IOCLR=0x0000
7、3fffff;/清0寄存器设立while(1) for(i=0;i32;i+)IOSET=table1i;/数码管和交通灯显示delay(10000);IOCLR=0x00003fffff;/消影五、仿真效果。(用屏幕抓图方式将PROTEUS运营仿真效果图粘贴在下面)东西绿灯亮,南北红灯亮并进行15秒倒计时:东西黄灯亮,南北红灯亮,并进行5秒倒计时:东西红灯亮,南北绿灯亮,并进行15倒计时:东西红灯亮,南北黄灯亮,并进行5秒倒计时,回到第一张图重复执行:六、实验心得体会在这二周课程设计中,我学习到了诸多课本上面没有学习到知识,此前咱们也都只是在上学时候看着教师操作,听教师讲某些关于嵌入式学习过
8、程中需要注意内容,需要学习某些语句,但是始终没有如此近距拜别接触过嵌入式操作。通过学习,咱们懂得学 ARM,从硬件上讲,一方面就是学习接口电路设计,另一方面就是学习汇编和C语言板级编程。如果从软件上讲,就是要学习基于ARM解决器操作系统层面 驱动、移植了。这些对于初学都来说必要明确,要么从硬件着手开始学,要么从操作系统熟悉到应用开始学,但不论学什么,只要不是纯操作系统级以上基于 API应用层编程,硬件寄存器类东西还是要能看懂,基于板级汇编和C编程还是要会。因而针对于嵌入式系统硬件层和驱动程人,ARM接口电路设计、ARMC语言和汇编语言编程及调试开发环境还是需要掌握。 因而对于初学者必然要把握住
9、方向,自己目的是什么,自己要在那一层面上走。然后再着手学习较好,与ARM有关嵌入式系统较为实际两个层面硬件层和驱动层,不论学好了那一层都会很有前程。在学习嵌入式系统这两个星期,我觉得我学到了诸多东西,不但巩固了C语言使用,并且,在实验指引教师辅导下,咱们学会了怎么去使用嵌入式系统,咱们学会了怎么去讲嵌入式系统与protues系统相结合,从而用protues仿真软件看出咱们程序需要体现成果,也可以再一次对程序进行一次检查。咱们实验是两个,第一种实验是交通灯设计,在设计交通灯时候,咱们考虑了诸多方案,日后,咱们选取了使用共阴极显示数码管,然后通过计算写出显示数码管从1到10显示代码。之后就是交通灯
10、显示问题了,一方面要拟定什么时候红灯亮,什么时候绿灯亮,什么时候黄灯又亮,这些都是靠某些十六进制数来代表。 寄存器使用在嵌入式系统设计中是很重要一种某些,咱们最开始理解就是寄存器PINSEL0和PINSEL1设立。LPC2106I/O口全都是3功能服用端口,也就是说即可用作普通输入输出端口,又用作第2或第3种功能。设计人员可依照需要设立两个32位特殊功能寄存器PINSEL0和PINSEL1。PINSEL0相应引脚P0.0P0.15,PINSEL1相应引脚P0.16P0.31。都是寄存器中用两位来完毕1根引脚功能设立。接下来是GPIO方向寄存器设立,当管脚配备为GPIO 模式时,可使用该寄存器控
11、制管脚方向。任意管脚方向位设立必要与管脚功能一致。输出置1寄存器,IOSET当管脚配备为GPIO 输出模式时,可使用该寄存器从管脚输出高电平。写入1 使相应管脚输出高电平。 写入0 无效。如果一种管脚被配备为输入或第二功能,写IOSET 无效。输出清零寄存器IOCLR当管脚配备为GPIO 输出模式时,可使用该寄存器从管脚输出低电平。写入1 使相应管脚输出低电平。 写入0 无效。如果一种管脚被配备为输入或第二功能,写IOCLR 无效。将来路还很长,咱们学东西还是太少了,咱们需要学东西实在是太多了。总之,这次课程设计让我学到了诸多东西,感谢教师悉心指引,感谢学校能给咱们这样好学习机会来培养咱们动手能力。但愿学校可以更加注重学生动手能力培养,多给学生自己动手操作机会,在实验和课程设计这一块应当严格把关,培养出社会需要动手能力强学生。
©2010-2024 宁波自信网络信息技术有限公司 版权所有
客服电话:4008-655-100 投诉/维权电话:4009-655-100