AD转换实验报告
DA转换实验报告
三、实验原理图
参照TLC5615使用说明及实验板原理图。
四、实验步骤
1、实验连线,将实验板上TLC5615的A0端连接到实验板直流0-5V电源上(可调电阻电压输出端)。
2、编写TLC5615串行A/D转换程序。
3、观察数据分析结果数据。
五、实验分析
二进制数字量
十六进制数字量
实验报告
课程名称计算机控制技术
实验项目
专业班级姓名学号
指导教师成绩日期
一、目的和要求
1、了解D/A转换器TLC5615的工作原理,
2、掌握D/A转换器与单片机连接的接口电路和程序设计方法。
3、掌握D/A转换实验上机调试方法。
二、实验内容
1、从TLC5615串行口输入数字量,通过D/A转换产生锯齿波、方波和三角波。
FH
0.07
0.06
0.01
00 0000 0000
0H
0.00
0.00
0.00
计算公式:2*2.5* N/1024
六、实验结果及体会
1.实验结果:D/A转换的结果正确,但是由于分辨率限制的原因,存在一定误差,,
2.通过这实验,我基本掌握D/A转换的原理以及D/A转换器TLC5615的使用方法。
3.读懂器件的数据手册对我们了解器件的工作原理和使用方法有很大的帮11 1111 1111
3FFH
5
4.7
0.3
01 1111 1111
1FFH
2.5
2.49
0.01
01 1111 0000
1F0H
2.42
2.42
0.00
01 0111 0000
17OH
AD转换器实验分析
MOVX A,@DPTR ;读入状态
JNB ACC.7, TEST ;判断EOC状态,EOC=0继续查询
MOV DPTR,#0CFA0H ;EOC=1,转换完毕
MOVX A,@DPTR ;读入数据
3.转换得到的二进制数字量通过P1口送到发光二极管显示。
A/D转换器实验
2)程序流程如图4所示。
开始 启动A/D转换 读入状态信息
单片机原理与应用课程实验
实验六、A/D转换器实验
实验重点:硬件设计、程序设计、现象分析 实验难点:实际应用
A/D转换器实验
在工业控制和智能化仪表中,常由单片机进行实时控制及实时数 据处理,被控制或测量对象的有关参量往往是连续变化的模拟量, 如温度、速度、压力等,单片机要处理这些信号,先将模拟量转换 成数字量,这一过程为模/数(A/D)转换。
1、实验目的
了解A/D转换器ADC0809工作原理,掌握 A/D转换程序设计方法及与89C51连接的接口 电路设计方法。
A/D转换器实验
2、实验要求(1必做,2为选做)
1)利用实验机上的ADC0809做一个通道A/D转换器,实 验机上的电位器提供模拟量输入,编制程序,将模拟量转 换成二进制数字量,并用发光二极管显示(采用查询、延 时或中断方式转换);若在LED数码管显示ADC0809转换 结果,程序如何编写。 3)内容1)改为8通道轮流采集,在LED数码管显示,程序 如何编写。
AD转换实验报告
8292924809基于单片机的AD转换电路专业:班级:学号:组员:指导老师:年月日目录键入章标题(第 1 级) (1)键入章标题(第2 级) (2)键入章标题(第3 级) (3)键入章标题(第 1 级) (4)键入章标题(第2 级) (5)键入章标题(第3 级) (6)引言A/D转换是指将模拟信号转换为数字信号,这在信号处理、信号传输等领域具有重要的意义。
常用的A/D转换电路有专用A/D集成电路、单片机ADC模块,前者精度高、电路复杂,后者成本低、设计简单。
基于单片机的A/D转换电路在实际电路中获得了广泛的应用。
一般的A/D转换过程是通过采样、保持、量化和编码4个步骤完成的,这些步骤往往是合并进行的.当A/D转换结束时,ADC输出一个转换结束信号数据。
CPU可由多种方法读取转换结果:a查询方式;b中断方式;c DMA方式。
通道8为A/D转换器,ADC0809是带有8为A/D转换器、8路多路开关以及微处理机兼容的控制逻辑的CMOS组件。
它是逐次逼近式A/D转换器,可以和单片机直接接口。
ADC0809由一个8路模拟开关、一个地址锁存与译码器、一个A/D转换器和一个三态输出锁存器组成.多路开关可选通8个模拟通道,允许8路模拟量分时输出,共用A/D转换器进行转换。
三台输出锁存器用于锁存A/D转换完的数字量,当OE端为高电平时,才可以从三态输出锁存器取走转换完的数据.一个实际系统中需用传感器把各种物理参数测量出来,并转换为电信号,在经过A/D转换器,传送给计算机;微型计算机加工后,通过D/A转换器去控制各种参数量。
一、实验方案的选择与分析1.1复位电路方案单片机在开机时都需要复位,以便中央处理器CPU以及其他功能部件都处于一个确定的初始状态,并从这个状态开始工作。
51的RST引脚是复位信号的输入端.复位电平是高电平有效持续时间要有24个时钟周期以上。
本系统中单片机时钟频率为6MHz则复位脉冲至少应为4us.方案一:上电复位电路上电瞬间,RST端的的电位与Vcc相同,随着电容的逐步充电,充电电流减小,RST电位逐渐下降。
实验四 AD转换实验
重庆交通大学学生实验报告实验课程名称单片机原理与应用实验名称A/D转换实验实验类型验证性实验开课实验室语音楼单片机原理实验室学院信息科学与工程学院学生姓名学号开课时间2012至2013学年第 2 学期实验评佑等级很好好一般差实验操作能力实验结果实验分析实验思考总结实验成绩教师签名一、实验目的:1.了解ADC0809/ADC0808的工作原理;2.掌握单片机与ADC0809/ADC0808接口原理;3.熟悉CPU中断方式和查询方式读取A/D转换结果的程序设计方法。
二、实验内容:以查询工作方式应用程序,分别启动8路模拟输入通道进行A/D转换,8路转换结果存储在内部数据存储器首地址为30H开始的单元内,并将第0路转换结果送到P1口显示。
按照以上原理完成以下要求:1.用中断方式编写并调试出一个程序;2.用查询方式编写并调试出一个程序;3.用调用显示子程序方法,将转换结果在显示块上显示出来;4.将采样结果以8个LED显示进行编码,以得到将0V—5V区间分为256级显示效果;5.用C51重新编写程序实现上述要求的C程序。
用Proteus仿真软件运行硬件电路仿真设计。
三、实验步骤:1.硬件设计。
参考指导书中所列数码管显示的元器件以及实验程序参考框图,利用Proteus仿真软件,作出其电路图。
2.利用Keil仿真软件编写程序,将其编写好的程序进行调试。
四、实验调试及结果:<一>实验调试方法:1、打开Keil程序,执行菜单命令“ Project”—>“New Project”创建“ 0808AD 转换”项目,并选择单片机型号为AT89C51。
2、执行菜单命令“file”—>“New”创建文件,输入源程序,保存为“0808AD 转换.c”。
在“Project”栏的File项目管理窗口中右击文件组,选择“Add Filesto Group Source Group1”,将源程序“0808AD转换.c”添加到项目中。
嵌入式ad转换实验报告
嵌入式ad转换实验报告嵌入式AD转换实验报告摘要:本实验报告旨在探究嵌入式AD转换器的工作原理和性能特点。
通过对嵌入式AD转换器的实验研究,我们对其转换精度、速度和功耗等方面进行了评估和分析。
实验结果表明,嵌入式AD转换器具有较高的转换精度和速度,且功耗较低,适用于各种嵌入式系统中的数据采集和处理应用。
引言:嵌入式系统在现代科技应用中扮演着越来越重要的角色,而嵌入式AD转换器作为嵌入式系统中的重要组成部分,其性能对整个系统的稳定性和可靠性有着重要影响。
因此,对嵌入式AD转换器进行深入的研究和分析,对于提高嵌入式系统的性能和应用效果具有重要意义。
实验目的:本实验旨在通过对嵌入式AD转换器的实验研究,探究其工作原理和性能特点,评估其转换精度、速度和功耗等指标,为嵌入式系统中AD转换器的选型和应用提供参考和指导。
实验过程:1. 实验平台:使用一款嵌入式开发板作为实验平台,搭建实验环境。
2. 实验方法:通过输入不同幅度和频率的模拟信号,对嵌入式AD转换器进行采样和转换,记录并分析转换结果。
3. 实验数据处理:对实验采集的数据进行处理和分析,计算转换精度、速度和功耗等指标。
实验结果与分析:经过实验研究和数据处理分析,我们得出以下结论:1. 转换精度:嵌入式AD转换器具有较高的转换精度,能够准确地将模拟信号转换为数字信号,满足实际应用需求。
2. 转换速度:嵌入式AD转换器具有较快的转换速度,能够实时采集和转换模拟信号,适用于高速数据采集和处理应用。
3. 功耗:嵌入式AD转换器功耗较低,能够在嵌入式系统中实现低功耗运行,提高系统的能效性。
结论与展望:通过本实验的研究和分析,我们对嵌入式AD转换器的性能特点有了更深入的了解,为嵌入式系统中AD转换器的选型和应用提供了参考和指导。
未来,我们将继续深入研究嵌入式AD转换器的优化和应用,进一步提高嵌入式系统的性能和应用效果。
ad转换器的实验报告
ad转换器的实验报告AD转换器的实验报告一、引言AD转换器(Analog-to-Digital Converter)是一种电子设备,用于将模拟信号转换为数字信号。
在现代电子技术中,AD转换器被广泛应用于各种领域,如通信、控制系统、医疗设备等。
本实验旨在通过实际操作,了解AD转换器的工作原理和性能特点。
二、实验目的1. 了解AD转换器的基本原理;2. 掌握AD转换器的使用方法;3. 分析AD转换器的性能特点。
三、实验原理AD转换器的基本原理是将连续的模拟信号转换为离散的数字信号。
其工作过程可以简单概括为以下几个步骤:1. 采样:从模拟信号中按照一定的时间间隔取样,得到一系列离散的采样点;2. 量化:将每个采样点的幅值转换为相应的数字值;3. 编码:将量化后的数字值转换为二进制编码。
四、实验装置和步骤1. 实验装置:AD转换器、信号发生器、示波器、计算机;2. 实验步骤:a) 连接信号发生器的输出端与AD转换器的输入端;b) 连接AD转换器的输出端与示波器的输入端;c) 设置信号发生器的频率和幅值,调节示波器的触发电平和时间基准;d) 打开AD转换器和示波器,开始采集数据;e) 将采集到的数据导入计算机,进行数据分析。
五、实验结果与分析通过实验,我们获得了一系列采样点的幅值和时间信息。
将这些数据导入计算机,我们可以进行进一步的分析和处理。
例如,我们可以绘制出信号的波形图,观察信号的周期性和幅值变化。
同时,我们可以计算出信号的平均值、最大值、最小值等统计量,以评估AD转换器的精度和稳定性。
六、实验误差与改进在实验过程中,可能会存在一些误差,影响实验结果的准确性。
例如,信号发生器的输出可能存在漂移,导致采样点的幅值偏离真实值。
此外,AD转换器本身的非线性特性也会引入误差。
为了减小误差,可以采取以下改进措施:1. 使用更精确的信号发生器,提高输出稳定性;2. 选择高精度的AD转换器,降低非线性误差;3. 增加采样点的数量,提高采样率。
实验十DA、AD转换实验报告(一)
实验十DA、AD转换实验报告(一)引言概述:实验十DA、AD转换实验报告(一)本实验报告旨在介绍实验十DA、AD转换的相关内容。
在本次实验中,我们将会学习数字模拟转换和模拟数字转换的原理与方法,并通过实际操作进行验证。
本报告将按照以下五个主要部分进行阐述:(1)实验准备,(2)DA转换原理与方法,(3)AD转换原理与方法,(4)实验步骤与结果,(5)实验总结。
正文内容:1. 实验准备1.1 硬件准备- 数字模拟转换器(DAC)模块- 模拟数字转换器(ADC)模块- 连接电缆1.2 软件准备- 实验十DA、AD转换实验软件2. DA转换原理与方法2.1 DA转换原理- 数字模拟转换器将数字信号转换为模拟电压或电流输出的过程- 通过将数字数据转换为电路中的模拟信号,实现了数字信号到模拟信号的转换2.2 DA转换方法- 标准电压法- 标准电流法- R-2R网络法3. AD转换原理与方法3.1 AD转换原理- 模拟数字转换器将模拟量转换为数字量的过程- 通过将连续的模拟信号转换为离散的数字信号,实现了模拟信号到数字信号的转换3.2 AD转换方法- 逐次逼近法- 并行比较法- 闪存式转换法4. 实验步骤与结果4.1 实验设置- 连接DAC和ADC模块到电路中- 连接电缆,确保连接正确4.2 实验步骤- 设置DAC模块的输出值- 进行DA转换并记录输出结果- 将模拟信号输入到ADC模块中- 进行AD转换并记录输出结果4.3 实验结果- 实验运行过程中的数据记录与图表展示5. 实验总结5.1 实验心得体会- 通过本次实验,我更深入地了解了DA、AD转换的原理与方法- 实际操作过程中加深了对数字模拟转换和模拟数字转换的理解5.2 实验结果分析- 分析实验得到的数据与图表,验证转换原理与方法的准确性5.3 实验改进与展望- 在后续的实验中,可以进一步探索其他类型的DA、AD 转换器- 可以对实验步骤进行改进,提高实验效果和精确度总结:本实验报告阐述了实验十DA、AD转换的相关内容。
微机ad转换实验报告
微机ad转换实验报告微机AD转换实验报告一、引言AD转换是现代电子技术中非常重要的一部分,广泛应用于各种领域,如通信、仪器仪表、自动控制等。
本实验旨在通过使用微机进行AD转换实验,探究其原理和应用。
二、实验目的1. 了解AD转换的基本原理;2. 掌握使用微机进行AD转换的方法;3. 分析AD转换的精度和速度。
三、实验原理AD转换是将模拟信号转换为数字信号的过程。
在本实验中,我们将使用微机的AD转换器将模拟信号转换为数字信号。
微机的AD转换器通常是一个多通道的模数转换器,能够将多个模拟信号转换成相应的数字信号。
四、实验步骤1. 连接硬件设备:将待转换的模拟信号通过信号调理电路连接到微机的AD转换器输入端;2. 打开实验软件:启动微机上的AD转换实验软件;3. 设置参数:根据实验要求,设置采样率、分辨率等参数;4. 进行AD转换:点击软件界面上的“开始转换”按钮,开始进行AD转换;5. 数据分析:获取转换后的数字信号,进行数据分析和处理。
五、实验结果与分析通过实验,我们得到了一系列数字信号。
根据这些数字信号,我们可以进行各种数据处理和分析。
例如,我们可以绘制出信号的波形图、频谱图等,进一步分析信号的特性和性能。
六、实验中的问题与解决方法在实验过程中,我们可能会遇到一些问题,如信号失真、噪声干扰等。
针对这些问题,我们可以采取一些解决方法,如增加滤波电路、调整采样率等,以提高AD转换的精度和稳定性。
七、实验总结通过本次实验,我们深入了解了AD转换的原理和应用,掌握了使用微机进行AD转换的方法。
AD转换在现代电子技术中具有广泛的应用前景,掌握AD转换的原理和技术对于我们的学习和工作都具有重要意义。
八、实验心得本次实验让我对AD转换有了更深入的了解。
通过实际操作,我进一步掌握了使用微机进行AD转换的方法,并且了解到了AD转换的精度和速度对于实际应用的重要性。
在今后的学习和工作中,我将更加注重AD转换技术的应用与研究,为现代电子技术的发展做出自己的贡献。
AD转换实验报告
实验报告题目: 班级: 时间: 姓名:实验目的熟悉数模转换的基本原理,掌握D/A 的使用方法。
一、实验设备CPU 挂箱、8086CPU 模块、示波器。
二、实验内容利用D/A 转换器产生锯齿波、三角波和方波。
三、实验原理图本实验用A/D 、D/A 电路四、实验步骤1、实验连线 CS0 CS0832 示波器 DOUT DS 跳线:1 22、用实验箱左上角的“VERF.ADJ ”电位器调节0832的8脚上的参考电压至5V 。
3、调试程序并全速运行,产生不同的波形。
4、用示波器观察波形。
六、实验提示利用电位器“VERF.ADJ ”可以调零,“VERF.ADJ ”电位器调整满偏值。
DAC0832在本实验中,工作在双缓冲接口方式下。
当A1=0时可锁存输入数据;当A1=1时,可启动转换输出。
所以要进行D/A 转换需分二步进行,方法如下:MOV DX,ADDRESS ;ADDRESS 片选信号偶地址MOV AL,DATAOUT DX,AL ;锁存数据ADD DX,2OUT DX,AL ;启动转换七、程序框图程序一 产生锯齿波 程序二 产生方波(实验程序名:dac-1.asm ) (实验程序名:dac-2.asm )N 数据清零 数据=FFH ?数据加一开始 开始 锁存数据 转换输出 数据00送BX 寄存BX 中的数据输出到0832 延时 数据FF 送B X 寄存器 延时程序三产生三角波(实验程序名:dac-3.asm)开始数据清零锁存数据转换输出数据加一数据=FFH?数据=FFH锁存数据转换输出数据减一数据=0?八、程序代码清单:DAC-1,产生锯齿波:assume cs:codecode segment publicorg 100hstart: mov dx,04a0hup1: mov bx,0Up2: mov ax,bxout dx,ax ;锁存数据mov dx,04a2hout dx,ax ;输出使能mov dx,04a0hinc bx ;数据加一jmp up2code endsend startDAC-2,产生方波:assume cs:codecode segment publicorg 100hstart: mov dx,04a0hmov cx,04fhup1: mov bx,0up2: mov ax,bxout dx,axmov dx,04a2hout dx,axmov dx,04a0hloop up1mov cx,04fhup4: mov bx,0ffhup3: mov ax,bxout dx,axmov dx,04a2hout dx,axmov dx,04a0hloop up4jmp startcode endsend startDAC3,产生三角波:assume cs:codecode segment publicorg 100hstart: mov dx,04a0hmov bx,0up: mov ax,bxout dx,ax ;锁存数据mov dx,04a2hout dx,ax ;输出使能inc bxmov dx,04a0hcmp bx,0ffhjne up ;产生三角波上升沿down: mov ax,bxout dx,ax ;锁存数据mov dx,04a2hout dx,ax ;输出使能dec bxmov dx,04a0hcmp bx,0jne down ;产生三角波下降沿jmp upcode endsend start九、实验代码所得波形:图1:实验所得锯齿波图形图2:实验所得方波图形图3:实验所得三角波图形十、实验分析与总结1、实验指导书中已给出一部分内容的完整代码,需要自己思考改动的地方不多,因此实验难度不大。
实验二 AD转换实验
实验二 AD转换实验实验预习要求1、学习 MSP430F6638 单片机中ADC12的配置方法。
2、了解ADC转换原理。
一、实验目的1、了解AD转换原理及LED灯的控制方法。
2、掌握MSP430F6638 中ADC12的配置使用方法。
3、结合电位器与ADC12模块实现对LED灯的控制。
二、实验器材PC 机,MSP430F6638 EVM,USB数据线,万用表,信号发生器。
三、实验内容1、验证性实验:利用MSP430F6638开发板上的拨盘电位器,控制改变AD转换的输入电压值,转换后的数字量显示在段式液晶上面。
使用万用表测得当前输入电压,通过计算得到转换后的理想的数字量与液晶显示的数字量进行比较。
2、设计性实验:AD转换结束会产生中断,编写AD中断服务程序。
利用信号发生器输出信号(例如正弦波、三角波信号)作为AD转换的输入,根据输入电压的大小控制LED灯的亮灭(例如随着输入电压值的增大,LED1到LED5按顺序点亮;随着输入电压值减小,LED灯按顺序熄灭),LED和单片机IO口连接如下图所示。
图2.1 LED灯电路原理图四、实验原理模数转换器(ADC)是指将连续的模拟信号转换为离散的数字信号的器件。
真实世界 的模拟信号,例如温度、压力、声音或者图像等,需要转换成更容易储存、处理和发射的数 字形式。
在A/D 转换中,因为输入的模拟信号在时间上是连续的,而输出的数字信号是离 散量,所以进行转换时只能按一定的时间间隔对输入的模拟信号进行采样,然后再把采样值 转换为输出的数字量。
通常A/D 转换需要经过采样、保持量化、编码几个步骤。
ADC12 电 路如下图所示。
图2.2 ADC12 模块结构框图ADC12 模块中由以下部分组成:输入的16 路模拟开关,ADC 内部电压参考源,ADC12 内核,ADC 时钟源部分,采集与保持/触发源部分,ADC 数据输出部分,ADC 控制寄存器等组成。
ADC12 的模块内核是共用的,通过前端的模拟开关来分别完成采集输入。
实验五 DAAD转换实验 完整版
实验五 D/A、A/D转换实验一、实验目的了解数/模、模/数转换基本原理,掌握DAC0832、ADC0809的使用方法;掌握定时数据采集程序的编制方法。
二、实验内容1、D/A转换实验通过0832D/A转换输出一个从0V开始逐渐升至5V,再从5V降至0V的可变电压输出驱动直流电机。
(1)实验接线图D/A转换实验接线图(2)实验程序框图(3)实验程序清单CODE SEGMENT ;H0832-2.ASM 0-->5vASSUME CS:CODEDAPORT EQU 0FF80hPA EQU 0FF20H ;字位口PB EQU 0FF21H ;字形口PC EQU 0FF22H ;键入口ORG 1110HSTART: JMP START0BUF DB ?,?,?,?,?,?data1: db 0c0h,0f9h,0a4h,0b0h,99h,92hdb 82h,0f8h,80h,90h,88h,83h,0c6h,0a1hdb 86h,8eh,0ffh,0ch,89h,0deh,0c7hdb 8ch,0f3h,0bfh,8FHSTART0: call buf1DACON0: MOV AL,00HDACON1: MOV DX,DAPORTOUT DX,ALpush axcall convMOV CX,0040HDISCON: PUSH CXcall dispPOP CXLOOP DISCONpop axINC ALCMP AL,00HJNZ DACON1MOV AL,0FFHDACON2: MOV DX,DAPORTOUT DX,ALpush axcall convMOV CX,0040HDISCON2: PUSH CXcall dispPOP CXLOOP DISCON2pop axDEC ALCMP AL,0FFHJNZ DACON2JMP DACON0CONV: MOV AH,ALAND AL,0FHMOV BX,OFFSET BUFMOV [BX+5],ALMOV AL,AHAND AL,0F0HMOV CL,04HSHR AL,CLMOV [BX+4],ALRETDISP: MOV AL,0FFH ;00HMOV DX,PAOUT DX,ALMOV CL,0DFH ;20H; 5ms显示子程序MOV BX,OFFSET BUFDIS1: MOV AL,[BX]MOV AH,00HPUSH BXMOV BX,OFFSET DATA1ADD BX,AXMOV AL,[BX]POP BXMOV DX,PBOUT DX,ALMOV AL,CLMOV DX,PAOUT DX,ALPUSH CXDIS2: MOV CX,00A0HDELAY: LOOP DELAYPOP CXCMP CL,0FEH ;01HJZ LX1INC BXROR CL,1 ;SHR CL,1JMP DIS1LX1: MOV AL,0FFHMOV DX,PBOUT DX,ALRETBUF1: MOV BUF,00HMOV BUF+1,08HMOV BUF+2,03HMOV BUF+3,02HMOV BUF+4,00HMOV BUF+5,00HRETDELY: PUSH CXDEL2: PUSH CXDEL3: PUSH CXLOOP $POP CXLOOP DEL3POP CXLOOP DEL2POP CXLOOP DELYRETCODE ENDSEND START2、A/D转换实验利用实验系统上电位器提供的可调电压作为0809模拟信号的输入,编制程序,将模拟量转换为数字量,通过数码管显示出来。
微机原理AD转换完整实验报告
实验7 A/D转换实验实验时间2019年12月11日实验类型■验证性□设计性□综合性1. 实验目的1.学习理解模/数信号转换的基本原理。
2.掌握模/数转换芯片ADC0809的使用方法。
.2. 实验内容及过程(主要内容、操作步骤)编写实验程序,将ADC单元中提供的0V~ 5V信号源作为ADC0809的模拟输入量,进行A/D转换,转换结果通过变量进行显示。
1.按图4.7.4连接实验线路。
2.编写实验程序,经编译、链接无误后装入系统。
3.将变量V ALUE添加到变量监视窗口中。
.方法如下:打开设置\变量监控,出现如图 4.7.3的界面,选中要监视的变量“V ALUE" ,单击“加入监视”后确定,就会在软件左侧栏的“变量区”出现该值。
4.在JMP START语句行设置断点,使用万用表测量ADJ端的电压值,计算对应的采样值,然后运行程序。
5.程序运行到断点处停止运行,查看变量窗口中V ALUE的值,与计算的理论值进行比较,看是否一致(可能稍有误差,相差不大)。
6.调节电位器,改变输入电压,比较V ALUE与计算值,反复验证程序功能。
3. 测试数据及实验结果4. 实验分析及总结(主要考察内容)1.由于实验设备不精确而引起的系统误差,实验设备制作不精确,使用时间过长引起的设备老化,而引起的误差。
2.读数不精确引起的偶然误差。
在电压表读数未稳定时读数,或者由于电压表精确度不够,而造成的读数误差。
3.在处理数据时,由于取值以及计算精确度取值不够而造成的误差。
4.试验线路连接不稳定引起的误差。
5.在误差允许的范围内,ADC0809将0-5V的单级型电压或-5-5V的双极型电压转换为相应的八位二进制输出。
教师评阅评价指标:实验目的、操作步骤、设计、算法、程序结构、实验结果、实验分析、实验总结。
微机 AD转换 实验报告
微机 AD转换实验报告一、引言在计算机系统中,A/D转换器(Analog-to-Digital Converter)是一种将模拟信号转换为数字信号的设备。
在本实验中,我们将学习如何使用微机通过AD转换器来采集和处理模拟信号。
二、实验目的本实验的主要目的是:1.了解AD转换器的工作原理;2.掌握使用微机进行AD转换的方法;3.学会处理和分析采集到的数字信号。
三、实验材料本次实验所需的材料包括:1.微机一台;2.AD转换器模块;3.传感器(例如温度传感器、光敏传感器等);4.连接线。
四、实验步骤步骤一:准备工作1.将AD转换器模块与微机连接,确保连接正确可靠。
2.将传感器与AD转换器模块相连接,确保传感器能够正常工作。
步骤二:编写代码1.在微机上选择合适的编程语言,例如C、C++或Python。
2.编写代码,用于控制AD转换器模块和采集传感器数据。
import ADC # 导入AD转换器模块def read_sensor(channel):value = ADC.read(channel) # 读取传感器数据voltage = value *5.0/1023# 将读取的值转换为电压值return voltagechannel =0# 设置采集的通道号voltage = read_sensor(channel) # 读取传感器数据print("采集到的电压值:", voltage)步骤三:运行代码1.编译和运行代码,在微机上执行程序。
2.程序将会控制AD转换器模块,采集传感器数据,并将其转换为电压值。
步骤四:数据处理1.对采集到的数据进行处理和分析,例如计算平均值、最大值、最小值等统计信息。
2.根据需要,可以进行进一步的数据处理,例如绘制曲线图、进行数据拟合等。
五、实验结果经过实验,我们成功地采集到了传感器的模拟信号,并将其转换为数字信号进行处理。
通过对采集数据的分析,我们得到了如下结果:1.采集到的电压平均值为X V;2.采集到的电压最大值为Y V;3.采集到的电压最小值为Z V。
微机 AD转换 实验报告
微机 AD转换实验报告微机 AD转换实验报告引言:微机技术的发展,使得我们能够方便地进行各种数字信号的处理和分析。
其中,AD转换技术在数据采集和信号处理中起着至关重要的作用。
本实验旨在通过实际操作,探究AD转换的原理和应用。
一、实验目的本实验的主要目的是:1. 了解AD转换的基本原理;2. 掌握使用微机进行AD转换的方法;3. 学会使用软件进行AD转换结果的分析和处理。
二、实验设备和材料本实验所需的设备和材料如下:1. 微机一台;2. AD转换器模块;3. 信号发生器;4. 示波器;5. 相关连接线。
三、实验步骤1. 将AD转换器模块与微机连接,并确保连接稳定可靠;2. 将信号发生器与AD转换器模块连接,生成待转换的模拟信号;3. 打开微机上的AD转换软件,并进行相应的设置;4. 通过软件控制AD转换器进行信号采样,并将采样结果传输到微机上;5. 使用示波器对AD转换结果进行验证和分析。
四、实验结果和分析在本次实验中,我们采集了不同频率和振幅的模拟信号,并通过AD转换器将其转换为数字信号。
经过分析,我们得到了以下结果:1. 随着信号频率的增加,AD转换的精度逐渐降低。
这是因为在高频率下,AD转换器的采样速度无法跟上信号的变化,导致转换结果的失真;2. 信号振幅的增加会使AD转换结果的噪声水平上升。
这是因为在较大振幅下,信号的采样误差和噪声对转换结果的影响更加显著;3. 通过对AD转换结果的观察和分析,我们可以得到信号的频谱特征和幅度信息,进一步进行信号处理和分析。
五、实验总结通过本次实验,我们深入了解了AD转换的原理和应用,并掌握了使用微机进行AD转换的方法。
同时,我们也学会了使用软件进行AD转换结果的分析和处理。
通过实际操作,我们对AD转换技术有了更加深入的理解,并认识到了在实际应用中需要注意的问题。
六、实验心得本次实验不仅加深了我对AD转换技术的理解,还让我亲身体验了数字信号处理的过程。
通过实际操作,我不仅学到了知识,还培养了动手实践和解决问题的能力。
实验十DA、AD转换实验报告
引言概述:一、DA转换原理和应用1.DA转换的定义和基本原理a.数字信号和模拟信号之间的转换原理b.不同类型的DA转换器(例如R2R网络)2.DA转换的应用领域a.音频信号处理中的DA转换b.视频信号处理中的DA转换二、AD转换原理和应用1.AD转换的定义和基本原理a.模拟信号和数字信号之间的转换原理b.不同类型的AD转换器(例如SAR、deltasigma)2.AD转换的应用领域a.传感器信号处理中的AD转换b.信号采集与处理中的AD转换三、DA和AD转换的性能参数和评估1.DA转换器的性能参数a.分辨率和精确度b.失真和噪声2.AD转换器的性能参数a.采样率和位深b.信噪比和动态范围3.性能参数的评估方法a.理论计算和模拟仿真b.实验测试和数据分析四、DA和AD转换算法及其优化1.DA转换算法a.插值算法b.量化算法2.AD转换算法a.采样算法b.量化算法3.转换算法的优化方法a.比特数调整和噪声滤波b.时钟同步和非线性校准五、实验结果和分析——基于具体实验数据的数据解读与讨论1.DA转换实验结果和数据分析a.实验过程和数据采集b.数据处理和效果评估2.AD转换实验结果和数据分析a.实验过程和数据采集b.数据处理和效果评估总结:通过对DA和AD转换的原理、应用、性能参数评估以及相关算法和优化的探讨,我们了解了这两种重要的信号转换技术在电子工程中的重要性和实际应用。
同时,通过实验数据的分析和结果的讨论,我们也对其性能和优化方法有了更深入的了解。
DA和AD转换在音频和视频信号处理、传感器信号处理以及信号采集与处理等领域都有着广泛的应用,因此对其进行深入研究和优化,在提高信号处理质量和准确性方面具有重要意义。
希望本实验报告能为读者进一步了解并应用DA和AD转换技术提供有益的参考和指导。
AD转换程序设计实验报告
实验六 AD转换程序设计一、实验目的:1.掌握转换器ADC0809的使用。
2.用PROTEUS 设计,仿真基于AT89C51单片机的A/D转换实验。
3.通过改变电位器的值改变模拟量的输入,经转换为数字量在LED上显示,比对模拟量和数字量的关系。
二、PROTEUS电路设计:三、实验仪器和设备PC机、PROTEUS软件或W-A-51综合开发学习板四、源程序设计:1.程序#include<reg51.h>sbit STA=P2^5;sbit EOC=P2^6;sbit OE=P2^7;sbit CLK=P2^4;sbit led4=P2^3;sbit led3=P2^2;sbit led2=P2^1;sbit led1=P2^0;sbit point=P0^7;int ad_result;float result;unsigned char code table[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};void delay(unsigned int time){unsigned int j=0;for(;time>0;time--)for(j=0;j<125;j++);}void ad_init(){OE=1;STA=0;CLK=0;}void time_init(){TMOD=0X02;TH0=0X94;TL0=0;EA=1;ET0=1;TR0=1;}void T0_time()interrupt 1{CLK=!CLK;}void ad_start(){ad_init();delay(10);STA=1;delay(10);STA=0;}void disp( int a){led1=0;P0=table[a/1000];point=1;delay(2);led1=1;led2=0;P0=table[a%1000/100];delay(2);led2=1;led3=0;P0=table[(a%100)/10];delay(2);led3=1;led4=0;P0=table[a%10];delay(2);led4=1;}void main(void){ad_init();time_init();while(1){ad_start();while(EOC==0);result=(P1*(5.0/255.0))*1000;ad_result=(int)(result+0.5);disp(ad_result);}}。
单片机AD转换实验报告
实验八A/D实验报告㈠实验目的1.掌握单片机与A/D的接口及编程方法;2.进一步了解A/D的工作原理;3.通过实验了解单片机如何进行数据采集;4.进一步了解单片机系统地址分配概念。
㈡实验器材1.G6W仿真器一台2.MCS—51实验板一台3.PC机一台4.信号发生器一台㈢实验内容及要求首先利用8051单片机的高位地址进行线译码,以分别给实验板中的各有关芯片提供CS信号,实现单片机系统地址分配。
ADC0809是输入为8通道、可与8051单片机直接接口的8位逐次逼近型CMOSA/D。
在8模拟输入通道中的每个通道上接至不同的信号源,改变通道号,并把A/D转换结果显示出来,即可检查A/D转换过程是否正确。
根据实验板的硬件线路可知,当8051向0809写入通道数时,即启动A/D转换,约经过100μs后,A/D转换完成,并向8051发出中断申请。
要求在ADC0809的输入端加上不同的模拟信号,通过键盘输入ADC0809的通道号并启动A/D转换,采集N个(如N=256)数据存入外部RAM中,打开XDATA窗口,检查实验结果。
注意:①在进行A/D采样前,应先检查ADC0809的参考电压是否正确。
(要求ADC0809的参考电压值Vref = +5V,用万用表观察ADC0809芯片的12脚电压值。
若不对,可调节实验板上的电位器W1来改变A/D的参考电压值。
)②实验板上电位器W2可调节校准信号的值。
㈣实验框图(见下页)㈤思考题1.本实验中,对采样信号的频率有没有限制?若有,其频率应在什么范围内?根据采样定理,采样频率必须大于最高频率的两倍。
2.如果要采集具有正负值的输入模拟信号,则应对实验板中的A/D线路接法作哪些修正?关于这一点,记得实验前夏兰老师好像提过,但是由于专注于硬件电路的连接,忘记了该怎么修正,希望老师给点提示。
ORG 0000HLJMP STARTORG 0003HLJMP INT_0ORG 0040HSTART:MOV SP, #60HMOV R7,#0FFH ;读取数据个数初始化MOV R1,#0B0H ;片外储存数据首地址MOV R0, #00HMOV DPTR,#7FFFH ;选中6116芯片MOV A,#02H ;根据硬件连接选择通道号MOVX @DPTR,A ;启动A_DSETB IT0 ;开中断SETB EASETB EX0CJNZ R7,#0H,T ;判断256个数据是否转换完毕,是则停止,否则原地等待中断INT_0:MOVX A,@DPTR ;读A_D 数据MOV DPH,R1MOV DPL,R0MOVX @DPTR,A ;将数据放到片外存储地址INC R0 ;指向下一个单元DEC R7 ;数据个数减一MOV DPTR,#7FFFHMOV A,#02HMOVX @DPTR,A ;再次启动A_DRETI ;返回中断T:SJMP $ ;数据转换完毕则程序停止实验过程中犯了一些很低级的错误,比如说中断地址和所用中断不匹配,中断返回的位置自己不确定,对于怎样写地址才能选中芯片不确定,这些看似不起眼的细微的东西往往决定了整个实验的成败。
单片机AD转换实验报告(word文档良心出品)
单片机实验报告(五)实验名称:A/D转换姓名:张昊学号:110404247班级:通信2班时间:2013.12南京理工大学紫金学院电光系一、 实验目的1、理解A/D 转换的工作原理;2、理解掌握ADC0809的A/D 转换原理和并行A/D 转换器接口的编程方法;3、学习使用并行模/数转换芯片ADC0809进行电压信号的采集和数据处理。
二、 实验原理在设计A/D 转换器与单片机接口之前,往往要根据A/D 转换器的技术指标选择A/D 转换器。
A/D 转换器的主要技术指标-----量化间隔和量化误差是A/D 转换器的主要技术指标之一。
量化间隔可用下式表示,其中n 为A/D 转换器的位数:A/D 转换器芯片种类很多,按其转换原理可分为逐次比较式、双重积分式、量化反馈式和并行式A/D 转换器;按其分辨率可分为8~16位的A/D 转换器芯片。
目前最常用的是逐次逼近式和双重积分式。
A/D 转换器与单片机接口具有硬、软件相依性。
一般来说,A/D 转换器与单片机的接口主要考虑的是数字量输出线的连接、ADC 启动方式、转换结束信号处理方法以及时钟的连接等。
一个ADC 开始转换时,必须加一个启动转换信号,这一启动信号要由单片机提供。
不同型号的ADC ,对于启动转换信号的要求也不同,一般分为脉冲启动和电平启动两种:对于脉冲启动型ADC ,只要给其启动控制端上加一个符合要求的脉冲信号即可,如ADC0809、ADC574等。
通常用WR 和地址译码器的输出经一定的逻辑电路进行控制;对于电平启动型ADC ,当把符合要求的电平加到启动控制端上时,立即开始转换。
在转换过程中,必须保持这一电平,否则会终止转换的进行。
因此,在这种启动方式下,单片机的控制信号必须经过锁存器保持一段时间,一般采用D 触发器、锁存器或并行I/O 接口等来实现。
AD570、AD571等都属于电平启动型ADC 。
当ADC 转换结束时,ADC 输出一个转换结束标志信号,通知单片机读取转换结果。
单片机AD模数转换实验报告
单片机AD模数转换实验报告实验目的:通过单片机完成模数转换实验,了解AD模数转换的原理,掌握AD转换器的使用方法。
实验设备:1.STC89C52RC单片机开发板2.电位器3.电阻4.电容5.连接线实验原理:AD模数转换是将连续的模拟信号转换为离散的数字信号的过程。
在单片机中,通过ADC模块将模拟电压转换为数字量。
STC89C52RC单片机具有内置的10位ADC模块,可以将模拟电压转换为0-1023之间的数字量。
实验步骤:1.连接电位器、电阻和电容的引脚到单片机上。
2.在单片机的引脚配置中,将ADC0的引脚配置为模拟输入。
3.在主函数中初始化ADC模块。
4.使用AD转换函数来获取模拟电压的数字量。
5.将数字量通过串口输出。
实验结果:经过以上步骤,我们成功地将连续的模拟信号转换为了数字信号,并通过串口输出。
通过电位器、电阻和电容的调整,我们可以观察到不同的输入信号对应的数字量。
实验总结:通过本次实验,我们深入了解了AD模数转换的原理,并学会了使用单片机的ADC模块来完成模数转换。
在实验过程中,我们还发现了一些问题和注意事项。
首先,在连接电路时,需要将模拟输入连接到ADC0引脚,并在引脚配置中正确设置。
其次,在初始化ADC模块时,需要根据实际情况设置参考电压和转换速率等参数。
最后,在使用AD转换函数时,需要根据需要进行适当的调整和计算,以获取正确的数字量。
总体来说,本次实验帮助我们更好地理解了AD模数转换的原理和单片机的ADC模块的使用方法。
通过实际操作,我们掌握了实验步骤和注意事项,提高了实际操作的能力和理论知识的运用。
这对我们的电子技术学习和应用都起到了积极的促进作用。
a d转换器的实验报告
a d转换器的实验报告A/D转换器的实验报告引言:A/D转换器(Analog-to-Digital Converter)是一种电子设备,用于将模拟信号转换为数字信号。
在电子工程和通信领域中,A/D转换器被广泛应用于信号处理、数据采集和控制系统中。
本实验旨在通过搭建一个简单的A/D转换器电路,探索其工作原理和性能。
实验目的:1. 理解A/D转换器的基本原理和工作方式;2. 学会使用基本的电子元件,如电阻、电容和运算放大器;3. 测试A/D转换器的精度和速度。
实验装置:1. 电压源:提供模拟信号;2. 电阻、电容:构建RC电路;3. 运算放大器:放大模拟信号;4. A/D转换器芯片:将模拟信号转换为数字信号。
实验步骤:1. 搭建RC电路:将电阻和电容连接起来,形成一个简单的低通滤波电路。
该电路用于滤除高频噪声,保证输入信号的稳定性。
2. 连接运算放大器:将RC电路的输出连接到运算放大器的非反馈输入端,通过放大器放大信号,以增强A/D转换器的灵敏度。
3. 连接A/D转换器芯片:将运算放大器的输出连接到A/D转换器芯片的输入端,通过芯片将模拟信号转换为数字信号。
4. 连接电压源:将电压源连接到A/D转换器芯片的参考电压输入端,以提供参考电压,用于A/D转换器的精确度校准。
5. 连接数字输出:将A/D转换器芯片的数字输出连接到数字显示器或计算机,用于显示和记录转换后的数字信号。
实验结果:1. 精度测试:通过输入一系列已知电压值,观察A/D转换器的输出是否准确。
根据实验数据,我们可以计算出A/D转换器的精度,即数字信号与模拟信号之间的误差。
2. 速度测试:通过改变输入信号的频率,观察A/D转换器的响应时间。
较高的转换速度意味着A/D转换器能够更快地处理信号,并提供实时的数字输出。
讨论与分析:1. 精度分析:A/D转换器的精度受到多种因素的影响,包括电压源的稳定性、电路噪声、运算放大器的放大倍数等。
在实验中,我们可以通过调整这些因素来提高A/D转换器的精度。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
A/D转换实验报告摘要本设计是利用AT89C51、ADC0809、CD4027芯片为核心,加以其他辅助电路实现对信号的A/D转换,其中以单片机AT89C51为核心控制A/D转换器。
先是对信号进行采集,然后用ADC0809对信号实现从模拟量到数字量的转换。
改变采样数据,调整电路,使其达到精确转换。
目录1.方案设计与论证 (1)1.1理论分析 (1)1.2输出、输入方案选择 (1)1.3显示方案 (2)1.4时钟脉冲选择 (2)2.硬件设计 (2)2.1A/D转换器模块 (2)2.2单片机模块 (3)2.3JK触发器模块 (4)3软件设计 (4)4.仿真验证与调试 (5)4.1测试方法 (5)4.2性能测试仪器 (7)4.4误差分析 (7)5.设计总结及体会 (5)附录(一)实物图 (6)附录(二)软件程序 (6)1.方案设计与论证1.1理论分析8位A/D转换由芯片内部的控制逻辑电路、时序产生器、移位寄存器、D/A转换器及电压比较器组成,它具有将模拟量转换成数字量的特性,其原理图如下:AD转换原理图(1)1.2输出、输入方案选择A/D转换器有多路选择器,可选择八路模拟信号IN0~IN7中的一路进入A/D转换。
现在选择IN0通道作为输入,则对应的地址码位ADD C=0、ADD B=0、ADD A=0。
当转换完成后,OE=1,打开三态输出锁存缓冲器,将转换数据从D7~D0口输出到单片机的P0端口。
IN口输入D端口输出A/D转换器图(2)1.3显示方案单片机控制数码管显示有两种动态和静态两种方法,由于静态控制数码管每次只能显示一位,造成资源浪费,所以选择动态扫描,并增加变换频率。
1.4时钟脉冲选择方案一:可以直接用矩形波来控制方案二:ALE通过JK触发器完成二分频,然后 Q端接CLK。
因为晶振的频率是12MHz,ALE的频率为12NHz×1/6=2MHz,经过JK 触发器二分频后就是1MHz.2.硬件设计2.1 A/D转换器模块A/D转换电路图(3)模拟量从IN0端口输入,经电压比较器后输入到控制电路,转换后从D0~D7口输出,地址码位ADD C=0、ADD B=0、ADD A=0。
OE 端输出允许控制信号,EOC转换结束控制信号,EOC=0,转换结束后EOC=1。
START转换启动信号,上升沿将片内寄存器清零,下降沿开始A/D转换。
时钟信号输入端CLOCK接触发器Q端,把1MHz 的信号作为时钟脉冲输入。
2.2单片机模块图(4)如图(4),选用89C51单片机,89C51单片机本身的电源电压是5v,有两种低功耗方式:待机方式和掉电方式。
在掉电状态下,其耗电电流为3mA,在掉电方式下提供约50mA的电流。
80C51单片机是8位单片机,速度较慢,且不能在线编程。
在单片机的外部加一个振荡电路,这个电路有晶振和两个电容组成,晶振两端分别接到两个电容的一端,两个电容的另一端都要接地。
这两个电容串联的容量就是就等于负载电容,这两个电容选用33PF的。
在P0端口接一个上拉电阻,增加高电平驱动能力。
P0口输出七段码,P2.0、P2.1、P2.2口输出位选码。
2.3JK触发器模块图(5)JK 触发器具有置0、置1、保持、翻转的功能。
J=1,K=0时,置1;J=0,K=1时,置0;J=K=0,保持;J=K=1,CLK 下降沿到来时翻转。
3.软件设计系统软件流程图如下图(6),其中主要包含这三部分,即信号采样、A/D 转换、输出显示。
信号采样:先产生启动转换的正脉冲信号,对数据进行采样。
A/D 转换:对输入数据转换,把数据分取个位、十分位、百分位。
输出显示:位选端P2.0、P2.1、p2.2分别显示个位、十分位、百分位,完成三位显示。
图(6)4.仿真验证与调试4.1测试方法系统对实验进行仿真验证,初始值显示0.00,最大值为5.00。
步骤:1)接入5V 电源;开始系统初始化信号采样A/D 转换完 输出显示 结束否2)改变滑动变阻器的阻值,观察数码管的显示的变化。
初始图(7) 最大值图(8)4.2性能测试仪器直流电源 数字万用表4.3实验数据表1 实验数据表 4.4误差分析造成本实验的误差可能有以下几点原因:1)在接入电源时的导线可能增加阻值;2)滑动变阻器可能引起阻值误差;3)万用表的接触不良也有误差。
5.设计总结及体会在收到任务时,根据要求从总体到部分来仔细分析任务,最后到组别12345678910仿真(V ) 0.00 0.29 0.85 1.45 1.85 2.74 3.74 4.35 4.72 5.00 实测(V ) 0.00 0.29 0.81 1.42 1.87 2.66 3.67 4.31 4.72 4.97 显示(V ) 0.00 0.32 0.88 1.47 1.86 2.76 3.72 4.33 4.73 5.00具体的器材使用,而且对每个组员合理分配任务。
在设计时,对每个模块设计多方案,从中择优选用。
硬件部分要注意所加电压不能过大,否则会烧毁集成块。
实际电路焊接时,线路要尽量短、直,便于以后检查。
对于每一点要焊实,不能出现虚焊,不可短路。
软件设计要模块化,语言要尽量简洁程序应采用模块化结构,程序代码简洁,具有较高执行效率。
对于变量的使用,尽可能多的使用局部变量,编写程序需要不断的修改、整理、优化,以使程序具有较少的代码量,较高工作效率。
这设计让我们学到了很多知识,了解和掌握许多芯片的作用和功能。
通过小组成员的共同努力实验终于出来了,非常有成就感。
也要感谢老师的悉心指导。
附录(一)实物图附录(二)软件程序#include <reg51.h>#include <intrins.h>#define uint unsigned int#define uchar unsigned charsbit ST=P2^4;sbit OE=P2^5;sbit EOC=P2^6;sbit w_select1=P2^0;sbit w_select2=P2^1;sbit w_select3=P2^2;sbit w_select4=P2^3;uchar num_1=0,num_2=0,num_3=0;//uchar code table[10] = {0x03, 0x9f, 0x25, 0x0d, 0x99, 0x49, 0x41, 0x1f, 0x01, 0x09};//uchar code table[10] = {0xC0, 0xf9, 0xa4, 0xb0, 0x99, 0x92, 0x82, 0xf8, 0x80, 0x90};uchar code table[10] = {0x3f, 0x06, 0x5b, 0x4f, 0x66, 0x6d, 0x7d, 0x07, 0x7f, 0x6f}; /*************************************************************** 名称 : Delay_1ms()* 功能 : 延时子程序,延时时间为 1ms * x* 输入 : x (延时一毫秒的个数)* 输出 : 无***************************************************************/void Delay_1ms(uint x){uint h,k;//uchar k;for(h = x; h >0; h--) for(k = 20; k>0; k--);}void DA_change(uchar k){float D_value;D_value=5*k/255;num_1=D_value/1;//取个位值num_2=(D_value-num_1)*10/1;//取小数点后第一位值num_3=((D_value-num_1)*10-num_2)*10/1;//取小数点后第二位值}/*************************************************************** 名称: Display(uchar k)* 功能:将参数分成十位、个位分别显示* 输入: k (键盘数值)* 输出: P0口输出七段码,P2口输出位选码***************************************************************/void Display(){P0 = table[num_1]+0x80; //需显示小数点w_select3=0; Delay_1ms(1); //显示5ms个位w_select3=1; //消隐P0 = table[num_2];w_select2=0; Delay_1ms(1); //显示5ms小数点后第一位w_select2=1; //消隐P0 = table[num_3];w_select1=0; Delay_1ms(1); //显示5ms小数点后第二位}/************************************************************** * 名称 : Main()* 功能 : 主函数***************************************************************/ void main(void){uchar Key_Value = 16; //两次读出的键值uchar getdata;while(1){P2=P2&0xf0;P0=0xff;P3=0xff;ST=0;//产生启动转换的正脉冲信号ST=1;ST=0;while (EOC==0);OE=1;getdata=P0;OE=0;DA_change(getdata);Display( ); //没有按键按下,也显示电压值num_1=0,num_2=0,num_3=0;}}8。