8255实训心得.docx

上传人:b****5 文档编号:5339126 上传时间:2022-12-15 格式:DOCX 页数:6 大小:17.47KB
下载 相关 举报
8255实训心得.docx_第1页
第1页 / 共6页
8255实训心得.docx_第2页
第2页 / 共6页
8255实训心得.docx_第3页
第3页 / 共6页
8255实训心得.docx_第4页
第4页 / 共6页
8255实训心得.docx_第5页
第5页 / 共6页
点击查看更多>>
下载资源
资源描述

8255实训心得.docx

《8255实训心得.docx》由会员分享,可在线阅读,更多相关《8255实训心得.docx(6页珍藏版)》请在冰豆网上搜索。

8255实训心得.docx

8255实训心得

竭诚为您提供优质文档/双击可除

8255实训心得

  篇一:

8255实验报告

  一、实验目的

  掌握8255A的编程原理。

  二、实验设备

  cpu挂箱、8086cpu模块。

  三、实验内容

  8255A的A口作为输入口,与逻辑电平开关相连。

8255A的b口作为输出口,与发光二极管相连。

编写程序,使得逻辑电平开关的变化在发光二极管上显示出来。

  四、实验原理介绍

  本实验用到两部分电路:

开关量输入输出电路和8255可编程并口电路。

  五、实验步骤

  1、实验接线

  cs0?

cs8255;pA0~pA7?

平推开关的输出K1~K8;pb0~pb7?

发光二极管的输入LeD1~LeD8。

  2、编程并全速或单步运行。

  3、全速运行时拨动开关,观察发光二极管的变化。

当开关某位置于L时,对应的发光二极管点亮,置于h时熄灭。

  六、实验提示

  8255A是比较常用的一种并行接口芯片,其特点在许多教科书中均有介绍。

8255A有三个8位的输入输出端口,通常将A端口作为输入用,b端口作为输出用,c端口作为辅助控制用,本实验也是如此。

实验中,8255A工作于基本输入输出方式(方式0)。

  七、实验结果

  程序全速运行后,逻辑电平开关的状态改变应能在LeD上显示出来。

例如:

K2置于L位置,则对应的LeD2应该点亮。

  八、程序框图(实验程序名:

t8255.asm)

  九、程序源代码清单:

  assumecs:

code

  codesegmentpublicorg100h

  ;控制寄存器地址start:

movdx,04a6h

  start1:

  movoutmovinmovout

  jmpdx,04a0hal,axdx,04a2hdx,alstart1ax,90hdx,ax;设置为A口输入,b口输出

  codeends

  end

  start

  十、扩展要求

  程序全速运行之后,实现流水灯。

通过开关控制流水灯的流水方向。

  十一、实验代码

  assumecs:

codecodesegmentpublic

  org100h

  start:

  movdx,04a6h

  movax,90h

  outdx,ax

  movbh,0feh

  start1:

  movdx,04a0h

  inal,dx

  andal,1h

  cmpal,0

  jzL

  R:

  rorbh,1

  jmpoutput

  L:

  rolbh,1

  output:

  movdx,04a2h

  moval,bh

  outdx,al

  movcx,0fffh

  Abc:

  loopAbc

  jmpstart1

  codeends

  endstart

  十二、实验收获

  通过本实验,我们掌握8255A的编程原理。

懂得了如何通过编程的方式来控制流水灯,加深了对编程语法以及程序的理解。

除此之外,还懂得了团队合作的重要性,通过动手实践,把课本上的理论和实际结合起来。

加深了对微型计算机原理的理解。

  篇二:

8255A实训报告

  mcs-51单片机I/o端口扩展

  15电子转1516936012王泽宇

  一、实验目的

  掌握8255A芯片的编程原理。

  二、设计要求

  学习利用8255A扩展芯片实现流水灯、键盘、数码管、液晶显示等设计。

  三、实验器材

  软件:

proteus、keil

  元器件清单:

