交通灯课设单片机proteus软件课程设计.docx

上传人:b****6 文档编号:6319253 上传时间:2023-01-05 格式:DOCX 页数:22 大小:1.11MB
下载 相关 举报
交通灯课设单片机proteus软件课程设计.docx_第1页
第1页 / 共22页
交通灯课设单片机proteus软件课程设计.docx_第2页
第2页 / 共22页
交通灯课设单片机proteus软件课程设计.docx_第3页
第3页 / 共22页
交通灯课设单片机proteus软件课程设计.docx_第4页
第4页 / 共22页
交通灯课设单片机proteus软件课程设计.docx_第5页
第5页 / 共22页
点击查看更多>>
下载资源
资源描述

交通灯课设单片机proteus软件课程设计.docx

《交通灯课设单片机proteus软件课程设计.docx》由会员分享,可在线阅读,更多相关《交通灯课设单片机proteus软件课程设计.docx(22页珍藏版)》请在冰豆网上搜索。

交通灯课设单片机proteus软件课程设计.docx

交通灯课设单片机proteus软件课程设计

课程设计

 

课程名称:

单片机原理及应用

课目:

交通信号灯设计

学院:

专业:

姓名:

班级:

学号:

指导教师:

2013年6月17日

一、第1章概述3

1、设计背景3

2、设计要求3

二、整体设计原理4

1、设计原理4

2、硬件电路分析5

三、硬件电路6

1、晶振电路6

2、硬件电路6

四、软件设计7

1、主程序设计7

2、程序代码分析8

3、元件清单11

五、测试12

1、Proteus简介12

2、仿真调试13

六、总结(心得体会)19

七、附录20

1、参考文献20

2、程序代码20

一、概述

1、设计背景

在日常生活中,交通灯作为管理交通、调协车辆的一个便捷的手段,起着很大的作用。

各种交通工具、行人都要根据交通灯的变化来决定是否前行,通行的时间的规定协调了它们的步伐,极大的减少了由于交通混乱引起的各种事故的发生。

因此,一个完善的交通系统中,交通灯是必不可少的设备,一个完善的交通灯程序会更有效的管理当前道路中出现的实际情况,使车辆、行人的行进变得更顺畅、更和谐。

随着我国国民经济的快速发展,我国机动车辆发展迅速,而城镇道路建设由于历史等各种原因相对滞后,交通拥挤和堵塞现象时常出现。

如何利用当今计算机和自动控制技术,有效地疏导交通,提高城镇交通路口的通行能力,减少交通事故是很值得研究的一个课题。

目前,国内的交通灯一般设在十字路口,在醒目位置用红、绿、黄三种颜色的指示灯加上一个倒计时的显示器来控制行车。

在老师给出的几个课题中,我认为交通灯的课题更加贴近我们的生活,而且相对其他几个课题,这个交通灯主要运用的是中断程序,我相对来说比较熟悉,所以选择了这个交通灯的课题

2、设计要求

(1)设计目的

随着单片机应用的日益广泛,在校学生加强对单片机动手实践能力的培养,已经是非常重要的一项锻炼。

课程设计就是为加强实践机会、培养学生动手能力的一个重要环节,将理论知识与实际联系起来的一个关键机会。

(2)设计任务

①设计四组十字路口的红、绿、兰三色交通灯,并模拟交通灯的现场情形,控制交通灯的亮灭。

②设计四组LED显示器,分别倒计时显示十字路口每个方向的红灯或绿灯的剩余时间。

③可适当根据实际需要增加扩展功能。

④利用PROTEUS软件画出电路图,根据以上功能编写软件,并在硬件电路上成功运行或仿真。

二、整体设计原理

1、设计原理

(1)实际交通灯的变化规律

实际交通灯分为东南西北四个方向以及左转右转,本次课程设计我们涉及的是简易交通灯,不包含左转右转,只包括东西直行和南北直行,原理较为简单,图1.1是十字楼口的模拟图。

图2.1十字路口

东西通行,南北红灯亮。

过一段时间后,转状态。

东西绿灯灭,黄灯亮。

再转状态;东西红灯亮,南北绿灯亮通行。

过一段时间后转状态;南北绿灯灭,黄灯亮。

一段时间后,又循环至初始状态。

(2)交通信号灯的状态

