单片机AD模数转换实验报告
单片机ad实验报告

单片机ad实验报告
单片机AD实验报告
实验目的:
本次实验旨在通过单片机的AD(模拟-数字)转换功能,将模拟信号转换为数字信号,并通过单片机进行处理和显示,以加深对单片机AD转换原理和应用的理解。
实验器材:
1. 单片机开发板
2. 模拟信号发生器
3. 示波器
4. 连接线
5. 电脑
实验步骤:
1. 连接模拟信号发生器和单片机开发板,设置模拟信号发生器输出一个正弦波信号。
2. 在单片机开发板上编写程序,配置AD转换功能,将模拟信号转换为数字信号。
3. 将数字信号通过串口传输到电脑上,并用示波器观察数字信号的波形。
4. 在电脑上编写程序,对接收到的数字信号进行处理和显示。
实验结果:
经过实验,成功将模拟信号转换为数字信号,并通过单片机进行处理和显示。
在示波器上观察到了数字信号的波形,验证了AD转换的准确性和稳定性。
在
电脑上也成功对接收到的数字信号进行了处理和显示,进一步验证了单片机AD 转换功能的有效性。
实验总结:
通过本次实验,深入了解了单片机AD转换的原理和应用。
AD转换是单片机重要的功能之一,对于模拟信号的采集和处理具有重要意义。
在实际应用中,可以通过单片机AD转换功能,实现各种类型的模拟信号的数字化处理,为各种电子设备的控制和监测提供了技术支持。
通过本次实验,对单片机AD转换功能有了更深入的理解和掌握,为今后的电子技术应用奠定了坚实的基础。
实验六 ADC0809AD转换实验

实验六 ADC0809AD转换实验一、实验目的1、掌握ADC0809AD芯片的工作原理和使用方法。
2、掌握如何使用51单片机配合ADC0809AD芯片实现模拟量转换。
二、实验原理ADC0809AD是一种8位分辨率、并行输出、单通道,3MHz 工作速率的A/D转换器。
ADC 有两个输入电压端子,IN+和IN-,它们之间加入了一个内部参考电压源(RE),所以在输入模拟信号时常在IN+端连接信号输入,而IN-端接地。
当选用RE = +2.5 V时,IN+的输入范围约为0-VREF,在本实验中选用的是RE = +5 V,所以IN+的输入范围约为0-5V。
当外部触发信号TRIGGER开启后,ADC执行转换操作。
在转换时,电压采样保持时间通常为 100 ns,最长转换时间为 200 us,当转换结束时,ADC将数字输出置在低电平并发出一个中断请求(INTR)信号。
转换结果可以通过 8个输出线路(DB0-DB7)获得。
三、实验器材2、*1 9针座(1x9 Pin Socket)。
3、*1 51单片机学习板。
4、*1 电阻10KΩ。
5、*1 电压源。
6、*1 面包板。
7、*5 条杜邦线。
四、实验步骤1、根据下表将ADC0809AD芯片插入到面包板中。
ADC0809AD引脚码ADC0809AD引脚名称功能1 A0- A/D输入(低、多路)引脚17 AGND 模拟地18 VREF/2 参考电压输出19 VCC 数字电源2、将9脚座插入面包板的横向边缘上。
3、使用杜邦线将ADC0809AD转换器连接到学习板上,并根据原理部分对芯片引脚进行接线。
4、将一个10KΩ的电阻连接到ADC0809AD芯片的IN+引脚和GND之间。
6、使用杜邦线将ADC0809AD芯片的DB0-DB7引脚连接到学习板的P0.0-P0.7引脚上。
7、将学习板的P0.0-P0.7引脚转为输出模式。
五、实验代码#include <reg52.h>// SFR位定义sfr ADC_CONTR = 0xBC; // ADC控制寄存器sfr ADC_RES = 0xBD; // ADC结果寄存器sfr ADC_RESL = 0xBE; // ADC结果低字节寄存器sfr P0 = 0x80; // P0口// 公用函数void delay(int time) // 延时函数{int i, j;for (i = 0; i < time; i++) {for (j = 0; j < 125; j++);}}while (1) {ADC_CONTR |= 0x08; // 开始转换while (!(ADC_CONTR & 0x10)); // 等待转换结束P0 = ADC_RES; // 将结果输出到P0口delay(1000); // 延时1000ms}}根据程序分析,程序采用了循环语句控制ADC的转换、输出,程序中实现的是ADC的一次转换。
模数转换adc实验报告

