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

📄 noname1.asm

📁 使用AT89C51模拟SPI接口驱动ADS7835进行AD转换
💻 ASM
字号:
org 0000h
ajmp main
 org 0030h
C1 bit p1.0
D1 bit p1.1
C2 bit p1.2
D2 bit p1.3
C3 bit p1.4
D3 bit p1.5
clk bit p1.7
main:
clr p1.6
mov TMOD,#20H
mov TL1,#0fdH
mov TH1,#0Fdh
;setb p1.5
;mov PCON,#80H
mov SCON,#40H
setb C1 
setb C2
setb C3
loop:
mov r0,#20H
mov r1,#06
;setb es
;setb ea
;clr p1.5
clr clk
clr A
clr C
clr C1   ;AD转换1开始读数
nop
nop
setb clk ;第一个周期不做操作
nop
nop
clr clk
nop
setb clk
nop
nop
clr clk
mov C,D1 ;读入MSB(D11)位
setb clk
rlc A
nop
clr clk
mov C,D1 ;读入D10位
setb clk
rlc A
nop
clr clk
mov C,D1 ;读入D9位
setb clk
rlc A
nop
clr clk
mov C,D1 ;读入D8位
setb clk
rlc A
anl A,#0FH
clr clk
mov C,D1 ;读入D7位
setb clk
rlc A
orl A,#00H
clr clk
mov C,D1 ;读入D6位
setb clk
rlc A
mov 20H,A
clr clk
mov C,D1 ;读入D5位
setb clk
rlc A
nop
clr clk
mov C,D1 ;读入D4位
setb clk
rlc A
nop
clr clk
mov C,D1 ;读入D3位
setb clk
rlc A
nop
clr clk
mov C,D1 ;读入D2位
setb clk
rlc A
anl A,#0FH
clr clk
mov C,D1 ;读入D1位
setb clk
rlc A
orl A,#00H
clr clk
mov C,D1 ;读入D0位
setb clk
rlc A
nop
clr clk
setb C1  ;AD转换1完成读数,启动下一次转换
setb clk
mov 21H,A
clr A
clr clk
clr C2   ;AD转换2开始读数
setb clk ;第一个周期不做操作
nop
nop
clr clk
nop
setb clk
nop
nop
clr clk
mov C,D2 ;读入MSB(D11)位
setb clk
rlc A
nop
clr clk
mov C,D2 ;读入D10位
setb clk
rlc A
SETB C1
clr clk
mov C,D2 ;读入D9位
setb clk
rlc A
nop
clr clk
mov C,D2 ;读入D8位
setb clk
rlc A
anl A,#0FH
clr clk
mov C,D2 ;读入D7位
setb clk
rlc A
orl A,#20H
clr clk
mov C,D2 ;读入D6位
setb clk
rlc A
mov 22H,A
clr clk
mov C,D2 ;读入D5位
setb clk
rlc A
nop
clr clk
mov C,D2 ;读入D4位
setb clk
rlc A
nop
clr clk
mov C,D2 ;读入D3位
setb clk
rlc A
nop
clr clk
mov C,D2 ;读入D2位
setb clk
rlc A
anl A,#0FH
clr clk
mov C,D2 ;读入D1位
setb clk
rlc A
orl A,#20H
clr clk
mov C,D2 ;读入D0位
setb clk
rlc A
setb p1.5
clr clk
setb C2  ;AD转换2完成读数,启动下一次转换
setb clk
mov 23H,A
clr A  
clr clk
clr C3   ;AD转换3开始读数
setb clk ;第一个周期不做操作
nop
nop
clr clk
nop
setb clk
nop
nop
clr clk
mov C,D3 ;读入MLB(D11)位
setb clk
rlc A
nop
clr clk
mov C,D3 ;读入D10位
setb clk
rlc A
nop
clr clk
mov C,D3 ;读入D9位
setb clk
rlc A
nop
clr clk
mov C,D3 ;读入D8位
setb clk
rlc A
anl A,#0FH
clr clk
mov C,D3 ;读入D7位
setb clk
rlc A
orl A,#40H
clr clk
mov C,D3 ;读入D6位
setb clk
rlc A
mov 24H,A
clr clk
mov C,D3 ;读入D5位
setb clk
rlc A
nop
clr clk
mov C,D3 ;读入D4位
setb clk
rlc A
nop
clr clk
mov C,D3 ;读入D3位
setb clk
rlc A
nop
clr clk
mov C,D3 ;读入D2位
setb clk
rlc A
anl A,#0FH
clr clk
mov C,D3 ;读入D1位
setb clk
rlc A
orl A,#40H
clr clk
mov C,D3 ;读入D0位
setb clk
rlc A
nop
clr clk
setb C3  ;完成AD转换3读数,启动下一次转换
mov 25H,A
setb tr1
send:
mov A,@r0
mov sbuf,A
jnb TI,$     
clr TI
inc r0
djnz r1,send
;clr es
;clr ea
ajmp loop



;ret

end


 


⌨️ 快捷键说明

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