⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 5460.txt

📁 5460
💻 TXT
字号:
CNKI上有相关资料。另外用263搜索一下,应该可以找到。程序源码如下(调试通过。我用的单片机是89C52)
INIT_CS5460:
  MOV    A,#0FFH
  LCALL  WRITE_COMMOND
  NOP
  MOV    A,#0FFH
  LCALL  WRITE_COMMOND
  NOP
  MOV    A,#0FFH
  LCALL  WRITE_COMMOND
  NOP
  MOV    A,#0FEH
  LCALL  WRITE_COMMOND                  ;以上程序初始化串行口

  NOP
  MOV    52H,#00000000B                 ;无相位补偿
  MOV    51H,#00000000B                 ;电平触发中断
  MOV    50H,#00000001B                 ;K=1
  MOV    A,#01000000B
  LCALL  WRITE_REG                      ;以上程序初始化配置寄存器

  MOV    A,#01110100B                   ;允许中断
  MOV    50H,#00H
  MOV    51H,#00H
  MOV    52H,#80H
  LCALL  WRITE_REG                      ;以上程序初始化屏蔽寄存器

  MOV    A,#11101000B                   ;启动转换
  LCALL  WRITE_COMMOND

  NOP
  RET
;***************
READ_DIAN:
  MOV      A,#00010100B                   ;读取电量到50H-52H
  LCALL    READ_REG
  MOV      62H,52H                        ;零漂校准
  MOV      61H,51H
  MOV      60H,50H
  MOV      66H,#00H
  MOV      65H,#02H
  MOV      64H,#0CFH
  LCALL    BYTE3_ADD
  MOV      60H,64H
  MOV      61H,65H
  MOV      62H,66H
  READ_DIAN2:                        ;清除状态寄存器的值
  MOV      A,#00011110B
  LCALL    READ_REG
  NOP
  MOV      A,#01011110B
  LCALL    WRITE_REG
  NOP
  MOV      A,#00011110B
  LCALL    READ_REG
  MOV      A,52H
  JB       ACC.7,READ_DIAN2
  RET
;****************
READ_REG:
  PUSH     PSW
  SETB     RS1                          ;使用第二组寄存器
  CLR      CS5460_CS
  SETB     CS5460_SDO                   ;为读取口线做准备
  CLR      CS5460_SDI

  MOV      R0,#8
  READ_REG1:
  RLC      A
  MOV      CS5460_SDI,C
  CLR      CS5460_SCLK
  NOP
  SETB     CS5460_SCLK
  DJNZ     R0,READ_REG1
  MOV   R0,#52H
  MOV   R2,#03H
  READ_REG2:
  MOV   R3,#08H
  MOV   R4,#0FEH
  READ_REG3:
  CLR   CS5460_SCLK
  NOP
  MOV   C,CS5460_SDO
  RLC   A
  MOV   R5,A
  MOV   A,R4
  RLC   A
  MOV   R4,A
  MOV   CS5460_SDI,C
  SETB  CS5460_SCLK
  MOV   A,R5
  DJNZ  R3,READ_REG3
  MOV   @R0,A
  DEC   R0
  DJNZ  R2,READ_REG2
  CLR   CS5460_SDI
  NOP
  SETB  CS5460_CS
  POP   PSW
  RET
;************
WRITE_REG:
  PUSH     PSW
  SETB     RS1
  CLR      CS5460_CS
  NOP

  MOV      R0,#8
  WRITE_REG1:
  RLC      A
  MOV      CS5460_SDI,C
  CLR      CS5460_SCLK
  NOP
  SETB     CS5460_SCLK
  DJNZ     R0,WRITE_REG1
  MOV      R0,#52H
  MOV      R2,#03H
  WRITE_REG2:
  MOV      R3,#08H
  MOV      A,@R0
  WRITE_REG3:
  RLC      A
  MOV      CS5460_SDI,C
  CLR      CS5460_SCLK
  NOP
  SETB     CS5460_SCLK
  DJNZ     R3,WRITE_REG3
  DEC      R0
  DJNZ     R2,WRITE_REG2

  NOP
  SETB     CS5460_CS
  POP      PSW
  RET
;**************
WRITE_COMMOND:
  PUSH     PSW
  SETB     RS1
  CLR      CS5460_CS
  NOP
  CLR      CS5460_SDO
  MOV      R0,#8
  WRITE_COMMOND1:
  RLC      A
  MOV      CS5460_SDI,C
  CLR      CS5460_SCLK
  NOP
  SETB     CS5460_SCLK
  DJNZ     R0,WRITE_COMMOND1
  NOP
  SETB     CS5460_CS
  POP      PSW
  RET
 

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -