北京工业大学微机原理实验十二交通灯控制实验报告最终版!!!
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
北京工业大学-微机原理-实验十二-交通灯控制-实验报告-最终版!!!
————————————————————————————————作者: ————————————————————————————————日期:
1.实验电路原理图
2.实际电路图
3.实验代码
IOPORT EQU 0 ;定义CPU输出地址
CODE SEGMENT
ASSUME CS:CODE
START:
MOVAL,00100101B ;设置8253用计数器0,只读高字节,方式2(自动重复),10进制
MOV DX, IOPORT+293H
OUT DX,AL
MOV AL,10H ;给计数器0置数1000(00010000 0000 0000)
MOV DX, 290H
OUTDX, AL
MOV AL,10010000B ;初始化8255,1--控制字,A口方式0输入,C口输出,B口输出
MOV DX, IOPORT+28BH
OUT DX,AL
INOUT:
MOV AL, 00100100B ;南北路口绿灯亮,东西路口红灯
亮
MOVDX,IOPORT+28AH ;C口0方式输出,所以可以直接控制PC0~PC7的输出电平
OUT DX, AL
MOV AL,01100001B ;设置8253通道1,只读高字节,方式0(不自动重复),10进制
MOV DX, IOPORT+293H
OUT DX,AL
MOV AL, 50H;置数5000,与计数器0串联即:延时5秒
MOV DX, IOPORT+291H
OUT DX, AL
LOP1:
MOV DX, IOPORT+288H;A口查询,判断延时是否结束
IN AL,DX
CMP AL,0
JELOP1 ;延时结束,顺序执行,否则继续查询
MOVAL, 01000100B;南北路口黄灯亮,东西路口红灯亮
MOVDX,IOPORT+28AH ;C口0方式输出,所以可以直接控制PC0~PC7的输出电平
OUT DX, AL
MOV AL,01100001B ;设置8253通道
MOV DX, IOPORT+293H
OUT DX, AL
MOV AL, 30H ;延时3秒(1000*3000),原理与延时5秒一致
MOVDX, IOPORT+291H
OUTDX,AL
LOP2:
MOVDX,IOPORT+288H;A口查询,判断延时是否结束
IN AL,DX
CMPAL,0
JE LOP2 ;延时结束,顺序执行,否则继续查询
MOV AL, 10000001B ;南北路口红灯亮,东西路口绿灯亮
MOV DX, IOPORT+28AH;C口0方式输出,所以可以直接控制PC0~PC7的输出电平
OUT DX, AL
MOVAL,01100001B;设置8253通道1
MOV DX,IOPORT+293H
OUT DX, AL
MOV AL, 50H ;延时5秒
MOVDX, IOPORT+291H
OUT DX, AL
LOP3:
MOV DX,IOPORT+288H
INAL, DX
CMPAL, 0
JELOP3
MOV AL, 10000010B ;南北路口红灯亮,东西路口黄灯亮
MOVDX, IOPORT+28AH
OUT DX,AL
MOVAL,01100001B ;设置8253通道1
MOV DX, IOPORT+293H
OUT DX, AL
MOV AL, 30H ;延时3秒
MOV DX, IOPORT+291H
OUTDX, AL
LOP4:
MOV DX, IOPORT+288H
IN AL, DX
CMPAL,0
JE LOP4
MOV AH,0BH;检查键盘状态(不等待),AL=FFH 表示有键入,AL=00H 表示无键入
INT21H
CMP AL,0FFH ;有键入,程序退出
JNZ INOUT
MOV AH,4CH
INT 21H
CODE ENDS
ENDSTART