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

📄 das8830.asm

📁 一个已经在使用的16位DAC8830的源码,有用的,欢迎下载
💻 ASM
字号:




  P4      equ   0e8h
  sda_io  equ   0e004h
  da_cs   equ   0e000h
  sclk    equ   p3.5
  sdat    equ   p3.4

  spk     bit   P4.1

  org    0000h
  ljmp   main


main:

  clr   spk
  clr   sclk
  setb  sdat

  mov   dptr,#0e000h
  mov   a,#04H
  movx  @dptr,a
  mov   r0,#0
  mov   r1,#0
loop:

  inc   r0
  lcall dac8830

  mov   a,#10
  lcall d1ms

  sjmp  loop


dac8830:
; 要输出的数据从R0R1输,R0为高字节,R1为低字节
; 占用:ACC CY DPTR R0 R1 R2(计数)
  mov  a,#0
  mov  dptr,#sda_io
  movx @dptr,a

  mov  a,#00000100B
  mov  dptr,#da_cs
  movx @dptr,a

  nop
  mov  a,r0
  mov  r2,#8
dac8830_loop1:
  ;(MSB) R0 R1
  clr  sclk
  rlc  a
  mov  sdat,c
  nop
  nop
  nop
  setb sclk
  djnz r2,dac8830_loop1
  
  mov  a,r1
  mov  r2,#8
dac8830_loop2:
  ;(MSB) R0 R1
  clr  sclk
  rlc  a
  mov  sdat,c
  nop
  nop
  setb sclk
  djnz r2,dac8830_loop2
  
  
  clr  sclk
  nop
  nop
  mov  a,#00000110B
  mov  dptr,#da_cs
  movx @dptr,a
  ret


D1ms:              ;X=22.1184MHz
                   ;t=1-255ms
        push  06h
		push  07h
        MOV   R7,A
D1ms_01:
        MOV   R6,#200  ;t.=1ms
D1ms_02:
        NOP
        NOP
        NOP
        NOP
        NOP
        NOP
        NOP
        DJNZ  R6,D1ms_02
        DJNZ  R7,D1ms_01

        pop   07h
		pop   06h
        RET


end

⌨️ 快捷键说明

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