求数字电压表,三位数码管显示

(1)采用ADC0809,测量0~5V
(2)汇编语言
(3)有原理图
(4)程序有必要的注释
希望各位大哥帮忙啊。
怎么没有原理图啊,55

(1)原理图我博客上有
(2)程序清单:
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;名称:数字电压表
;作者;w418781840,日期:2008.6.12
;功能:实验现0~~5V电压的测量,测量值用三位数管显示
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
CLK BIT P3.5;定义CLK
ORG 0000H
LJMP MAIN ;转入主程序
ORG 0013H
LJMP AGA ; ;中断TNT1,用于读取转换后的数据
ORG 001BH
LJMP WQ ;T1中断入口,用于产生时钟和显示
;;;;;;;;;;主程序;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
ORG 0030H
MAIN: MOV TMOD,#10H ;工作方式1
MOV TH1,#(65536-200)/256 ;产生500HZ
MOV TL1,#(65536-200)%256
SETB EA ;开总中断.
SETB ET1 ; 开T1中断
SETB TR1 ;启动T1
SETB EX1 ;开外部中断1
SETB IT1 ; 边沿触发
MOV DPTR ,#1FFFH ;指向通道INC0
MOVX @DPTR,A ;启动转换
LOOP: LCALL DISPLAY ;调用显示程序.
SJMP LOOP
;;;;;;;;外部1中断,;显示数据转为3位BCD码子程序
;;显示数据转为3位BCD码存入33H,34H,35H(最大值约为5.00V);;;;;;;;;
AGA: MOV DPTR,#1FFFH
MOVX A,@DPTR ;读取转换后的数据.
MOV B,#51 ;255÷51=5.00V运算
DIV AB
MOV 33H,A ; ;个位数放入33H
MOV A,B ; ;余数大于19H,F0为1,乘法溢出,结果加5
CLR F0
SUBB A,#1AH
MOV F0,C
MOV A,#10
MUL AB
MOV B,#51
DIV AB
JB F0,LOOP2
ADD A,#5
LOOP2: MOV 34H,A ; ;小数后第一位放入34H
MOV A,B
CLR F0
SUBB A,#1AH
MOV F0,C
MOV A,#10
MUL AB
MOV B,#51
DIV AB
JB F0,LOOP3
ADD A,#5H
LOOP3: MOV 35H,A ; ;小数后第二位放入35H
MOVX @DPTR,A ; 启动转换
RETI
;;;;;;;;;;;;显示程序;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
DISPLAY: MOV R1,#33H ;指向显示数据首址
MOV R0,#0FEH ;扫描控制字初值
PLAY: MOV A,R0 ;扫描字放入A
MOV P2,A ;从P2口输出
MOV A,@R1 ;取显示数据到A
MOV DPTR,#TAB ;取段码表地址
MOVC A,@A+DPTR ;查显示数据对应段码
CJNE R0,#0FEH,PAP ; 查看是第一位否.
ORL A,#80H ;是,则取小数点.
PAP: MOV P1,#0FFH ;防闪烁.
MOV P1,A ;段码放入P1口
LCALL DL1MS ;显示1MS
INC R1 ;指向下一地址
MOV A,R0 ;扫描控制字放入A
JNB ACC.2,ENDOUT ;ACC.3=0时一次显示结束
RL A ;A中数据循环左移
MOV R0,A ;放回R5内
AJMP PLAY ;跳回PLAY循环
ENDOUT: RET
TAB: DB 3fH,06H,5bH,4fH,66H,6dH,7dH,07H,7fH,6fH
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; 延时程序
;1MS延时程序,LED显示程序用
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
DL1MS: MOV R6,#14H
DL1: MOV R7,#19H
DL2: DJNZ R7,DL2
DJNZ R6,DL1
RET
;;T1定时器中断服务程序,用于给ADC0809产生时钟周期;;;
WQ: MOV TH1,#(65536-200)/256
MOV TL1,#(65536-200)%256
CPL CLK ;取反.
RE: RETI
END
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
温馨提示:内容为网友见解,仅供参考
第1个回答  2008-06-11
要自己做的吗
第2个回答  2008-06-12
org 0000h
START: ;MOV 30h,#00H
;MOV 31h,#00H
;MOV 32h,#00H
MOV DPTR,#TABLE ;送段码表首地址
MOV 35H, #00H
SETB P3.4
SETB P3.5
CLR P3.6 ;选择ADC0808的通道3

WAIT: CLR p3.2
SETB p3.2
CLR p3.2 ;启动转换
JNB p3.1,$ ;等待转换结束
SETB p3.0 ;允许输出
MOV 35h,P1 ;暂存转换结果
CLR p3.0 ;关闭输出
MOV R0,#35h
;存放AD转换值的首地址
MOV R1,#38H ;存放BCD码的首地址
;MOV R2,#1 ;要转化的AD转换值的个数

MOV R4,#0 ;暂存转化结果的低位
MOV R5,#0 ;;暂存转化结果的高位
CLR C
MOV A,@R0 ;取要转化的AD转换值
MOV B,#14H ;×20
MUL AB
MOV R3,A ;积低位存入TEMPLOW单元
MOV A,B
MOV R2,A ;积高位存入TEMPHIGH单元
CLR A ;转化程序

MOV R6,A
MOV R7,#10H
BP1:CLR C
MOV A,R3
RLC A
MOV R3,A
MOV A, R2
RLC A
MOV R2,A
MOV A ,R6
ADDC A ,R6
DA A
MOV R6 ,A
MOV A ,R5
ADDC A ,R5
DA A
MOV R5 ,A
MOV A,R4
ADDC A,R4
SWAP A
MOV R4,A
DJNZ R7,BP1
MOV 30H,R6
MOV 31H,R5
MOV R0,#30H
MOV R1,#38H
MOV R7,#02H
BP2: MOV A,@R0
ANL A,#0FH
MOV @R1,A
INC R1
MOV A,@R0
SWAP A
ANL A,#0FH
MOV @R1,A
INC R0
INC R1
DJNZ R7, BP2

; RET
LCALL DISP ;显示AD转换结果
SJMP WAIT
;*******************
;显示子程序
;*******************
DISP:MOV A,#0FEH
MOV P2,A
MOV A,3BH
MOV DPTR,#TABLE
MOVC A,@A+DPTR
ORL A,#80H ;加小数点
MOV P0,A
CALL DELAY
MOV A, #0FDH
MOV P2,A
MOV A,3AH
MOV DPTR, #TABLE
MOVC A,@A+DPTR
MOV P0,A
LCALL DELAY
MOV A, #0FBH
MOV P2,A
MOV A,39H
MOV DPTR, #TABLE
MOVC A,@A+DPTR
MOV P0,A
LCALL DELAY
MOV A, #0F7H
MOV P2,A
MOV A,38H
MOV DPTR, #TABLE
MOVC A,@A+DPTR
MOV P0,A
LCALL DELAY
RET
TABLE: DB 3FH,06H,5BH,4FH,66H
DB 6DH,7DH,07H,7FH,6FH
DELAY: MOV 40,#34H
D0: MOV 41,#19H
D1: DJNZ 41,D1
DJNZ 40,D0
RET

END

...数字电表头用的16脚的ic是什么型号的?改电压表的电路图有没有?_百...
JX1126是一款单片集成LED数字显示电压表控制芯片,3位数码管显示,电压显示范围0V—39.9V。IC有一个输出脚可外接一个蜂鸣器,电压小于10V时,蜂鸣器滴滴长响,电压在11V-15V范围蜂鸣器不响,电压在16V-22V范围蜂鸣器滴滴长响,在23V-30V范围蜂鸣器不响,电压在31V-39.9V范围蜂鸣器滴滴长响。可应用...

求数字电压表,三位数码管显示
MOV A,@R1 ;取显示数据到A MOV DPTR,#TAB ;取段码表地址 MOVC A,@A+DPTR ;查显示数据对应段码 CJNE R0,#0FEH,PAP ; 查看是第一位否.ORL A,#80H ;是,则取小数点.PAP: MOV P1,#0FFH ;防闪烁.MOV P1,A ;段码放入P1口 LCALL DL1MS ;显示1MS INC R1 ;指向下一地址 MOV...

中九机的数码显示面板怎样改成数字电压表或温度表
回答:很没价值首先改电压表只有数码管可以利用,再则买个电压表和便宜。

三位七段数码管显示电压电路
您要问的是三位七段数码管显示电压电路的原理是什么吗?通过数码管的七个发光二极管(段)的不同组合,显示不同的数字。三位七段数码管显示电压电路的接线方法是:将数码管的七个发光二极管(段)的两端分别连接到一个3位半数字电压表的7个电压输出端子上,数码管的公共阳极接+5V,就可以显示电压了...

单片机设计制作数字电压表
ii. 由于ADC0809的参考电压VREF=VCC">CC,所以转换之后的数据要经过数据处理,在数码管">数码管上显示出电压值。实际显示的电压值 (D\/256*VREF)5. 汇编源程序 (略)6. C语言源程序 include <AT89X52.H> unsigned char code dispbitcode[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f...

3位LED数码管电压表用什么芯片好?主要是电路简单,成本低!
3 1\/2位数字电压表芯片常用的有7106和7107;7106驱动LCD,7107驱动LED;成品的LED数字电压表价格不贵,网上有售,价格20元\/只以下;

直流系统短路有什么现象怎么处理
3、工作温度:-20至+55°C 4、电源:8节“C”型电池(2号电池) 5、电池工作时间:大于24小时 6、尺寸:21cm*15cm*7cm 7、重量:1公斤 信号接收器技术参数: 1、直流系统母线电压范围:220VDC、110VDC、48VDC、24VDC; 2、双电流钳:20mm,70mm。 3、三位红色数码管显示。 4、接地电阻检测范围:0—100KΩ,...

多路数字电压表是什么
数字电压表是指表面从指针改为数字的电压表,即采用数码管显示或者液晶面板显示。中文名 数字电压表 外文名 DVM 方式 位数分的 对应 3\/2位、5位、8位 简介 在电量测量中,电压、电流和频率是最基本的三个被测量,其中电压量的测量最为经常。而且随着电子技术的发展,更是经常需要测量高精度的电压,...

求一简易数字电压表的电路原理图
1. 实验任务 利用单片机AT89S51与ADC0809设计一个数字电压表,能够测量0-5V之间的直流电压值,四位数码显示,但要求使用的元器件数目最少。2. 电路原理图 图1.28.1 3. 系统板上硬件连线 a) 把“单片机系统”区域中的P1.0-P1.7与“动态数码显示”区域中的ABCDEFGH端口用8芯排线连接。b)...

ADC0832简易数字电压表C语言
简易数字电压表基于 ADC0832 模数转换器与 AT89S52 微控制器的实现,通过 C 语言编程。此程序设计用于将模拟电压转换为数字值并显示在共阳数码管上。主要硬件配置包括:AT89S52 微控制器作为中央处理器,ADC0832 用于电压转换,以及共阳数码管作为显示设备。微控制器通过串行接口控制 ADC0832,实现电压的数字化...

相似回答