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

合集下载

单片机ad实验报告

单片机ad实验报告

单片机ad实验报告
单片机AD实验报告
实验目的:
本次实验旨在通过单片机的AD(模拟-数字)转换功能,将模拟信号转换为数字信号,并通过单片机进行处理和显示,以加深对单片机AD转换原理和应用的理解。

实验器材:
1. 单片机开发板
2. 模拟信号发生器
3. 示波器
4. 连接线
5. 电脑
实验步骤:
1. 连接模拟信号发生器和单片机开发板,设置模拟信号发生器输出一个正弦波信号。

2. 在单片机开发板上编写程序,配置AD转换功能,将模拟信号转换为数字信号。

3. 将数字信号通过串口传输到电脑上,并用示波器观察数字信号的波形。

4. 在电脑上编写程序,对接收到的数字信号进行处理和显示。

实验结果:
经过实验,成功将模拟信号转换为数字信号,并通过单片机进行处理和显示。

在示波器上观察到了数字信号的波形,验证了AD转换的准确性和稳定性。


电脑上也成功对接收到的数字信号进行了处理和显示,进一步验证了单片机AD 转换功能的有效性。

实验总结:
通过本次实验,深入了解了单片机AD转换的原理和应用。

AD转换是单片机重要的功能之一,对于模拟信号的采集和处理具有重要意义。

在实际应用中,可以通过单片机AD转换功能,实现各种类型的模拟信号的数字化处理,为各种电子设备的控制和监测提供了技术支持。

通过本次实验,对单片机AD转换功能有了更深入的理解和掌握,为今后的电子技术应用奠定了坚实的基础。

模数转换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的分辨率,即能够将模拟信号转换为多少个离散的数字信号。

单片机ADC实验报告

单片机ADC实验报告

ADC实验报告1.实验任务利用单片机STC89C52与ADC0809设计一个数字电压表,能够测量0-5V之间的直流电压值,四位数码显示。

2.现有元件模数转换器ADC0804,STC89C52单片机,两个共阳极数码管。

3.硬件设计3.1模数转换器ADC0809与单片机STC89C52的连接(1)ADC0809规格及引脚分配图如下图3-1所示:(2)STC89C52各个引脚分布如下图3-2所示:图3-1 ADC0809引脚图图3-2 STC89C52引脚图(3) 硬件连线(a) 把“单片机系统”区域中的P3.0与”模数转换模块ADC0809“区域中的ST端子用导线相连接。

(b) 把“单片机系统”区域中的P3.1与”模数转换模块ADC0809“区域中的ALE端子用导线相连接。

(c) 把“单片机系统”区域中的P3.2与”模数转换模块ADC0809“区域中的OE端子用导线相连接。

(d) 把“单片机系统”区域中的P3.6与”模数转换模块ADC0809“区域中的EOC端子用导线相连接。

(e) 把“单片机系统”区域中的P3.7与”模数转换模块ADC0809“区域中的CLK端子用导线相连接。

(f) 把“模数转换模块ADC0809”区域中的ADDA、ADDB、ADDC端子用导线连接到单片机的VCC端子上。

把“模数转换模块ADC0809”区域中IN7与外接输入电压相连。

(g) 把“单片机系统”区域中的P2.0-P2.7连接到“模数转换模块ADC0809”区域中D0D1D2D3D4D5D6D7端子上。

(h) 把“单片机系统”区域中的P1.0-P1.7连接到“数码管”区域中ABCDEFG端子上。

把“单片机系统”区域中的P0.0-P0.1连接到“数码管”区域中12端口。

