太原理工大学现代科技学院微机原理及接口技课程实验报告实验名称十字路口红绿灯闪烁实验专业班级通信12-3学号2012101726姓名刘斌指导教师专业班级通信12-3学号2012101726姓名刘斌成绩一、实验目的通过对红,绿,黄灯的控制,熟练掌握掌握8255A接口芯片的变成方法。二、实验内容对8255A接口芯片进行编辑,是红,绿,黄灯发光二极管按照十字路口交通灯的形式点亮或熄灭。三、线路连接发光二极管共8个,其中两组红、黄、绿灯用6个,L1,L2,L3为一组,L4,L5,L6为一组,实验台连接如上图。低电平“1”时,点亮。四、编程提示(1)红、黄、绿灯变化规律设有一个十字路口,两组灯分别代表东西和南北两个方向,其红黄绿灯变化规律为:①两个路口红灯全亮;②南北路口绿灯亮,东西路口红灯亮;③南北路口绿灯灭,东西路口红灯亮;④两个路口黄灯闪烁;⑤两个路口红灯全亮;⑥东西路口绿灯亮,南北路口红灯亮;⑦东西路口绿灯灭,南北路口红灯亮;⑧两个路口黄灯闪烁;⑨转向②循环执行。…………………………………装……………………………………订………………………………………线……………………………………………(2)设置8255A方式控制字设置8255A的端口C工作在方式0,为输出。D0、D1控制绿灯,D2、D3控制黄灯,D4、D5控制红灯。需要点亮哪一位指示灯时,8255A相应端口对应位就输出“1”。五、实验步骤1.计算机系统在windows环境下,打开“开始”菜单,选“运行”项,输入“CMD”,按“确定”进入DOS环境。2.若E盘的MASM子目录包含我们用到的软件,则E:回车CDMASM回车3.将设计好的汇编语言程序用编辑器编辑EDIT*.ASM回车(“*”代表程序名,为任意1~8个字符,扩展名为“.ASM”必须有)进入编辑状态,将汇编语言源程序输入,完成后,“Alt+F”打开文件菜单,选“Save”存盘,选“Exit”退出编辑状态。4.对源程序进行汇编链接ML*.ASM回车(没有语法错误,继续下一步,有错,则返回上一步编辑状态,改错。)5.根据电路图连接电路6.打开扩展卡I/O端口地址Alt+Enter进入DOD全屏模式;用ALLOWIO命令,打开I/O端口地址:ALLOWIOI*0D880I*0D888I*0D890I*0D898I*0D8A0I*0D8A8I*0D8B0I*0D8B8回车;RUN回车;7.运行和调试汇编程序实验箱通电,直接运行汇编、链接所产生的可执行文件*回车(“*”文件名),根据实验内容,在实验箱或主机上操作和观察,结果与设计初衷一致,则实验成功,否则,改错,直至实验成功。…………………………………装……………………………………订………………………………………线……………………………………………六、流程图七、实验程序DATASEGMENT…………………………………装……………………………………订………………………………………线……………………………………………IOPORTEQU0D880H-280HIO8255CEQUIOPORT+282HIO8255TEQUIOPORT+283HPBDB?MESSDB'ENTERANYKEYCANEXITTODOS!',0DH,0AH,'$'DATAENDSSTACKSEGMENTSTACKSTACKSEGMENTSTACKTOPEQULENGTHSTASTACKENDSCODESEGMENTASSUMECS:CODE,DS:DATA,ES:DATA,SS:STACKSTART:MOVAX,DATAMOVDS,AXMOVES,AXMOVAH,09HMOVDX,OFFSETMESSINT21HMOVDX,IO8255TMOVAL,81HOUTDX,ALMOVDX,IO8255CINAL,DXMOVPB,ALMOVDX,IO8255TMOVAL,80HOUTDX,ALMOVDX,IO8255CMOVAL,PBORAL,0CHOUTDX,ALMOVAL,30HOUTDX,ALCALLDELAY10LLL:MOVDX,IO8255CMOVAL,12HOUTDX,ALCALLDELAY10CALLDELAY10CALLDELAY10CALLDELAY10MOVAL,10HOUTDX,ALMOVCX,0040H…………………………………装……………………………………订………………………………………线……………………………………………TTT:MOVAL,0CHOUTDX,ALPUSHCXMOVCX,80HLOP1:CALLDELAY1LOOPLOP1MOVAL,00HOUTDX,ALMOVCX,80HLOP2:CALLDELAY1LOOPLOP2POPCXLOOPTTTMOVAL,30HOUTDX,ALCALLDELAY10MOVAL,21HOUTDX,ALCALLDELAY10CALLDELAY10CALLDELAY10CALLDELAY10MOVAL,20HOUTDX,ALMOVCX,0040HGGG:MOVAL,0CHOUTDX,ALPUSHCXMOVCX,80HLOP3:CALLDELAY1LOOPLOP3MOVAL,00HOUTDX,ALMOVCX,80HLOP4:CALLDELAY1LOOPLOP4POPCXLOOPGGGMOVAL,30HOUTDX,ALCALLDELAY10MOVAH,06HMOVDL,0FFHINT21H…………………...