数据采集控制与数字电压表
数字电压表的设计毕业论文

数字电压表的设计毕业论文数字电压表的设计摘要:本文主要介绍了数字电压表的设计。
首先介绍了数字电压表的基本原理和功能,然后详细讲解了数字电压表的硬件设计和软件设计。
硬件设计包括电路设计和元器件选择,软件设计包括程序设计和界面设计。
最后对数字电压表进行了实验验证,并总结了设计过程中的经验和教训。
1. 引言数字电压表是一种常用的电子测量仪器,广泛应用于工业控制、科研实验和电子维修等领域。
本文将介绍一种基于单片机的数字电压表的设计方案。
2. 基本原理和功能数字电压表的基本原理是通过采集电压信号并将其转换成数字信号,然后通过显示器显示出来。
数字电压表的功能包括测量电压值、显示电压值、单位切换、数据保存等。
3. 硬件设计3.1 电路设计数字电压表的电路设计主要包括信号采集电路、信号转换电路和显示电路。
信号采集电路负责将待测电压信号转换成电压信号,信号转换电路负责将电压信号转换成数字信号,显示电路负责将数字信号显示出来。
3.2 元器件选择在数字电压表的设计中,元器件的选择非常重要。
需要选择合适的电阻、电容、集成电路等元器件,以确保电路的稳定性和精确度。
4. 软件设计4.1 程序设计数字电压表的程序设计主要包括信号采集程序、信号转换程序和显示程序。
信号采集程序负责采集电压信号,信号转换程序负责将电压信号转换成数字信号,显示程序负责将数字信号显示出来。
4.2 界面设计数字电压表的界面设计主要包括显示界面和操作界面。
显示界面负责将数字信号以合适的格式显示出来,操作界面负责提供操作按钮和设置选项。
5. 实验验证为了验证数字电压表的设计方案的准确性和可靠性,进行了一系列实验。
实验结果表明,设计方案能够准确测量电压值并显示出来。
6. 经验总结在数字电压表的设计过程中,我们遇到了一些问题和挑战。
通过实践和总结,我们得出了一些经验和教训。
例如,在硬件设计中,需要注意电路的稳定性和精确度;在软件设计中,需要考虑程序的效率和界面的友好性。
真有效值数字电压表-总结

2014湖南大学电子设计竞赛第一次校内赛赛题真有效值数字电压表一、设计任务设计并制作一台数字真有效值电压表。
二、要求1、基本要求(1)真有效值电压测量:可测量频率范围在0Hz~10kHz频率范围的单频信号或合成信号的电压有效值,测量相对误差≤0.5%+最低位2个字。
(2)测量量程:分200mV、2V、20V三档,可用手动切换量程。
(3)测量结果显示:采用LED或LCD显示十进制数字,三位半数显(0000-1999)(4)输入电阻≥100kΩ。
(5)具有输入过压保护功能。
(6)单电源供电,供电电源电压9V。
2、提高部分(1)扩展频率测量范围为0Hz~100kHz。
(2)增加平均值测量功能。
(3)测量误差降低为0.1%+最低位2个字。
(4)自动量程切换功能。
(5)其他。
设计分析一、对题目的理解1. 真有效值的概念、实现方法及分析(1) 对有效值的理解真有效值不是针对正弦信号定义的,所有电信号都有其有效值。
从物理学的角度而言,就是电流通过物体做的功(发热)等效。
所以在此处不能用检测峰值或平均值通过转换计算得到,而是要通过采样,按有效值的定义,通过离散化计算得到。
检峰或平值值换算得到是针对特定的周期性波形,如正弦波。
而本题要求并没有定义是正弦波。
(2) 有效值的计算有效值计算式:积分部分可通过离散化计算。
设等时间间隔δ采样,在0至T采样时间采样N点,则连续积分可以用离散化公式进行计算:从中可得到:(3) 采样时间计算对误差的影响以单位幅值正弦波为例,分析积分时间及开始程分时刻对计算的影响。
设积分时间为T,初始相位为φ,则对应的有效值的平方为讨论:(a) 当采样时长T为周期T0的整数倍时,有:从中看出,采样后的计算结果与初如采样位置没有相关性。
(b) 当采样时长T不为周期T0的整数倍时,设T=nT0+ΔT0有:与周期整数倍采样相比,产生的偏差为:将T=nT0+ΔT0 和ω=2π/ T0代入,有:两次等时间采样,不考虑采样时间为周期的整数倍时,可能产生的最大读数偏差为:从中可以评估不做周期测量时,要达到误差要求最少的采样周期数。
数字电压表的开题报告

