DZ154基于单片机的交通灯控制器的研究与设计
收藏
资源目录
压缩包内文档预览:
编号:512376
类型:共享资源
大小:314.28KB
格式:RAR
上传时间:2015-11-11
上传人:QQ28****1120
认证信息
个人认证
孙**(实名认证)
辽宁
IP属地:辽宁
6
积分
- 关 键 词:
-
毕业设计
- 资源描述:
-
DZ154基于单片机的交通灯控制器的研究与设计,毕业设计
- 内容简介:
-
实践的目的及意义 一、实践的目的 本次设计的目的就是让同学们在理论学习的基础上,通过完成一个涉及D8255芯片 单片机的资源应用并具有综合功能的小系统目标板的设计与编程应用,使学生不但能够将课堂上学到的理论知识与实际应用结合起来,而且能够对电子电路、电子元器件、印制电路板等方面的知识进一步加深认识,同时在软件编程、排版调试、焊接技术、相关仪器设备的使用技能等方面得到较全面的锻炼和提高,为今后能够独立进行某些单片机应用系统的开发设计工作打下一定的基础。 二、实践的意义 ( 1) 通过硬件实践达到巩固消化课程的内容; ( 2)进一步加强综合应用能力及单片机应用系统开发和设计能力的训练,启发创新思维; ( 3)使之具有独立单片机产品和科研的基本技能,是以培养学生综合运用所学知识的过程; ( 4)使知识转化为能力和能力转化为工程素质的重要过程。 三、课题研究的基本思路 设计并绘制交通灯控制系统原理图,动手制作电路板,编写控制程序,用仿真器对程序进行调试,最后用编程器把控制程序烧录到单片机中。 硬件电路原理 8255 端口分配: PA口 LED显示器段选口 PB口 LED显示器位选口 PC口高 4位 键盘列线输入 ntsPC口低 4位 键盘行 线输出 8255 端口地址 : 7CH 7FH 片内数据存储器分配 40H 43H: 100MS,秒、分、时单元 45H:数码管闪烁位置暂存器 49H:各位允许最大值暂存单元 4AH, 4BH:修改后时间写回时 R0, R1暂存单元 4CH:闪烁时间计算器 50H 57H:显示缓冲区 位地址分配: 00H:设置时间标志, 0正常计时状态, 1修改时间状态 01H:数码管闪烁标志, 0亮, 1灭 端口地址: LED段选口地址: 8255APA 口, 7CH LED位选口地址: 8255APB 口, 7BH 8255A控制口地址: 7FH 电 路原理图: nts 当然,还有很多的 8255 芯片的知识需要了解。例如 8255 的基本功能:8255 具有 2 个独立的 8 位 I/O 口( A 口和 B 口)和 2 个独立的 4位 I/O( C 口上半部和 C 口下半部),提供 TTL 兼容的并行接口。作为输入时提供三态缓冲器的功能,作为输出时提供数据锁存功能。其中, A口具有双向传输功能。 8255有3 种工作方式,方式 0、方式 1 和方式 2,能使用多种数据传送方式完成 CPU 与I/O 设备之间的数据交换,如无条件方式、查询方式和中断方式。 B 口和 C 口的 引脚具有达林顿复合晶体管驱动能力,在 1.5V 时输出 1mA 电流,适于做输出端口。 C口除用做数据口外,当 8255工作在方式 1和方式 2时, C 口的部分引脚作为固定的联络信号线。 8255的三种工作方式:方式 0,为一种简单的输入/输出方式,在这种方式下, 3 个口中的任何一个都可提供简单的输入和输出操作,即前已介绍的无条件传送方式。它不需要应答式联络信号,外设总是处于准备好的状态。方式 0是单向传送,一次初始化只能设置在一个方向上传送数据。方式 0一般用于无条件传送的场合,也可以用做查询式传送。方式 1,是一种选通输入 /输 出方式。 A口和 B口均可工作在这种方式。在这种方式下, A口和 B口仍作为两个独立的 8位 I/O数据通道, C 口要有 6位分别作为 A口和 B口的应答联络线,其余 2 位仍可作为方式 0 的输入 /输出。方式 1 也是单向传送。方式 2,为双向选通 I/O 方式,只有 A 口才有此方式。这时, C 口有 5 根线用做 A口的应答联络信号,其余 3根线可用做方式 0,也可用做 B口方式 1 的应答联络线。方式 2实际上就是方式 1的输入与输出方式的组合,各应答信号的功能也相同。输入 /输出的先后顺序是任意的,根据实际传送数据的需要选定。 nts硬件调试过程中遇到的问题及解决方 法 ( 1) LED 显示屏不亮的问题 解决方法: 将系统的所有芯片插好(包括单片机和 存储器), 反复检查联接线路并进行调试 ( 2)电路版上按键不灵敏的问题 解决方法:通过检查电路版后面的按键焊点,看是否是焊点漏焊或焊点脱焊 ( 3)测量电压的问题 解决方法: 用万用表的二极管挡测量系统电源端与接地端是否短路。若短路,必须先检查硬件电路,找出短路原因,否则不能上电。若不短路,进一步检查每块芯片的电源线、地线是否接好,尤其是 CPU 芯片 。 ( 4)是否能注入信号的问题 解决方法:将信号源加至输入端,然后依次往后测量各点的波形 ,看是否正常,以找到故障点。 当然,还有很多其它的寻找故障点的方法,例如看、听、闻、摸等。“看”就是看元件有无明显的机械损坏,例如破裂、烧黑、变形等;“听”就是听工作声音是否正常,例如一些不该响的东西在响,该响的地方不响或者声音不正常等;“闻”就是检查是否有异味,例如烧焦的味道、电容电解液的味道等,对于一个有经验的电子维修人员来说,对这些气味是很敏感的;“摸”就是用手去试探器件的温度是否正常,例如太热,或者太凉。一些功率器件,工作起来时会发热,如果摸上去是凉的,则基本上可以判断它没有工作起来。但如果不该热 的地方热了或者该热的地方太热了,那也是不行的。(注意要先试探性的去摸,千万别把手烫伤了)。 软件设计思想及流程图 假设: A、 B两干道交于一个十字路口,各干道有一组红、黄、绿三色的指示灯,指挥车辆和行人安全通行。红灯亮禁止通行,绿灯亮允许通行。黄灯亮提示人们注意红、绿灯的状态即将切换,且黄灯燃亮时间为 A、 B两干道的公共停车时间。设 A道比 B道的车流量大,指示灯燃亮的方案如表 nts说明: ( 1)当为黄灯时 A、 B两道同时为黄灯;以提示行人或车辆下一个灯色即将到来 时间 3秒。 ( 2)当 A到为红灯, A 道车辆禁止通行, A 道行人可通过; B 道为绿灯, B 道车辆通过,行人禁止通行。时间为 60秒。 ( 3)当 A道绿灯, A 道车辆通行; B 道为红灯, B 道车辆禁止通过,行人通行。时间为 80秒。 A道车流大 通行时间长 ( 4)这样如上表的时间和红、绿、黄出现的顺序依次出现这样行人和车辆就能安全畅通的通行。 ( 5)此表可根据车流量动态设定 一、系统的工 作原理 ( 1)开关键盘输入交通灯初始时间,通过 8031 单片机 P1 输入到系统 (2) 由 8031 单片机的定时器每秒钟通过 P0 口向 8255 的数据口送信息,由8255 的 PC 口显示红、绿、黄灯的燃亮情况;由 8255 的 PA、 PB 口显示每个灯的燃亮时间。 (3)8031 通过 设置 各个信号等的燃亮时间、通过 8031 设置,黄、绿、红时间依次为 3 秒、 60 秒、 3 秒、 80 秒、 3 秒循环由 8031 的 P0 口向 8255 的数据口输出。 ( 4) 通过 8031 单片机的 P3.0 位来控制系统是工作或设置初值,当 .牌位 0就对系统进行初始 化,为 1 系统就开始工作。 ( 5) 8255口用于输出时间的个位,口用于输出时间的十位,由747S07 驱动芯片驱动; 而口用于输出各个灯的情况, 它的末段连接双向晶闸管采用 220V交流电压驱动。 ( 6)在交通控制程序中加入看门狗指令,当系统出现异常看门狗将发出溢出中断。通过专用端口输入到 MAX692看门狗芯片的 WDI 引角引起 RESET 复位信号复位系统 1、控制器的软件设计 每秒钟的设定 延时方法可以有两种一中是利用 MCS-51 内部定时器才生溢出中断来确定 1秒的时间,另一种是采用软延时的方 法。 3 60 3 80 3 60 A 道 黄灯亮 红灯亮 黄灯亮 绿灯亮 黄灯亮 红灯亮 B 道 黄灯亮 绿灯亮 黄灯亮 红灯 亮 黄灯亮 绿灯亮 nts计数器硬件延时 ( 1) 计数器初值计算 定时器工作时必须给计数器送计数器初值,这个值是送到 TH 和 TL中的。他是以加法记数的,并能从全 1到全 0时自动产生溢出中断请求。因此,我们可以把计数器记满为零所需的计数值设定为 C和计数初值设定为 TC 可得到如下计算通式: TC=M-C 式中, M为计数器摸值,该值和计数器工作方式有关。在方式 0时 M 为 213 ;在方式 1时 M的值为 216;在方式 2和 3为 28 ( 2) 计算公式 T=( M TC) T计数 或 T计数 T计数是单片机 时钟周期的倍;为定时初值 如单片机的主脉冲频率为 ,经过分频 方式 213 微秒毫秒 方式 216 微秒毫秒 显然秒钟已经超过了计数器的最大定时间,所以我们只有采用定时器和软件相结合的办法才能解决这个问题 ( 3) 秒的方法 我们采用在主程序中设定一个初值为的软件计数器和使定时毫秒这样每当到毫秒时就响应它的溢出中断请求,进入他的中断服务子程序。在中断服务子 程序中,先使软件计数器减,然后判断它是否为零。为零表示秒已到可以返回到输出时间显示程序。 二、相应程序代码 1、主程序 定时器需定时毫秒,故工作于方式。 初值: T计数 ms/1us=15536=3CBOH ORG 1000H START: MOV TMOD, #01H ; 令为定时器方式 MOV TH0, #3CH ;装入定时器初值 MOV TL0, #BOH ; MOV IE, #82H ;开中断 SEBT T O ;启动计数器 MOV RO, #14H ;软件计数器赋初值 LOOP: SJMP $ ;等待中断 2、中断服务子程序 nts : DJNZ , AJMP TIME ; 跳转到时间及信号灯显示子程序 DJNZ: , ;恢复值 MOV TH0, #3CH ;重装入定时器初值 MOV TL0, #BOH ; MOV IE, #82H 三、 软件延时 MCS-51的工作频率为 2-12MHZ,我们选用的 8031单片机的工作频率为 6MHZ。机器周期与主频有关,机器周期是主频的 12 倍,所以一个机器周期的时间为 12*( 1/6M) =2us。我们可以知道具体每条指令的周期数,这样我们就可以通过指令的执行条数来确定 1秒的时间。 具体的延时程序分析: DELAY:MOV R4,#08H 延时 1秒子程序 DE2:LCALL DELAY1 DJNZ R4,DE2 RET DELAY1:MOV R6,#0 延时 125ms 子程序 MOV R5,#0 DE1: DJNZ R5,$ DJNZ R6,DE1 RET MOV RN, #DATA 字节数数为 2 机器周期数为 1 所以此指令的执行时间为 2ms DELAY1 为 一 个双 重循 坏 循环 次 数为 256*256=65536 所 以延 时 时 间=65536*2=131072us 约为 125us DELAY R4设置的初值为 8 主延时程序循环 8次,所以 125us*8= 1 秒 由于单片机的运行速度很快其他的指令执行时间可以忽略不计。 nts四、 时间及信号灯的显示 1、 8031 并行口的扩展 8031虽然有 4个 8位 I/O端口 ,但真正 能提供借用的只有 P1口 ,因为 P2和 P0口通常用于传送外部传送地址和数据 ,P3口也有它的第二功能。因此, 8031通常需要扩展。由于我们用外输出时间时,时间的个位、十位、信号灯的显示都要用到一个 I/O端口,显然 8031的端口是不够,需要扩展。 扩展的方法有两种:( 1)借用外部 RAM 地址来扩展 I/O 端口;( 2)采用 I/O接口新片来扩充。, 我们用 8255并行接口信片来扩展 I/O端口。 2、显示原理: 当定时器定时为 1 秒,时程序跳转到时间显示及信号灯显示子程序,它将依次显示信号灯时间 ,同时一直显示信号灯 的颜色,这时在返回定时子程序定时一秒,在显示黄灯的下一个时间,这样依次把所有的灯色的时间显示完后在重新给时间计数器赋初值 ,重新进入循环。 3、 8255 输出信号的放大: 要使行人能看见信号灯的情况,必须把 8255 输出的信号进行放大,这里我们用VT 为双向晶闸管,当门极为高电平时晶闸管导通,该支路指示灯亮;当门极为低电平时关断,该支路指示灯灭。如图 2 我们用连接 7段数码管的方法来连接晶闸管 4、 8255 输出信号与信号灯的连接: LED 灯的显示原理 :通过同名管脚上所加电平的高低来控制发光二极 管是否点量而显示不同的字形如 SP, g,f,e,d,c,b,a 管角上加上所以 上为伏,不亮其余为高电平,全亮则显示为 采用共阴级连接 : 其中 PA0PB0-a, PA1PB1-b, PA2PB2-c, PA3PB3-d, PA4PB4-e, PA5PB5-f, PA6PB6-g PA7PB7 -SP接地 显示数值 dop g f e d c b a 驱动代码( 16进制) 0 0 0 1 1 1 1 1 1 3FH 1 0 0 0 0 0 1 1 0 06H 2 0 1 0 1 1 0 1 1 5BH nts3 0 1 0 0 1 1 1 1 4FH 4 0 1 1 0 0 1 1 0 66H 5 0 1 1 0 1 1 0 0 6DH 6 0 1 1 1 1 1 0 0 7DH 7 0 0 0 0 0 1 1 1 07H 8 0 1 1 1 1 1 1 1 7FH 表 3 驱动代码表 ( 5) 8255 与 8031 的连接: 用 8031 的 P0 口的 p0.7 连接 8255 的片选信号 cs 我们用 8031 的地址采用全译码方式,当 p0.7 =0 时片选有效, 其他无效, p0.1 p0.1 用于选择 8255端口 P0.7 p0.6 p0.5 p0.4 p0.3 p0.2 P0.1 P0.0 A7 A6 A5 A4 A3 A2 A1 A0 1 X X X X X 0 0 00H 为 8255 的 PA口 1 X X X X X 0 1 01H 为 8255的 PB口 1 X X X X X 1 0 02H 为 8255的 PC口 1 X X X X X 1 1 03H 为 8255的控制口 由于 8031是分时对 8255和储存器进行访问所以 8031的 P0口不会发生冲突 五、 程序设计 1、流程图如图所示 图 8 开始 初始化 等待键盘事件 键盘事件处理 显示程序处理 nts 图 9 程序流程图 六
- 温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

人人文库网所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。