微机原理十字路口红绿灯闪烁实验.doc_第1页
微机原理十字路口红绿灯闪烁实验.doc_第2页
微机原理十字路口红绿灯闪烁实验.doc_第3页
微机原理十字路口红绿灯闪烁实验.doc_第4页
微机原理十字路口红绿灯闪烁实验.doc_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

实验三 十字路口红绿灯闪烁实验一、 实验目的通过对红绿黄灯的控制,熟练掌握8255A接口芯片的编程方法二、 实验内容 对8255A接口芯片进行编程,使红黄绿发光二级管按照十字路口交通灯的形式点亮或者熄灭。三、 线路连接 发光二级管共8个,其中两组红黄绿灯用六个,L2、L3、L4为一组,L5、L6、L7、为一组;试验台连接如图所示。高电平时,灯点亮。四、 编程提示1、 红、黄、绿灯变化规律 设有一个十字路口,两组灯分别代表东西和南北两个方向,其红黄绿灯变化规律为:(1)两个路口红灯全亮(2)南北路口绿灯亮,东西路口红灯亮(3)南北路口绿灯灭,东西路口红灯亮(4)两个路口黄灯闪烁(5)两个路口红灯全亮(6)东西路口绿灯亮,南北路口红灯亮(7)东西路口绿灯灭,南北路口红灯亮(8)两个路口黄灯闪烁(9)转向(2)循环执行2. 设置8255A方式控制字 设置8255A的端口C工作在方式0,为输出。D0、D1控制绿灯,D2、D3控制黄灯,D4、D5控制红灯。需要点亮哪一位指示灯时,8255A相应端口对应为就输出“1”。五、流程图YN两个路口红灯亮延时南北路口绿灯亮,东西路口红灯亮有键按下?延时南北路口绿灯灭两个路口黄灯闪烁两个路口红灯亮延时显示提示信息东西路口绿灯灭读端口C数据并保存两个路口红灯亮延时设控制字为80H(端口C均为输出)东西路口绿灯亮,南北路口红灯亮延时两个路口黄闪烁设控制字为81H(端口C低四位为输入)读/写控制逻辑结束开始六、实验程序DATA SEGMENTIOPORT EQU 0D880H-280HIO8255C EQU 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 SEGMENT ASSUME CS:CODE,DS:DATA,ES:DATA,SS:STACKSTART: MOV AX,DATA MOV DS,AX MOV ES,AX MOV AH,09H MOV DX,OFFSET MESS INT 21H MOV DX,IO8255T MOV AL,81H OUT DX,AL MOV DX,IO8255C IN AL,DX MOV PB,AL MOV DX,IO8255T MOV AL,80H OUT DX,AL MOV DX,IO8255C MOV AL,PB OR AL,0CH OUT DX,AL MOV AL,30H OUT DX,AL CALL DELAY10LLL: MOV DX,IO8255C MOV AL,12H OUT DX,AL CALL DELAY10 CALL DELAY10 CALL DELAY10 CALL DELAY10 MOV AL,10H OUT DX,AL MOV CX,0040HTTT: MOV AL,0CH OUT DX,AL PUSH CX MOV CX,80HLOP1: CALL DELAY1 LOOP LOP1 MOV AL,00H OUT DX,AL MOV CX,80HLOP2: CALL DELAY1 LOOP LOP2 POP CX LOOP TTT MOV AL,30H OUT DX,AL CALL DELAY10 MOV AL,21H OUT DX,AL CALL DELAY10 CALL DELAY10 CALL DELAY10 CALL DELAY10 MOV AL,20H OUT DX,AL MOV CX,0040H GGG: MOV AL,0CH OUT DX,AL PUSH CX MOV CX,80HLOP3: CALL DELAY1 LOOP LOP3 MOV AL,00H OUT DX,AL MOV CX,80HLOP4: CALL DELAY1 LOOP LOP4 POP CX LOOP GGG MOV AL,30H OUT DX,AL CALL DELAY10 MOV AH,06H MOV DL,0FFH INT 21H JNZ PPP JMP LLLPPP: MOV AX,4C00H INT 21HDELAY1 PROC NEAR PUSH CX MOV CX,0FFFFHCCC: LOOP CCC POP CX RETDELAY1 ENDPDELAY10 PROC NEAR PUSH AX PUSH CX MOV CX,0F00HUUU: CALL DELAY1 LOOP UUU POP CX POP AX RETDELAY10 ENDPCODE ENDS END START七、实验步骤 1、在windows环境下,打开“开始”菜单,选择“运行”项,然后输入”CMD”,按“确定”进去DOS环境。 2、输入“E:”回车,输入“CD MASM”回车。 3、输入“EDIT ZF1.ASM”回车,进入编辑状态,将以上源程序写入,完成后,如下图,按“Alt+F”打开文件菜单,选“Save”存盘,选“Exit”退出编辑状态。 4、对原程序进行汇编连接,输入“ML ZF1.ASM”回车 5、打开扩展卡I/O端口地址,用ALLOWIO命令打开I/O端口地址:输入“RUN”回车。 6、按实验电路图1接好线,给实验箱通电。输入“NT”回车,即可看到按一定规律

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论