找回密码
 注册会员
更新自动建库工具PCB Footprint Expert 2024.04 Pro / Library Expert 破解版

数字直流电压表

[复制链接]
zhaojing0577 发表于 2010-5-31 12:37:28 | 显示全部楼层 |阅读模式

本文包含原理图、PCB、源代码、封装库、中英文PDF等资源

您需要 登录 才可以下载或查看,没有账号?注册会员

×
谁帮我看看我的数字直流电压表乱码怎么回事
未命名.jpg
这是我的程序代码 原理图见附件
  1. CLK BIT P3.5;定义CLK
  2. ORG 0000H
  3. LJMP MAIN ;转入主程序
  4. ORG 0013H
  5. LJMP AGA ; ;中断TNT1,用于读取转换后的数据
  6. ORG 001BH
  7. LJMP WQ ;T1中断入口,用于产生时钟和显示
  8. ;;;;;;;;;;主程序;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  9. ORG 0030H
  10. MAIN: MOV TMOD,#10H ;工作方式1
  11. MOV TH1,#0FFH ;产生500HZ
  12. MOV TL1,#38H
  13. SETB EA ;开总中断.
  14. SETB ET1 ; 开T1中断
  15. SETB TR1 ;启动T1
  16. SETB EX1 ;开外部中断1
  17. SETB IT1 ; 边沿触发
  18. MOV DPTR ,#1FFFH ;指向通道INC0
  19. MOVX @DPTR,A ;启动转换
  20. LOOP: LCALL DISPLAY ;调用显示程序.
  21. SJMP LOOP
  22. ;;;;;;;;外部1中断,;显示数据转为3位BCD码子程序
  23. ;;显示数据转为3位BCD码存入33H,34H,35H(最大值约为5.00V);;;;;;;;;
  24. AGA: MOV DPTR,#1FFFH
  25. MOVX A,@DPTR ;读取转换后的数据.
  26. MOV B,#51 ;255÷51=5.00V运算
  27. DIV AB
  28. MOV 33H,A ; ;个位数放入33H
  29. MOV A,B ; ;余数大于19H,F0为1,乘法溢出,结果加5
  30. CLR F0
  31. SUBB A,#1AH
  32. MOV F0,C
  33. MOV A,#10
  34. MUL AB
  35. MOV B,#51
  36. DIV AB
  37. JB F0,LOOP2
  38. ADD A,#5
  39. LOOP2: MOV 34H,A ; ;小数后第一位放入34H
  40. MOV A,B
  41. CLR F0
  42. SUBB A,#1AH
  43. MOV F0,C
  44. MOV A,#10
  45. MUL AB
  46. MOV B,#51
  47. DIV AB
  48. JB F0,LOOP3
  49. ADD A,#5H
  50. LOOP3: MOV 35H,A ; ;小数后第二位放入35H
  51. MOVX @DPTR,A ; 启动转换
  52. RETI
  53. ;;;;;;;;;;;;显示程序;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  54. DISPLAY: MOV R1,#33H ;指向显示数据首址
  55. MOV R0,#0FEH ;扫描控制字初值
  56. PLAY: MOV A,R0 ;扫描字放入A
  57. MOV P2,A ;从P2口输出
  58. MOV A,@R1 ;取显示数据到A
  59. MOV DPTR,#TAB ;取段码表地址
  60. MOVC A,@A+DPTR ;查显示数据对应段码
  61. CJNE R0,#0FEH,PAP ; 查看是第一位否.
  62. ORL A,#80H ;是,则取小数点.
  63. PAP: MOV P1,#0FFH ;防闪烁.

  64. RL A ;A中数据循环左移
  65. MOV R0,A ;放回R5内
  66. AJMP PLAY ;跳回PLAY循环
  67. ENDOUT: RET
  68. TAB: DB 3fH,06H,5bH,4fH,66H,6dH,7dH,07H,7fH,6fH
  69. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  70. ;; 延时程序
  71. ;1MS延时程序,LED显示程序用
  72. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  73. DL1MS: MOV R6,#14H
  74. DL1: MOV R7,#19H
  75. DL2: DJNZ R7,DL2
  76. DJNZ R6,DL1
  77. RET
  78. ;;T1定时器中断服务程序,用于给ADC0809产生时钟周期;;;
  79. WQ: MOV TH1,#0FFH
  80. MOV TL1,#38H
  81. CPL CLK ;取反.
  82. RE: RETI
  83. END
复制代码

小数点1.rar

70.5 KB, 下载次数: 11, 下载积分: M币 -5

数字电压表

admin 发表于 2010-5-31 13:49:42 | 显示全部楼层
我看了程序没问题 是你数码管选错了 数码管分两种共阴和共阳换下就好了
未命名.jpg
 楼主| zhaojing0577 发表于 2010-5-31 14:51:44 | 显示全部楼层
回复 2# admin


  谢啦
kevintang 发表于 2010-7-24 11:32:23 | 显示全部楼层
看看............................
XUEREN8833 发表于 2012-3-31 19:52:23 | 显示全部楼层
看看…………
XUEREN8833 发表于 2012-3-31 19:53:15 | 显示全部楼层
可以………………
XUEREN8833 发表于 2012-3-31 19:54:01 | 显示全部楼层
怎么下啊 ?
XUEREN8833 发表于 2012-3-31 19:54:43 | 显示全部楼层
哈哈哈哈哈哈
XUEREN8833 发表于 2012-3-31 19:55:23 | 显示全部楼层
{:e151:}{:e144:}{:e142:}{:e134:}
*滑块验证:
您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

QQ|手机版|MCU资讯论坛 ( 京ICP备18035221号-2 )|网站地图

GMT+8, 2024-11-23 11:07 , Processed in 0.064202 second(s), 14 queries , Redis On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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