交通信号灯实时控制(3)

2025-07-29

DELLAY1S: PUSH AX POP AX PUSH BX LOOP D0 PUSH CX POP CX CALL LED1 POP BX MOV CX,0FFFFH POP AX D0:PUSH AX RET 3.3.2 本实验中的中断的运用 MOV AX,OFFSET IRQ7;取中断程序入口地址(相对地址) 本实验中使用的是中断请求输入IR7,当你按kk2时,执行中断程序,灯会闪烁,程序如下 IR7: OUT 60H,AL MOV AL,20H ;结束中断 CALL DELLAY1S OUT 20H,AL NOT AL IRET DEC BX JNZ IR7 POP CX POP BX POP AX

11

4 软件主要模块流程图 4.1程序总设计流程图 开始 8255初始化 装入中断向量 8259初始化 D0、D1绿灯亮,D4、D5红灯亮 延时25S是否到 Y D0、D1绿灯闪烁 延时5S是否到 Y D2、D3绿灯亮,D6、D7红灯亮 N 延时15S是否到 Y Y D0、D1绿灯闪烁 延时5SY 是否到 Y 结束 图4.1 软件流程图 N N N N 12

4.2延时1s子程序DELLAY1S流程图 此延时子程序不光实现延时,还调用了LED1子程序显示了CX的内容,实现延时的同时倒计数的显示。具体流程如下: 开始 AX,BX,CX,进栈 调用LED1子程序在LED中显示CX的内容 CX=0FFFH AX 进栈,AX出栈,CX-1 CX= =0? AX,BX,CX出栈 返回 图4.2 实验延时1秒流程图

13

4.3 IRQ7中断子程序流程图 IRQ7中断子程序是实现所有灯闪烁10s就返回的功能。具体流程就如下。 开始 调用1s延时子程序 AX,BX,CX进栈 CX清零,调用1s延时子程序时LED数码管显示置AL=0FFH,BX=0AH 从C口输出AL值,用于把 灯灭掉(AL=00H)或全点亮 AL取反,BX-1 否 判断BX是否为0 是 AX,BX,CX出栈 中断结束、返回 图4.3 中断服务程序流程图 14

5 系统调试 5.1 系统调试 1.使用串行通讯现将实验系统与PC微机相连 2.正确搭接好相关实验电路 3.接通电源,双击试验系统快捷方式,开启试验系统如下图 4.点击菜单栏“文件”按钮,选择建新文件。即可开始输入源程序。输入程序后,点击保存按钮,进行保存。 5.点击编译按钮,对源程序进行汇编,生成目标文件(*。obj)。汇编信息显示与屏幕,若出现错误,修改源程序,直至正确。 6.汇编无误后,对汇编生成的*。Obj文件进行链接,链接信息显示于屏幕上,生成*。EXE可执行文件。 7点击加载按钮,加载*。EXE程序。屏幕显示信息。 8.加载成功, RUN,运行程序。 9.开始时候东西方向绿灯亮,南北方向红灯亮30秒,最后5秒时候绿灯会闪烁。 南北方向绿灯亮,东西方向红灯亮20秒,最后5秒时候绿灯会闪烁。 10.在9过程中,若用户按下KK2,则会出现8个灯一起闪烁10秒,然后回到按之前状态,继续循环步骤9中过程。 15


交通信号灯实时控制(3).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:《建设有中国特色社会主义》说课稿

相关阅读
本类排行
× 游客快捷下载通道(下载后可以自由复制和排版)

下载本文档需要支付 7

支付方式:

开通VIP包月会员 特价:29元/月

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:xuecool-com QQ:370150219