模数转换adc实验报告1. 引言模数转换(ADC)是将模拟信号转换为数字信号的过程,广泛应用于各种电子设备中。
本实验旨在通过搭建一个简单的ADC电路,了解和掌握模数转换的基本原理和方法。
2. 实验设备和工具- 一块Arduino开发板- 一根面包板- 一块电位器- 若干杜邦线- 一台笔记本电脑- Arduino开发环境3. 实验步骤3.1 搭建电路首先在面包板上连接电位器和Arduino开发板。
将电位器的两个引脚与Arduino 的3.3V电源和GND(地)相连,电位器的中间引脚与Arduino的A0引脚相连。
3.2 编写代码打开Arduino开发环境,在新建的代码文件中输入以下代码:C++int potentiometerPin = A0;int adcValue;void setup() {Serial.begin(9600); 设置串口波特率为9600}void loop() {adcValue = analogRead(potentiometerPin); 读取A0引脚的模拟值Serial.println(adcValue); 打印模拟值delay(500); 延时500毫秒}3.3 上传并观察结果将Arduino开发板通过USB连接到电脑上,在Arduino开发环境中点击“上传”按钮将代码上传到开发板上。
上传完成后,点击Arduino开发环境的“串口监视器”按钮,设置波特率为9600,并观察串口监视器上显示的数据。
4. 实验结果与分析通过实验,我们可以得到电位器产生的模拟信号在进行模数转换后得到的数字信号。
数字信号表示了模拟信号的离散程度,数值越高表示模拟信号越接近最大量程。
在实验过程中,我们可以通过旋转电位器来改变模拟信号的大小,从而观察到模数转换的效果。
通过串口监视器显示的数据,我们可以清晰地看到转换后的数字信号随着模拟信号的变化而变化。
模数转换的精度取决于ADC的分辨率,即能够将模拟信号转换为多少个离散的数字信号。
单片机AD模数转换实验报告

单片机AD模数转换实验报告一、实验目的和要求1、掌握单片机与ADC0809的接口设计方法。
2、掌握Proteus软件与Keil软件的使用方法。
二、设计要求。
1、用Proteus软件画出电路原理图,在单片机的外部扩展片外三总线,并通过片外三总线与0809接口。
2、在0809的某一模拟量输入通道上接外部模拟量。
3、在单片机的外部扩展数码管显示器。
4、分别采用延时和查询的方法编写A/D 转换程序。
5、启动A/D转换,将输入模拟量的转换结果在显示器上显示。
三、电路原理图。
图1、电路仿真图四、实验程序流程框图和程序清单。
1、查询法:ORG 0000HSTART: LJMP MAINORG 0100HMAIN: MOV SP, #2FH NT: MOV DPTR, #0FF78H MOVX @DPTR, A LOOP: JB P3.3, LOOP MOVX A, @DPTR MOV B, #51 DIV AB MOV R0, A MOV A, B MOV B, #5 DIV AB MOV R1, A MOV R2, B LCALL DIR SJMP NT DIR: MOV R7, #0 SJMP LOOP1 BH: MOV A, R1 MOV R2, A LOOP1: MOV DPTR, #WK MOV A, R7 MOVC A, @A+DPTR MOV P2, A MOV DPTR, #DK MOV A, R2 MOVC A, @A+DPTR MOV P1, A LCALL DELAY INC R7 CJNE R7, #2, BH MOV DPTR, #WK MOV A, R7 MOVC A, @A+DPTR MOV P2, A MOV DPTR, #DK MOV A, R0 MOVC A, @A+DPTR ANL A, #7FH MOV P1, A LCALL DELAY RET DELAY: M OV R5, #01H DL1: MOV R4, #8EH DL0: MOV R3, #02H DJNZ R3, $ DJNZ R4, DL0 DJNZ R5, DL1 RET WK: DB 10H DB 20H DB 40H DK: DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H ENDdisplay 送百分位字符代码送位选信号延时1ms 送十分位字符代码送位选信号延时1ms 送个位及小数点字符代码送位选信号延时1ms 熄灭第四位数码管延时1ms 返回display 送百分位字符代码送位选信号延时1ms 送十分位字符代码送位选信号延时1ms 送个位及小数点字符代码送位选信号延时1ms 熄灭第四位数码管延时1ms 返回2、延时法:ORG 0000H START: LJMP MAIN ORG 0100H MAIN: MOV SP, #2FH LOOP: MOV DPTR, #0FF78H MOVX @DPTR, A LCALL DELAY MOVX A, @DPTR MOV B, #51 DIV AB MOV R0, A MOV A, B MOV B, #5 DIV AB MOV R1, A MOV R2, B LCALL DIR SJMP LOOP DIR: MOV R7, #0 SJMP LOOP1 BH: MOV A, R1 MOV R2, A LOOP1: MOV DPTR, #WK MOV A, R7 MOVC A, @A+DPTR MOV P2, A MOV DPTR, #DK MOV A, R2 MOVC A, @A+DPTR MOV P1, A LCALL DELAY INC R7 CJNE R7, #2, BH MOV DPTR, #WK MOV A, R7 MOVC A, @A+DPTR MOV P2, A MOV DPTR, #DK MOV A, R0 MOVC A, @A+DPTR ANL A, #7FH MOV P1, A LCALL DELAY RET DELAY: M OV R5, #01H DL1: MOV R4, #8EH DL0: MOV R3, #02H DJNZ R3, $ DJNZ R4, DL0 DJNZ R5, DL1 RET WK: DB 10H DB 20H DB 40H DK: DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H开始启动AD 延时从AD中取数据数据处理结束调显示子函数END五、实验结果。
试验五AD、DA转换实验

