标题: X5045 初学者求教 [打印本页]

作者: venssion1    时间: 2010-11-7 11:12
标题: X5045 初学者求教

按书本上的例子改了一下

输入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


 
   wrsr_fun equ 01h
   rdsr_fun equ 05h
   wr_fun equ 02h
   rd_fun equ 03h
   wren_fun equ 06h
   wrdi_fun equ 04h
  
      ORG 0000H
   LJMP MAIN
   org 40h
 
MAIN: MOV  SP,#5fh
mov p1,#0ffh
mov p2,#offh
 mov 30h,#99
 mov 31h,#09
 mov r0,#30h 
    SETB CS  
  NOP
   NOP
  CLR CS  
  MOV A,#wrsr_fun  

   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

[此贴子已经被作者于2010-11-7 11:15:52编辑过]





欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1