1、8255实训心得竭诚为您提供优质文档/双击可除8255实训心得篇一:8255实验报告一、实验目的掌握8255A的编程原理。二、实验设备cpu挂箱、8086cpu模块。三、实验内容8255A的A口作为输入口,与逻辑电平开关相连。8255A的b口作为输出口,与发光二极管相连。编写程序,使得逻辑电平开关的变化在发光二极管上显示出来。四、实验原理介绍本实验用到两部分电路:开关量输入输出电路和8255可编程并口电路。五、实验步骤1、实验接线cs0?cs8255;pA0pA7?平推开关的输出K1K8;pb0pb7?发光二极管的输入LeD1LeD8。2、编程并全速或单步运行。3、全速运行时拨动开关,观察发光
2、二极管的变化。当开关某位置于L时,对应的发光二极管点亮,置于h时熄灭。六、实验提示8255A是比较常用的一种并行接口芯片,其特点在许多教科书中均有介绍。8255A有三个8位的输入输出端口,通常将A端口作为输入用,b端口作为输出用,c端口作为辅助控制用,本实验也是如此。实验中,8255A工作于基本输入输出方式(方式0)。七、实验结果程序全速运行后,逻辑电平开关的状态改变应能在LeD上显示出来。例如:K2置于L位置,则对应的LeD2应该点亮。八、程序框图(实验程序名:t8255.asm)九、程序源代码清单:assumecs:codecodesegmentpublicorg100h;控制寄存器地址s
3、tart:movdx,04a6hstart1:movoutmovinmovoutjmpdx,04a0hal,axdx,04a2hdx,alstart1ax,90hdx,ax;设置为A口输入,b口输出codeendsendstart十、扩展要求程序全速运行之后,实现流水灯。通过开关控制流水灯的流水方向。十一、实验代码assumecs:codecodesegmentpublicorg100hstart:movdx,04a6hmovax,90houtdx,axmovbh,0fehstart1:movdx,04a0hinal,dxandal,1hcmpal,0jzLR:rorbh,1jmpoutput
4、L:rolbh,1output:movdx,04a2hmoval,bhoutdx,almovcx,0fffhAbc:loopAbcjmpstart1codeendsendstart十二、实验收获通过本实验,我们掌握8255A的编程原理。懂得了如何通过编程的方式来控制流水灯,加深了对编程语法以及程序的理解。除此之外,还懂得了团队合作的重要性,通过动手实践,把课本上的理论和实际结合起来。加深了对微型计算机原理的理解。篇二:8255A实训报告mcs-51单片机I/o端口扩展15电子转1516936012王泽宇一、实验目的掌握8255A芯片的编程原理。二、设计要求学习利用8255A扩展芯片实现流水灯、
5、键盘、数码管、液晶显示等设计。三、实验器材软件:proteus、keil元器件清单:AT89c51、74Ls373、74Ls138、8255A、按钮、电阻、滑动变阻器、LeD灯、喇叭、日光灯、继电器、三极管、排阻等。四、实验原理利用8255A芯片对单片机的p0口和p2口扩展出3个独立的8位I/o端口来完成实验。原理图:五、程序设计(1)流程图(2)源码#include#include#include#definepA8255xbYTe0x80fc#definepb8255xbYTe0x80fd#definepc8255xbYTe0x80fe#definecom8255xbYTe0x80ff#d
6、efineucharunsignedcharvoidlight(uchar);voidled_7s(uchar);voidkeyscan(void);voidspeaker(void);voidrelay(bit);voiddelay(ucharx);voidinit_8255(void);voidinit_8255(void)com8255=0x81;voidspeaker(void)ucharcnt;for(cnt;cntpb8255=pb82550x10;delay(2);voidrelay(bitctrl)if(ctrl)pb8255=pb8255|0x20;elsepb8255=pb
7、8255voidlight(void)ucharcnt,tmp=0xfe;pb8255=pb8255for(cnt=0;cntpA8255=tmp;tmp=(tmpdelay(250);delay(250);voidled_7s(ucharkeycode)ucharcnt,tmp=(pb8255ucharled_table16=0x3f,0x6,0x5b,0x4f,0x66,0x6d,0x7d,0x7,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71;if(keycode=0xff)for(cnt=0;cntpb8255=tmp+;pA8255=led_table
8、cnt;if(tmpdelay(250);delay(250);elsepb8255=tmp;pA8255=led_tablekeycode;ucharkeyscan(void)ucharscode,rcode,keyvalue,keycode;pb8255=pb8255pc8255=0x0f;keyvalue=0;if(pc8255pc8255=0x0f;if(pb8255while(scodeif(pc8255keyvalue=rcode|scode;elsescode=_crol_(scode,1);switch(keyvalue)case0:keycode=0xff;break;cas
9、e0x11:keycode=0;break;case0x12:keycode=1;break;case0x14:keycode=2;break;case0x18:keycode=3;break;case0x21:keycode=4;break;case0x22:keycode=5;break;case0x24:keycode=6;break;case0x28:keycode=7;break;case0x41:keycode=8;break;case0x42:keycode=9;break;case0x44:keycode=10;break;case0x48:keycode=11;break;c
10、ase0x81:keycode=12;break;case0x82:keycode=13;break;case0x84:keycode=14;break;case0x88:keycode=15;break;pc8255=0x0f;while(pc8255returnkeycode;篇三:8255实验报告实验五8255方式1输出实验一、实验目的掌握查询方式实现8255选通型输人(方式1)的编程控制方法。二、实验内容将8255端口A的pA7pA0与8个发光二极管L7-L0连接,pb2-pb0与拨动开关的K2-K0连接,8255的cs与地址译码区的0-F端子连接,pc2(/sTbb)与单脉冲的/pL
11、us端连接。先预置开关K2-K0为一组输入状态,然后按下单脉冲按键产生一个负脉冲,输入到pc2。用发光二极管LeDi亮,显示K2-K0的状态。要求:K2-K0=000时,LeD0亮K2-K0=001时,LeD1亮K2-K0=010时,LeD2亮K2-K0=011时,LeD3亮K2-K0=100时,LeD4亮K2-K0=101时,LeD5亮K2-K0=110时,LeD6亮K2-K0=111时,LeD7亮三、实(:8255实训心得)验环境Tpc-em实验仪和386ex实验模式。四、实验步骤(1)先将实验箱打开,按如下“实验连接图”用数据线将各个部件连接;【实验接线图】8255pA0L0LeD显示灯
12、L7K0拨动K1开关K2单脉冲pA7pb0pb1pb2pc2cs地址译码(2)连接完成后,根据实验内容的要求写出相关代码;具体代码如下:DATAsegmenTmesgDb8255AReADY.,0Dh,0Ah,$TAbDb00000001bDb00000010bDb00000100bDb00001000bDb00010000bDb00100000bDb01000000bDb10000000bDATAenDscoDesegmenTAssumecs:coDe,Ds:DATAbeg:moVAx,DATAmoVDs,AxcALLI8255AmoVAh,9moVDx,oFFseTmesgInT21hsc
13、An:moVAh,1InT16hJnZReTuRnmoVDx,202hInAL,DxTesTAL,00000010bJZscAnmoVDx,201hInAL,DxAnDAL,07hmoVbx,oFFseTTAbxLATTAbmoVDx,200houTDx,ALJmpscAnReTuRn:moVAh,4chInT21hI8255ApRocmoVDx,203hmoVAL,0A7houTDx,ALmoVAL,04houTDx,ALmoVDx,201hmoVAL,00houTDx,ALReTI8255AenDpcoDeenDsenDbeg(3)将实验箱开关打开,程序写入386,然后进行连接、下载,按F5进行运行。五、实验结果(1)K2-K0=000时,LeD0亮;(2)K2-K0=101时,LeD5亮;(3)K2-K0=111时,LeD7亮(4)K2-K0=001时,LeD1亮;
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1