五.日程安排
第2-4周、查阅文献、熟悉单片机及编程语言;
第5-9周、完成系统硬件设计;
第10-16周、完成系统软件设计;
第17-18周、写毕业论文。
六.参考文献
[1]王迎旭.单片机原理与应用技术.北京:机械出版社.2004.7
[2]周向红.51系列单片机与实践教程.北京:北京航空航天大学出版社.2008.5
输入输出模块中它除了8位ADC外还有一个8路模拟开关,其作用可根据地址译码信号来选择8路模拟输入,8路模拟输入可以分时共用一个ADC进行转换。可实现多路采集。其转换结果通过三态输出锁存器输出。
四.课题研究方案
本系统主要由四部分组成,即量程转换模块、逐次逼近A/D转换模块、单片机控制模块、液晶显示模块4个模块组成。
[3]刘国荣.单片机微型计算机技术.北京:人民邮政出版社.2008
[4]清源科技.Protel 99 se电路原理图与PCB设计及仿真.机械工业出版社.2008
指导教师意见
指导Hale Waihona Puke 师(签字):年月日学院意见
学院院长(签字):年月日
填表说明:题目类型: 1、工程设计;2、应用研究;3、理论研究;4、其它;(选1、2、3、4)。
二.国内外研究现状
目前,市场上的主要使用的电压表有:指针式电压表和数字电压表两种。由于传统的指针式电压表功能单一、精度低,不能满足数字化时代的需求,因此,采用单片机的数字电压表,由精度高、抗干扰能力强,可扩展性强、集成方便,还可与PC进行实时通信等优点已使数字电压表成为现在电子测量的主要应用产品。同时,由数字电压表扩展而成的各种通用及专用数字仪器仪表,也把电量及非电量测量技术提高到崭新水平。
简易数字电压表课程设计

电子测量结课作业简易数字电压表指导教师:学院:专业班级:姓名:学号:摘要本文介绍了一种基于单片机的简易数字电压表的设计。
该设计主要由三个模块组成:A/D转换模块,数据处理模块及显示模块。
A/D转换主要由芯片ADC0832来完成,它负责把采集到的模拟量转换为相应的数字量在传送到数据处理模块。
数据处理则由芯片AT89C52来完成,其负责把ADC0832传送来的数字量经过一定的数据处理,产生相应的显示码送到显示模块进行显示;此外,它还控制着ADC0832芯片工作。
该系统的数字电压表电路简单,所用的元件较少,成本低,且测量精度和可靠性较高。
此数字电压表可以测量0-5V的1路模拟直流输入电压值,并通过一个LCD1602液晶屏显示出来。
关键词: 单片机;数字电压表;A/D转换;AT89C52;ADC0832目录1 数字电压表的简介 01.1数字电压表简介 01.2数字电压表的的背景与意义 02 设计总体方案 (2)2.1 设计要求 (2)2.2 设计思路 (2)2.3 设计方案 (2)3 硬件电路设计 (4)3.1 A/D转换模块 (4)3.2 单片机系统 (6)3.3 复位电路和时钟电路 (9)3.4 LCD显示系统设计 (10)3.5 总体电路设计 (12)4 程序设计 (13)4.1 程序设计总方案 (13)4.2 系统子程序设计 (13)5 仿真 (15)5.1软件调试 (15)5.2显示结果及误差分析 (15)5.2.1 显示结果 (15)5.2.2 误差分析 (17)结论 (19)参考文献 (20)附录............................................................................................... 错误!未定义书签。
1 数字电压表的简介1.1数字电压表简介在电量的测量中,电压、电流和频率是最基本的三个被测量,其中电压量的测量最为经常。
数字电压表说明书

