AD转换实验报告
- 格式:doc
- 大小:359.07 KB
- 文档页数:11
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电位逐渐下降。
重庆交通大学学生实验报告实验课程名称单片机原理与应用实验名称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转换器的选型和应用提供参考和指导。
实验过程:1. 实验平台:使用一款嵌入式开发板作为实验平台,搭建实验环境。
2. 实验方法:通过输入不同幅度和频率的模拟信号,对嵌入式AD转换器进行采样和转换,记录并分析转换结果。
3. 实验数据处理:对实验采集的数据进行处理和分析,计算转换精度、速度和功耗等指标。
实验结果与分析:经过实验研究和数据处理分析,我们得出以下结论:1. 转换精度:嵌入式AD转换器具有较高的转换精度,能够准确地将模拟信号转换为数字信号,满足实际应用需求。
2. 转换速度:嵌入式AD转换器具有较快的转换速度,能够实时采集和转换模拟信号,适用于高速数据采集和处理应用。
3. 功耗:嵌入式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转换的相关内容。
在本次实验中,我们将会学习数字模拟转换和模拟数字转换的原理与方法,并通过实际操作进行验证。
本报告将按照以下五个主要部分进行阐述:(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转换实验,探究其原理和应用。
二、实验目的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转换技术的应用与研究,为现代电子技术的发展做出自己的贡献。
实验报告题目: 班级: 时间: 姓名:实验目的熟悉数模转换的基本原理,掌握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转换实验实验预习要求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 的模块内核是共用的,通过前端的模拟开关来分别完成采集输入。
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。