微机原理十字路口交通灯课程设计_2(3)

2019-01-27 17:30

4、软件设计

4.1程序流程图

芯片初始化 东西方向绿灯亮,南北方向红灯亮60秒 东西方向黄灯闪烁,南北方向红灯亮5秒 东西方向红灯亮,南北方向绿灯亮20秒 东西方向红灯亮,南北方向黄灯闪烁5秒 否 有键按下? 是 返回到DOS 结束 图4 程序流程图

10

4.2源程序清单和注释

IOY0 EQU 0DA00H ;片选IOY0对应的端口始地址

MY8255_A EQU IOY0+00H*4 ;8255的A口地址 MY8255_B EQU IOY0+01H*4 ;8255MY8255_C EQU IOY0+02H*4 ;8255MY8255_MODE EQU IOY0+03H*4 ;8255STACK1 SEGMENT STACK DW 256 DUP(?) STACK1 ENDS DATA SEGMENT

LA DB ? ;LB DB ? DATA ENDS CODE SEGMENT

ASSUME CS:CODE,DS:DATA START: MOV AX,DATA MOV DS,AX

MOV DX,MY8255_MODE ; MOV AL,80H ;为输出

OUT DX,AL

LOOP1: MOV DX,MY8255_A ;方向绿灯亮,南方向红灯亮

11

的B口地址 的C口地址 的控制寄存器地址 定义数据变量 定义8255工作方式 工作方式0,A口和B口写A口发出的数据,东

MOV AL,3CH OUT DX,AL

MOV DX,MY8255_B ;写B口发出的数据,西方向绿灯亮,北方向红灯亮 MOV AL,3CH OUT DX,AL CALL DALLY1

L1: MOV DX,MY8255_A ;向黄灯亮,南方向红灯亮 MOV AL,0FCH OUT DX,AL

MOV DX,MY8255_B ;向黄灯亮, 北方向红灯亮 MOV AL,0FCH OUT DX,AL CALL DALLY2

MOV DX,MY8255_A ;向黄灯灭,南北方向红灯亮 MOV AL,30H OUT DX,AL

MOV DX,MY8255_B ;向黄灯灭,南北方向红灯亮 MOV AL,30H OUT DX,AL CALL DALLY2

写A口发出的数据,东方写A口发出的数据,西方写A口发出的数据,东方写B口发出的数据,西方 12

LOOP L1

MOV DX,MY8255_A ;写A口发出的数据,东方向红灯亮,南方向绿灯亮 MOV AL,0C3H OUT DX,AL

MOV DX,MY8255_B ;向红灯亮,北方向绿灯亮 MOV AL,0C3H OUT DX,AL CALL DALLY3

L2: MOV DX,MY8255_A ;向黄灯亮,东方向红灯亮 MOV AL,0F3H OUT DX,AL

MOV DX,MY8255_B ;向黄灯亮,西方向红灯亮 MOV AL,0F3H OUT DX,AL CALL DALLY2

MOV DX,MY8255_A ;北方向黄灯灭,东方向红灯亮 MOV AL,0C0H OUT DX,AL

MOV DX,MY8255_B ;北方向黄灯灭,西方向红灯亮

写B口发出的数据,西方写A口发出的数据,南方写B口发出的数据,北方写A口发出的数据,南写B口发出的数据,南 13

MOV AL,0C0H OUT DX,AL CALL DALLY2 LOOP L2

MOV AH,1 ;判断是否有按键按下,调用功能号1

INT 16H ;ROM BIOS JZ LOOP1 ;有则退出

QUIT: MOV AX,4C00H ; INT 21H ;DOS DALLY PROC NEAR ; PUSH CX PUSH AX MOV CX,0FFFH D1: MOV AX,0FFFFH D2: DEC AX JNZ D2 LOOP D1 POP AX POP CX RET DALLY ENDP

DALLY1 PROC NEAR ;方向红灯亮,南北方向绿灯亮

14

功能调用 无按键则跳回继续循环,结束程序退出 系统功能调用 软件延时子程序 软件延时子程序,东西


微机原理十字路口交通灯课程设计_2(3).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:2013年消防安全、应急救援演练方案

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

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