下表即为交通灯的状态表,高电平有效,1表示灯亮,0表示灯灭。

总共包含初始化东西绿灯南北红灯,东西黄灯南北红灯,以及南北红绿东西红灯和南北黄灯东西红灯四种状态情况。

首先初始状态东西绿灯亮,然后依次是东西黄灯亮,南北绿灯亮,南北亮,然后照此循环。

表2.2交通灯信号状态表

状态

西

绿黄红

绿黄红

绿黄红

绿黄红

1

001

100

001

100

2

001

010

001

010

3

100

001

100

001

4

010

001

010

001

注:

1代表灯亮,0代表灯灭

(3)单片机接口分析:

对于交通信号灯来说,应该有东西南北共四组灯,但由于同一道上的两组的信号灯的显示情况是相同的,所以只要用两组就行了,因此,采用单片机内部的I/O口上的P1口中的6个引脚即可来控制6个信号灯。

2、硬件电路分析

(1)P1口:

做为输出口,接发光二极管,其状态及对应的十六进制值如下图。

(2)发光二极管用来显示灯亮情况。

表2.1即是发光二极管显示接口及原理。

总共12个发光二极管,由于东西方向和南北方向的亮灯情况分别相同,故12个发光二极管只需要用到六个控制端就可以了,本系统中使用p1.0、p1.1、p1.2控制东西方向;p1.3、p1.4、p1.5控制南北方向。

表2.3发光二极管接口显示原理

方向

状态

南北

东西

十六进制值

说明

P1.7P1.6

P1.5P1.4P1.3

P1.2P1.1P1.0

1

00

101

110

2EH

东西绿南北红

2

00

101

011

2BH

东西黄南北红

3

00

110

101

35H

东西红南北绿

4

00

011

101

1DH

东西红南北黄

5

00

011

011

1BH

东南西北全黄

三、硬件电路

1、晶振电路

晶振是晶体振荡的简称,实为单片机提供额定频率的器件,如果没有晶振,单片机将不能工作。

2、硬件电路

图3.1即为本次课程设计的硬件电路图,图中标明有东南西北四个方向,表示四个路口,每个路口有三个灯,分别为绿灯、黄灯、红灯。

每个路口还有两个数码显示管,用于显示还剩下的通行时间或者等待时间。

中间部门为控制系统80C51单片机,其中包括晶振和复位电路。

图3.1硬件电路图

四、软件设计

1、主程序设计

图4.1为本系统的程序流程图,初始化东西亮绿灯,南北亮红灯,系统自动判断是否已达预定时间,然后是东西亮黄灯,接着南北亮绿灯,东西亮红灯,最后南北亮黄灯,依次循环。

2、程序代码分析

通过编写程序,实现对发光二极管的控制,来模拟交通信号灯的管理。

每延时一段时间,灯的显示情况都会按交通灯的显示规律进行状态转换。

通过延时时间送显,可以在原有的交通信号灯系统的基础上,增添其倒计时间的显示功能,实现其功能的扩展。

主程序分析:

ORG0000H

MAIN:

MOVTMOD,#01H;工作方式1

MOVTL0,#0B0H;设置定时器初始值为06B0H

MOVTH0,#06H

SETBEA;对中断允许标志位置1

SETBET0

SETBTR0

MOVP0,#00H;初始化P0,P1,P2口,此处P0口为00H

MOVP2,#0FFH

MOVP1,#0FFH

这一段代码是对定时器进行中断方式的定义工作于工作方式一,对P0、P1、P2口进行初始化。

但是这里不是定义一秒,而是定义了62.8ms.下面有另外的程序将定时时间延长。

LOOP0:

MOVP1,#2EH;东西通行南北禁止通行

CLRP2.2

JNBP3.4,LOOP5

MOVR0,#25;25秒绿灯

MOVR1,#30;30秒红灯

L1:

MOVR2,#14H

对定时器时间进行延长,延长到接近于1s。

25秒绿灯,30秒红灯

LOOP1:

LCALLDIS

MOVTL0,#0B0H

MOVTH0,#06H

CLRTF0

DJNZR2,LOOP1

DECR0;减1循环操作

DECR1

JNBP3.4,LOOP5

CJNER0,#00H,L1

MOVP1,#2BH;

MOVR0,#05

