导航: 老古网老古论坛XMOS公共讨论区XMOS开源项目区单片机程序设计嵌入式系统广告区域
→按你的方法做了,还是不行,继续请教!

* 37817: x5045程序设计

   baolqkun 
baolqkun发表的帖子 

 按你的方法做了,还是不行,继续请教!
cs  bit p2.2
si  bit p1.7 
sck  bit p2.0
so  bit p2.1
wren_inst equ 06h
wrdi_inst equ 04h
wrsr_inst equ 01h
rdsr_inst equ 05h
write_inst equ 02h
read_inst equ 03h
byte_addr equ  10h
byte_data equ 11h
page_addr equ 1f0h
page_data1 equ 22h
page_data2 equ 33h
page_data3 equ 44h
status_reg equ  00h
max_poll equ 99h
init_state equ 08h
inis_state equ 00h
slic  equ 030h

stack_top equ 060h

;************************************************
;*code

 org 0000h
 ljmp main

 org 0100h
main: 
 mov sp,#stack_top
 clr ea
 nop
 setb so
 nop
 setb cs
 nop
 clr sck
 nop
 clr si
 nop
 lcall wren_cmd
 lcall wrsr_cmd
 lcall wren_cmd
 lcall byte_write
 lcall wren_cmd 
 lcall byte_read
 lcall wren_cmd
 lcall rst_wdog
 jmp main

;*****************************
wren_cmd:
 clr sck
 nop
 clr cs
 nop
 mov a,#wren_inst
 lcall outbyt
 clr sck
 nop
 setb cs
 nop
 ret

;****************************
wrdi_cmd:
 clr sck
 nop
 clr cs
 nop
 mov a,#wrdi_inst
 lcall outbyt
 clr sck
 nop
 setb cs
 nop
 ret 

;****************************
wrsr_cmd:
 clr sck
 nop
 clr cs
 nop
 mov a,#wrsr_inst
 lcall outbyt
 mov a,#status_reg
 lcall outbyt
 clr sck
 nop
 setb cs
 nop
 lcall wip_poll
 ret

;***************************
rdsr_cmd:
 clr sck
 nop
 clr cs
 nop
 mov a,#rdsr_inst
 lcall outbyt
 lcall inbyt
 clr sck
 nop
 setb cs
 nop
 ret

;***************************
byte_write:
 mov dptr,#byte_addr
 clr sck
 nop
 clr cs
 nop
 mov a,#write_inst
 mov b,dph
 mov c,b.0
 mov acc.3,c
 lcall outbyt
 mov a,dpl
 lcall outbyt
 mov a,#byte_data
 lcall outbyt
 clr sck
 nop
 setb cs
 nop
 lcall wip_poll
 ret

;******************************
byte_read:
 mov dptr,#byte_addr
 clr sck
 nop
 clr cs
 nop
 mov a,#read_inst
 mov b,dph
 mov c,b.0
 mov acc.3,c
 lcall outbyt
 mov a,dpl
 lcall outbyt
 lcall inbyt
 clr sck
 nop
 setb cs
 nop
 ret

;*****************************
page_write:
 mov dptr,#page_addr
 clr sck
 nop
 clr cs
 nop
 mov a,#write_inst
 mov b,dph
 mov c,b.0
 mov acc.3,c
 lcall outbyt
 mov a,dpl
 lcall outbyt
 mov a,#page_data1
 lcall outbyt
 mov a,#page_data2
 lcall outbyt
 mov a,#page_data3
 lcall outbyt
 clr sck
 nop
 setb cs
 nop
 lcall wip_poll
 ret

;*******************************
sequ_read:
 mov dptr,#page_addr
 clr sck
 nop
 clr cs
 nop
 mov a,#read_inst
 mov b,dph
 mov c,b.0
 mov acc.3,c
 lcall outbyt
 mov a,dpl
 lcall outbyt
 lcall inbyt
 lcall inbyt
 lcall inbyt
 clr sck
 nop 
 setb cs
 nop
 ret

;******************************
rst_wdog:
 clr cs
 nop
 setb cs
 ret

;*****************************
wip_poll: 
 mov r1,#max_poll
wip_poll1:
 lcall rdsr_cmd
 jnb acc.0,wip_poll2
 djnz r1,wip_poll1
wip_poll2:
 ret

;*****************************
outbyt:
 mov r0,#08
outbyt1:
 clr sck
 rlc a
 mov si,c
 setb sck
 djnz r0,outbyt1
 clr si
 ret

;****************************
inbyt: 
 mov r0,#08
inbyt1: 
 setb sck
 nop
 clr sck
 mov c,so
 rlc a
 djnz r0,inbyt1
 ret
 
 END

发表时间:2003年7月22日9:42:11

  
回复该帖

本主题共有 14 帖,分页:>>>>>该主题的所有内容[14]条

 *树形目录 只列出部分跟帖的标题以及简单的摘要信息 该主题的部分跟帖如下:

  37819.[详细]我也写片子了,读出的数据还是不对,真要命
摘要:......(无内容)
- [baolqkun][1386次] 2003年7月22日

  37826.[详细]我有一个,写得不怎么样,但可以用,供你参考;
摘要:SCK  BIT P1.5  ;X5045时钟 SDI  BIT P1.6  ;X5045串行数据输入线 CS50&nb......(3460字)
- [Lichunfu][1329次] 2003年7月22日

  37834.[详细]下面是一个测试成功的程序,请试验,若不能成功,请在上电后延时2秒后再进行读写,是否成功,都请回复,..
摘要:下面是一个测试成功的程序,请试验,若不能成功,请在上电后延时2秒后再进行读写,是否成功,都请回复,谢谢 ;**************************************************************......(2540字)
- [APEARLIU][1069次] 2003年7月22日

[上一篇帖子]:读写24C02时,很多次后出现乱码是什么原因
[下一篇帖子]:Keil C51系统中程序存储器分页使用CPU W77E58(32KFLASH)