RSS

93AA46与单片机的接口电路

来源:网络 作者:不详 时间:2007-01-08 Tag: 点击:

;* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
一、93AA46与单片机的接口电路
                    VCC          
       AT89C2051                    
                            93AA46
            P1.0             CS
            P1.1             DI
            P1.2             CLK
            P1.3             DO
            P1.4             ORG
 
 


二、控制子程序清单
;* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
; X25045控制子程序清单                  ??杨叶珍
; 1、WD_RST   看门狗复位子程序
; 2、WD_SET   看门狗定时时间设置子程序
; 3、RD_SR     读状态寄存器子程序
; 4、WR_SR    写状态寄存器子程序
; 5、RD_B      读一个字节数据子程序
; 6、WR_B     写一个字节数据子程序
;* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *

;I/O口定义
CS    EQU  P1.0
SI     EQU  P1.1
SO    EQU  P1.3
SCK   EQU  P1.2
 
;看门狗复位子程序
WD_RST:CLR   CS
          SETB  CS
          RET
;看门狗定时时间设置成600ms
WD_SET:MOV R0,#10H  ;若将定时时间设为1.4S或200ms,则应送立即
;数#00或#20
          LCALL WR_SR
          RET
;读状态寄存器子程序,读出的X25045的状态存在A累加器中
RD_SR : MOV A,#05H   ;将RDSR命令送A累加器
          CLR CS
          LCALL WR
          LCALL RD
          SETB CS
          RET
WR:     MOV R0,#08H  ;写8位数据
 
                      共3页  第1页
WR1:    RLC A
          MOV SI,C
          CLR SCK
           SETB SCK
           DJNZ R0,WR1
           RET
RD:      MOV R0。#08H  ;读8位数据
RD1:     SETB SCK
           CLR SCK
           MOV C,SO
RLC A
           DJNZ R0,RD1
           RET
;写状态寄存器子程序。F0为写成功与否标志,F0=0,写成功;F0=1,写失败
WR_SR:  LCALL RD_SR ;检查WPI位,确定X25045是否正在进行写操作
           CLR F0
           JNB ACC.0,WR_SR1;WPI=0,转写状态寄存器
           SETB F0            ;WPI=1,1®F0后返回
           RET
WR_SR1: CLR CS
           MOV A,#06H      ;置位写使能寄存器
           LCALL WR
           SETB CS
           CLR CS
           MOV A,#01H      ;送写状态寄存器命令
LCALL WR
MOV A,#18H     ;设看门狗定时时间为600ms,块保护地址为
;100H~1FFH
           LCALL WR
           CLR CS
           SETB CS 
           RET
;读一个字节数据子程序,待读出数据地址在R3中,读出后的数据存R4
RD_B:    LCALL RD_SR
           JB ACC.0,RD_B
           CLR CS
           MOV A,#03H      ;送读E2PROM命令,地址在00H~FFH间
           LCALL WR
           MOV A,R3        ;送地址
           LCALL WR
           LCALL RD         ;读数据并送R4
           MOV R4,A
           SETB CS
           RET
 
                    共3页  第2页
;写一个字节数据子程序,写入地址在R3中,数据在R4中
WR_B:   LCALL RD_SR
           JB ACC.0,WR_B
           CLR CS
MOV A,#06H      ;置位写使能寄存器
LCALL WR
SETB CS
CLR CS
MOV A,#02H      ;送写E2PROM命令,地址在00H~FFH间
LCALL WR
MOV A,R3         ;送地址
LCALL WR
MOV A,R4        ;送待写数据
LCALL WR
CLR CS
SETB CS
RET


1.部分资源来自网络,经ET电子归类整理,旨在服务电子爱好者并无商业目的,不保证正确性与完整性.
2.如果您觉得本站资源对您有用,请告知您的好友,用搜索引擎搜"ET电子"即可.


最新评论共有 0 位网友发表了评论
发表评论
评论内容:不能超过250字,需审核,请自觉遵守互联网相关政策法规。
用户名: 密码:
匿名?
注册
教程下载