8255并口扩展实验
一、实验目的熟悉并口扩展芯片8255的内部结构,学会使用8255扩展并口。二、实验设备及器件IBMPC机一台DP-51PROC单片机综合仿真实验仪一台8255PACK模块(选配件)一套三、实验内容通过片外总线方式访问并口扩展芯片8255,并使它的PA口闪烁点亮8个LED。四、实验要求理解掌握并口扩展芯片8255的原理和该芯片的编程方法,学会使用并口扩展芯片8255进行8位并行接口的扩展。五、实验步骤1.将8255PACK模块(选配件)插入PARK2区;2.使用导线连接A7区的P2_IO1、P2_IO2、P2_IO5和P2_CS分别至A2区的A8、A9、P10和A15;3.使用排线连接8255PACK模块上的J1接口(PA口)至D1区的J52接口;4.运行编写好的程序,观察8个LED的点亮情况。六、实验预习要求认真预习本节实验内容,按照实验的要求提前做好实验准备工作,认真阅读8255的数据手册。七、实验参考程序2.C51程序://---------------------------------------------------------
//网站:www.taobai.cc
//---------------------------------------------------------#include#include#include#define_Nop()_nop_()#definePACXBYTE[0x7fff]#definePAXBYTE[0x7cff]typedefunsignedcharbyte;sbitRST=P1^0;voidini_cpu(void){RST=1;_nop_();_nop_();_nop_();_nop_();_nop_();RST=0;PAC=0x80;}voiddelay(void){bytem,n;for(m=0;m<255;m++)for(n=0;n<255;n++);
}voidmain(void){ini_cpu();while(1){PA=0x00;delay();PA=0xff;delay();}}
//---------------------------------------------------------
//网站:www.taobai.cc
//---------------------------------------------------------
#include
#include
#defineucharunsignedchar
#defineuintunsignedint
#definePAXBYTE[0X0000]
#definePBXBYTE[0x0001]
#definePCXBYTE[0X0002]
#defineCOMXBYTE[0X0003]
ucharcodeDSY_CODE[]=
{
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
0XA4,0XC0,0XC0,0X80,0XC0,0X80,0XF9,0X80,
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF
};
ucharcodeDSY_index[]={0x10,0x02,0x04,0x08,0x10,0x20,0x40,0x80};
voiddelayms(uintms)
{
uchari;
while(ms--)for(i=0;i<120;i++);
}
voidmain()
{
uchari,j,k;
COM=0x80;
while(1)
{
for(j=0;j<40;j++)
{
for(k=0;k<8;k++)
{
PB=DSY_index[k];
PA=DSY_CODE[k+i];
delayms(5);
}
}
i=(i+1)%15;
}
}
|
|