微机原理实验交通灯控制实验.

上传人:我** 文档编号:114475010 上传时间:2019-11-11 格式:DOC 页数:15 大小:147.50KB
返回 下载 相关 举报
微机原理实验交通灯控制实验._第1页
第1页 / 共15页
微机原理实验交通灯控制实验._第2页
第2页 / 共15页
微机原理实验交通灯控制实验._第3页
第3页 / 共15页
微机原理实验交通灯控制实验._第4页
第4页 / 共15页
微机原理实验交通灯控制实验._第5页
第5页 / 共15页
点击查看更多>>
资源描述

《微机原理实验交通灯控制实验.》由会员分享,可在线阅读,更多相关《微机原理实验交通灯控制实验.(15页珍藏版)》请在金锄头文库上搜索。

1、课 程 设 计课程设计名称: 交通灯控制实验 专 业 班 级 : 学 生 姓 名 : 学 号 : 指 导 教 师 : 课程设计时间: 2014.12.22-2015.1.2 微机原理 专业课程设计任务书学生姓名专业班级学号题 目交通灯控制实验课题性质工程设计课题来源自拟课题指导教师同组姓名主要内容L7、L6、L5作为南北路口的交通灯与PC7、PC6、PC5相连,L2、L1、L0作为东西路口的交通灯与PC2、PC1、PC0相连。编程使六个灯按交通灯变化规律亮灭。任务要求1:掌握并理解芯片8255和8253计时器工作原理2:掌握并理解源程序和程序中的函数3:熟悉8255内部结构和与单片机的接口逻辑

2、,掌握8255芯片的3种工作方式。4:了解单片机外围芯片8255的工作原理、初始化编程以及输入、输出程序设计方法参考文献微型计算机原理及运用 谭浩强 清华大学出版社16/32位微机原理、汇编语言及接口技术 陈涛 机械工业出版社微机接口技术应用审查意见指导教师签字:教研室主任签字: 年 月 日 一:设计的目的和内容1 目的:通过并行接口8255实现十字路口交通灯的模拟控制,进一步掌握对并行口的使用。2 内容:如图1,L7、L6、L5作为南北路口的交通灯与PC7、PC6、PC5相连,L2、L1、L0作为东西路口的交通灯与PC2、PC1、PC0相连。编程使六个灯按交通灯变化规律亮灭。 图1二:设计思

3、想:在选择循环的时间上,老师上课时说过,长延时可以采用双层嵌套,外层嵌套为0FFFFH,内层嵌套为4000H,我在编程时外层送进了0,相当于初值为65536,内层送进了4000H。为了达到闪烁和延时的区别,我在编闪烁的程序时,给外层嵌套送入初值3000H,内层0100H(这是我通过实验的结果)。人眼感觉闪烁的效果只是短延时的结果此方案是通过并行接口芯片8255A和8086计算机的硬件连接,以及通过8253延时的方法,来实现十字路口交通灯的模拟控制。如上图所示,红灯(RLED),黄灯(YLEDD)和绿灯(GLED)分别接在8255的A,B,C口的低四位端口,PA0,PA1,PA2,PA3分别接南

4、,东,北,西路口的红灯,B,C口类推。8086工作在最小模式,低八位端口AD0AD7接到8255和8253的D0D7,AD8AD15通过地址锁存器8282,接到三八译码器,译码后分别连到8255和8253的CS片选端。8253的三个门控端接+5V,CLOCK0接由分频器产生的1MHZ的时钟脉冲,OUT0接到CLOCK1和CLOCK2,OUT1接到8086的AD18,8086通过检测此端口是否有高电平来判断是否30S定时到。OUT2产生1MHZ方波通过或门和8255的B口共同控制黄灯的闪烁。8255三个口全部工作在方式0既基本输入输出方式,红绿灯的转换由软件编程实现。三:设计方案与硬件连接 设8

5、253各口地址分别为:设8253基地址即通道0地址为04A0H;通道1为04A2H;通道2为04A4H;命令控制口为04A6H。黄灯闪烁的频率为1HZ,所以想到由8253产生一个1HZ的方波, 8255控制或门打开的时间,在或门打开的时间内,8253将方波信号输入或门使黄灯闪烁。由于计数值最大为65535,1MHZ/65536的值远大于2HZ,所以采用两个计数器级联的方式,8253通道0的clock0输入由分频器产生的1MHZ时钟脉冲,工作在方式 3即方波发生器方式,理论设计输出 周期为0.01s的方波。1MHZ的时钟脉冲其重复周期为T=1/1MHZ=1s,因此通道0的计数初值为10000=2

6、710H。由此方波分别作为clock1和clock2的输入时钟脉冲,所以通道1和通道2的输入时钟频率为100HZ,通道1作计数器工作在方式1,计数初值3000=BB8H既30s,计数到则输出一个高电平到8255的PA7口,8255将A口数据输入到8086,8086检测到高电平既完成30s定时。通道2工作在方式3需输出一个1HZ的方波,通过一个或门和8086共同控制黄灯的闪烁,因此也是工作在方波发生器方式,其计数初值为100=64H,将黄灯的状态反馈到8055的端口PB7和PC7,同样输入到8086,8086通过两次检测端口状态可知黄灯的状态变化,计9次状态变化可完成5次闪烁。三个通道的门控信号