试验五. A/D、D/A转换实验一、实验目的1. 学习理解模/数信号转换和数/模转换的基本原理。
2. 掌握模/数转换芯片ADC0804和数/模转换芯片DAC0832的使用方法。
二、实验设备TD-PITE实验装置(带面包板)一套,实验用转换芯片两片,±12V稳压电源一台、运放两片、温度传感器、电位器(5.1KΩ)一个、电阻若干,面包板用导线若干,排线若干,万用表一个。
三、实验内容(1)设计A/D转换电路,采集可调电阻的输出电压。
连+5V电源,调节后的输出电压作为ADC0804的模拟输入量,然后进行A/D转换,转换结果由发光二极管上显示。
请填写实验数据表格:(2)将LM35 精密摄氏度温度传感器连+5V电源,输出电压直接作为ADC0804 的模拟输入量,然后进行A/D转换,转换结果经过计算得到摄氏度值放在内存变量上。
(多数温度传感器是针对绝对温度的,且线形较差。
LM35的输出电压与摄氏温度值成正比例关系,每10 mV 为 1 摄氏度。
)(3)设计D/A 转换,要求产生锯齿波、三角波、脉冲波,并用示波器观察电压波形。
四、实验原理1. 模数转换器ADC0804 简介ADC0804是用CMOS集成工艺制成的逐次比较型模数转换芯片。
分辨率为8位,转换时间为100μs,输入参考电压范围为0~5V。
芯片内有输出数据锁存器,与计算机连接时,转换电路的输出可以直接连接在CPU数据总线上。
图5.1 ADC0804引脚图启动信号:当CS#有效时,WR#可作为A/D转换的启动信号。
WR#高电平变为低电平时,转换器被清除;当WR#回到高时,转换正式启动。
转换结束:INTR#跳转为低电平表示本次转换已经完成,可作为微处理器的中断或查询信号。
RD#用来读A/D转换的结果。
有效时输出数据锁存器三态门DB0~DB7各端上出现8位并行二进制数码。
转换时钟:见下图,震荡频率为f CLK ≈ 1 / 1.1RC。
其典型应用参数为:R = 10KΩ,C = 150pF,f CLK≈ 640KHz,8位逐次比较需8×8 = 64个时钟周期,转换速度为100μs。
单片机实验(AD转换)