湄洲湾职业技术学院数字电压表说明书系别:自动化工程系年级:10级专业:电气自动化姓名:林敬学号:1001010117导师姓名:明雄职称:讲师2013年5月25日目录1.前言12.系统设计技术参数要求 (2)3.系统设计 (3)3.1系统设计总体框图 (3)3.2 各模块原理说明 (3)3.2.1 AT89S51模块.......................... 错误!未定义书签。
3.2.2 ADC0804模数转换模块 (4)3.2.3 四位数码管显示模块 (5)3.3 系统总原理图说明 (6)3.4 系统印刷电路板的制作图 (6)3.5 系统的操作说明 (6)3.6 系统操作注意事项 (6)参考文献 (7)致谢词 (8)附录 (9)附录一:电路总原理图 (9)附录二:印刷电路板原理图 (10)附录三:元件清单 (11)1.前言单片机是在一块半导体材料上集成了CPU、存储器、I/O接口等各种功能部件,具有体积小、功耗低、价格便宜、功能强、可靠性好和使用方便灵活的特点。
随着以半导体集成电路为中心的微电子技术的进步,单片机在工业控制、数据采集、智能化仪表、办公自动化以及家用电器等各个储藏中得到了越来越广泛的应用。
数字电压表(DigitalVoltmeter简称DVM) 是采用数字化测量技术,把连续的模拟电压量转换成不连续、离散的数字化形式并加以显示的仪表。
传统指针式电压表功能单一、精度低,难于满足数字化时代的需求,采用A/D 转换器和单片机构成的数字电压表,由于具有测量精度高, 抗干扰和可扩展能力强, 以及集成性能好等优点,目前已被广泛应用于电子及电工测量 ,工业自动化仪表、自动测试系统等智能化测量领域。
2.系统设计技术参数要求该简易电压表对输入0~5V的模拟电压进行测量和数据显示(要求使用ADC0804)。
具体设计要求是:(1)实现电压表的电源自检显示。
(2)实现电压表的电压测量功能(电压范围为:0~5V)。
数字电压表设计002