4. 电路原理图图4 电路原理图 5、程序设计流程图Y N开始 启动前准备初始化INTO=1?开始转换 延时 取转换后的数值 将数值送显示结束6. C语言源程序#include<reg52.h>sbit ALE = P3^1;sbit ST = P3^0;sbit EOC = P3^2;sbit OE = P3^6;sbit CLK = P3^7;sbit wexuan1=P0^0;sbit wexuan2=P0^1;//sbit IN1 = P0^5;//sbit IN2 = P0^6;//sbit IN3 = P0^7;unsigned int code table[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f}; //段码表unsigned int n=0,flag1=1;flag=1,ad_data,num1=0,num2=0;void delay(xms){unsigned int x,y;for(x=xms;x>0;x--)for(y=110;y>0;y--);}void display()//2位数码管显示{float a;a=(float)ad_data/256*5*1000;num1=(int)a/1000;num2=(int)a/100-num1*10;P1=table[num1];wexuan1=0;delay(1);wexuan1=1;P1=0x00;P1=0x80; //小数点wexuan1=0;delay(1);wexuan1=1;P1=0x00;P1=table[num2];wexuan2=0;delay(1);wexuan2=1;P1=0x00;}void init(){ST = 0;ALE = 0;OE = 0;CLK = 0;// _EOC= 1;TMOD=0x12;IP=0x09;TH0=(65536-22)/256;TL0=(65536-22)%256;TH1=(65536-45872)/256;TL1=(65536-45872)%256;EA=1;ET0=1;ET1=1;TR0=1;TR1=1;EX0=1;//打开外部中断IT0=1;//从高到低的负跳变有效P0=0x00;}void start() //int a,int b,int c) //选择通道{// IN1 = a;IN2 = b;IN3 = c;ALE = 0;ALE = 1;ST = 0;ST = 1;ALE = 0;ST = 0;display();delay(10);}int read()unsigned int dat;P2 = 0xff;OE = 1;display();dat = P2;OE = 0;return (dat);}void main(){init();while(1){ ST = 0;ST = 1;ST = 0;if(n==20){flag=1;// display();// start();// while(EOC==0);//转换结束(EOC=1)读出数据后显示// _EOC=0;ad_data=read();flag=0;display();//n = 0;// display();// _EOC = 1;}display();//显示的是if中的电压值}}void INTR_0() interrupt 0while(1){ad_data = read();flag = 0;display();}}void timer0() interrupt 1 // 输出500kHz 方波{CLK=~CLK;}void timer1() interrupt 3{TH1=(65536-45872)/256;TL1=(65536-45872)%256;n++;flag1=0;}7、实验成果接线图。

单片机AD转换实验报告

单片机AD转换实验报告

单⽚机AD转换实验报告三、实验电路五、实验结果将程序产⽣的⼗六进制代码加载到proteus中,运⾏仿真,调节滑动变阻器改变AD 输⼊的电压,可以到如图7.1—7.4所⽰的实验结果。

图7.1输⼊电压0.76V 图7.2输⼊电压1.31V图7.3输⼊电压2.50V 图7.4输⼊电压4.99V四、程序清单及流程图程序⼀(查询):ORG 0000HLJMP MAINORG 0010HMAIN: MOV SP, #2FH CLR EAMOV DPTR, #0EFF8H MOVX @DPTR, AJB P3.3, $MOVX A, @DPTRMOV B, #51DIV ABMOV 7AH, AMOV A, BLCALL CL1MOV 79H, AMOV A, BLCALL CL1MOV 78H, AMOV 7BH, #0AHLCALL DISPLJMP MAINDISP: PUSH ACCPUSH DPHSETB RS1SETB RS0MOV R0, #78HMOV R7, #04HMOV R2, #01HDISP1: MOV A, @R0MOV DPTR, #DKMOVC A, @A+DPTRMOV P2, R2MOV P0, AJNB P2.2, DISP2CLR P0.7DISP2: LCALL DELAYMOV A, R2RL AMOV R2, AINC R0 INC R1DJNZ R7, DISP1POP PSWPOP DPLPOP DPHPOP ACCRETDK: DB 0C0H,0F9H,0A4H,0B0H, 99H,92H,82H,0F8H,80H,90H,0FFH DELAY: MOV R3, #02HLOP: MOV R4, #250DJNZ R4, $DJNZ R3, LOPRETCL1: CJNE A, #25, L00PLJMP L00P2L00P: JNC L00P1L00P2: MOV B, #10DIV ABLJMP L00P3L00P1: CLR CSUBB A, #25MOV B, #10MUL ABCLR CSUBB A, #6MOV B, #51DIV ABADD A, #5L00P3: RETEND开始初始化调⽤延时,等待转换读取数据,并转换调⽤显⽰程序启动下⼀次A/D转换程序⼆(延时):延时⽅式只需将查询指令改为⼀个调⽤延时指令,在主程序后加⼊100us延时程序即可。