实验三 A/D、D/A转换实验一、实验目的1.熟悉DAC0832并行接口数模转换器和TLC2543串行接口模数转换器的基本原理和编程方法。
2.进一步熟悉单片机应用系统开发步骤和方法。
二、实验电路实验所用元件清单如下表所示:1. 串行A/D转换器TLC25432.并行D/A转换器DA0832三、相关知识(一)串行A/D转换器TLC25431. TLC2543的特性与引脚TLC2543是TI公司的TLC2543 12位串行A/D转换器,使用开关电容逐次逼近技术完成A/D转换过程。
由于是串行输入结构,能够节省80C51系列单片机的I/O资源,而且价格适中。
主要特点如下:●12位分辨率A/D转换器。
●在工作温度范围内10 s转换时间。
●11个模拟输入通道。
●3路内置自测试方式。
●采样率为66kbps。
●线性误差+1LSB(max)。
●有转换结束(EOC)输出。
●具有单、双极性输出。
●可编程的MSB或LSB前导。
●可编程的输出数据长度。
2. TLC2543的工作过程TLC2543的工作过程分为两个周期:I/O 周期和实际转换周期。
1)I/O周期I/O周期由外部提供的I/O CLOCK定义,延续8、12或16个时钟周期,决定于选定的输出数据长度。
器件进入I/O周期后同时进行两种操作。
(1)在I/O CLOCK的前8个脉冲的上升沿,以MSB前导方式从DA TA INPUT端输入8位数据流到输入寄存器。
其中前4位为模拟通道地址,控制14通道模拟多路器从11个模拟输入和3个内部自测电压中,选通一路送到采样保持电路,该电路从第4个I/O CLOCK脉冲的下降沿开始,对所选信号进行采样,直到最后一个I/O CLOCK脉冲的下降沿。
I/O周期的时钟脉冲个数与输出数据长度(位数)有关,输出数据长度由输入数据的D3、D2选择为8、12或16位。
当工作于12或16位时,在前8个时钟脉冲之后,DATA INPUT无效。
(2)在DATA OUT端串行输出8、12或16位数据。
单片机AD转换实验_2

单片机实验报告实验名称:A/D转换实验姓名:学号:班级:实验时间:2010.12.13一、 实验目的1、理解A/D 转换的工作原理;2、理解掌握ADC0809的A/D 转换原理和并行A/D 转换器接口的编程方法;3、学习使用并行模/数转换芯片ADC0809进行电压信号的采集额数据处理。
二、 实验原理量化间隔和量化误差是A/D 转换器的主要指标之一。
量化间隔:Δ=单片机给ADC 提供一个启动信号后,ADC 转换开始;当A/D 转换结束时,ADC 输出一个转换结束标志信号,通知单片机读取转换结果。
单片机检查判断A/D 转换结束的方法一般有中断和查询两种方式。
整个A/D 转换都是在一定的时钟下作用完成的,其频率是决定芯片转换速度的基准。
实验参考流程:三、 实验内容程序流程:12 n 满量程输入电压程序中#define PIN0 XBYTE[0x7ff8] 表示启动A/转换#define PIN1 XBYTE[0x7ff9]PIN0=0; PIN1=0;result0_reg=PIN0; 表示读取A/D转换结果 result1_reg=PIN1;for(j=0;j<250;j++) 延时等待A/D转换完成for(k=0;k<250;k++);result0=(result0_reg*5)/255; 将转换结果转换为十进制result1=(result1_reg*5)/255;程序仿真,须将程序下载到试验箱中相应模块进行仿真。
在实验箱中,将D2区的1KΩ电位器的中间金属孔连接到A7区的P2_I02金属孔,D2区的10KΩ电位器的中间金属孔连接到A7区的P2_I01金属孔;将A7区的P2_I03-P2_I05分别连接到A2区的A2-A0;将A7区的P2_CS连接到A2区的A15;运行软件程序,每次跑到断点就会停止,此时观察转换的结果与数字万用表测量结果相比近似相同。
四、小结与体会对于具有模拟信号采集的单片机应用系统,A/D转换接口是前向通道中的一个重要环节。
实验十二 AD转换实验

