标题: 单片机数字电压表仿真,量程(1-150v)误差±1v,带汇编源码 [打印本页]

作者: 51黑ff    时间: 2016-9-2 03:10
标题: 单片机数字电压表仿真,量程(1-150v)误差±1v,带汇编源码
采用adc0804来进行模数转换.
由于算法原因,显示到160v时,数码管动态显示会很不稳定,所以将其量程限制到150v,误差精度为(±1v),误差原因:adc0804 参考电压悬空,导致其测量精度为19.53mv,为了计算方便,选取19.5mv,导致误差~

汇编程序如下:
  1. AD_RD   BIT    P3.3
  2.           AD_WR   BIT    P3.4
  3.           AD_INTR  BIT    P3.5
  4.           ORG         00H
  5. SETUP:
  6.           MOV         R6,#0
  7.           MOV         30H,#0
  8.           MOV         31H,#0
  9.            MOV         32H,#0
  10. MAIN:
  11.           MOV         P1,#0FFH
  12.            CLR         AD_WR
  13.           SETB        AD_WR
  14. D5:
  15.           JB          AD_INTR,D5
  16.           CLR         AD_RD
  17.           MOV         A,P1
  18.           CALL        START
  19.           CALL        DIS
  20.           SETB        AD_RD
  21.           JMP         MAIN


  22. START:
  23.           MOV         A,P1
  24.           MOV         B,#195
  25.           MUL         AB
  26.           MOV         R0,A
  27.           MOV         R1,B
  28.           MOV         R2,#0
  29. AA:
  30.           CLR         C
  31.             MOV         A,R0
  32.           SUBB        A,#200
  33.            MOV         R0,A
  34.           MOV         A,R1
  35.           SUBB        A,#0
  36.           MOV         R1,A
  37.           JC          BB
  38.           INC         R2
  39.           JMP         AA

  40. BB:
  41.              MOV         A,R2
  42.              MOV         B,#100
  43.              DIV         AB
  44.              MOV         30H,A
  45.             
  46.              MOV         A,B
  47.              MOV         B,#10
  48.              DIV         AB
  49.               MOV         31H,A
  50.              MOV         32H,B
  51.             
  52.              RET
  53. DIS:
  54.              MOV         DPTR,#TAB

  55.              MOV         A,30H
  56.              CJNE        A,#0,D9
  57.              INC         R6
  58.               JMP         D10
  59. D9:          MOVC        A,@A+DPTR
  60.               MOV         P0,A
  61.              CLR         P2.0
  62.               CALL        DEL
  63. D10:             SETB        P2.0

  64.              MOV         A,31H
  65.              CJNE        R6,#1,D8
  66.              CJNE        A,#0,D8
  67.              JMP         D7
  68. D8:             MOVC        A,@A+DPTR
  69.              MOV         P0,A
  70.              CLR         P2.1
  71.               CALL        DEL
  72. D7:             SETB        P2.1
  73.              MOV         R6,#0


  74.            
  75.              MOV         A,32H
  76.              MOVC        A,@A+DPTR
  77.              MOV         P0,A
  78.              CLR         P2.2
  79.               CALL        DEL
  80.              SETB        P2.2

  81.              MOV         A,#0C1H
  82.              MOV         P0,A
  83.              CLR         P2.3
  84.              CALL        DEL
  85.               SETB        P2.3
  86.              RET
  87. DEL:
  88.              MOV          R7,#20
  89.                DJNZ         R7,$
  90.              RET
  91.             
  92. TAB:
  93. DB           0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H
  94. END

复制代码



数字电压表代码与图.zip

20.99 KB, 下载次数: 38, 下载积分: 黑币 -5


作者: 12345678..    时间: 2018-12-6 22:35
感谢分享




欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1