微机原理试验交通灯控制试验教材_第1页
微机原理试验交通灯控制试验教材_第2页
微机原理试验交通灯控制试验教材_第3页
微机原理试验交通灯控制试验教材_第4页
微机原理试验交通灯控制试验教材_第5页
已阅读5页,还剩13页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

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内部结构和与单片机的接口逻辑 ,掌握8255芯片的 3种

2、工作方式。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 口的低四位

4、端口, PA0,PA1,PA2,PA3分别接南,东,北,西路口 的红灯, B,C口类推。 8086工作在最小模式,低八位端口 AD0AD7接到 8255和 8253 的 D0D7,AD8AD15 通过地址锁存器 8282,接到三八译码器,译码后分别连 到 8255和 8253的 CS片选端。 8253的三个门控端接 +5V,CLOCK0接由分频器产 生的 1MHZ的时钟脉冲,OUT0接到 CLOCK1和 CLOCK,2OUT1接到 8086 的 AD18,8086 通过检测此端口是否有高电平来判断是否 30S定时到。 OUT2产生 1MHZ方波通过 或门和 8255的 B口共同控制黄灯的闪烁。

5、 8255三个口全部工作在方式 0 既基本 输入输出方式,红绿灯的转换由软件编程实现。三:设计方案与硬件连接设8253各口地址分别为:设 8253基地址即通道 0地址为 04A0H;通道 1为 04A2H;通道 2 为 04A4H;命令控制口为 04A6H。黄灯闪烁的频率为 1HZ,所以想到由 8253产生一个 1HZ的方波, 8255 控制 或门打开的时间,在或门打开的时间内, 8253 将方波信号输入或门使黄灯闪烁。 由于计数值最大为 65535,1MHZ/65536的值远大于 2HZ,所以采用两个计数器级联 的方式,8253 通道 0的 clock0 输入由分频器产生的 1MHZ时钟脉冲

6、,工作在方式 3 即方波发生器方式,理论设计输出 周期为 0.01s 的方波。 1MHZ的时钟脉冲其 重复周期为 T=1/1MHZ=1 s,因此通道 0 的计数初值为 10000=2710H。由此方波 分别作为 clock1 和 clock2 的输入时钟脉冲,所以通道 1和通道 2 的输入时钟频 率为 100HZ,通道 1 作计数器工作在方式 1,计数初值 3000=BB8H既 30s,计数 到则输出一个高电平到 8255的 PA7口,8255将 A口数据输入到 8086,8086检测 到高电平既完成 30s 定时。通道 2 工作在方式 3 需输出一个 1HZ的方波,通过一 个或门和 8086

7、 共同控制黄灯的闪烁,因此也是工作在方波发生器方式,其计数 初值为 100=64H,将黄灯的状态反馈到 8055的端口 PB7和 PC7,同样输入到 8086, 8086通过两次检测端口状态可知黄灯的状态变化,计 9 次状态变化可完成 5次 闪烁。三个通道的门控信号都未用,均接 5V 即可。四:程序流程图开始设置 8255A 口输出 C 口输出南北路口绿灯亮,东西路口红灯亮长延时南北路口黄灯亮,东西路口红灯亮南北路口红灯亮,东西路口绿灯亮长延时南北路口绿灯亮,东西路口红灯亮是否有键按下?返回 DOS五:程序分析1:源程序data segmentio8255aequ 28ahio8255bequ

8、 28bhportc1 db 24h, 44h, 04h, 44h, 04h, 44h, 04h ; 六个灯可能 db 81h, 82h, 80h, 82h, 80h, 82h, 80h ; 的状态数据 db 0ffh; 结束标志data ends code segmentassume cs:code, ds:datastart:movax,datamovds, axmovdx,io8255bmoval, 90houtdx, al; 设置 8255为C口输出movdx,io8255are_on:mov bx, 0on: mov al ,portc1 bxcmpal, 0ffhjz re_ono

9、utdx, al; 点亮相应的灯incbxmovcx, 200; 参数赋初值test al, 21h; 是否有绿灯亮jz de1; 没有, 短延时mov cx, 2000; 有 , 长延时de1: mov di ,9000;di 赋初值 9000de0: dec di; 减 1计数jnz de0 loop de1;di 不为 0push dx mov ah, 06h mov dl , 0ffh int 21h pop dxjz on; 没有 , 转到 onexit: mov ah, 4ch; 返回int 21hcode endsend start可通过对 cx 的初始值设定来改变黄色灯亮的时间

