標(biāo)題: X5045 初學(xué)者求教 [打印本頁(yè)]

作者: venssion1    時(shí)間: 2010-11-7 11:12
標(biāo)題: X5045 初學(xué)者求教

按書(shū)本上的例子改了一下

輸入9和99兩個(gè)數(shù)

入口是:r0 。數(shù)據(jù)存在30h和31h

出口:r1 。數(shù)據(jù)存在 31h和32H

KEIL沒(méi)語(yǔ)法錯(cuò)誤 但是在實(shí)驗(yàn)板上運(yùn)行P2無(wú)任何顯示

急切盼望哪位前輩指點(diǎn)一下 偶已經(jīng)折騰了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  ;這里是為了檢查讀出來(lái)的狀態(tài)

  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

[此貼子已經(jīng)被作者于2010-11-7 11:15:52編輯過(guò)]





歡迎光臨 (http://www.torrancerestoration.com/bbs/) Powered by Discuz! X3.1