接口技术学生姓名:学号:学院:专业: 电子科学与技术题目: 数字电压表设计指导教师:数字电压表的设计一、设计概念资料1.数字电压表基本概念数字电压表(Digital Voltmeter)简称DVM,它是采用数字化测量技术,把连续的模拟量(直流输入电压)转换成不连续、离散的数字形式并加以显示的仪表。
传统的指针式电压表功能单一、精度低,不能满足数字化时代的需求,采用单片机的数字电压表,由精度高、抗干扰能力强,可扩展性强、集成方便,还可与PC进行实时通信。
目前,由各种单片A/D 转换器构成的数字电压表,已被广泛用于电子及电工测量、工业自动化仪表、自动测试系统智能化测量领域,示出强大的生命力。
与此同时,由DVM 扩展而成各种通用及专用数字仪器仪表,也把电量及非电量测量技术提高到崭新水平。
2.数字电压表优缺点⑴显示清晰直观,读数准确,缩短读数和记录的时间。
新型数字电压表还增加了标志符显示功能,包括测量项目符号、单位符号和特殊符号。
⑵显示位数显示位数通常为3位~8位判定数字仪表的位数有两条原则:①能显示从0~9所有数字的位是整数值;②分数位的数值是以最大显示值中最高位数字为分子,用满量程时最高位数字做分母。
⑶准确度高。
准确度愈高,测量误差愈小。
数字电压表的准确度远优于模拟式电压表。
⑷分辨率高。
从设计DVM的角度看,分辨力应受准确度的制约,并与之相适应。
⑸测量范围宽。
多量程DVM一般可测0~1000V直流电压,配上高压探头还可测量上万伏的高压。
(6扩展能力强。
在数字电压表的基础上、还可扩展成各种通用及专用数字仪表、数字多用表(DMM)和智能仪器,以满足不同的需要。
⑺测量速率快。
数字电压表在每秒钟内对被测电压的测量次数叫测量速率,单位是“次/秒”。
它主要取决于A/D 转换器的转换速率,其倒数是测量周期。
⑻输入阻抗高。
数字电压表具有很高的输入阻抗,通常为10MΩ~10000MΩ,最高1TΩ。
在测量时从被测电路上吸取的电流极小,不会影响被测信号源的工作状态,减小由信号源内阻引起的测量误差。
EDA课程设计数字电压表的设计

数字电压表的技术挑战与展望
技术挑战:高精度、 高稳定性、高可靠 性
技术挑战:低功耗、 低噪声、低漂移
技术挑战:高集成 度、高灵活性、高 可扩展性
展望:未来数字电 压表将更加智能化 、自动化、网络化
THANKS
汇报人:
数据处理算法
采样算法:采用定时器进行周期性采样,获取电压信号 滤波算法:采用低通滤波器对采样数据进行滤波,去除噪声干扰 量化算法:采用ADC将滤波后的电压信号转换为数字信号 转换算法:采用DAC将数字信号转换为模拟信号,显示在显示屏上
Part Five
数字电压表的测试 与调试
测试环境与设备
测试设备:数字电压表、示 波器、万用表等
结束:程序结束,等待下一次启动
A/D转换程序流程图
初始化:设置A/D转换器参数,如采样 频率、分辨率等
启动A/D转换:启动A/D转换器,开始 采样
数据采集:读取A/D转换器的数据,并 存储到缓冲区
数据处理:对采集到的数据进行处理, 如滤波、放大等
数据输出:将处理后的数据输出到显示 设备,如LCD、LED等
数字电压表的软件 设计
主程序流程图
初始化:设置初始状态,如电压、电流、 频率等
数据采集:读取传感器数据,如电压、电 流、频率等
数据处理:对采集到的数据进行处理,如 滤波、放大、转换等
数据显示:将处理后的数据显示在屏幕上, 如电压、电流、频率等
控制输出:根据处理后的数据控制输出, 如控制继电器、报警器等
添加标题
启动测试:启动电源, 观察电压表显示值与 实际值是否一致,如 有误差,调整参数进 行校准
添加标题
记录测试数据:记录 电压表在不同负载、 不同电压下的显示值 和实际值,进行分析 和比较
数字直流电压表

摘要本文介绍了用ADC0832集成电压转换芯片和ATC89C52单片机设计制作的数字直流电压表。
在测量仪器中,电压表是必须的,而且电压表的好坏直接影响到测量精度。
具有一个精度高、转换速度快、性能稳定的电压表才能符合测量的要求。
为此,我们设计了数字电压表,该系统有三个部分:数据采集,数据处理和显示,终端接收,主要由ADC0832转换器和单片机ATC89C52构成,A/D转换器在单片机的控制下完成对模拟信号的采集和转换功能,最后由译码器74LS164和LED数码显示器构成的显示部分来显示采集的电压值。
此设计通过调试完全满足设计的指标要求。
电路设计简单,设计制作方便有较强的实用性。
关键词:模数转换器ADC0832;单片机ATC89C52;数字电压表; 译码器74LS164;LED数码显示器摘要 (1)第一章电压表概述 (4)第二章总体方案设计 (6)2.1信号采集分析 (6)2.1.1信号采集 (6)2.1.2 A/D转换器的选取 (8)2.2控制与显示方法分析 (8)2.2.1单片机系统分析 (9)2.2.2显示分析 (10)2.3传输方式分析 (11)第三章系统硬件设计 (12)3.1单片机及外围电路的设计 (12)3.1.1 单片机的选择 (12)3.1.2复位和振荡电路的设计 (13)3.2数据采集电路 (14)3.2.1 A/D转换的一般步骤 (14)3.2.2 ADC0832内部功能与引脚介绍 (14)3.2.3 AT89C52单片机 (16)3.2.3 ADC0832与ATC89C52单片机的接口方法 (17)3.3 LED显示电路和译码器74LS164 (18)3.3.1 LED显示电路 (18)3.3.2 译码器74LS164 (18)3.3.3 LED与74LS164的接口方法 (19)3.4通信电路 (20)第四章系统软件设计 (22)4.1 数字电压表系统软件设计方案确定 (22)4.2数字电压表应用程序设计 (24)4.3 LED显示程序 (24)第五章总结 (26)参考文献 (27)附录A:硬件原理图 (28)附录B:源程序......................................... 错误!未定义书签。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
;--------------------------------------------------------------------------; 课程设计: 数据采集控制与数字电压表;--------------------------------------------------------------------------A8255 EQU 0600H ;8255端口地址:PA0~PA7-->L0~L7B8255 EQU 0602H ;PB0~PB7-->A~G.DP 段码口C8255 EQU 0604H ;PC0~PC3-->X1~X4,PC4.PC5-->EOCCON8255 EQU 0606H ;PC6-->K6电压表,PC7-->K7开机A8254 EQU 0640H ;8254端口地址B8254 EQU 0642HC8254 EQU 0644HCON8254 EQU 0646HADC0809 EQU 06C0H ;ADC0809端口地址;--------------------------------------------------------------------------DATA SEGMENTVRBUF DB 10 DUP(0) ;AD转换结果缓冲区数据段VR DB ? ;AD转换结果数据段V ALUE DB 3 DUP(0) ;电压值数据段000LED DB 3FH,06H,5BH,4FH ;数码管段码表0-15DB 66H,6DH,7DH,07HDB 7FH,6FH,77H,7CHDB 39H,5EH,79H,71HDATA ENDS;--------------------------------------------------------------------------SSTACK SEGMENT STACKDW 64 DUP(?)SSTACK ENDS;--------------------------------------------------------------------------CODE SEGMENTASSUME CS:CODE,DS:DA TA,SS:SSTACKSTART: MOV AX,DATA ;当前数据段址送DSMOV DS,AX;--------------------------------------------------------------------------; 系统初始化及启动程序;--------------------------------------------------------------------------MOV DX,CON8255 ;8255控制字:PA7~PA0显示AD转换值MOV AL,10001000B ;A口输出,B口输出,PC0~PC3输出,PC4~PC7输入!OUT DX,AL;--------------------------------------------------------------------------BEGIN: MOV DX,B8255 ;L0~L7灯全灭!MOV AL,00HOUT DX,ALMOV DX,A8255 ;LED数码管全灭!MOV AL,00HOUT DX,ALMOV DX,CON8254 ;启动秒计数MOV AL,00100111B ;计数器0,读写高8位,方式3,十进制OUT DX,AL;--------------------------------------------------------------------------K7: MOV DX,C8255IN AL,DX ;读C口TEST AL,10000000B ;测试C口最高位!JZ BEGIN ;PC7=1开机!;--------------------------------------------------------------------------; 数据采集程序;--------------------------------------------------------------------------MOV SI,OFFSET VRBUF ;将VRBUF的偏移地址放入SI,SI指向VRBUF MOV CX,10 ;设置循环次数ALEST: MOV DX,ADC0809 ;选择通道,启动转换MOV AL,00H ;选择端口IN0OUT DX,ALEOC: MOV DX,C8255 ;检测EOC状态,判断转换是否结束IN AL,DXTEST AL,00110000B ;判断PC4,PC5是否为1!JZ EOC ;转换未结束MOV DX,ADC0809 ;转换结束,取AD转换结果IN AL,DXMOV [SI],AL ;AD转换结果存入VRBUFINC SILOOP ALEST;-------------------------------------------------------------------------;--------------------------------------------------------------------------MOV BX,0000 ;数据和清零MOV DH,00 ;最大值MOV DL,0FFH ;最小值MOV SI,OFFSET VRBUFMOV CX,10NEXT: MOV AL,[SI]CMP AL,DH ;比较最大值-->DHJBE NEXT1 ;不高于跳MOV DH,ALNEXT1: CMP AL,DL ;比较最小值-->DLJAE NEXT2 ;不低于跳MOV DL,ALNEXT2: MOV AH,00 ;求数据和ADD BX,AXINC SI ;指向下一单元LOOP NEXTMOV AX,BXMOV BH,0MOV BL,DH ;减去最大值SUB A X,BXMOV BH,0MOV BL,DL ;减去最小值SUB A X,BXMOV CL,8 ;求出平均值-->VRDIV CLMOV VR,AL;-------------------------------------------------------------------------MOV DX,A8255 ;显示AD转换结果OUT DX,AL;-------------------------------------------------------------------------MOV DX,C8255 ;判别K6状态:K6=0为数据控制IN AL,DXTEST AL,01000000BJZ KZ ;K6=0为数据控制JMP DYB ;K6=1为数字电压表;--------------------------------------------------------------------------; 数据控制程序;-------------------------------------------------------------------------- KZ: MOV AL,VR ;数据采集控制CMP AL,33HJBE DDZT ;<=1V,转单灯左跳程序CMP AL,66HJBE SDYT ;<=2V,转双灯右跳程序CMP AL,99HJBE SZJL ;<=3V,转向左渐亮程序CMP AL,0CCHJBE SYJM ;<=4V,转向右渐灭程序JMP BJ ;>4V,转闪动显示A/D值.报警处理程序;------------------------------------------------------------------------- DDZT: MOV AL,1 ;显示"1"CALL DISPMOV CX,8 ;循环次数MOV DX,B8255 ;单灯左跳程序MOV AL,01HDDZT1: OUT DX,ALCALL DELAYCALL DELAYROL AL,1 ;循环左移LOOP DDZT1JMP K7;------------------------------------------------------------------------- SDYT: MOV AL,2 ;显示"2"CALL DISPMOV CX,8MOV DX,B8255 ;双灯右跳程序MOV AL,0C0HSDYT1: OUT DX,ALCALL DELAYCALL DELAYROR AL,1 ;循环右移LOOP SDYT1JMP K7;-------------------------------------------------------------------------- SZJL: MOV AL,3 ;显示"3"CALL DISPMOV CX,9 ;MOV CX,8 ?MOV DX,B8255 ;向左渐亮程序MOV AL,00HSZJL1: OUT DX,ALCALL DELAYCALL DELAYSTC ;置进位标志RCL AL,1 ;带进位循环左移LOOP SZJL1JMP K7;-------------------------------------------------------------------------- SYJM: MOV AL,4 ;显示"4"CALL DISPMOV CX,9 ;?MOV DX,B8255 ;向右渐灭程序MOV AL,0FFHSYJM1: OUT DX,ALCALL DELAYCALL DELAYSHR AL,1 ;逻辑右移LOOP SYJM1JMP K7;--------------------------------------------------------------------------BJ: MOV AL,5 ;显示"5"CALL DISPMOV DX,CON8254 ;启动秒计数MOV AL,00100111B ;计数器0,读写高8位,方式3,十进制OUT DX,ALMOV DX,A8254MOV AL,10H ;计数初值OUT DX,ALMOV DX,CON8254MOV AL,01100111B ;计数器1,读写高8位,方式3,十进制OUT DX,ALMOV DX,B8254MOV AL,10HOUT DX,ALMOV CX,10 ;L0~L7闪动显示A/D值MOV AL,VRMOV AH,00HSD: MOV DX,B8255 ;!OUT DX,ALCALL DELAYXCHG AL,AH ;AL,AH数据互换LOOP SDMOV DX,CON8254 ;关报警MOV AL,01100111B ;计数器1,读写高8位,方式3,十进制OUT DX,ALJMP K7;-------------------------------------------------------------------------DISP: MOV DX,A8255 ;数码管显示程序MOV BX,OFFSET LED ;BX指向数码管七段显示码缓冲区首址XLAT ;换码指令OUT DX,AL ;A口输出显示MOV DX,C8255MOV AL,11110111B ;第三个数码管显示OUT DX,ALRET;-------------------------------------------------------------------------DELAY: PUSH CX ;延时程序1MOV CX,0FFFFHDELAY1: LOOP DELAY1POP CXRET;-------------------------------------------------------------------------DYB: CALL CLEARMOV SI,OFFSET V ALUE ;指向电压值MOV AL,VR ;将2进制数转化成十进制电压值??MOV AH,00 ;!MOV CL,51 ;33H??DIV CLMOV [SI],AL ;电压值个位数INC SIMOV AL,AHMOV CL,10MUL CLMOV CL,51DIV CLMOV [SI],AL ;电压值小数点后第一位数INC SIMOV AL,AHMOV CL,10MUL CLMOV CL,51DIV CLMOV [SI],AL ;电压值小数点后第二位数CALL DISCALL CLEARJMP K7;--------------------------------------------------------------------------CLEAR: MOV DX,A8255 ;清屏子程序MOV AL,00H ;将段码置为全0输出到A口OUT DX,ALRET;--------------------------------------------------------------------------DIS: ;显示子程序MOV SI,OFFSET V ALUE ;SI指向电压值个位数MOV BX,OFFSET LED ;BX指向数码管七段显示码缓冲区首址MOV DX,C8255MOV AL,11111101B ;AL为显示11111101(X2选中)OUT DX,AL ;选中显示位MOV AL,[SI] ;取出电压值个位数XLAT ;根据数值取得对应的数码管七段显示码OR AL,80H ;加上小数点MOV DX,A8255 ;!OUT DX,AL ;输出七段显示码CALL DALLY ;延时,数码管显示INC SI ;SI指向电压值十分位数MOV DX,C8255MOV AL,11111011B ;AL为显示11111011(X3选中)OUT DX,AL ;选中显示位MOV AL,[SI] ;取出电压值十分位数XLAT ;根据数值取得对应的数码管七段显示码MOV DX,A8255OUT DX,AL ;输出七段显示码CALL DALLY ;延时,数码管显示INC SI ;SI指向电压值百分位数MOV DX,C8255MOV AL,11110111B ;AL为显示11110111(X4选中) OUT DX,AL ;选中显示位MOV AL,[SI] ;取出电压值百分位数XLAT ;根据数值取得对应的数码管七段显示码MOV DX,A8255OUT DX,AL ;输出七段显示码CALL DALLY ;延时,数码管显示RET ;返回;--------------------------------------------------------------------------DALLY: PUSH CX ;延时子程序2MOV CX,000FHT1: MOV AX,009FHT2: DEC AXJNZ T2 ;不等于0跳LOOP T1POP CXRET;-------------------------------------------------------------------------CODE ENDSEND START;-------------------------------------------------------------------------。