10、间隔来改变红灯亮的时间 长度。2:调用函数分析中断- 中断函数简介1、EnableIntr;语法:BOOL EnableIntr();功能描述 :将微机实验装置的中断输入设为有效, 执行此函数后, PLX9054将接受 微机实验装置上的中断请求,然后根据该请求申请一个 PCI中断。参数:无返回值 : 如果成功,则返回 True ,否则返回 False备注: 应用程序在调用该函数之前,必须先调用 Startup 函数。2、DisableIntr;语法:BOOL DisableIntr();功能描述 :将微机实验装置的中断输入设为无效, 执行此函数后, PLX9054将不相 应微机实验装置上的中断

11、请求 参数:无 返回值 : 如果成功,则返回 True ,否则返回 False 备注: 应用程序在调用该函数之前,必须先调用 Startup 函数。3、RegisterISR;语法:BOOL RegisterISR(ISR_ROUTINE pfuncISR);功能描述 : 注册中断服务程序,当微机实验箱上的中断输入有效时,且实验箱上 的中断输入使能,程序将会执行该中断服务程序。 参数 :pfuncISR: 该参数即为中断服务函数名 返回值 : 如果成功,则返回 True ,否则返回 False 备注: 应用程序在调用该函数之前,必须先调用 Startup 函数 六:调试记录及结果分析1:本电路

12、没有设置显示倒计时的七段 LED数码管, 如果应用到街道上, 不利于 司机、行人把握2:在上机调试中发现,由于此软件延时的时间均为估算时间,不是特别准确, 对于交通要求特别高的地方不宜采用。 如果是放到一个大的交通灯系统中, 会影 响到各个交通灯的运行时间, 可能整个系统对交通的指挥调度会大大偏离理论计 算,不能有效地防止和消除交通堵塞现象;3:当出现紧急情况,在特种车(如消防车、救护车)正要通过时,这种编程方 式就不能完成;但是,可以看到以上方案的一般性, 只要将程序里的数据排列或规律稍加修改 就可应用到任何一个路口的某一个方向上的交通灯上了,可移植性很强。 七:参考资料微型计算机原理及运用

13、 谭浩强 清华大学出版社16/32 位微机原理、汇编语言及接口技术 陈涛 机械工业出版社 微机接口技术应用八:芯片资料182558255的内部结构8255A是一个 40 引脚的双列直插式集成电路芯片按功能可把 8255A分为三个逻辑电路部分, 即:口电路、 总线接口电路和控制逻 辑电路 。(1)口电路8255A 共有三个 8 位口,其中 A口和 B 口是单纯的数据口, 供数据 I/O 使用。 而 C 口则既可以作数据口, 又可以作控制口使用, 用于实现 A 口和 B口的控制功数据传送中 A 口所需的控制信号由 C口高位部分( PC7PC4)提供,因此把 A 口和 C口高位部分合在一起称之为 A

14、 组;同样理由把 B 口和 C口低位部分(PC3 PC0)合在一起称之为 B 组。(2)总线接口电路 总线接口电路用于实现 8255A和单片微机的信号连接。其中包括:(a)数据总线缓冲器数据总线缓冲器为 8 位双向三态缓冲器,可直接和 80C51的数据线相连,与 I/O 操作有关的数据、控制字和状态信息都是通过该缓冲器进行传送。(b)读/ 写控制逻辑 与读写有关的控制信号有CS片选信号(低电平有效) RD读信号(低电平有效) WR写信号(低电平有效)A0、A1端口选择信号。 8255A共有四个可寻址的端口(即 A 口、B 口、C口和 控制寄存器),用二位地址编码即可实现选择。参见下表。RESE

15、T复位信号(高电平有效) 。复位之后,控制寄存器清除,各端口被置 为输入方式。读写控制逻辑用于实现 8255A的硬件管理:芯片的选择,口的寻址以及规定 各端口和单片微机之间的数据传送方向。(c)控制逻辑电路控制逻辑电路包括 A组控制和 B组控制,合在一起构成 8 位控制寄存器。 用于存放各口的工作方式控制字 8255A工作方式及数据 I/O 操作(1)8255A的工作方式8255A 共有三种工作方式,即方式 0、方式 1、方式 2.(a)方式 0 基本输入 / 输出方式方式 0 下,可供使用的是两个 8 位口( A口和 B口)及两个 4 位口(C 口高 4 位部分和低 4 位部分)。四个口可以

