资源描述:
《微机原理实验报告北交大》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、微机原理与应用实验报告姓名:学号:班级:任课老师:2014年月日实验一I/O地址译码与交通灯控制实验一.实验目的通过并行接口8255实现十字路口交通灯的模拟控制,进一步掌握对并行口的使用。二.实验内容如图5-3,L7、L6、L5作为南北路口的交通灯与PC7、PC6、PC5相连,L2、L1、L0作为东西路口的交通灯与PC2、PC1、PC0相连。编程使六个灯按交通灯变化规律燃灭。红黄绿红黄绿图5-3三.编程提示1、8255A口的地址288HC口的地址28AH控制寄存器端口地址28BH2、十字路口交通灯的变化规律要求:(1)南北路口的绿灯、东西路口的红灯同时亮3秒左右。(2)南北路口的黄灯闪
2、烁若干次,同时东西路口的红灯继续亮。(3)南北路口的红灯、东西路口的绿灯同时亮3秒左右。(4)南北路口的红灯继续亮、同时东西路口的黄灯亮闪烁若干次。(5)转(1)重复。四.参考流程图五.程序DATASEGMENTXDB?DATAENDSSTACK1SEGMENTSTACKDW100DUP(?)STACK1ENDSCODESEGMENTASSUMECS:CODESTART:MOVAX,DATAMOVDS,AXMOVDX,0EC0BHMOVAL,10000000BOUTDX,ALSTEP1:MOVDX,0EC0AHMOVAL,00100100BOUTDX,ALMOVCX,0;外层循环655
3、36MOVAX,2000HDELAY1:DECAXJNZDELAY1LOOPDELAYMOVBL,5;黄灯STEP2:MOVDX,0EC0AHMOVAL,01000100BOUTDX,ALMOVCX,3000HMOVAX,0100HLI1:DECAXJNZLI1LOOPLI1;短延时MOVDX,0EC0AHMOVAL,00000100B;南北路口黄灯灭OUTDX,ALMOVCX,3000HMOVAX,0100HWEN1:DECAXJNZWEN1;短延时LOOPWEN1DECBLJNZSTEP2;南北路口黄灯亮STEP3:MOVDX,0EC0AH;写入C口MOVAL,10000001BO
4、UTDX,ALMOVCX,0MOVAX,2000HDELAY2:DECAXJNZDELAY2LOOPDELAY2MOVBL,5;控制黄灯亮的次数STEP4:MOVDX,0EC0AH;写入C口MOVAL,10000010BOUTDX,AL;南北红,东西黄MOVCX,3000HMOVAX,0100HLI2:DECAXJNZLI2;短延时LOOPLI2MOVDX,0EC0AHMOVAL,10000000BOUTDX,AL;东西路口黄灯先灭MOVCX,3000HMOVAX,0100HWEN2:DECAXJNZWEN2LOOPWEN2DECBLJNZSTEP4;东西路口黄灯再亮MOVDL,0FF
5、HMOVAH,06HINT21H;执行键盘输入操作JZSTEP1MOVAH,4CHINT21H;返回操作系统CODEENDSENDSTART五.成果及感想该次实验通过对I/O接口芯片8255A的A、C各个接口的电平控制实现点亮对应LED灯来模拟红绿灯,通过延时程序来执行延时,让我对汇编语言掌握更进一步,同时也对8255A的接口芯片更熟悉了端口控制。实验二可编程定时器/计数器(8253)一、实验目的掌握8253的基本工作原理和编程方法。二、实验内容1.按图5-1虚线连接电路,将计数器0设置为方式0,计数器初值为N(N≤0FH),用手动逐个输入单脉冲,编程使计数值在屏幕上显示,并同时用逻辑
6、笔观察OUT0电平变化(当输入N+1个脉冲后OUT0变高电平)。图5-12.按图5-2连接电图,将计数器0、计数器1分别设置为方式3,计数初值设为1000,用逻辑笔观察OUT1输出电平的变化(频率1HZ)。图5-2一、编程提示1、8253控制寄存器地址283H计数器0地址280H计数器1地址281HCLK0连接时钟1MHZ。2、参考流程图:开始结束向计数器0送初值1000先送低字节后送高字节向计数器1送初值1000先送低字节后送高字节设计数器0为工作方式3设计数器1为工作方式3开始读计数器值显示计数值有键按下吗?送计数器初值NY结束设计数器0为工作方式0四、程序DATASEGMENTN
7、EQU0BH;计数器初值,不大于0FHCHLDB0AH,0DH,'$';换行DATAENDSSTACK1SEGMENTSTACKDW100DUP(0)STACK1ENDSCODESEGMENTASSUMECS:CODE,DS:DATA,SS:STACK1START:MOVAX,DATAMOVDS,AXMOVDX,0C403H;控制寄存器地址MOVAL,10H;计数器0,低字节,方式0,二进制计数OUTDX,AL;写入控制字MOVDX,0C400