千家论坛_弱电智能化技术与工程讨论(建筑智能,家居智能,人工智能)

路由交换
收藏本版 (7) |订阅

路由交换 今日: 3703 |主题: 18312|排名: 28 

发新帖
打印 上一主题 下一主题

X5045读写子程序...

[复制链接]
豆儿 发布于: 2003-8-8 18:52 1233 次浏览 3 位用户参与讨论
跳转到指定楼层
X5045读写子程序 ;**************extern EEPROM const define****** WREN EQU 06H ;X5045 WRITE ENABLE ;WRDI EQU 04H ;X5045 write disable RDSR EQU 05H ;Read x5045 status register WRSR EQU 01H ;Write x5045 status register READ EQU 03H ;Read data from x5045 instruction WRITE EQU 02H ;Write data to x5045 instruction STATUS EQU 30H ;STATUS REGISTER INIT ;********************************************************* ;***********读数据子程序******************** ;数据最终在以R0间址的缓冲区中 RDX5_DAT: CLR A RDX5_DAT0: MOV R7,#08H ;8bit RDX5_DAT1: CLR C SETB SCK NOP NOP NOP NOP NOP CLR SCK ;产生下降边沿 NOP NOP NOP NOP NOP MOV C,SDO ;读出数据 RLC A ;SO->Cy->ACC.0 DJNZ R7,RDX5_DAT1 MOV @R0,A ;数据暂存在缓冲区 INC R0 CLR ACC DJNZ R1,RDX5_DAT0 ;未完继续 CLR SCK RET ;********写数据子程序******************* ;********数据长度在 R1,数据在RO指向的地址中 WRITE_CD: CLR A CLR C WRITE_CD0: MOV A,@R0 MOV R7,#08H WRITE_CD1: CLR SCK RLC A MOV SDI,C CPL SCK ;SCK FOR 1 DATA IS valideation CLR C DJNZ R7,WRITE_CD1 INC R0 ;NEXT BYTE DJNZ R1,WRITE_CD0 CLR SDI RET ;**************读状态寄存器子程序 READ_STATUS: CLR A CLR C CLR CS MOV A,#RDSR ;Read status register instruction MOV R7,#08H ; READ_ST1: CLR SCK RLC A ;FRIST FOR MSB BIT MOV SDI,C SETB SCK ;Make the rising edge of clock CLR C DJNZ R7,READ_ST1 MOV R7,#08H READ_ST2: CLR C SETB SCK ;DATA FROM X5045 TO CPU by the fulling edge NOP NOP NOP NOP NOP CPL SCK NOP NOP NOP NOP NOP MOV C,SDO RLC A ;SO->Cy->ACC.0 DJNZ R7,READ_ST2 MOV 30H,A ;DATA SAVE TO "X5045" BUFFER CLR SCK SETB CS RET 另外,如果不用X5045的看门狗的时候,请把它给禁止掉。 ;**************STATUS REGISTER INIT***** ST_INIT: LCALL READ_STATUS MOV A,30H JB ACC.0,$-5 ;X5045 IS BUSY THEN TURN CONTIUE TO READ MOV R0,#30H MOV @R0,#WRSR ;WRITE STATUS REGISTER INSTRUCTION MOV R1,#01H CLR CS ;X5045 CHIP IS SELECTED LCALL WRITE_CD MOV R0,#30H MOV @R0,#STATUS MOV R1,#01H LCALL WRITE_CD ;WRITE DATA TO X5045 SETB CS RET 提供给大家作为参考!
回复

使用道具 举报

已有3人评论

新浪微博达人勋

千家认证

沙发
hlm123 发表于 2006-5-31 13:09:00
看不懂啊  你是从哪些地方学的啊  谢谢
回复 支持 反对

使用道具 举报

新浪微博达人勋

千家认证

板凳
豆儿 发表于 2006-6-1 12:39:00

这是汇编语言,最简单的了,没学过啊!

回复 支持 反对

使用道具 举报

新浪微博达人勋

千家认证

地板
fclvgyfe 发表于 2006-6-5 12:29:00
要这么多NOP做什么,以为SPI不够快啊.
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册 新浪微博登陆 千家通行证登陆

本版积分规则

千家智客微信号
千家智客微信
玩物说商城
玩物说商城