按书本上的例子改了一下
输入9和99两个数
入口是:r0 。数据存在30h和31h
出口:r1 。数据存在 31h和32H
KEIL没语法错误 但是在实验板上运行P2无任何显示
急切盼望哪位前辈指点一下 偶已经折腾了3天了。。。
SCK BIT P1.7
CS BIT P1.5
wp bit p1.6
SI BIT P1.2
SO BIT P1.1
LCALL WRITE
MOV A,#30H
LCALL WRITE
MOV A,#wren_fun
LCALL WRITE
SETB CS
NOP
NOP
L1: CLR CS
MOV A,#rdsr_fun
LCALL WRITE
LCALL READ
SETB CS
NOP
NOP
JNB ACC.1,L1
mov p2,a ;这里是为了检查读出来的状态
CLR CS
MOV A,#write
LCALL WRITE
MOV A,#00H
LCALL WRITE
MOV R6,#2
LOOP: MOV A,@r0
LCALL WRITE
inc r0
DJNZ R6,LOOP
SETB CS
call delay
CLR CS
MOV A,#rd_fun
LCALL WRITE
setb cs
nop
nop
clr cs
MOV A,#00H
LCALL WRITE
setb cs
nop
nop
clr cs
MOV R1,#30H
MOV R6,#2
NEXT: LCALL READ
MOV @R1,A
INC R1
DJNZ R6,NEXT
setb sck
SETB CS
mov p2,@r1
NOP
NOP
aJMP $
delay:
mov r4,#7
d1: mov r5,#200
djnz r5,$
djnz r4,d1
ret
WRITE: MOV R2,#8
WGOON: CLR SCK
NOP
NOP
RLC A
MOV SI,C
SETB SCK
NOP
NOP
DJNZ R2,WGOON
RET
READ: MOV R2,#8
RGOON: SETB SCK
NOP
NOP
CLR SCK
MOV C,SO
NOP
NOP
RLC A
DJNZ R2,RGOON
RET
end
欢迎光临 (http://www.51hei.com/bbs/) | Powered by Discuz! X3.1 |