收藏 分销(赏)

单片机__急救车优先通过交通灯课程设计.docx

上传人:xrp****65 文档编号:5852974 上传时间:2024-11-21 格式:DOCX 页数:30 大小:340.30KB
下载 相关 举报
单片机__急救车优先通过交通灯课程设计.docx_第1页
第1页 / 共30页
单片机__急救车优先通过交通灯课程设计.docx_第2页
第2页 / 共30页
点击查看更多>>
资源描述
《急救车优先的交通灯控制系统》课程设计说明书 专业班级:10级自动化(3)班 姓 名:周玉玲 李旭 王志繁 胡浩远 学 号:080310167 080310160 080310133 100210049 指导老师:刘 娟 设计时间:2012年12月21日 物理与电气工程学院 二零一二年十二月二十一日 内容摘要 请设计一个交通灯控制电路,并且编写相应的软件,完成交通灯的管理任务。 1、根据交通灯控制变化规律。假设一个十字路口为东西南北走向。初始状态0为东西红灯,南北红灯。然后转状态1南北绿灯通车,东西红灯。过15秒钟转状态2,南北绿灯转亮黄灯闪烁,延时几秒,东西仍然红灯。再转状态3,东西绿灯通车,南北红灯。过15秒钟转状态4,东西绿灯转亮黄灯闪烁,延时几秒,南北仍然红灯。最后循环至状态1。 2、以按键为中断申请,表示有急救车通过,所有的交通信号灯全红10秒钟。 交通灯控制系统,可由多种电路来构成,采用单片机控制,可提高电路的可靠性与稳定性,硬件电路比较简单,主要用软件来控制,控制方式灵活多样,能满足不同情况的控制,可利用中断等方式通过程序来方便的实现调时。 关键字:课程设计 单片机 急救车 流程图 状态 代码 目录 一、课程设计意义和要求...........................................3 1、课程设计意义.............................................3 2、课程设计要求.............................................3 二、理论设计....................................................4 1、总体设计.................................................4 2、软件设计.................................................4 2.1、电路原理逻辑图......................................7 2.2、程序流程图...........................................8 三、 硬件设计描述................................................9 1、系统方框图...............................................9 2、电路原理图...............................................10 3、单片机简介...............................................11 4、单片机的学习.............................................12 5、单片机的应用领域.........................................13 四、调试与仿真..................................................15 五、心得体会....................................................18 六、参考文献....................................................20 附录 源程序代码.....................................................21 急救车优先的交通灯控制系统设计 一、课程设计意义和要求: 1、课程设计意义 大学本科学生动手能力的培养和提高是大学本科教育的一个重要内容,《单片机原理及应用》是一门应用性较强的课程。如何让学生在学好基础知识的同时,迅速掌握应用技术,实验与课程设计环节起着非常重要的作用。本课程设计的意义,是让学生通过课程设计,首先建立起单片机应用系统的概念,根据实际的系统设计要求,掌握初步的单片机系统设计方法,从硬件系统和软件系统设计两个方面得到实际的提高,为今后的毕业设计打下良好的基础。 2、课程设计要求: 设计制作一个模拟的十字路口交通灯控制系统要求: 1.正常情况下东西与南北两个方向轮流点亮红、绿灯信号,每次持续时间15S,中间有5S的黄灯过度。 2.东西与南北两个方向各设一个紧急切换按钮。某个方向按下时,该方向紧急切换为绿灯,以便于特种车辆通过。 3.扩展实验箱上的74LS273做为输出口,控制六个发光二极管亮灭,模拟交通灯管理。 4.当有急救车到达时,两个方向上的红灯亮,以便让急救车通过,假定急救车通过路口的时间为10秒,急救车通过后,交通灯恢复中断前的状态。本题目以单脉冲为中断申请,表示有急救车通过。 二、理论设计 1、总体设计 实际生活中的十字路口交通灯模拟 图一 十字路口交通灯模拟图 表一 交通灯南北和东西方向LED灯点亮的时间: 南北向 绿灯亮15秒 黄灯亮5秒 红灯亮15秒 红灯亮10秒 东西向 红灯亮20秒 绿灯亮10秒 黄灯亮5秒 红灯亮10秒 2、软件设计 LED4—LED9分别作为南北和东西方向的红黄绿灯; 数码管0,1作为南北方向的时间显示,数码管6,7作为东西方向的时间显示; 定时器T0:用于无急救车通过交通灯时的定时时间; 定时器T1:用于有急救车通过交通灯时的计时时间; 外部中断0:用于有急救车通过交通灯时去执行状态五的过程; 寄存器R0与定时器T0定时1秒; 寄存器R1与定时器T1定时1秒; 存储单元30H和31H存储状态一的时间; 存储单元32H存储状态二的时间; 存储单元33H和34H存储状态三的时间; 存储单元35H存储状态四的时间; 存储单元36H存储状态五的时间; 其中R0=0,R1=0,(30H)=15,(31H)=18,(32H)=5,(33H)=15,(34H)=10,(35H)=5,(36H)=10 30H—36H分别是TOBCD1—TOBCD5的入口地址,40H—53H既是TOBCD1—TOBCD5的出口地址,也是 DISPLAY1—DISPLAY5的入口地址。 表2 进制转换的入口地址和出口地址 状态 十进制转换 入口地址 出口地址 1 TOBCD1 30H 40H 41H 31H 42H 43H 2 TOBCD2 32H 44H 45H 3 TOBCD3 33H 46H 47H 34H 48H 49H 4 TOBCD4 35H 52H 53H 5 TOBCD5 36H 50H 51H 表3 状态一到状态五的显示对应的参数和地址: 状态 显示 显示 方向 LED灯色 LED灯(亮) 开始时间(秒) 状态一 DISPLAY1 40H、41H 南北 绿 LED6 15 42H、43H 东西 红 LED9 20 状态二 DISPLAY2 44H、45H 南北 黄 LED4 5 东西 红 LED9 5 状态三 DISPLAY3 46H、47H 南北 红 LED8 15 48H、49H 东西 绿 LED7 10 状态四 DISPLAY4 52H、53H 南北 红 LED8 5 东西 黄 LED5 5 状态五 DISPLAY5 50H、51H 南北东西 红 LED8、LED9 10 电路原理逻辑图 图2 电路原理逻辑图 程序流程图 开始 初始化时钟程序 南北绿,东西红 东西剩5s 南北黄,东西红 南北红,东西绿 南北剩5s 剩0s? 剩0s 南北红,东西黄 N N N N 图3 主程序流程图 开始 外部中断初始化 延时5秒 东南西北红灯亮 5秒倒计时显示 保存灯亮状态及延时 图4 中断程序流程图 三、 硬件设计描述 1、系统方框图 电 源 信号灯 AT80C51 震荡部分 复位电路 图5 系统方框图 2、电路原理图 晶振电路: 图6 晶振电路图 复位电路; 图7 复位电路图 LED灯: 图8 LED灯接线图 3、单片机简介 它内部也用和电脑功能类似的模块,比如CPU,内存,并行总线,还有和硬盘作用相同的存储器件,不同的是它的这些部件性能都相对我们的家用电脑弱很多,不过价钱也是低的,一般不超过10元即可......用它来做一些控制电器一类不是很复杂的工作足矣了。我们现在用的全自动滚筒洗衣机,排烟罩VCD等等的家电里面都可以看到它的身影!它主要是作为控制部分的核心部件。 它是一种在线式实时控制计算机,在线式就是现场控制,需要的是有较强的抗干扰能力,较低的成本,这也是和离线式计算机的(比如家用PC)的主要区别。 单片机是靠程序的,并且可以修改。通过不同的程序实现不同的功能,尤其是特殊的独特的一些功能,这是别的器件需要费很大力气才能做到的,有些则是花大力气也很难做到的。一个不是很复杂的功能要是用美国50年代开发的74系列,或者60年代的CD4000系列这些纯硬件来搞定的话,电路一定是一块大PCB板!但是如果要是用美国70年代成功投放市场的系列单片机,结果就会有天壤之别!只因为单片机的通过你编写的程序可以实现高智能,高效率,以及高可靠性!   由于单片机对成本是敏感的,所以目前占统治地位的软件还是最低级汇编语言(近几年,C语言也开始广泛被应用),它是除了二进制机器码以上最低级的语言了,既然这么低级为什么还要用呢?很多高级的语言已经达到了可视化编程的水平为什么不用呢?原因很简单,就是单片机没有家用计算机那样的CPU,也没有像硬盘那样的海量存储设备。一个可视化高级语言编写的小程序里面即使只有一个按钮,也会达到几十K的尺寸!对于家用PC的硬盘来讲没什么,可是对于单片机来讲是不能接受的。 单片机在硬件资源方面的利用率必须很高才行,所以汇编虽然原始却还是在大量使用。一样的道理,如果把巨型计算机上的操作系统和应用软件拿到家用PC上来运行,家用PC的也是承受不了的。   目前最常用的单片机为MCS-51,是由美国INTEL公司(生产CPU的英特尔)生产的,89C51是这几年在我国非常流行的单片机,它是由美国ATMEL 公司开发生产的,其内核兼容MCS-51单片机。 4、 单片机的学习 一、 单片机与嵌入式系统概述:包括嵌入式系统概念、单片机的特点、应用领域和发展趋势、市场主流单片机性能比较与选型、常用51核单片机介绍、业内通用嵌入式系统开发方法和流程、开发板及相关开发工具的介绍和使用等; 二、 单片机最小系统介绍、51单片机基本资源如并口、中断、时钟与复位、串口等的熟练使用等; 三、单片机基本资源扩展设计:包括存储器扩展设计、可编程和不可编程I/O接口扩展设计、I2C总线的模拟设计等; 四、输入输出设备的设计:包括独立式按键和矩阵键盘的各种输入方法、数码管及液晶显示器的接口设计、蜂鸣器的设计; 五、输入通道和输出通道的设计:包括一定模拟和数字信号量的输入、频率量的输入方法、A/D转换原理与器件选型及其与单片机的接口设计、数字与模拟量的输出方法、功率驱动相关知识、D/A转换原理与器件选型及其与单片机的接口设计等; 六、单片机软硬件设计和调试经验:各种软件开发和设计技巧、调试经验等; 七、开发环境和开发工具介绍:Keil uVision2集成开发环境的使用与调试等; 5、单片机的应用领域 单片机广泛应用于仪器仪表、家用电器、医用设备、航空航天、专用设备的智能化管理及过程控制等领域,大致可分如下几个范畴: 1. 在智能仪器仪表上的应用 单片机具有体积小、功耗低、控制功能强、扩展灵活、微型化和使用方便等优点,广泛应用于仪器仪表中,结合不同类型的传感器,可实现诸如电压、功率、频率、湿度、温度、流量、速度、厚度、角度、长度、硬度、元素、压力等物理量的测量。采用单片机控制使得仪器仪表数字化、智能化、微型化,且功比起采用电子或数字电路更加强大。例如精密的测量设备(功率计,示波器,各种分析仪)。 2、在工业控制中的应用用单片机可以构成形式多样的控制系统、数据采集系统。例如工厂流水线的智能化管理,电梯智能化控制、各种报警系统,与计算机联网构成二级控制系统等。 3、 在家用电器中的应用 可以这样说,现在的家用电器基本上都采用了单片机控制,从电饭褒、洗衣机、电冰箱、空调机、彩电、其他音响视频器材、再到电子秤量设备,五花八门,无所不在。 4、 在计算机网络和通信领域中的应用 现代的单片机普遍具备通信接口,可以很方便地与计算机进行数据通信,为在计算机网络和通信设备间的应用提供了极好的物质条件,现在的通信设备基本上都实现了单片机智能控制,从手机,电话机、小型程控交换机、楼宇自动通信呼叫系统、列车无线通信、再到日常工作中随处可见的移动电话,集群移动通信,无线电对讲机等。 5、 单片机在医用设备领域中的应用 单片机在医用设备中的用途亦相当广泛,例如医用呼吸机,各种分析仪,监护仪,超声诊断设备及病床呼叫系统等等。 此外,单片机在工商,金融,科研、教育,国防航空航天等领域都有着十分广泛的用途。 五、 调试与仿真 1、状态一 图9 1s到15s状态图 2、状态二 图10 15s到18s状态图 3、状态三 图11 20s到30秒状态图 4、状态四 图12 黄灯闪烁图 图13 黄灯闪烁图 状态五 图15 中断状态图 六、心得体会 通过此次单片机的课程设计使我们对单片机有了更进一步的了解,比如在编程序时知道了设置中断的优先级,对外部中断的低电平和边沿触更加的熟悉,对中断的入口地址也熟悉了不少,同时在使用循环方面得到了提高,对单片机的硬件方面也有了一些了解,如晶振电路、复位电路、共阴数码管、共阳led灯等等;另外在仿真方面也熟悉了不少,以前都没仿真过,虽然这次的设计不一定是最好的,但我们会继续努力学习的。另外,很希望多做一些有关单片机的课程设计,从设计中增加自己的知识和能力。 通过这次的实训,对单片机的I/O口的使用的条件有更深的理解,对单片机的各个管脚功能的理解也加深了,以及在常用编程设计思路技巧(特别是汇编语言)的掌握方面都能向前迈了一大步。这两周的实习真的有点郁闷,程序里面的好多内容不懂,自我感觉是单片机我们所学的内容还不足以编出这两个程序,但是只好硬着头皮去看去理解。但在学习过程中也充满了乐趣,当看懂了程序的一些语句,画出了要求的设计图,那我喜悦那种成就感油然而生。 这次实习让我受益匪浅,无论从知识上还是其他的各个方面。上课的时候的学习从来没有见过真正的单片机,只是从理论的角度去理解枯燥乏味。但在实习中见过甚至使用了单片机及其系统,能够理论联系实际的学习,开阔了眼界,提高了单片机知识的理解和水平。在这次课程设计中又让我体会到了合作与团结的力量,当遇到不会或是设计不出来的地方,我们就会在QQ群里讨论或者是同学之间相互帮助。团结就是力量,无论在现在的学习中还是在以后的工作中,团结都是至关重要的,有了团结会有更多的理念、更多的思维、更多的情感。 单片机是很重要的一门课程,老师和一些工作的朋友都曾说过,如果学好一门单片机,就凭这个技术这门手艺找一个好工作也不成问题。尽管我们在课堂学到的内容很有限,但在以后的学习中单片机还需要好好的深入研究和学习,学好了单片机也就多了一项生存的本钱。最后感谢老师对我们的精心指导和帮助,感谢同学们对我的帮助。 参考文献 图书 [1]周荷琴 吴秀清. 微机原理与接口技术[M].中国科学技术出版社,2004.5 [2]余锡存 曹国华.单片机原理及接口技术[M].西安电子科技大学出版社,陕西,2000.7 [3]雷丽文 等.微机原理与接口技术[M].电子工业出版社,北京,1997 [4]李朝青.单片机原理及接口技术[M].北京航空航天大学出版社,北京,1999 [5]李广第等.单片机基础[M].北京航空航天大学出版社,北京,2001 [6]胡汉才.单片机原理及其接口技术 [M].清华大学出版,北京,1996 [7]李全利,单片机原理及其接口技术,高等教育出版社,北京,2009.1 附录一 源程序代码 ORG 0000H ;起始地址为0000H LJMP MAIN ORG 0003H ;设置外部中断0子程序的入口地址 LJMP INTR0 ORG 000BH ;设置定时器0子程序的入口地址 LJMP TIMER0 ORG 001BH ;设置定时器1的子程序的入口地址 LJMP TIMER1 ORG 0060H 1主程序模块 MAIN:MOV IE,#8BH ;开定时器0、1和外部中断0的允许位 MOV IP,#08H ;设置定时器1中断优先级 MOV TMOD,#11H;定时器0、1都工作在方式1 MOV TH0,#(65536-50000)/256 MOV TL0,#(65536-50000)MOD 256 MOV TH1,#(65536-50000)/256 MOV TL1,#(65536-50000)MOD 256 MOV P3,#0FFH ACALL X0 MOV R0,#0 MOV R1,#0 SETB TR0 CLR IT0 ;通过按键控制P3口设置外部中断0为电平触发方式 M0:MOV A,30H ;30h中存储的值为15 CJNE A,#0,M1 MOV A,32H ;32h中存储的值为5 CJNE A,#0,M2 MOV A,34H ;34h中存储的值为10 CJNE A,#0,M3 MOV A,35H ;35h中存储的值为5 CJNE A,#0,M4 ;35h中的值为0时执行状态一 ACALL X0 ;对所用寄存器和存储单元进行赋初值 SJMP M0 M1:ACALL TOBCD1 ;状态一的十进制转换和显示 ACALL DISPLAY1 SJMP M0 M2:ACALL TOBCD2 ;状态二的十进制转换和显示 ACALL DISPLAY2 SJMP M0 M3:ACALL TOBCD3 ;状态三的十进制转换和显示 ACALL DISPLAY3 SJMP M0 M4:ACALL TOBCD4 ;状态四的十进制转换和显示 ACALL DISPLAY4 SJMP M0 2定时器0中断模块 TIMER0:MOV TH0,#(65536-50000)/256 MOV TL0,#(65536-50000)MOD 256 INC R0 CJNE R0,#20,RT 状态一 MOV A,30H CJNE A,#0,N0 SJMP N1 N0:MOV A,30H DEC A MOV 30H,A MOV A,31H DEC A MOV 31H,A N1:MOV R0,#0 MOV A,30H CJNE A,#0,RT ;30h中的值为0时执行状态二 状态二 MOV A,32H CJNE A,#0,N2 SJMP N3 N2:MOV A,32H DEC A MOV 32H,A N3: MOV A,32H CJNE A,#0,RT ;32h中的值为0时执行状态三 状态三 MOV A,34H CJNE A,#0,N4 SJMP N5 N4:MOV A,33H DEC A MOV 33H,A MOV A,34H DEC A MOV 34H,A N5: MOV A,34H CJNE A,#0,RT; 34h中的值为0时执行状态四 状态四 MOV A,35H DEC A MOV 35H,A RT:RETI 3外部中断0中断模块 INTR0:CLR TR0;停止定时器0计时 SETB TR1;定时器1开始计时 M5:MOV A,36H CJNE A,#0,M6;36h中的初值为10 SJMP M7 M6:ACALL TOBCD5;状态五的十进制转换和显示 ACALL DISPLAY5 MOV A,36H CJNE A,#0,M5 M7:CLR TR1;停止定时器1计时 SETB TR0;定时器0开始计时 MOV P3,#0FFH ;对P3赋值,引脚P3.2为高电平时清IE0为0,外部中断停止 RETI 4定时器1中断模块 TIMER1:MOV TH1,#(65536-50000)/256 MOV TL1,#(65536-50000)MOD 256 INC R1 CJNE R1,#20,RT1 MOV A,36H DEC A MOV 36H,A MOV R1,#0 RT1:RETI 5显示模块 状态一显示程序,入口地址为40h、41h、42h、43h DISPLAY1:MOV P1,#6FH ;led6灯此时为南北方向绿灯,led9此时为东西方向红灯 MOV DPTR,#LEDCC MOV P2,#0;南北方向显示高位 MOV A,40H MOVC A,@A+DPTR MOV P0,A ACALL DELAY MOV P2,#1;南北方向显示低位 MOV A,41H MOVC A,@A+DPTR MOV P0,A ACALL DELAY MOV P2,#6 ;东西方向显示高位 MOV A,42H MOVC A,@A+DPTR MOV P0,A ACALL DELAY MOV P2,#7;东西方向显示高位 MOV A,43H MOVC A,@A+DPTR MOV P0,A ACALL DELAY RET 状态二显示程序,入口地址为44h、45h DISPLAY2:MOV P1,#7BH ;led4灯此时为南北方向黄灯,led9此时为东西方向红灯 MOV DPTR,#LEDCC MOV P2,#0;南北方向显示高位 MOV A,44H MOVC A,@A+DPTR MOV P0,A ACALL DELAY MOV P2,#1;南北方向显示低位 MOV A,45H MOVC A,@A+DPTR MOV P0,A ACALL DELAY MOV P2,#6;东西方向显示高位 MOV A,44H MOVC A,@A+DPTR MOV P0,A ACALL DELAY MOV P2,#7;东西方向显示低位 MOV A,45H MOVC A,@A+DPTR MOV P0,A ACALL DELAY RET 状态三显示程序,入口地址为46h、47h、48h、49h DISPLAY3:MOV P1,#9FH ;led8灯此时为南北方向红灯,led7此时为东西方向绿灯 MOV DPTR,#LEDCC MOV P2,#0;南北方向显示高位 MOV A,46H MOVC A,@A+DPTR MOV P0,A ACALL DELAY MOV P2,#1;南北方向显示低位 MOV A,47H MOVC A,@A+DPTR MOV P0,A ACALL DELAY MOV P2,#6;东西方向显示高位 MOV A,48H MOVC A,@A+DPTR MOV P0,A ACALL DELAY MOV P2,#7;东西方向显示低位 MOV A,49H MOVC A,@A+DPTR MOV P0,A ACALL DELAY RET 状态四显示程序,入口地址为52h、53h DISPLAY4:MOV P1,#0B7H MOV DPTR,#LEDCC MOV P2,#0;南北方向显示高位 MOV A,52H MOVC A,@A+DPTR MOV P0,A ACALL DELAY MOV P2,#1;南北方向显示低位 MOV A,53H MOVC A,@A+DPTR MOV P0,A ACALL DELAY MOV P2,#6;东西方向显示高位 MOV A,52H MOVC A,@A+DPTR MOV P0,A ACALL DELAY MOV P2,#7;东西方向显示低位 MOV A,53H MOVC A,@A+DPTR MOV P0,A ACALL DELAY RET 状态五显示程序,入口地址为50h、51h DISPLAY5:MOV P1,#3FH MOV DPTR,#LEDCC MOV P2,#0;南北方向显示高位 MOV A,50H MOVC A,@A+DPTR MOV P0,A ACALL DELAY MOV P2,#1;南北方向显示低位 MOV A,51H MOVC A,@A+DPTR MOV P0,A ACALL DELAY MOV P2,#6;东西方向显示高位 MOV A,50H MOVC A,@A+DPTR MOV P0,A ACALL DELAY MOV P2,#7;东西方向显示低位 MOV A,51H MOVC A,@A+DPTR MOV P0,A ACALL DELAY RET 6、十进制转换模块 状态一转换程序,入口地址30h、31h,出口地址40h、41h、42h、43h TOBCD1: MOV A,30H MOV B,#10 DIV AB MOV 41H,B MOV 40H,A MOV A,31H MOV B,#10 DIV AB MOV 43H,B MOV 42H,A RET 状态二转换程序,入口地址32h,出口地址44h、45h TOBCD2: MOV A,32H MOV B,#10 DIV AB MOV 45H,B MOV 44H,A RET 状态三转换程序,入口地址33h、34h,出口地址46h、47h、48h、49h TOBCD3: MOV A,33H MOV B,#10 DIV AB MOV 47H,B MOV 46H,A MOV A,34H MOV B,#10 DIV AB MOV 49H,B MOV 48H,A RET 状态四转换程序,入口地址35h,出口地址52h、53h TOBCD4: MOV A,35H MOV B,#10 DIV AB MOV 53H,B MOV 52H,A RET 状态五转换程序,入口地址36h,出口地址50h、51h TOBCD5: MOV A,36H MOV B,#10 DIV AB MOV 51H,B MOV 50H,A RET 7、存储器赋值模块 X0:MOV 30H,#15 MOV 31H,#20 MOV 32H,#5 MOV 33H,#15 MOV 34H,#10 MOV 35H,#5 MOV 36H,#10 8延时程序模块 DELAY:MOV R7,#250 DJNZ R7,$ RET LEDCC: DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H DB 7FH,6FH,77H,7CH,39H,5EH,79H,71H RET END
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传
相似文档                                   自信AI助手自信AI助手

当前位置:首页 > 学术论文 > 其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4009-655-100  投诉/维权电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服