单
片
机
程
序
实
验
报
告
姓名:陈曦
学号23320082203998
系别:通信工程系
实验二简单I/O端口扩展实验
实验目的
学习8051单片机扩张数据存储的方法;
学习61C256芯片的接口方法。
实验设备
微型计算机、单片机仿真器、实验仪、示波器(各一台)
实验连线:若干
实验原理图
实验内容
编写并调试一段程序,功能是把8051内部数据存储器中50H~6FH的内容复制到外部数据存储器中0500H开始的区域中。
要求加入数据读写校验的功能,对写入外部RAM的区域先进行写入、读取校验操作。
汇编语言程序如下:
ADDER EQU 50H
ADDER1 EQU 0500H
BYTE EQU 20H
ORG 0000H
AJMP START
ORG 0030H
START:
MOV R2,#BYTE
MOV R0,#ADDER
MOV DPTR,#ADDER1
MOV ***@R0,#12H ;先写入标志性的数据
INC R0
MOV ***@R0,#34H
INC R0
MOV ***@R0,#56H
INC R0
MOV ***@R0,#78H
INC R0
MOV ***@R0,#9AH
INC R0
MOV ***@R0,#0BCH
INC R0
MOV ***@R0,#0DEH
INC R0
MOV R0,#ADDER
MOV R1,#00H
LOOP:
MOV A,#00H
MOVX ***@DPTR,A
MOVX A,***@DPTR
SUBB A,#00H
JNZ ERROR
MOV A,#0FFH
MOVX ***@DPTR,A
MOVX A,***@DPTR
SUBB A,#0FFH
JNZ ERROR
MOV A,***@R0
MOVX ***@DPTR,A
INC R0
INC DPTR
DJNZ R2,LOOP
AJMP $
ERROR:
INC DPTR
INC R1
DJNZ R2,LOOP
AJMP $
END
C语言源程序:
#include<>
data unsigned char ADDER1 _at_ 0x50;
xdata unsigned char ADDER2 _at_ 0x0500;
main()
{
unsigned char i,temp=0,count=0;
简单IO端口扩展实验 来自淘豆网m.daumloan.com转载请标明出处.