单片机实验(AD转换)

单片机实验(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转换实验报告

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、实验指导书中已给出一部分内容的完整代码,需要自己思考改动的地方不多,因此实验难度不大。

实验六ADC模数转换实验

实验六ADC模数转换实验

实验六、ADC0809模数转换实验一、实验目的1、掌握ADC0809模数转换芯片与单片机的连接方法及ADC0809的典型应用2、掌握用查询的方法、中断方法完成模数转换程序的编写方法二、实验说明本实验使用ADC0809模数转换器,ADC0809是8通道8位CMOS逐次逼近式AD转换芯片,片内有模拟量通道选择开关及相应的通道锁存、译码电路、AD转换后的数据由三态锁存器输出,由于片内没有时钟需外接时钟信号,下图为芯片的引脚图各引脚功能如下:(1)IN0-IN7:八路模拟信号输入端(2)ADDA、ADDB、ADDC:三位地址译码输入端,八路模拟信号选择由这三个端口控制(3)CLOCK:外部时钟输入端(4)D0-D7:数字量输出端(5)OE:AD转换结果输出允许控制端,当OE为高电平时,允许AD转换结果从D0~D7端输出。

(6)ALE:地址锁存允许信号输入端。

八路模拟通道地址由A、B、C输入,在ALE 信号有效时将八路地址锁存。

(7)START:启动AD转换信号输入端,当START端输入一个正脉冲时,将进行AD 转换(8)EOC:AD转换结束信号输出端,当AD转换结束以后,EOC输出高电平。

(9)VREF(+)、VREF(-):正负基准电压输入端,基准正电压为+5V。

(10)VCC、GND:芯片的电源端和接地端。

三、实验步骤1、单片机最小应用系统1的P0口接AD转换的D0~D7,单片机最小应用系统1的Q0~Q7接AD转换的A0~A7,单片机最小应用系统1的WR、RD、P2.0、ALE、INT1分别连接AD转换的WR、RD、P2.0、CLOCK、INT1,AD转换的IN接+5V,单片机最小应用系统的P1口接LED灯。

2、用串行数据通信线连接计算机与仿真器,把仿真器插到模块的锁紧插座中,请注意仿真器的方向:缺口朝上。

3、打开Keil uVision2仿真软件,首先建立本实验的项目文件,接着添加源程序,进行编译,直到编译无误。

单片机实验报告AD转换器实验

单片机实验报告AD转换器实验

.
西华大学实验报告(机械类)
开课学院及实验室:机械工程与自动化学院运算机机房实验时刻:2021年 4月 7 日
一、实验目的
把握SPI总线的ADC0832(或TLC549)数模转换器的利用方式。

二、实验内容
利用ADC0832搜集直流0--5V的电压,并在LCM1602上显示结果。

三、实验电路
四、实验程序
;
DispBuffer[2]=(ad_data%10)+0x30; DispBuffer[3]='v';
DispBuffer[5]='\0';
LCD_Prints(6,1,DispBuffer);
}
}
五、实验步骤
1)依如实验原理图编写程序,用“keil uVision4”编译元件进行编译,如未通过,修改程序,直至通过。

(2)用软件将所编程序的“HEX”码下载到实验板的STC89C52芯片中。

(3)运行程序,用手凝动实验板左端的可变电阻,观看LCM1602是不是显现“改变可变电阻时,LCM1602的数值是不是在之间变更。

若是不符合要求,改写程序,按步骤(1)开始从头做实验,直至成功。

六、附录
用本实验能够开发哪些实际仪表?
答:用本实验能够开发电压表,称重仪等实际仪表。

实验十二 AD转换实验

实验十二 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,试画出相应的接口电路图。

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

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

一、实验目的和要求1、掌握单片机与ADC0809的接口设计方法。

2、掌握Proteus软件与Keil软件的使用方法。

二、设计要求。

1、用Proteus软件画出电路原理图,在单片机的外部扩展片外三总线,并通过片外三总线与0809接口。

2、在0809的某一模拟量输入通道上接外部模拟量。

3、在单片机的外部扩展数码管显示器。

