收藏 分享(赏)

微机原理实验报告十字路口红绿灯闪烁程序.doc

上传人:HR专家 文档编号:5279977 上传时间:2019-02-18 格式:DOC 页数:8 大小:5.58MB
下载 相关 举报
微机原理实验报告十字路口红绿灯闪烁程序.doc_第1页
第1页 / 共8页
微机原理实验报告十字路口红绿灯闪烁程序.doc_第2页
第2页 / 共8页
微机原理实验报告十字路口红绿灯闪烁程序.doc_第3页
第3页 / 共8页
微机原理实验报告十字路口红绿灯闪烁程序.doc_第4页
第4页 / 共8页
微机原理实验报告十字路口红绿灯闪烁程序.doc_第5页
第5页 / 共8页
点击查看更多>>
资源描述

1、本科实验报告课程名称: 微机原理及接口技术 课题项目: 十字路口红绿灯闪烁程序 专业班级: 电科 1201 学号: 2012001610 学生姓名: 王天宇 指导教师: 任 光 龙 2015 年 5 月 24 日十字路口红绿灯闪烁实验一、 实验目的通过对红、绿、黄灯的控制,熟练掌握 8255A 接口芯片的编程方法。二、 实验内容对 8255A 接口芯片进行编程,使红、黄、绿发光二极管按照十字路口交通灯的形式点亮或熄灭。三、 线路连接发光二极管共 8 个,其中两组绿、黄、红灯用 6 个,L2、L3 、L4 为一组,L5、L6、L7 为一组。实验箱线路如图连接。高电平“1”时,点亮。十 字 路 口

2、 红 绿 灯 实 验 连 接 图四 、 编 程 提 示红、黄、绿灯变化规律设有一个十字路口,两组灯分别代表东西和南北两个方向,其红黄绿灯变化规律为:两个路口红灯全点亮,绿灯、黄灯熄灭; 东西路口绿灯点亮,南北路口红灯点亮; 东西路口绿灯熄灭,南北路口红灯点亮; 两个路口黄灯闪烁; 两个路口红灯全点亮,绿灯、黄灯熄灭; 东西路口红灯点亮,南北路口绿灯点亮,黄灯熄灭; 东西路口红灯点亮,南北路口绿灯熄灭,黄灯熄灭; 两个路口黄灯闪烁;转向循环执行。(2)设置 8255A 方式控制字设置 8255A 的端口 C 工作在方式 0、输出。D0、D1 控制绿灯,D2 、D3 控制黄灯,D4、D5 控制红灯

3、。需要点亮哪一位指示灯时,8255A 相应端口对应位就输出“1”。五 、 流 程 图 :开始显示提示信息设置控制字为 8 1 H ( 端口 C 低四位为输入 )读端口 C 数据并保存两个路口红灯亮设置控制字为 8 0 H ( 端口 C 低四位为输出 )设置控制字为 8 1 H ( 端口 C 低四位为输入 )延时东西路口红灯亮 , 南北路口红灯亮东西路口绿灯灭延时两个路口黄闪烁两个路口红灯亮延时南北路口绿灯亮 , 东西路口红灯亮延时南北路口绿灯灭两个路口黄灯闪烁两个路口红灯亮延时有键按下结束六、 实验程序DATA SEGMENTIOPORT EQU 0D880H-280HIO8255C EQU

4、IOPORT+282HIO8255T EQU IOPORT+283HPB DB ?MESS DB ENTER ANY KEY CAN EXIT TO DOS!,0DH,0AH,$DATA ENDSSTACK SEGMENT STACKSTA DW 50 DUP(?)TOP EQU LENGTH STASTACK ENDSCODE SEGMENTASSUME CS:CODE,DS:DATA,ES:DATA,SS:STACKSTART: MOV AX,DATAMOV DS,AXMOV ES,AXMOV AH,09HMOV DX,OFFSET MESSINT 21HMOV DX,IO8255TMOV

5、 AL,81HOUT DX,ALMOV DX,IO8255CIN AL,DXMOV PB,ALMOV DX,IO8255TMOV AL,80HOUT DX,ALMOV DX,IO8255CMOV AL,PBOR AL,0CHOUT DX,ALMOV AL,30HOUT DX,ALCALL DELAY10LLL: MOV DX,IO8255CMOV AL,12HOUT DX,ALCALL DELAY10CALL DELAY10CALL DELAY10CALL DELAY10MOV AL,10HOUT DX,ALMOV CX,0040HTTT: MOV AL,0CHOUT DX,ALPUSH CX

6、MOV CX,80HLOP1: CALL DELAY1LOOP LOP1MOV AL,00HOUT DX,ALMOV CX,80HLOP2: CALL DELAY1LOOP LOP2POP CXLOOP TTTMOV AL,30HOUT DX,ALCALL DELAY10MOV AL,21HOUT DX,ALCALL DELAY10CALL DELAY10CALL DELAY10CALL DELAY10MOV AL,20HOUT DX,ALMOV CX,0040HGGG: MOV AL,0CHOUT DX,ALPUSH CXMOV CX,80HLOP3: CALL DELAY1LOOP LOP

7、3MOV AL,00HOUT DX,ALMOV CX,80HLOP4: CALL DELAY1LOOP LOP4POP CXLOOP GGGMOV AL,30HOUT DX,ALCALL DELAY10MOV AH,06HMOV DL,0FFHINT 21HJNZ PPPJMP LLLPPP: MOV AX,4C00HINT 21HDELAY1 PROC NEARPUSH CXMOV CX,0FFFFHCCC: LOOP CCCPOP CXRETDELAY1 ENDPDELAY10 PROC NEARPUSH AXPUSH CXMOV CX,0F00HUUU: CALL DELAY1LOOP

8、UUUPOP CXPOP AXRETDELAY10 ENDPCODE ENDSEND START七、实验步骤1.连接试验电路2.打开主机进入 DOS 环境:开始运行cmd 确定3.编辑、汇编、链接汇编语言程序E: CD MASM(1)编辑汇编语言源程序:EDIT MA1.ASM,编辑源程序。(2)汇编链接源程序:ML MA1.ASM没有语法错误,继续下一步,有错,则返回上一部编辑状态,改错。4.打开扩展卡 I/O 端口地址(1)进入 DOS 全屏模式:Alt+Enter(2)打开 I/O 端口地址:RUN5.运行和调试汇编程序试验箱通电(1)直接运行汇编、链接所产生的可执行的文件:MA1(2)调试器运行汇编语言可执行文件。八、实验结果汇编连接运行实验执行电路九、思考题 1.程序中红,绿,黄灯点亮和熄灭的延时时间是如何设定的? 答:通过 CALL 指令调用子程序 DELAY10,DELAY10 的功能是通过执行循环执行压入堆栈和弹出堆栈来实现延时,改变循环次数即 CX 的设定值即可改变延时时间。 十、实验感想 在实验中,我学会了对 8255A 接口芯片进行编程,使红黄绿发光二级管按照十字路口交通灯的形式点亮或者熄灭。这次实验我也感受到了微机原理这门课在现实生活中的应用。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 实用文档 > 工作总结

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报