8255实训心得Word下载.docx

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

8255实训心得Word下载.docx

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

8255实训心得Word下载.docx

  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

  十、扩展要求

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

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

  十一、实验代码

codecodesegmentpublic

  org100h

  start:

  movdx,04a6h

  movax,90h

  outdx,ax

  movbh,0feh

  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

  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

  #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;

  for(cnt=0;

  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)

  pb8255=tmp++;

  pA8255=led_table[cnt];

  if((tmp

  pb8255=tmp;

  pA8255=led_table[keycode];

  ucharkeyscan(void)

  ucharscode,rcode,keyvalue,keycode;

  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;

case0x12:

keycode=1;

case0x14:

keycode=2;

case0x18:

keycode=3;

case0x21:

keycode=4;

case0x22:

keycode=5;

case0x24:

keycode=6;

case0x28:

keycode=7;

case0x41:

keycode=8;

case0x42:

keycode=9;

case0x44:

keycode=10;

case0x48:

keycode=11;

case0x81:

keycode=12;

case0x82:

keycode=13;

case0x84:

keycode=14;

case0x88:

keycode=15;

}pc8255=0x0f;

while((pc8255returnkeycode;

  篇三:

  实验五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

  AnDAL,07h

  moVbx,oFFseTTAb

  xLATTAb

  moVDx,200h

  ouTDx,AL

  JmpscAn

  ReTuRn:

moVAh,4ch

  I8255ApRoc

  moVDx,203h

  moVAL,0A7h

  moVAL,04h

  moVAL,00h

  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