4、分别采用延时和查询的方法编写A/D转换程序。

5、启动A/D转换,将输入模拟量的转换结果在显示器上显示。

三、电路原理图。

图1、电路仿真图四、实验程序流程框图和程序清单。

1、 查询法:ORG 0000H START: LJMP MAIN ORG 0100H MAIN: 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 RETDELAY: MOV R5, #01HDL1: MOV R4, #8EH DL0: MOV R3, #02H DJNZ R3, $DJNZ R4, DL0DJNZ R5, DL1 RET WK: DB 10H DB 20H DB 40H DK: DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90Hdisplay 送百分位字符代码送位选信号延时1ms 送十分位字符代码送位选信号延时1ms 送个位及小数点字符代码送位选信号延时1ms 熄灭第四位数码管延时1ms 返回display送百分位字符代码送位选信号延时1ms送十分位字符代码送位选信号延时1ms 送个位及小数点字符代码送位选信号延时1ms熄灭第四位数码管延时1ms返回END2、延时法:ORG 0000HSTART: LJMP MAINORG 0100HMAIN: MOV SP, #2FHLOOP: MOV DPTR, #0FF78HMOVX @DPTR, ALCALL DELAYMOVX A, @DPTRMOV B, #51DIV ABMOV R0, AMOV A, BMOV B, #5DIV ABMOV R1, AMOV R2, BLCALL DIRSJMP LOOPDIR: MOV R7, #0SJMP LOOP1BH: MOV A, R1MOV R2, ALOOP1: MOV DPTR, #WKMOV A, R7MOVC A, @A+DPTRMOV P2, AMOV DPTR, #DKMOV A, R2MOVC A, @A+DPTRMOV P1, ALCALL DELAYINC R7CJNE R7, #2, BHMOV DPTR, #WKMOV A, R7MOVC A, @A+DPTRMOV P2, AMOV DPTR, #DKMOV A, R0MOVC A, @A+DPTRANL A, #7FHMOV P1, ALCALL DELAYRETDELAY: MOV R5, #01HDL1: MOV R4, #8EHDL0: MOV R3, #02HDJNZ R3, $DJNZ R4, DL0DJNZ R5, DL1RETWK: DB 10HDB 20HDB 40H开始启动AD延时从AD中取数据数据处理结束调显示子函数DK: DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90HEND五、实验结果。

基于51单片机的模数转换(AD)实验设计

基于51单片机的模数转换(AD)实验设计

HEFEI UNIVERSITY单片机课程综述报告主题基于51单片机的模数转换(A/D)实验设计姓名郭丽丽专业通信工程学号**********班级11级通信(1)班指导老师汪济洲2014 年 6 月 2 日目录1.实验目的与要求 (1)1.1实验目的 (1)1.2实验要求 (1)2.实验原理 (1)2.1电路原理图 (1)2.2 Proteus7.4 软件简介 (2)3、实验步骤 (5)4、源程序代码 (5)5. 实验结果分析 (10)6.总结 (10)1.实验目的与要求1.1实验目的1.掌握A/D转换与单片机的接口方法2.了解A/D芯片ADC0809转换性能及编程方法3.通过实验了解单片机如何进行数据采集1.2实验要求1.采用查询法或中断法编程进行A/D采集;2.采集0~5V范围的电压信号(以电位器模拟被测信号),使用4位串行数码管显示0~5V数值,小数点保留三位,实现简易电压表功能。

2.实验原理2.1电路原理图熟悉8051的输入输出端口的使用方法, 本实验的电路连接如图1所示。

图1 连接电路2.2 Proteus7.4 软件简介Proteus是英国Labcenter公司开发的电路分析与实物仿真软件。

它运行于Windows操作系统上,可以仿真、分析(SPICE)各种模拟器件和集成电路,该软件的特点是:①实现了单片机仿真和SPICE电路仿真相结合。

具有模拟电路仿真、数字电路仿真、单片机及其外围电路组成的系统的仿真、RS232动态仿真、I2C调试器、SPI调试器、键盘和LCD系统仿真的功能;有各种虚拟仪器,如示波器、逻辑分析仪、信号发生器等。

②支持主流单片机系统的仿真。

