找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 3417|回复: 1
打印 上一主题 下一主题
收起左侧

单片机数字电压表仿真,量程(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

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏1 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:438003 发表于 2018-12-6 22:35 来自手机 | 只看该作者
感谢分享
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表