单片机实验
8255 并口扩展实验
一、实验目的
熟悉并口扩展芯片8255 的内部结构,学会使用8255 扩展并口。
二、实验设备及器件
IBM PC 机 一台
DP-51PROC 单片机综合仿真实验仪 一台
8255 PACK 模块(选配件) 一套
三、实验内容
通过片外总线方式访问并口扩展芯片8255,并使它的PA 口闪烁点亮8 个LED。
四、实验要求
理解掌握并口扩展芯片8255 的原理和该芯片的编程方法,学会使用并口扩展芯片
8255 进行8 位并行接口的扩展。
五、实验步骤
1. 将8255 PACK 模块(选配件)插入PARK2 区;
2. 使用导线连接A7 区的P2_IO1、P2_IO2、P2_IO5 和P2_CS 分别至A2
区的A8、A9、P10 和A15;
3. 使用排线连接8255 PACK 模块上的J1 接口(PA 口)至D1 区的J52 接口;
4. 运行编写好的程序,观察8 个LED 的点亮情况。
六、实验预习要求
认真预习本节实验内容,按照实验的要求提前做好实验准备工作,认真阅读8255
的数据手册。
七、实验参考程序
1.汇编语言程序:
ORG 8000H
LJMP MAIN
ORG 8100H
MAIN: MOV SP,#60H
SETB P1.0
NOP
NOP
NOP
NOP
NOP
CLR P1.0
MOV DPTR,#7FFFH
MOV A,#80H
MOVX @DPTR,A
MOV DPTR,#7CFFH
MOV A,#00H
MOVX @DPTR,A
LOOP: LCALL DELAY
CPL A
MOVX @DPTR,A
LJMP LOOP
DELAY:MOV R7,#0FFH
DEL1: MOV R6,#0FFH
DJNZ R6,$
DJNZ R7,DEL1
RET
END
2.C51 程序:
#include
#include
#include
#define _Nop() _nop_()
#define PAC XBYTE[0x7fff]
#define PA XBYTE[0x7cff]
typedef unsigned char byte;
sbit RST=P1^0;
void ini_cpu(void)
{
RST=1;
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
RST=0;
PAC=0x80;
}
void delay(void)
{
byte m,n;
for(m=0;m<255;m++)
for(n=0;n<255;n++);
}
void main(void)
{
ini_cpu();
while(1)
{
PA=0x00;
delay();
PA=0xff;
delay();
}
}
全部0条评论
快来发表一下你的评论吧 !