8255实训心得Word下载.docx
- 文档编号:18320979
- 上传时间:2022-12-15
- 格式:DOCX
- 页数:6
- 大小:17.47KB
8255实训心得Word下载.docx
《8255实训心得Word下载.docx》由会员分享,可在线阅读,更多相关《8255实训心得Word下载.docx(6页珍藏版)》请在冰豆网上搜索。
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亮;
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 8255 心得