红绿灯分别对应的输出十六进制:

2EH东西绿南北红

2BH东西黄南北红

35H东西红南北绿

1DH东西红南北黄

1BH东南西北全黄

LL2:

LJMPMAIN

DIS:

MOVDPTR,#TAB

MOVA,R0

MOVB,#10

DIVAB;得出数码管的十进制高位

MOVCA,@A+DPTR

SETBP2.1

MOVP0,#0FEH

CLRP2.1

SETBP2.0

MOVP0,A

LCALLD1MS

CLRP2.0

SETBP2.1

MOVP0,#0FDH

MOVA,B

MOVCA,@A+DPTR

CLRP2.1

SETBP2.0

MOVP0,A

LCALLD1MS

MOVA,R1

MOVB,#10

DIVAB

MOVCA,@A+DPTR

CLRP2.0

SETBP2.1

MOVP0,#0FBH

CLRP2.1

SETBP2.0

MOVP0,A

LCALLD1MS

CLRP2.0

SETBP2.1

MOVP0,#0F7H

MOVA,B

MOVCA,@A+DPTR

CLRP2.1

SETBP2.0

MOVP0,A

LCALLD1MS

JBTF0,L5

SJMPDIS

这一段程序是控制数码管的显示,把二进制码转换成十进制,并用DIV命令分别得到数码管的高位和地位显示。

3、元件清单:

名称

件数

参数

选择理由

电阻

8

10K

限流,以免烧坏数码管

发光二极管

12

3色

便于仿真显示

AT89C51

1

4K闪存

低电压,高性能八位微处理器

七段显示数码管

8

常用数字显示,便于仿真

开关

3

特殊情况使用

排阻

2

50Ω

74HC373

2

锁存器,锁存信号

晶振

时钟脉冲信号

 

五、测试

1、Proteus简介

Proteus是一款labcenter出品的电路分析实物仿真图,可仿真各种电路和IC,并支持单片机,元件库齐全,使用方便,是不可多得的专业的单片软件仿真系统。

该软件具有以下特点:

(1)全部满足我们提出的单片机仿真系统的标准,并在同类产品中具有明显的优势。

(2)具有模拟电路仿真、数字电路仿真、单片机及其外围电路组成的系统的仿真、RS一232动态仿真、1C调试器、SPI调试器、键盘和LCD系统仿真的功能;有各种虚拟仪器,如示波器、逻辑分析仪、信号发生器等。

(3)目前支持的单片机类型有:

68000系列、8051系列、AVR系列、PIC12系列、PIC16系列、PIC18系列、Z80系列、HC11系列以及各种外围芯片。

(4)支持大量的存储器和外围芯片。

总之该软件是一款集单片机和SPICE分析于一身的仿真软件,功能极其强大,可仿真51、AVR、PIC。

Proteus组合了高级原理布图、混合模式SPICE仿真,PBC设计以及自动布线来实现一个完整的电子设计系统,此系统收益于15年来的持续开发,被《电子世界》在其对PCB设计系统的比较文章中评为最好产品—theroutetopcbcad.。

proteus产品系列也包含了我们革命性的VSM技术,用户可以对基于微控制器的设计连同所有的周围电子器件一起仿真。

用户甚至可以实时采用诸如LED/LCD、键盘、RS232终端等动态外设模型来对设计进行交互仿真。

PROSPICE仿真器的一个扩展PROTEUSVSM:

便于包括所有相关器件的基于微处理器的协同仿真。

此外,还可以结合微控制器软件使用动态的键盘,开关,按钮。

LED甚至LCD显示CPU模型。

2、仿真调试

图5.1中有东西南北每组三个共十二盏模拟交通灯,由于proteus中自带晶振和复位电路,所以图中没有显示,东南西北每个方位对应有一组数码显示管,用于显示剩下的通行时间或等待时间。

下图5.1所示为proteus刚刚开始仿真的时候,执行程序东西绿灯亮25秒钟,南北红灯亮30秒钟。

图5.1东西绿灯亮,南北红灯

初始化之后,系统自动判断是否已经到了25秒,到了之后则转为东西方向黄灯亮,南北方向红灯禁行,图5.2为东西方向黄灯南北向红灯倒计时4秒时的仿真截图。

图5.2东西方向蓝灯仿真图

 

