模拟交通灯控制实验

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

谢谢观看! 2020
L1 : JMP L1 L2 : MOV SI,0 INT7: MOV AX,DATA
MOV DS,AX MOV DX,288H MOV AL,LED1[SI] OUT DX,AL INC SI CMP AL,0FFH JZ L2 MOV AL,20H OUT 20H,AL MOV AH,1 INT 16H JZ NEXT IN AL,21H OR AL,80H OUT 21H,AL STI MOV AH,4CH INT 21H NEXT:IRET CODE ENDS END START

) 输 出 主 程 序 SI=0
向计数器1送初值
开中断
中断返回
循环等待
返回DOS
查考程序
DATA SEGMENT LED1 DB 24H, 24H, 24H, 24H, 24H, 24H, 24H, 24H,24H, 24H, 24H, 24H, 24H,24H, 24H, 24H, 24H, 24H,24H, 24H DB 44H,04H,44H,04H,44H,04H ,44H,04H,44H,04H DB 81H, 81H, 81H, 81H, 81H, 81H, 81H, 81H, 81H, 81H, 81H, 81H, 81H,81H, 81H, 81H, 81H, 81H, 81H, 81H DB 82H,80H,82H,80H,82H,80H,82H,80H,82H,80H DB 0FFH DATA ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA START: MOV AX,CS
——综合性实验
实验目的
在以往单元电路的基础上综合运用 8255A可编程并行接口芯片,8254 定时/计数器芯片,中断系统。 学习实际计算机控制系统设计方法。
实验原理
在本次实验中,我们利用发光二极管 模拟交通灯,实验箱上所用的是双色 二极管,红、绿两线均接高电平时发 黄光,实验中的发光二极管是利用 8255驱动,工作于方式1,利用8253 作为0.5S脉冲发生器。
实验内容及要求
设计一个软硬件系统,控制十字路口的红绿 灯。 要求: ① 南北路口的绿灯,东西路口的红灯同时亮8秒 左右。 ② 南北路口黄灯闪烁3,同时东西路口的红灯继 续亮。 ③ 南北路口红灯亮,东西路口的绿灯同时亮8秒。 ④ 南北路口红灯继续亮,东西路口黄灯闪烁3。 ⑤ 转①重复
实验分析
为了确保十字路口的车辆顺利畅通地行驶,往往 都采用自动控制的交通信号灯来进行指挥交通。 其中红灯(R)亮,表示该条道路禁止通行;黄 灯(R G)亮表示即将禁行(黄灯是有双色发光 二极管红、绿灯同时点亮形成的);绿灯(G) 亮表示允许通行。.其中L0,L1,L2,作为东西路口的 红绿灯,与PA0,PA1,PA2相连。L5,L6,L7作为南 北路口的红绿灯,与PA5,PA6,PA7相连,具体如 图所示。8255采用方式1中断方式传送数据,故 INTEA=1(即PC6=1),所以C口按位置位/复 位字为0DH,而INTRA(即PC3)作为中断申请 线向总线的IRQ7作中断申请。PA口要驱动发光 二极管,则PA应工作于输出状态,选择工作方式 1,所以8255的方式命令字设置为0A0H。利用 8254产生一个半秒的发生器可以使红、绿灯保持 定时时间亮,黄灯闪的现象。
SI=0
开放IRQ7中断

设8255A口方式1输出

将8255的PC6置位


设8253计数器0工作方式3


向计数器0送初值500 先送低字节后送高字节


设8253计数器1工作方式3
将数据段中的数从PA 口中送出
比较PA口输出的数 是否为0FFH
发中断结束命令
判断是否有键 按下?
关闭IRQ7中断
交通灯状态具体设计思想如下:
实验中要满足两个方向的工作时序:东西方向红灯亮的时 间应等于南北方向黄、绿灯亮的时间之和;南北方向红灯 亮的时间应等于东西方向黄、绿灯亮的时间之和。具体步 骤如下: 用8254产生一个0.5S的秒脉冲发生器。让其每隔0.5S取 一个数。 ① 前10S中取 南北绿、东西红的数(24H),那么要取 10÷0.5=20个此数字。 ② 11S~15S取南北黄灯闪、东西红灯亮的数字(44H, 04H),每隔0.5S取一个数,也就是1S黄灯闪一次,要 取10个此数字。 ③ 16S~25S取南北红、东西绿的数(81H),同样要取20 个此数字,才能保证是此灯亮10秒。 ④ 26S~30S取南北红灯亮、东西黄灯闪的数(82H,80H) 每隔0.5S取一个数,也就是1S黄灯闪一次,要取10个此 数字。 ⑤ 转①重复
实验步骤
1、输入源程序,并检查无误后,保存到E:\。 2、汇编,连接后形成EXE的可执行文件。 3、按图一所示的实验接线图连接实验线路。
检查无误后打开实验箱的电源。 4、执行可执行文件,观察六个发光二极管的
状态。在实验结果中说出交通灯的工作时序。
实验接线图
A (B)
开 始 参考流程图
设置IRQ7的中断向量
MOV DS,AX MOV DX,OFFSET INT7 MOV AX,250FH INT 21H CLI
IN AL,21H AND AL,7FH OUT 21H,AL MOV DX,283H MOV AL,36Hபைடு நூலகம்OUT DX,AL MOV DX,280H MOV AX,500 OUT DX,AL MOV AL,AH OUT DX,AL MOV DX,283H MOV AL,76H OUT DX,AL MOV DX,281H MOV AX,1000 OUT DX,AL MOV AL,AH OUT DX,AL MOV DX,28BH MOV AL,0A0H OUT DX,AL MOV AL,0DH OUT DX,AL STI
相关文档
最新文档