目前支持的单片机类型有:ARM7(LPC21xx)、8051/52系列、AVR系列、PIC10/12/16/18系列、HC11系列以及多种外围芯片。

③提供软件调试功能。

在硬件仿真系统中具有全速、单步、设置断点等调试功能,同时可以观察各个变量、寄存器等的当前状态,因此在该软件仿真系统中,也必须具有这些功能;同时支持第三方的软件编译和调试环境,如Keil C51 uVision2、MPLAB等软件。

ad模数转换实验报告 -回复

ad模数转换实验报告 -回复

ad模数转换实验报告-回复AD模数转换实验报告一. 实验背景和目的AD模数转换是将模拟信号转换为数字信号的过程,它在现代电子技术中具有极为重要的作用。

本实验旨在研究AD模数转换原理,了解数字信号的传输、处理、存储等基本概念,并通过实际操作掌握AD模数转换的基本实验技巧。

二. 实验过程1. 实验所用设备和器材:本次实验所使用的设备和器材主要包括:- 信号源:提供待转换的模拟信号;- AD转换器:将模拟信号转换为数字信号,并输出给外部显示设备;- 外部显示设备:用于展示和观察AD转换后的数字信号。

2. 实验步骤:(1)将信号源连接至AD转换器的模拟输入端口。

(2)将AD转换器的数字输出端口连接至外部显示设备。

(3)调整信号源产生适当的模拟信号,例如正弦波、方波等,以便对AD 转换进行观察。

(4)开启AD转换器和外部显示设备。

(5)观察并记录外部显示设备上显示的数字信号,根据实际观察和记录结果,对AD转换过程进行分析和总结。

三. 实验结果和分析在实验过程中,我们调整信号源输出不同的模拟信号,并观察了AD转换器输出的数字信号。

通过实验观察和记录的数据,我们得出了以下结论:1. 模拟信号的频率对AD转换结果有影响。

当模拟信号的频率较低时,AD转换器可以较好地将模拟信号转换为数字信号,并在外部显示设备上显示出准确的波形。

而当模拟信号的频率较高时,AD转换器转换速度较慢,会出现信号失真的情况,数字波形会不准确甚至完全丢失。

2. AD转换器的分辨率对转换精度有影响。

我们通过调节AD转换器的分辨率,在相同的模拟信号输入下观察了不同分辨率下的数字信号输出。

结果显示,分辨率越高,AD转换器能够将模拟信号转换为更为精确的数字信号。

3. AD转换器的采样率也对转换结果有影响。

我们通过改变AD转换器的采样率,观察了不同采样率下的数字信号输出情况。

结果表明,采样率较低时,AD转换器无法准确捕捉到模拟信号中的快速变化,会导致数字信号的波形出现平滑化现象;而采样率较高时,AD转换器可以更好地还原出模拟信号的快速变化特征。

单片机ad da实验报告

单片机ad da实验报告

单片机ad da实验报告单片机AD/DA实验报告1. 引言单片机(Microcontroller)是一种集成了处理器、存储器和输入输出接口等功能的微型电子计算机系统。

作为现代电子技术的重要组成部分,单片机在各个领域都有广泛的应用。

其中,AD(模数转换)和DA(数模转换)是单片机中常见的功能模块,用于将模拟信号转换为数字信号或将数字信号转换为模拟信号。

本实验旨在通过实际操作,了解单片机AD/DA的原理和应用。

2. 实验目的通过本次实验,我们的目标是:- 理解AD/DA的基本原理和工作方式;- 掌握单片机AD/DA的编程方法;- 实现AD/DA功能的应用。

3. 实验原理AD(Analog-to-Digital)转换是将模拟信号转换为数字信号的过程。

单片机通过采样和量化的方式将连续的模拟信号转换为离散的数字信号。

DA(Digital-to-Analog)转换则是将数字信号转换为模拟信号的过程。

单片机通过将数字信号经过数值处理,再通过电压输出方式将其转换为模拟信号。

4. 实验器材本次实验所需的器材包括:- 单片机开发板;- AD/DA转换模块;- 电源供应器;- 信号发生器;- 示波器。

5. 实验步骤5.1 连接实验电路将AD/DA转换模块与单片机开发板连接,按照实验电路图进行正确的接线。