东西方向蓝灯亮5秒之后,转为东西红灯亮南北绿灯亮的模式,图5.3所示为南北亮绿灯倒计时18秒的仿真截图。

图5.3东西向红灯,南北向绿灯

 

系统自动判断绿灯是否已经闪烁了25秒,25秒后,自动转为东西方向红灯亮,南北方向蓝灯亮,图5.4为南北方向蓝灯亮倒计时第5秒时刻的仿真截图。

图5.4东西向红灯,南北向蓝灯

本系统设置有夜间模式,当夜间模式按下时,系统所有方向均为蓝灯,直到开关断开时为止,图5.5所示为蓝灯亮时的仿真截图。

图5.5所示为蓝灯亮时的仿真截图

 

在刚画完仿真电路时,我们还遇到了一些错误,比如,红绿灯能正常显示,但是数码管的数字不能显示某几个数字,后来我们发现是用错了数电芯片,我们一开始选用的是74LS373,后来改用74HC373数码管就能正常工作了。

原来是74HC373只能用5V电压,更适合也是用5V电压的51单片机。

六、心得体会

我这次做单片机课程设计的感受是很深刻的,平时上课学习汇编语言,学习中断,学习定时器计数器,都只是片面的学习单片机的基础知识,太过于零散,没有把它们有机的结合在一起,而且平时老师要我们画的电路仿真图也大多是比较简单易懂的,这次电路比较复杂,而且更加需要细心,不能有一个元器件选择错误。

这次的交通灯设计主要是运用了串行口和中断以及定时器方面的知识。

这次课程设计的任务是通过单片机的I/O口来控制交通灯。

主要完成两大项任务,第一就是硬件连接图;第二是编写相应的程序来实现硬件功能。

看似简单,实际上需要过硬的知识作为基础,平时看看书考试那样的过程,是难以完成这样的任务的。

因为我们水平有限,我们这组设计的电路程序比较简单,虽然有一百来条,但是主要是几个几乎相同的循环程序在里面,所以其实难度并不是很大,几乎用的都是汇编语言中经常用的那几条汇编指令,而且电路只是设置了四组简单的发光二级管。

其中,在做整个课程设计的过程中,因为两个同方向的数码管不能正常显示4和1,我们在调试程序以及硬件电路上花了很大功夫,我们一开始以为是程序控制出了错误,后来调试很久都没有发现错误,于是我们怀疑是硬件电路出了错误,在更换了好几个芯片后,才发现应该要用74HC373代替74LS373.HC373是5V的通过这次的课程设计我们学到了很多以前从,课堂上不能得到的知识。

而且在画硬件电路图时,一定要注意好你程序选择的是共阴数码管,那么你硬件电路图也应该选择共阴数码管,否则就出不来你想要的结果,而且排阻的阻值不要设置过大,否则会影响高电平的输入到数码管。

连线时要注意有没有虚画的,就是两根线没有实际连在一起的,也要注意。

在使用标号法标注相同的连线端时一定要注意标注相应准确的标注,如果标注错误也会影响仿真结果。

这次单片机课程设计让我把许多以前不知道的东西都变成了自己懂的东西,在不断借鉴的过程中进行着自己的创新。

这次做课设,我有上网查阅很多资料,也翻阅许多书本查找相关知识,让我明白,在以后的学习中,应更注重知识的应用,更注重实质的掌握。

通过这次单片机课程设计,我不仅加深了对单片机方面的知识的理解,而且在这个过程中体会到了团队合作的重要性,我深刻体会到了团队每一个人的团队精神,团结协作是我们本次课程设计成功的一项非常重要的保证。

而这次课程设计也正好锻炼我们这一点,这也是非常宝贵的。

当然这次课程设计,提高了知识的应用能力和和实践能力,同时提高了独立思考独立完成任务的能力,当然同组之间,遇到了实在没办法解决的问题,也相互的咨询和讨论,加强了大家的合作精神和团结能力。

这对以后的学习和工作都有重要意义。

 

七、附录

1、参考文献

[1]姜志海.单片微型计算机原理及应用[M].北京:

电子工业出版社,2011

[2]楼然苗.单片机课程设计指导[M].北京:

航空航天大学出版社,2007

[3]何立民.单片机实验与实践教程[M].北京:

航空航天大学出版社,2004

[4]周明德.微型计算机系统原理及应用[M].北京:

清华大学出版社,2002

[5]何立民.单片机高级教程[M].北京:

北京航空航天大学出版社,1999

[6]李维祥.单片机原理与应用[M].天津:

天津大学出版社,2001

[7]李朝青.单片机原理及接口技术[M].北京:

北京航空航天大学出版社,1999

 

2、程序代码

主程序:

ORG0000H

MAIN:

MOVTMOD,#01H;工作方式1

MOVTL0,#0B0H;设置定时器初始值为06B0H

MOVTH0,#06H

SETBEA;对中断允许标志位置1

SETBET0

SETBTR0

MOVP0,#00H;初始化P0,P1,P2口,此处P0口为00H

MOVP2,#0FFH

MOVP1,#0FFH

LOOP0:

MOVP1,#2EH;东西通行南北禁止通行

CLRP2.2

JNBP3.4,LOOP5

MOVR0,#25;25秒绿灯

MOVR1,#30;30秒红灯

L1:

MOVR2,#14H

LOOP1:

LCALLDIS

MOVTL0,#0B0H

MOVTH0,#06H

CLRTF0

DJNZR2,LOOP1

DECR0;减1循环操作

DECR1

JNBP3.4,LOOP5

CJNER0,#00H,L1

MOVP1,#2BH;东西蓝灯南北红灯

MOVR0,#05

L2:

MOVR2,#14H

LOOP2:

LCALLDIS

MOVTL0,#0B0H

MOVTH0,#06H

CLRTF0

DJNZR2,LOOP2

DECR0

DECR1

JNBP3.4,LOOP5

CJNER0,#00H,L2

MOVP1,#35H;东西禁止通行南北通行

MOVP2,#0FFH

CLRP2.5

MOVR0,#30

MOVR1,#25

L3:

MOVR2,#14H

LOOP3:

LCALLDIS

MOVTL0,#0B0H

MOVTH0,#06H

CLRTF0

DJNZR2,LOOP3

DECR0

DECR1

JNBP3.4,LOOP5

CJNER1,#00H,L3

MOVP1,#1DH;东西红灯南北蓝灯

MOVP2,#0FFH

MOVR1,#05

L4:

MOVR2,#14H

LOOP4:

LCALLDIS

MOVTL0,#0B0H

MOVTH0,#06H

CLRTF0

DJNZR2,LOOP4

DECR0

DECR1

JNBP3.4,LOOP5

CJNER1,#00H,L4

AJMPLL1

LL1:

LJMPLOOP0

LOOP5:

LCALLDIS

MOVTL0,#0B0H

MOVTH0,#06H

CLRTF0

MOVP1,#1BH;东南西北全蓝灯

MOVR0,#00H

MOVR1,#00H

SETBP2.2

SETBP2.5

JBP3.4,LL2

AJMPLOOP5

LL2:

LJMPMAIN

DIS:

MOVDPTR,#TAB

MOVA,R0

MOVB,#10

DIVAB;得出数码管的十进制高位

MOVCA,@A+DPTR

SETBP2.1

MOVP0,#0FEH

CLRP2.1

SETBP2.0

MOVP0,A

LCALLD1MS

CLRP2.0

SETBP2.1

MOVP0,#0FDH

MOVA,B

MOVCA,@A+DPTR

CLRP2.1

SETBP2.0

MOVP0,A

LCALLD1MS

MOVA,R1

MOVB,#10

DIVAB

MOVCA,@A+DPTR

CLRP2.0

SETBP2.1

MOVP0,#0FBH

CLRP2.1

SETBP2.0

MOVP0,A

LCALLD1MS

CLRP2.0

SETBP2.1

MOVP0,#0F7H

MOVA,B

MOVCA,@A+DPTR

CLRP2.1

SETBP2.0

MOVP0,A

LCALLD1MS

JBTF0,L5

SJMPDIS

L5:

RET

D1MS:

MOVR4,#02H

DL:

MOVR3,#0FFH

DL1:

DJNZR3,DL1

DJNZR4,DL

RET

TAB:

DB3FH,06H,5BH,4FH,66H;使用的是共阴数码管

DB6DH,7DH,07H,7FH,6FH

END

 

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 表格模板 > 合同协议

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1