Proteus仿真adc0808采集电压,显示恒为0求解

个人推断是adc0808out口有问题。接过上拉电阻还是无用
2024-11-28 11:53:55
推荐回答(2个)
回答1:

先验证显示代码的正确性(包括延时时间的取值);
org 100h
start:
mov dptr,#tab
loop:
mov a,#1
movc a,@a+dptr ;获得七段码
mov p1,a
clr p2.4 ;显示该位
lcall delay
setb p2.4 ;屏蔽该位

mov a,#3
movc a,@a+dptr
mov p1,a
clr p2.3
lcall delay
setb p2.3

mov a,#1
movc a,@a+dptr
mov p1,a
clr p2.2
lcall delay
setb p2.2

mov a,#4
movc a,@a+dptr
mov p1,a
clr p2.1
lcall delay
setb p2.1

ljmp loop
走完这个过程,才开始着手研究模数转换的问题,先去试试吧

回答2:

首先仿真图中去掉那个非门U3,启动A/D转换直接用SETB P3.6
CLR P3.6两条指令,读转换结果是读P0口,所以,P0口必须加上拉电阻,用一个排电阻。