5.2 编写程序使用C语言编写单片机程序,实现AD/DA的功能。

根据实验需求,可以选择使用单片机的内部AD/DA模块,也可以通过外部模块进行扩展。

5.3 烧录程序将编写好的程序烧录到单片机开发板中,确保程序可以正常运行。

5.4 实验测量使用信号发生器产生模拟信号,并通过AD/DA转换模块输入到单片机中。

通过示波器观察和测量AD/DA转换的结果,并与理论值进行对比。

5.5 数据处理将单片机采集到的数字信号进行处理,如滤波、放大等操作,再通过DA转换模块输出为模拟信号。

通过示波器观察和测量输出信号的波形和特性。

6. 实验结果与分析通过实验测量和数据处理,我们可以得到AD/DA转换的结果。

单片机扩展模数转换器实验报告

单片机扩展模数转换器实验报告
TI=0;
SBUF=0x0a;
while(TI==0) ;
TI=0;
}
};
}
void Int0() interrupt 0
{
t=DAT;
P1=t; //读取转换结果并显示
DAT=0x00; //开始下一次转换
}
六.实验心得
学习了A/D转换与单片机的接口方法。对A/D芯片ADC0809转换性能及编程方法有了了解,通过实验了解单片机如何进行数据采集,锻炼了编程的能力。
PCON = 0;
TR1 = 1; //定时器1开始工作
}
void Int0_Init()
{
EA=1; //CPU开中断
EX0=1; //开外部中断0
IT0=1; //边沿触发方式
}
void time0() interrupt 1
{ time++; //每1ms,time加1
TH0=64614/256; //重新装载定时器初值
实验四单片机扩展模数转换器实验
一.实验目的
1.掌握A/D转换与单片机的接口方法。
2.了解A/D芯片ADC0809转换性能及编程方法。
3.通过实验了解单片机如何进行数据采集
二.实验内容
验证性实验:
(1)实验内容:
单片机模数转换实验,利用实验台上的ADC0809做A/D转换器,实验台上
2
的电位器提供模拟量输入,编制程序,将模拟量转换成数字量,把数字量转换为
TL0=64614%256;
ET0=1; //开定时器中断0
TR0=1; //开启定时器0并开始工作
}
/*---串口初始化---***/
void Uart_Init()

单片机实验AD转换实验

单片机实验AD转换实验

实验报告 课程名称:单片机原理及应用实验项目:A/D转换实验专业班级:姓名:学号:实验室号:实验组号:实验时间:批阅时间:指导教师:成绩:沈阳工业大学实验报告(适用计算机程序设计类)专业班级:学号:姓名:实验名称:A/D转换实验1.实验目的:1、掌握A/D转换与单片机的接口方法。

2、了解A/D芯片ADC0809转换性能及编程方法。

2.实验内容:利用实验台上的ADC0809做A/D转换器,实验箱上的电位器提供模拟电压信号输入,编制程序,将模拟量转换成数字量,用数码管显示模拟量转换的结果。

3. 实验方案(程序设计说明)4. 实验步骤或程序(经调试后正确的源程序)(见附件A)5.程序运行结果(见附件A)附件A 沈阳工业大学实验报告(适用计算机程序设计类)专业班级:学号:姓名:实验步骤或程序:实验原理:A/D转换器大致有三类:一是双积分A/D转换器,优点是精度高,抗干扰性好,价格便宜,但速度慢;二是逐次逼近法A/D转换器,精度、速度、价格适中;三是并行A/D转换器,速度快,价格也昂贵。

实验用的ADC0809属第二类,是八位A/D转换器。

每采集一次需100us。

ADC0809 START端为A/D转换启动信号,ALE端为通道选择地址的锁存信号。

实验电路中将其相连,以便同时锁存通道地址并开始A/D采样转换,故启动A/D转换只需如下两条指令:MOV DPTR,#PORTMOVX @DPTR,AA中为何内容并不重要,这是一次虚拟写。

在中断方式下,A/D转换结束后会自动产生EOC信号,将其与8031CPU板上的INT0相连接。

在中断处理程序中,使用如下指令即可读取A/D转换的结果:MOV DPTR,#PORTMOVX A,@DPTR实验步骤:1、0809的片选信号CS0809接CS0。

