利用单片机AT89C51与ADC0809设计一个数字电压表,测量0-5V之间的直流电压值,四位数码显示。

2019-07-18 08:46发布

360反馈意见截图16511008104250.png 如图    大神有会做的不~

times New Roman, serif">程序:ADC         EQU        50H
       ORG         0000H       AJMP        MAIN       ORG         000BH       AJMP        INT0       ORG         0030HMAIN:  MOV        TMOD,#02H;       ;初始化脉冲信号       MOV         TH0,#250;       MOV         TL0,#250;       SETB        EA       SETB        TR0       SETB        ET0       MOV         R4,#8START1:MOV        DPTR,#7FF0H  ;指向0通道       MOVX       @DPTR,A      ;读取转换数值       JB         P3.4,AAA1       LCALL      DELAY        ;调用延时程序       JB         P3.4,AAA1 ;判断是否按下按钮并开始转换数值       SETB       P3.2          ;P3.2给高电平锁存地址       INC        R4       CJNE       R4,#9,AAA2       MOV        R4,#1AAA2:  INC       R5             ;显示所选通道       INC        DPTR        ;指向下一通道       MOV        B,R5         ;显示通道并重新锁存地址       MOV        P0,B       CLR        P3.2       JNB        P3.4,$AAA1:  CLR       P2.4       SETB       P2.4       CLR        P2.4       JNB        P2.5,$       SETB       P2.6       MOVX       A,@DPTR ;读取转换数据开始转化为工程量       MOV        ADC,A       CLR        P2.6       LCALL      CONV    ;调用转换子程序       LCALL      DISP    ;调用显示子程序       LCALL      DELAY   ;调用延时程序       LJMP       START1CONV:  MOV      A,ADC             ;数值转换子程序          MOV       B,#51   DIV       AB   MOV       R1,A   MOV       A,B   MOV       B,#2   MUL       AB   MOV       B,#10   DIV       AB   MOV       R2,A   MOV       R3,B       RETDISP:MOV     DPTR,#TABLE    ;数码显示子程序     MOV    A,R4     MOVC   A,@A+DPTR     CLR    P2.3     MOV    P1,A     LCALL  DELAY     SETB   P2.3     MOV    A,R3     MOVC   A,@A+DPTR     CLR    P2.0     MOV    P1,A     LCALL  DELAY     SETB   P2.0     MOV    A,R2     MOVC   A,@A+DPTR     CLR    P2.1     MOV    P1,A     LCALL  DELAY     SETB   P2.1     MOV    A,R1     MOVC   A,@A+DPTR     CLR    P2.2     ORL    A,#80H     MOV    P1,A     LCALL  DELAY     SETB   P2.2     RETINT0:CPL P3.3     RETIDELAY:MOV    R6,#1     ;延时1ms子程序D1:   MOV   R7,#250      DJNZ  R7,$      DJNZ  R6,D1      RETTABLE:    DB  3FH,06H,5BH,4FH,66H   DB   6DH,7DH,07H,7FH,6FH能实现要求的功能就可以~
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。