7、都未用,均接5V即可。 四:程序流程图 开始 设置8255A口输出C口输出 南北路口绿灯亮,东西路口红灯亮 长延时 南北路口黄灯亮,东西路口红灯亮 南北路口红灯亮,东西路口绿灯亮 长延时 南北路口绿灯亮,东西路口红灯亮是否有键按下?返回DOS五:程序分析1:源程序data segmentio8255a equ 28ahio8255b equ 28bhportc1 db 24h,44h,04h,44h,04h,44h,04h ;六个灯可能 db 81h,82h,80h,82h,80h,82h,80h ;的状态数据 db 0ffh ;结束标志data endscode segment assume

8、 cs:code,ds:datastart: mov ax,data mov ds,ax mov dx,io8255b mov al,90h out dx,al ;设置8255为C口输出 mov dx,io8255are_on: mov bx,0on: mov al,portc1bx cmp al,0ffh jz re_on out dx,al ;点亮相应的灯 inc bx mov cx,200 ;参数赋初值 test al,21h ;是否有绿灯亮 jz de1 ;没有,短延时 mov cx,2000 ;有,长延时de1: mov di,9000 ;di赋初值9000de0: dec di ;

9、减1计数 jnz de0 ;di不为0 loop de1 push dx mov ah,06h mov dl,0ffh int 21h pop dx jz on ;没有,转到onexit: mov ah,4ch ;返回 int 21hcode endsend start可通过对cx的初始值设定来改变黄色灯亮的时间间隔来改变红灯亮的时间长度。2:调用函数分析中断-中断函数简介1、EnableIntr;语法:BOOL EnableIntr();功能描述:将微机实验装置的中断输入设为有效,执行此函数后,PLX9054将接受微机实验装置上的中断请求,然后根据该请求申请一个PCI中断。参数:无返回值:如

10、果成功,则返回True,否则返回False备注:应用程序在调用该函数之前,必须先调用Startup函数。2、DisableIntr;语法:BOOL DisableIntr();功能描述:将微机实验装置的中断输入设为无效,执行此函数后,PLX9054将不相应微机实验装置上的中断请求参数:无返回值:如果成功,则返回True,否则返回False备注:应用程序在调用该函数之前,必须先调用Startup函数。3、RegisterISR;语法:BOOL RegisterISR(ISR_ROUTINE pfuncISR);功能描述:注册中断服务程序,当微机实验箱上的中断输入有效时,且实验箱上的中断输入使能,

11、程序将会执行该中断服务程序。参数:pfuncISR:该参数即为中断服务函数名返回值:如果成功,则返回True,否则返回False备注:应用程序在调用该函数之前,必须先调用Startup函数六:调试记录及结果分析1:本电路没有设置显示倒计时的七段LED数码管,如果应用到街道上,不利于司机、行人把握2:在上机调试中发现,由于此软件延时的时间均为估算时间,不是特别准确,对于交通要求特别高的地方不宜采用。如果是放到一个大的交通灯系统中,会影响到各个交通灯的运行时间,可能整个系统对交通的指挥调度会大大偏离理论计算,不能有效地防止和消除交通堵塞现象;3:当出现紧急情况,在特种车(如消防车、救护车)正要通过

12、时,这种编程方式就不能完成; 但是,可以看到以上方案的一般性,只要将程序里的数据排列或规律稍加修改就可应用到任何一个路口的某一个方向上的交通灯上了,可移植性很强。 七:参考资料微型计算机原理及运用 谭浩强 清华大学出版社16/32位微机原理、汇编语言及接口技术 陈涛 机械工业出版社微机接口技术应用八:芯片资料18255 8255的内部结构8255A是一个40引脚的双列直插式集成电路芯片按功能可把8255A分为三个逻辑电路部分,即:口电路、总线接口电路和控制逻辑电路。(1)口电路 8255A共有三个8位口,其中A口和B口是单纯的数据口,供数据I/O使用。而C口则既可以作数据口,又可以作控制口使用

13、,用于实现A口和B口的控制功能。数据传送中A口所需的控制信号由C口高位部分(PC7PC4)提供,因此把A口和C口高位部分合在一起称之为A组;同样理由把B口和C口低位部分(PC3PC0)合在一起称之为B组。(2)总线接口电路总线接口电路用于实现8255A和单片微机的信号连接。其中包括: (a)数据总线缓冲器数据总线缓冲器为8位双向三态缓冲器,可直接和80C51的数据线相连,与I/O操作有关的数据、控制字和状态信息都是通过该缓冲器进行传送。(b)读/写控制逻辑与读写有关的控制信号有CS片选信号(低电平有效)RD读信号(低电平有效)WR写信号(低电平有效)A0、A1端口选择信号。8255A共有四个可寻址的端口(即A口、B口、C口和控制寄存器),用二位地址编码即可实现选择。参见下表。RESET复位信号(高电平有效)。复位之后,控制寄存器清除,各端口被置为输入方式。读写控制逻辑用于实现8255A的硬件管理:芯片的选择,口的寻址以及规定各端口和单片微

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号