2、电位器的输出信号AN0接0809的ADIN0。

3、EOC接CPU板的INT0.程序框图:参考程序:NAME T15 ;0809实验PORT EQU 0CFA0HCSEG AT 0000HLJMP STARTCSEG AT 4100HSTART: MOV DPTR,#PORT ;启动通道0 MOVX @DPTR,AMOV R0,#0FFHLOOP1: DJNZ R0,LOOP1 ;等待中断MOVX A,@DPTRMOV R1,ADISP: MOV A,R1 ;从R1中取转换结果SWAP A ;分离高四位和低四位ANL A,#0FH ;并依次存放在50H到51H中MOV 50H,AMOV A,R1ANL A,#0FHMOV 51H,ALOOP: MOV DPTR,#0CFE9H ;写显示RAM命令字MOV A,#90HMOVX @DPTR,AMOV R0,#50H ;存放转换结果地址初值送R0 MOV R1,#02HMOV DPTR,#0CFE8H ;8279数据口地址DL0: MOV A,@R0ACALL TABLE ;转换为显码MOVX @DPTR,A ;送显码输出INC R0DJNZ R1,DL0SJMP DEL1TABLE: INC AMOVC A,@A+PCRETDB 3FH,06H,5BH,4FH,66H,6DH,7DH,07HDB 7FH,6FH,77H,7CH,39H,5EH,79H,71HDEL1: MOV R6,#255 ;延时一段时间使显示更稳定DEL2: MOV R5,#255DEL3: DJNZ R5,DEL3DJNZ R6,DEL2LJMP START ;循环END运行结果程序调试运行后,手调电位器,随着电位器的变化,看到数码管显示的数字电压值也在随之变化。

单片机AD转换实验报告

单片机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模数转换实验报告

单片机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模块的使用方法。

通过实际操作,我们掌握了实验步骤和注意事项,提高了实际操作的能力和理论知识的运用。

这对我们的电子技术学习和应用都起到了积极的促进作用。

AD转换实验报告

AD转换实验报告

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~IN 7中的一路进入 A/D 转换。

现在选择 IN 0通道作为输入,则对应的地址码位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。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

单片机AD模数转换实验报告
一、实验目的和要求
1、掌握单片机与ADC0809的接口设计方法。

2、掌握Proteus软件与Keil软件的使用方法。

二、设计要求。

1、用Proteus软件画出电路原理图,在单片机的外部扩展片外三总线,并通过片外三总线与0809接口。

2、在0809的某一模拟量输入通道上接外部模拟量。

3、在单片机的外部扩展数码管显示器。

4、分别采用延时和查询的方法编写A/D 转换程序。

5、启动A/D转换,将输入模拟量的转换
结果在显示器上显示。

三、电路原理图。

图1、电路仿真图
四、实验程序流程框图和程序清单。

1、查询法:
ORG 0000H
START: LJMP MAIN
ORG 0100H
MAIN: 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 END
display 送百分位字符代码送位选信号延时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
五、实验结果。

图2、仿真结果
六、实验总结。

由图4可知,设计要求2的内容已经成功完成;由图5可以看出要求3的内容已经成功完成。

通过这次实验,掌握了通过8255来扩展单片机的I/O口线,对8255已经有了充分的认识,以实践操作来验证理论知识,学到了很多东西。

七、思考题。

采用中断的方法编写A/D转换程序,完成实验要求
ORG 0000H
START: LJMP MAIN
ORG 0013H
LJMP INTT1
ORG 0100H
MAIN: MOV SP, #2FH
SETB EA
SETB EX1
MOV DPTR, #0FF78H
MOVX @DPTR, A
HERE: LJMP HERE
DISPLAY: 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: MOV R5, #01H
DL1: MOV R4, #8EH
DL0: MOV R3, #02H
DJNZ R3, $
DJNZ R4, DL0
DJNZ R5, DL1
RET
INTT1: 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 DISPLAY
MOV DPTR, #0FF78H
MOVX @DPTR, A
RETI
WK: DB 10H,20H,40H
DK: DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H END
图3、思考题仿真结果。

相关文档
最新文档