p3.7接swr
p3.0接pin
p3.1接clk
ad0809的clk接脉冲
cs接8000h的译码电路程序:ad0809 xdata 8000h
org 0000h
ajmp main
org 0030h
main:mov dptr,#8000h
mov a,#01h
movx @dptr,a
call delay
movx a,@dptr
mov r0,a
call disp
call delay
call delay
call delay
ajmp maindisp:mov a,r0
anl a,#00001111b
acall dsend
mov a,r0
swap a
anl a,#00001111b
acall dsend
ret
dsend:mov dptr,#tab
movc a,@a+dptr
mov sbuf,a
jnb ti,$
clr ti
ret delay:mov r4,#250
delay1:mov r5,#250
djnz r5,$
djnz r4,delay1
ret
tab:db 03h 0
db 9fh 1
db 25h 2
db 0dh 3
db 99h 4
db 49h 5
db 41h 6
db 1fh 7
db 01h 8
db 09h 9
db 11h 灭
db 11h
db 0c1h
db 63h
db 85h
db 61h
db 71h
db 00h
end
stequ
p3.7
eoc
equ
p3.6
oe
equ
p3.5
BAI
EQU
30H
SHI
EQU
31H
GEWEI
EQU
32H
org
0000h
MOV
DPTR,#0FEF8H
AD转换IN0通道地址
MOV
A,#00H
MOVX
@DPTR,A
启动AD转换
START:
clr
st
setb
st
clr
st
jnb
eoc,$
setb
oe
mov
30H,P2
clr
oe
mov
a,30h
mov
b,#100
div
ab
LOOP:
MOV
BAI,A
MOV
SHI,B
MOV
A,SHI
MOV
B,#10
DIV
AB
MOV
SHI,A
MOV
GEWEI,B
MOV
A,BAI
MOV
P1,A
CLR
P3.2
LCALL
DELAY
SETB
P3.2
MOV
A,SHI
MOV
P1,A
CLR
P3.1
LCALL
DELAY
SETB
P3.1
MOV
A,GEWEI
mov
p1,a
CLR
P3.0
LCALL
DELAY
SETB
P3.0
SJMP
START
DELAY:
mov
R6,#5
D1:
MOV
R7,#200
DJNZ
R7,$
DJNZ
R6,D1
RET
end
这是我编的程序,可以用,你只用0通道的话那就把那个通道选择的三个引脚全接地就是了。
MOV
DPTR,#0FEF8H
AD转换IN0通道地址
MOV
A,#00H
MOVX
@DPTR,A
启动AD转换
这个是启动转换的语句
以上的程序是实现,电位器调节过程中,数码管从0到255变化
ADC0809要工作得在单片机的ALE脚上接个四分频的器件,不然ADC0809是不会工作的。QQ:77254708
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)