先验证显示代码的正确性(包括延时时间的取值);
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
走完这个过程,才开始着手研究模数转换的问题,先去试试吧
首先仿真图中去掉那个非门U3,启动A/D转换直接用SETB P3.6
CLR P3.6两条指令,读转换结果是读P0口,所以,P0口必须加上拉电阻,用一个排电阻。