实验十二A/D转换实验一、实验目的1.掌握A/D转换与单片机接口的方法。
2.了解A/D芯片0809转换性能及编程方法。
3.用AT89C51单片机控制ADC0809将模拟信号(0~5V)转换成数值量(0~255),再控制LED数码管以十六进制实时显示出来。
ADC0809为模/数(A/D)转换器。
4.用PROTEUS实现该接口的电路设计和程序设计,并进行实时交互仿真。
5.要求使用查询和中断两种方式编写程序。
二、电路设计1.从PROTEUS库中选取元件①AT89C51.BUS:总线式的单片机;②RES:电阻;③LED-BLUE:蓝色发光二极管;④CAP、CAP-ELEC:电容、电解电容;⑤CRYSTAL:晶振;⑥AD0808:8位A/D转换器;⑦74LS28:四路或非门;⑧NOT :非门;⑨74LS373:八 D 锁存器;⑩POT-LIN :滑动变阻器;○11RESPACK-8:8位排阻。
2.放置元器件3.放置电源和地4.连线5.元器件属性设置6.电气检测三、源程序设计、生成目标代码文件1.流程图2.源程序设计3.源程序编译汇编、生成目标代码文件通过菜单“sourc e →Build All ”编译汇编源程序,生成目标代码文件。
若编译失败,可对程序进行修改调试直至汇编成功。
四、PROTEUS 仿真1.加载目标代码文件2.仿真 单击按钮,启动仿真。
U1X1C1C2U4U5RV1U6U7:AU7:B D1U10D2D3D4U11U12U13D5U14D6D7D8U15U16U17RP1五、思考题:1.目前应用较广泛的A/D 转换器主要有哪几种类型?它们各有什么特点?2.在一个AT89C51单片机与一片ADC0809组成的数据采集系统中,ADC0809的8个通道的地址为7FF8H~7FFFH,试画出相应的接口电路图。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
一、实验目得与要求
1、掌握单片机与ADC0809得接口设计方法.
2、掌握Proteus软件与Keil软件得使用方法.
二、设计要求。
1、用Proteus软件画出电路原理图,在单片机得外部扩展片外三总线,并通过片外三总线与0809接口。
2、在0809得某一模拟量输入通道上接外部模拟量.
3、在单片机得外部扩展数码管显示器。
4、分别采用延时与查询得方法编写A/D转换程序。
5、启动A/D转换,将输入模拟量得转换结果在显示器上显示。
三、电路原理图.
图1、电路仿真图
四、实验程序流程框图与程序清单。
1、查询法:ﻩ
图2、仿真结果
六、实验总结。
由图4可知,设计要求2得内容已经成功完成;由图5可以瞧出要求3得内容已经成功完成。
通过这次实验,掌握了通过8255来扩展单片机得I/O口线,对8255已经有了充分得认识,以实践操作来验证理论知识,学到了很多东西。
七、思考题。
采用中断得方法编写A/D转换程序,完成实验要求
ﻩﻩORG0000H
START:LJMP ﻩMAIN
ﻩORGﻩ0013H
ﻩLJMPINTT1
ﻩﻩORGﻩ0100H
MAIN:MOVSP, ﻩ#2FH
SETB EA
ﻩSETB ﻩEX1
ﻩﻩMOVDPTR, #0FF78H
ﻩM OVX ﻩDPTR,ﻩA
HERE:ﻩLJMP ﻩHERE
DISPLAY: MOVﻩR7, ﻩ#0
ﻩﻩSJMP ﻩLOOP1
BH:ﻩMOV ﻩA,ﻩﻩR1
ﻩﻩMOV ﻩR2, A
LOOP1:ﻩMOV DPTR,#WK
ﻩﻩMOVA,R7
ﻩMOVC ﻩA,ﻩﻩA+DPTR
ﻩMOVﻩP2, A
ﻩMOV DPTR,#DK
ﻩM OV A,ﻩﻩR2
MOVCA,ﻩA+DPTR
MOV P1,ﻩ A
LCALL DELAY
INC ﻩﻩR7
ﻩﻩCJNE ﻩR7, #2,ﻩﻩBH
MOV ﻩDPTR,#WK
ﻩﻩMOVA,R7
MOVCﻩA,ﻩA+DPTR
ﻩﻩMOV P2,ﻩ A
MOVﻩDPTR,ﻩ#DK
MOVA,R0
ﻩﻩMOVC A,ﻩA+DPTR
ﻩANL ﻩﻩA, #7FH
MOV P1,ﻩ A
ﻩLCALL DELAY
ﻩﻩRET
DELAY:ﻩMOV ﻩR5, ﻩ#01H
DL1:ﻩMOV R4,ﻩﻩ#8EH
DL0:ﻩMOVﻩR3,ﻩ#02H
ﻩDJNZﻩR3, $
ﻩDJNZR4,ﻩﻩDL0
ﻩDJNZ ﻩR5,ﻩﻩDL1
RET
INTT1: MOVXA,ﻩﻩDPTR
51
ﻩﻩMOVB,ﻩ#
DIV AB
ﻩMOVR0, ﻩA
ﻩMOV A,ﻩB
ﻩMOV B,ﻩﻩ#5
ﻩDIVﻩAB
ﻩMOVR1,ﻩA
ﻩMOV R2, ﻩB
ﻩﻩLCALL DISPLAY
ﻩﻩMOV ﻩDPTR,ﻩ#0FF78H
ﻩM OVX ﻩDPTR, A
ﻩRETI
WK:ﻩDB 10H,20H,40H
DK:ﻩDB ﻩ0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H END
图3、思考题仿真结果。