16、是输入和输出的任何组合。方式 0 适用于无条件数据传送,也可以把 C口的某一位作为状态位,实现查 询方式的数据传送。(b)方式 1 选通输入 / 输出方式A 口和 B 口分别用于数据的输入 / 输出。而 C口则作为数据传送的联络信 号。具体定义见表 72。可见 A 口和 B口的联络信号都是三个,如果 A或 B 只有一个口按方式 1 使用,则剩下的另外 13 位口线仍然可按方式 0 使用。 如果两个口都按方式 1 使用,则还剩下 2位口线,这两位口线仍然可以进行 位状态的输入输出。方式 1 适用于查询或中断方式的数据输入 / 输出。( c)方式 2 双向数据传送方式只有 A 口才能选择这种工作方

17、式, 这时 A 口既能输入数据又能输出数据。 在这种方式下需使用 C口的五位线作控制线,信号定义如表 72 所示。方 式 2 适用于查询或中断方式的双向数据传送。如果把 A口置于方式 2 下,则 B 口只能工作于方式 0.(2)数据输入操作用于输入操作的联络信号有:STB(StroBe) 选通脉冲,输入,低电平有效。 当外设送来 STB信号时,输 入数据装入 8255A 的锁存器。IBF(Input Buffer Full) 输入缓冲器满信号,输出,高电平有效。IBF 信号有效,表明数据已装入锁存器,因此它是一个状态信号。INTR(INTerrupt Request) 中断请求信号,高电平有效

18、,当 IBF 数据输入 过程:当外设准备好数据输入后,发出信号,输入的数据送入缓冲器。然后 IBF 信号有效。如使用查询方式,则 IBF 即作为状态信号供查询使用;如使 用中断方式,当信号由低变高时,产生 INTR 信号,向单片微机发出中断。 单片微机在响应中断后执行中断服务程序时读入数据, 并使 INTR信号变低, 同时也使 IBF 信号同时变低。以通知外设准备下一次数据输入。(3) 数据输出操作用于数据输出操作的联络信号有:ACK(ACKnowledge) 外设响应信号输入,低电平有效。 当外设取走输出数据,并处理完毕后向单片微机发回的响应信号为高,信号由低变高 (后沿) 时,中断请求信号

19、有效。向单片微机发出中断请求。OBF(Output Buffer Full )输出缓冲器满信号,输出,低电平有 效。当单片微机把输出数据写入 8255A 锁存器后,该信号有效,并送去启动 外设以接收数据。INTR中断请求信号,输出,高电平有效。数据输出过程:外设接收并处理完一组数据后,发回 ACK信号。该信号 使 OBF变高,表明输出缓冲器已空。如使用查询方式,则 OBF可作为状态信 号供查询使用;如使用中断方式,则当 ACK信号结束时, INTR 有效,向单片 微机发出中断请求。在中断服务过程中,把下一个输出数据写入8255A的输出缓冲器。 写入后 OBF有效,表明输出数据已到, 并以此信号

20、启动外设工作, 取走并处理 8255A 中的输出数据。28253 定时计数器8253内部可分为 6 个模块,每个模块的功能如下:1. 数据总线缓冲器及数据总线 D0 D72. 读/ 写控制逻辑及控制引脚CS*A1A0I/O 地址读操作 RD*写操作 WR*00040H读计数器 0写计数器 000141H读计数器 1写计数器 101042H读计数器 2写计数器 201143H无操作写控制字3. 控制字寄存器在初始化编程时, CPU写入方式控制字到控制字寄存器中,用以选择计数通道及其相应的工作方式。8253的控制字:8253的工作方式也是有控制字来决定,其控制字意义如下4. 计数通道 0、计数通道

21、 1、计数通道 23 个计数通道内部结构完全相同。 每个计数通道都由一个 16 位计数初值寄存器、 一个 16位减法计数器和一个 16 位计数值锁存器组成 计数初值存于预置寄存器, 在计数过程中, 减法计数器的值不断递减, 而预置寄 存器中的预置不变。输出锁存器用于写入锁存命令时,锁定当前计数值。计数器的 3 个引脚说明:(1)CLK时钟输入信号 在计数过程中,此引脚上每输入一个时钟信号(下降沿) ,计数器的计数值减 1 ( 2) GATE门控输入信号 控制计数器工作,可分成电平控制和上升沿控制两种类型( 3) OUT计数器输出信号当一次计数过程结束(计数值减为 0),OUT引脚上将产生一个输出信号8253有 6 种工作方式,由方式控制字确定区分这 6 种工作方式的主要标志由 3 点:一是输出波形不同; 二是启动计数器的 触发方式不同;三是计数过程中门控信号 GATE对计数器操作的控制不同。1. 方式 0- 低电平输出( GATE信号上升沿继续计数)2方式 1-

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论