标题:
单片机可并行接口8255实验(含汇编语言和C语言代码+仿真)
[打印本页]
作者:
WEI9980
时间:
2018-11-25 10:12
标题:
单片机可并行接口8255实验(含汇编语言和C语言代码+仿真)
仿真原理图如下(proteus仿真工程文件可到本帖附件中下载)
0.png
(20.78 KB, 下载次数: 32)
下载附件
2018-11-25 16:16 上传
0.png
(16.54 KB, 下载次数: 32)
下载附件
2018-11-25 16:16 上传
单片机源程序如下(汇编语言):
CSEG AT 0000H
LJMP START
CSEG AT 4100H
PA EQU 0CFA0H
PB EQU 0CFA1H
PCTL EQU 0CFA3H
START: MOV DPTR,#PCTL ;置8255A控制字,ABC口均工作,方式0,AC口输出,B口输入
MOV A,#082
MOVX @DPTR,A
LOOP: MOV DPTR,#PB ;从B口读入开关状态值
MOVX A,@DPTR
MOV DPTR,#PA ;从A口将状态值输出显示
MOVX @DPTR,A
MOV R7,#10H ;延时
DELO: MOV R6,DEL1
DEL1: DJNZ R6,DEL1
DJNZ R7,DEL0
JMP LOOP
END
复制代码
c语言:
#include<absacc.h>
#define PORTC XBYTE[0Xfefe]
#define CONTROL XBYTE[0Xfeff]
void DELAYLONG(void);
void DELAYSHORT(void);
void main(void)
{
CONTROL=0x80;
PORTC=0XFF;
while(1)
{
PORTC=0Xde;
DELAYLONG();
PORTC=0Xee;
DELAYSHORT();
PORTC=0Xef;
DELAYSHORT();
PORTC=0Xee;
DELAYSHORT();
PORTC=0Xef;
DELAYSHORT();
PORTC=0Xee;
DELAYSHORT();
PORTC=0Xef;
DELAYSHORT();
PORTC=0Xf3;
DELAYLONG();
PORTC=0Xf5;
DELAYSHORT();
PORTC=0Xf7;
DELAYSHORT();
PORTC=0Xf5;
DELAYSHORT();
PORTC=0Xf7;
DELAYSHORT();
PORTC=0Xf5;
DELAYSHORT();
PORTC=0Xf7;
DELAYSHORT();
}
}
void DELAYLONG(void)
{
unsigned i;
for(i=0;i<30000;i++);
}
复制代码
所有资料51hei提供下载:
23.zip
(90.21 KB, 下载次数: 47)
2018-11-25 10:10 上传
点击文件名下载附件
111
下载积分: 黑币 -5
作者:
筱豆先生
时间:
2018-12-24 14:46
仿真不走!!
作者:
bb2018620
时间:
2019-1-27 17:52
程序有问题
作者:
stephenwen
时间:
2019-6-6 21:20
感谢楼主,但是需要测试看看
作者:
qee654
时间:
2020-12-4 20:50
程序和电路图都有点问题,需要修改一下才能正常运行
欢迎光临 (http://www.51hei.com/bbs/)
Powered by Discuz! X3.1