文档详情

微机接口实验 报告 程序.doc

发布:2017-11-03约1.62万字共31页下载文档
文本预览下载声明
题目一 实验二 交通灯控制实验 一、实验目的 通过并行接口8255实现十字路口交通灯的模拟控制,进一步掌握对并行口的使用。 二、实验内容 如图5-3,L7、L6、L5作为南北路口的交通灯与PC7、PC6、PC5相连,L2、L1、L0作为东西路口的交通灯与PC2、PC1、PC0相连。编程使六个灯按交通灯变化规律燃灭。 8255控制寄存器端口地址 28BH A口的地址 288H C口的地址 28AH 2、十字路口交通灯的变化规律要求: (1) 南北路口的绿灯、东西路口的红灯同时亮3秒左右。 (2) 南北路口的黄灯闪烁若干次,同时东西路口的红灯继续亮。 (3) 南北路口的红灯、东西路口的绿灯同时亮3秒左右。 (4) 南北路口的红灯继续亮、同时东西路口的黄灯亮闪烁若干次。 (5) 转(1)重复。 三、参考流程图 设置8255A口输出C口输出开 始南北路口黄灯闪,东西路口红灯亮南北路口绿灯亮,东西路口红灯亮长延时南北路口红灯亮,东西路口绿灯亮长延时是否有键按下NY返回DOS南北路口红灯亮,东西路口黄灯闪 四、源程序及注释 ;微机原理与接口技术实验,题目一,交通灯控制台 DATA SEGMENT ;数据段 IOPORT EQU 0C400H-0280H ;使用动态分配的io基地址代替0C400H IO8255 EQU IOPORT+028BH ;寄存器 IO8255C EQU IOPORT+028AH ;8255的c口 DATA ENDS EXTRA SEGMENT ;附加段 EXTRA ENDS STACK1 SEGMENT PARA STACK ;堆栈段 STACK1 ENDS CODE SEGMENT ;代码程序段 ASSUME CS:CODE,DS:DATA,SS:STACK1,ES:EXTRA ;设置为高电平LED亮灯 START: MOV AX,DATA MOV DS,AX MOV AL,80H MOV DX,IO8255 OUT DX,AL ;设置8255 LOP:MOV DX,IO8255C MOV AL OUT DX,AL ;(1)南北路口的绿灯、东西路口的红灯同时亮3秒左右。 CALL LDELAY MOV CX,4 ;(2)南北路口的黄灯闪烁若干次,同时东西路口的红灯继续亮。 E1: MOV AL OUT DX,AL CALL SDELAY MOV AL OUT DX,AL CALL SDELAY LOOP E1 MOV AL OUT DX,AL ;(3)南北路口的红灯、东西路口的绿灯同时亮3秒左右。 CALL LDELAY MOV CX,4;(4)闪烁可选,南北路口的红灯继续亮、同时东西路口的黄灯亮闪烁若干次。 E2: MOV AL OUT DX,AL CALL SDELAY MOV AL OUT DX,AL CALL SDELAY LOOP E2 JMP LOP LDELAY PROC ;长延时子程序 PUSH CX PUSH AX PUSH BX MOV BX,2 T0: MOV CX,0FFFFH ;外层循环 T1: MOV AX,0FFFFH T2: DEC AX JNZ T2 MOV AH,1 INT 16H JNZ EXIT LOOP T1 DEC BX JNZ T0 POP BX POP AX POP CX RET LDELAY ENDP SDELAY PROC ;短延时子程序 PUSH CX PUSH AX MOV CX,0FFFH TH1: MOV AX,0FFFFH TH2: DEC AX JNZ TH2 MOV AH,1 INT 16H JNZ EXIT LOOP TH1 POP AX POP CX RET SDELAY ENDP EXIT:MOV AH,4CH INT 21H CODE ENDS END START 五、总结 第一次实验,我们熟悉了TPC-2003A的系统环境和软件编译步骤。本实验通过8255进行并口扩展,实现了交通灯的模拟控制,通过延时实现了灯的闪烁和亮一段时间。 实验中需要用软件得到不同的被动分配的IO基地址:c400。 1 MOV AL,80H MOV DX,IO8255 OUT DX,AL ;设置8255 设置8255A口输出C口输出。 2 在子程序中使用 MOV AH,1 INT 16H JNZ EXIT 查询键盘状态是否退出,随时可以退出主程序。 题目二 实验一 可
显示全部
相似文档