资源描述:
《微机原理实验四》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、一、实验目的1、掌握8255的工作原理及编程方法。二、开发环境运行于XP操作系统下TPC-2003A集成开发环境三、实验题目(1)开关控制LED1、实验电路如图,8255C口接逻辑电平开关K0~K7,A口接LED显示电路L0~L7。编程从8255C口输入数据,再从A口输出。2、编程提示相对地址:8255控制寄存器端口地址28BHA口的地址288HC口的地址28AH参考流程图程序流程图:程序代码:ioportequ0ec00h-0280hio8255aequioport+288hio8255bequioport+28bhio
2、8255cequioport+28ahcodesegmentassumecs:codestart:movdx,io8255b;设8255为C口输入,A口输出moval,8bhoutdx,alinout:movdx,io8255c;从C口输入一数据inal,dxmovdx,io8255a;从A口输出刚才自C口outdx,al;所输入的数据movdl,0ffh;判断是否有按键movah,06hint21hjzinout;若无,则继续自C口输入,A口输出movah,4ch;否则返回DOSint21hcodeendsendstar
3、t(2)交通灯控制1、如图,L7、L6、L5作为南北路口的交通灯与PC7、PC6、PC5相连,L2、L1、L0作为东西路口的交通灯与PC2、PC1、PC0相连。编程使六个灯按交通灯变化规律亮灭。2、编程提示:十字路口交通灯的变化规律要求:(1)南北路口的绿灯、东西路口的红灯同时亮2秒左右(用软件延时实现)。(2)南北路口的黄灯闪烁若干次,同时东西路口的红灯继续亮。(3)南北路口的红灯、东西路口的绿灯同时亮2秒左右。(4)南北路口的红灯继续亮、同时东西路口的黄灯亮闪烁若干次。(5)转(1)重复。程序流程图:程序代码:****
4、*******************************;;*十字路口红绿灯模拟演示程序*;;*端口各灯的设置:*;;*1红1黄1绿002红2黄2绿*;;***********************************;datasegmentioportequ0ec00h-0280hio8255aequioport+28ahio8255bequioport+28bhportc1db24h,44h,04h,44h,04h,44h,04h;六个灯可能db81h,82h,80h,82h,80h,82h,80h;的状态
5、数据db0ffh;结束标志dataendscodesegmentassumecs:code,ds:datastart:movax,datamovds,axmovdx,io8255bmoval,90houtdx,al;设置8255为C口输出movdx,io8255are_on:movbx,0on:moval,portc1[bx]cmpal,0ffhjzre_onoutdx,al;点亮相应的灯incbxmovcx,20;参数赋初值testal,21h;是否有绿灯亮jzde1;没有,短延时movcx,2000;有,长延时de1:
6、movdi,9000;di赋初值5000de0:decdi;减1计数jnzde0;di不为0loopde1pushdxmovah,06hmovdl,0ffhint21hpopdxjzon;没有,转到onexit:movah,4ch;返回int21hcodeendsendstart