AT89c51、74Ls373、74Ls138、8255A、按钮、电阻、滑动变阻器、LeD灯、喇叭、日光灯、继电器、三极管、排阻等。

  四、实验原理

  利用8255A芯片对单片机的p0口和p2口扩展出3个独立的8位I/o端口来完成实验。

原理图:

  五、程序设计

  

(1)流程图

  

(2)源码

  #include

  #include

  #include

  #definepA8255xbYTe[0x80fc]

  #definepb8255xbYTe[0x80fd]

  #definepc8255xbYTe[0x80fe]

  #definecom8255xbYTe[0x80ff]

  #defineucharunsignedchar

  voidlight(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;cnt  {

  pb8255=pb8255^0x10;

  delay

(2);

  }

  }

  voidrelay(bitctrl)

  {

  if(ctrl)

  pb8255=pb8255|0x20;

  else

  pb8255=pb8255

  }

  voidlight(void)

  {

  ucharcnt,tmp=0xfe;

  pb8255=pb8255

  for(cnt=0;cnt  {

  pA8255=tmp;

  tmp=(tmp  delay(250);

  delay(250);

  }

  }

  voidled_7s(ucharkeycode)

  {

  ucharcnt,tmp=(pb8255

  uchar

  led_table[16]={0x3f,0x6,0x5b,0x4f,0x66,0x6d,0x7d,0x7,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};

  if(keycode==0xff)

  {

  for(cnt=0;cnt  {

  pb8255=tmp++;

  pA8255=led_table[cnt];

  if((tmp

  delay(250);

  delay(250);

  }

  }

  else

  {

  pb8255=tmp;

  pA8255=led_table[keycode];

  }

  }

  ucharkeyscan(void)

  {

  ucharscode,rcode,keyvalue,keycode;

  pb8255=pb8255

  pc8255=0x0f;

  keyvalue=0;

  if((pc8255pc8255=0x0f;if((pb8255while((scodeif((pc8255keyvalue=~rcode|~scode;}else{scode=_crol_(scode,1);}}}}switch(keyvalue){case0:

keycode=0xff;break;case0x11:

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;case0x81:

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的pA7-pA0与8个发光二极管L7-L0连接,pb2-pb0与拨动开关的K2-K0连接,8255的cs与地址译码区的0-F端子连接,pc2(/sTbb)与单脉冲的/pLus端连接。

先预置开关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)先将实验箱打开,按如下“实验连接图”用数据线将各个部件连接;

  【实验接线图】

  8255pA0L0

  LeD

  显示灯

  L7

  K0拨动K1开关K2

  单脉冲pA7pb0pb1pb2pc2

  cs地址译码

  

(2)连接完成后,根据实验内容的要求写出相关代码;具体代码如下:

  DATAsegmenT

  mesgDb8255AReADY...,0Dh,0Ah,$

  TAbDb00000001b

  Db00000010b

  Db00000100b

  Db00001000b

  Db00010000b

  Db00100000b

  Db01000000b

  Db10000000b

  DATAenDs

  coDesegmenT

  Assumecs:

coDe,Ds:

DATA

  beg:

moVAx,DATA

  moVDs,Ax

  cALLI8255A

  moVAh,9

  moVDx,oFFseTmesg

  InT21h

  scAn:

moVAh,1

  InT16h

  JnZReTuRn

  moVDx,202h

  InAL,Dx

  TesTAL,00000010b

  JZscAn

  moVDx,201h

  InAL,Dx

  AnDAL,07h

  moVbx,oFFseTTAb

  xLATTAb

  moVDx,200h

  ouTDx,AL

  JmpscAn

  ReTuRn:

moVAh,4ch

  InT21h

  I8255ApRoc

  moVDx,203h

  moVAL,0A7h

  ouTDx,AL

  moVAL,04h

  ouTDx,AL

  moVDx,201h

  moVAL,00h

  ouTDx,AL

  ReT

  I8255AenDp

  coDeenDs

  enDbeg

  (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