找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 3643|回复: 0
打印 上一主题 下一主题
收起左侧

X5045 初学者求教

[复制链接]
跳转到指定楼层
楼主
ID:26506 发表于 2010-11-7 11:12 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

按书本上的例子改了一下

输入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编辑过]
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏1 分享淘帖 顶 踩
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表