单片机DA转换实验报告

合集下载

实验(二)DA转换实验

实验(二)DA转换实验

实验二D/ A转化实验一、实验目的:(1)掌握D/A转换与单片机的接口方法。

(2)了解D/A芯片PCF8591转换性能及编程方法。

(3)了解单片机系统中扩展D/ A转换芯片的基本方法二、实验内容利用实验仪上的PCF8591做D/A转换实验,写入DA的数模值,然后累加该值,显示该值到数码管,延时100m后循环写入变化后的DA值,观察LED9的变化。

三、实验说明A/ D转换器大致分有三类:一是双积分A/ D转换器,优点是精度高,抗干扰性好,价格便宜,但速度慢;二是逐次逼近式A/ D转换器,精度、速度、价格适中;三是并行A/ D 转换器,速度快,价格也昂贵。

PCF8591属第二类,PCF8591是一个单片集成、单独供电、低功耗、8-bit CMOS数据获取器件。

PCF8591具有4个模拟输入、1个模拟输出和1个串行I²C总线接口。

PCF8591的3个地址引脚A0, A1和A2可用于硬件地址编程,允许在同个I2C总线上接入8个PCF8591器件,而无需额外的硬件。

在PCF8591器件上输入输出的地址、控制和数据信号都是通过双线双向I2C总线以串行的方式进行传输。

四、实验步骤(1)单片机P0口与J3相连,用作数码管显示(2)单片机P2.2与J2(B)相连,P2.2与J2(A)相连。

(3)跳帽J50 连接,给数码管供电。

(4)单片机P2.0与J8(SCL)相连,最为时钟输出,单片机P2.1与J8(SDL)相连最为数据输入输出。

(5)J31中AD0与W4用跳帽相连,选择AD通道。

(6)利用keil软件编写程序,并且用STC程序下载工具下载程序。

(7)观察LED9的变化。

单片机实验之DA转换实验

单片机实验之DA转换实验

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

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

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

2、在单片机的外部扩展一个4个按键的键盘。

3、按下K0,产生连续方波信号。

4、按下K1,产生连续锯齿波信号。

5、按下K2,产生连续三角波信号。

6、按下K3,产生连续正弦波信号。

7、通过外接示波器观察波形。

三、电路原理图六、实验总结通过本次实验电路的设计,掌握了基本的DA转换电路单缓冲的设计;参考电压的选择;0832的片选;集成运放芯片的选择及接线;尤其是运放的反馈电阻,从而能够产生正常的波形。

七、思考题1、编程实现产生连续梯形波信号。

答:程序见程序清单。

四、实验程序流程框图和程序清单ORG 0000H/***********起始程序***********/START: LJMP MAINORG 0100H/***********监控程序***********/MAIN: MOV SP, #60HLOOP: LCALL KEYSSLJMP LOOPKEYSS: LCALL KEYJB ,KEYAAJB ,KEYBBJB ,KEYCCJB ,KEYDDJB ,KEYEERET/***********键功能程序*********/KEYAA: MOV R2 ,#00H ;锯齿波LOOP1: MOV DPTR ,#0000HMOV A ,R2MOVX @DPTR ,ADEC R2LCALL KEYSSLJMP LOOP1KEYBB: MOV DPTR ,#0000H ;矩形波LOOP2: MOV R3 ,#0FFHMOV A ,R3MOVX @DPTR ,ALCALL DELAYLCALL KEYSSMOV R3 ,#00HMOV A ,R3MOVX @DPTR ,ALCALL DELAYLCALL KEYSSLJMP LOOP2KEYCC: MOV R2 ,#00H ;三角波 MOV DPTR ,#0000HLOOP3: MOV A ,R2MOVX @DPTR ,AINC R2LCALL KEYSSCJNE R2 ,#0FFH ,LOOP3 LOOP4: MOV A ,R2MOVX @DPTR ,ADEC R2LCALL KEYSSCJNE R2 ,#00H ,LOOP4LJMP LOOP3KEYDD: MOV R2 ,#00H ;正弦波LOOP5: MOV DPTR ,#SINMOV A ,R2MOVC A ,@A+DPTRMOV DPTR ,#0000HMOVX @DPTR ,AINC R2LCALL KEYSSLJMP LOOP5KEYEE: MOV R2 ,#00H ;梯形波 MOV DPTR ,#0000HLOOP6: MOV A ,R2MOVX @DPTR ,AINC R2LCALL KEYSSCJNE R2 ,#0FFH ,LOOP6LCALL DELAY20msLOOP7: MOV A ,R2MOVX @DPTR ,ADEC R2LCALL KEYSSCJNE R2 ,#00H ,LOOP7LCALL DELAY20msLJMP LOOP6/*******常数表格***********/SIN:DB07FH ,082H ,085H ,088H ,08BH ,08FH ,092H ,095H ,098H ,09BH ,09EH ,0A1 H ,0A4H ,0A7H ,0AAH ,0ADHDB0B0H ,0B3H ,0B6H ,0B8H ,0BBH ,0BEH ,0C1H ,0C3H ,0C6H ,0C8H ,0CBH ,0CD H ,0D0H ,0D2H ,0D5H ,0D7HDB0D9H ,0DBH ,0DDH ,0E0H ,0E2H ,0E4H ,0E5H ,0E7H ,0E9H ,0EBH ,0ECH ,0EE H ,0EFH ,0F1H ,0F2H ,0F4HDB0F5H ,0F6H ,0F7H ,0F8H ,0F9H ,0FAH ,0FBH ,0FBH ,0FCH ,0FDH ,0FDH ,0FE H ,0FEH ,0FEH ,0FEH ,0FEHDB0FEH ,0FEH ,0FEH ,0FEH ,0FEH ,0FEH ,0FDH ,0FDH ,0FCH ,0FBH ,0FBH ,0FA H ,0F9H ,0F8H ,0F7H ,0F6HDB0F5H ,0F4H ,0F2H ,0F1H ,0EFH ,0EEH ,0ECH ,0EBH ,0E9H ,0E7H ,0E5H ,0E4 H ,0E2H ,0E0H ,0DDH ,0DBHDB0D9H ,0D7H ,0D5H ,0D2H ,0D0H ,0CDH ,0CBH ,0C8H ,0C6H ,0C3H ,0C1H ,0BE H ,0BBH ,0B8H ,0B6H ,0B3HDB0B0H ,0ADH ,0AAH ,0A7H ,0A4H ,0A1H ,09EH ,09BH ,098H ,095H ,092H ,08FH ,08BH ,088H ,085H ,082HDB07FH ,07CH ,079H ,076H ,073H ,06FH ,06CH ,069H ,066H ,063H ,060H ,05D H ,05AH ,057H ,054H ,051HDB04EH ,04BH ,048H ,046H ,043H ,040H ,03DH ,03BH ,038H ,036H ,033H ,031 H ,02EH ,02CH ,029H ,027HDB025H ,023H ,021H ,01EH ,01CH ,01AH ,019H ,017H ,015H ,013H ,012H ,010 H ,00FH ,00DH ,00CH ,00AHDB009H ,008H ,007H ,006H ,005H ,004H ,003H ,003H ,002H ,001H ,001H ,000 H ,000H ,000H ,000H ,000HDB000H ,000H ,000H ,000H ,000H ,000H ,001H ,001H ,002H ,003H ,003H ,004 H ,005H ,006H ,007H ,008HDB009H ,00AH ,00CH ,00DH ,00FH ,010H ,012H ,013H ,015H ,017H ,019H ,01A H ,01CH ,01EH ,021H ,023HDB025H ,027H ,029H ,02CH ,02EH ,031H ,033H ,036H ,038H ,03BH ,03DH ,040 H ,043H ,046H ,048H ,04BHDB04EH ,051H ,054H ,057H ,05AH ,05DH ,060H ,063H ,066H ,069H ,06CH ,06F H ,073H ,076H ,079H ,07CH/***********键扫子程序*********/KEY: LCALL KEYCHULIJZ EXITLCALL DELAYLCALL KEYCHULIJZ EXITMOV B ,20HKEYSF: LCALL KEYCHULIJZ KEY1POP PSWRET/*******延时子程序**********/ DELAY: MOV R7 ,#01H ;延时1ms DL1: MOV R6 ,#8EHDL0: MOV R5 ,#02HDJNZ R5 ,$DJNZ R6 ,DL0DJNZ R7 ,DL1RETDELAY20ms: MOV R6,#0D7H ;20ms DL2: MOV R5,#2DHDJNZ R5,$DJNZ R6,DL2NOPNOPRETEND五、实验结果(波形图)。

单片机c语言程序设计---DA转换实验报告

单片机c语言程序设计---DA转换实验报告

单片机c语言程序设计---D/A转换实验报告课程名称:单片机c语言设计实验类型:设计型实验实验项目名称: D/A转换实验一、实验目的和要求1.掌握数模转换的概念2.掌握D/A转换芯片DAC0832的功能及特点,掌握与单片机的接口3.掌握D/A转换芯片DAC0832的c语言编程实例二、实验内容和原理实验1.信号发生器功能:使用DAC0832用作信号发生器,编写产生锯齿波、三角波和方波的程序。

本次项目中,DAC0832采用单缓冲单极性的线选法接线方式,其选通地址为7FFFH。

(1)硬件设计使用P1口接3个独立的按键S01、S02、S03,当按下S01时输出锯齿波,按下S02时输出三角波,当按下S03时输出方波。

电路原理图如下仿真所需元器件(2)proteus仿真通过Keil编译后,利用protues软件进行仿真。

在protues ISIS 编译环境中绘制仿真电路图,将编译好的“xxx.hex”文件加入AT89C51。

启动仿真,观察仿真结果。

三、实验要求:1.完成信号发生器实验。

具体包括绘制仿真电路图、编写c源程序、进行仿真并观察仿真结果,需要保存原理图截图,保存c源程序,总结观察的仿真结果。

完成思考题。

四、操作方法与实验步骤1.按照硬件设计在protues上按照所给硬件设计绘制电路图。

2.在keil上进行编译后生成“xxx.hex”文件。

3.编译好的“xxx.hex”文件加入AT89C51。

启动仿真,观察仿真结果。

五、实验结果与分析void main(){while(1){while( K01==0 ) //生成锯齿波{for(cDigital=0;cDigital<=250;cDigital++){TransformData(cDigital);//进行数模转换}}while( K02==0 ) //生成三角波{for(cDigital=0;cDigital<=250;cDigital++){TransformData(cDigital);//进行数模转换}for(cDigital=250;cDigital>=0;cDigital--){TransformData(cDigital);//进行数模转换}}while( K03==0 ) //生成方波{TransformData(0);//进行数模转换Delay(500);TransformData(250);//进行数模转换Delay(500);}}}六、讨论和心得。

单片机DA转换实验报告

单片机DA转换实验报告

单片机DA转换实验报告实验九d/a实验报告㈠实验目的1.2.3.4.掌握单片机与d/a的接口及编程方法;通过d/a动态波形输入进一步认知d/a的工作原理;融合实验六中的a/d去检验软硬件的正确性。

进一步介绍单片机系统地址分配概念。

㈡实验器材1.2.3.4.5.g6w仿真器mcs―51实验板pc机信号发生器示波器一台一台一台一台一台㈢实验内容及要求dac0832就是附带双锁存器且可以与单片机8051轻易USB的8十一位d/a,从实验板的电原理图可知,当0832管脚ile为低,cs2为高时,8051对0832载入等待切换的8十一位数字量,当对0832载入任一数(wr、cs2都为高)时,8051启动d/a切换。

把具有一定规律变化的数据连续送到0832,可用示波器在运放741输出端看到一定规律的动态波形。

将实验六中a/d所余数据轻易送至0832,在d/a输入端的也需用示波器观测至还原成后的a/d输出端的信号。

注意:在实验前,应先检查dac0832的参考电压是否正确。

(建议dac0832的参照电压值vref=-5v,用万用表观测dac0832芯片的8脚电压值。

若不对,可以调节实验板上的电位器w3去发生改变d/a的参照电压值。

)㈣实验步骤1.接ile至高电平(+5v),根据cs2与高位地址线的相连接情况,确认0832在系统中的地址。

2.将微机与伟福仿真系统及51实验板相连接。

3.编写双向锯齿波或三角波输出的d/a程序,利用伟福仿真系统及计算机编订成目标码,运转并调试程序,用示波器观测实验结果。

4.编写送a/d数据至d/a转换程序,并将在实验六中所编写a/d采样程序与之相连接女团,运用伟福仿真系统及计算机编订成目标码,运转并调试程序,用示波器观测对照a/d输出端的和d/a输入端的波形。

㈤实验框图寄存器复置切换初值已经开始已经开始调a/d切换子程序取样n个数据㈥思考题1.在实验步骤4中,对照了a/d输出端的和d/a输入端的波形,它们存有什么不同?为什么?a/d输入端的就是正弦波形,而d/a输入端的就是一段直流提一段正弦波形。

实验三A/D转换实验

实验三A/D转换实验

实验三A/D转换实验一、实验目的1. 掌握ADC0809与单片机的接口及其编程方法。

2. 了解A/D变换芯片ADC0809工作原理。

3. 通过实验了解单片机如何进行数据采集。

二、实验原理和实验内容1.实验原理A/D转换器大致有三类:一是双积分A/D转换器,特点是精度高,抗干扰性好,价格便宜,但转换速度慢;二是逐次逼近A/D转换器特点是精度、速度、价格均适中;三是并行A/D转换器,速度快,价格昂贵。

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

每采集一次一般需100μS,A/D 转换结束后会自动产生EOC信号。

1)ADC0809引脚含义IN0~IN7:8路模拟通道输入,由ADDA,ADDB,ADDC三条线选择。

ADDA、ADDB、ADDC:模拟通道选择线,比如000时选择0通道,111时选择7通道。

D7~D0:数据线,三态输出,由OE(输出允许信号)控制输出与否。

OE:输出允许,该引线上的高电平,打开三态缓冲器,将转换结果放到D0~D7上。

ALE:地址允许锁存,其上升沿将ADDA,ADDB,ADDC三条引线的信号锁存,经译码选择对应的模拟通道。

ADDA,ADDB,ADDC可接单片机的地址线,也可接数据线。

ADDA接低位线,ADDC接高位线。

START:转换启动信号,在模拟通道选通之后,由START上的正脉冲启动A/D转换过程。

转换时间至少100us。

EOC(end of conversion):转换结束信号,在START信号之后,A/D开始转换。

EOC 输出低电平,表示转换在进行中,当转换结束,数据已锁存在输出锁存器之后,EOC变为高电平。

EOC可视作被查询的状态信号,亦可用来申请中断。

REF+、REF-:基准电压输入。

CLOCK:时钟输入、时钟频率上限为1280KHz。

2)ADC0809在实验系统中的电路ADC0809在实验平台中的电路如图8-3所示。

ADC0809输入通道的控制是由单片机的P2.0,P2.1 和P2.2完成,跳线J504使能U501锁存使能。

计控实验 DA转换实验

计控实验 DA转换实验

实验一D/A转换实验实验目的:1. 了解D/A转换的基本原理;2. 了解D/A转换芯片DAC0832的性能及编程方法;3. 了解89C51系统中扩展D/A转换的基本方法。

实验内容:1. 利用DAC0832,编制程序,实现将数字量00―0FFH分别以单极性和双极性方式转换为模拟量;2. 编制程序产生鋸齿波、三角波、正弦波。

三种波形轮流显示,用示波器观看。

归根到底就是使用单片机控制送给DAC的数据:矩形波——从0电平直接跳变至最高电平,再直接跳变至0电平;三角波——从0电平等量递增至最高电平,再等量递减至0电平;锯齿波——从0电平递增至高电平,再递减至0电平,且递增和递减量阶不等;幅值就是最高电平,周期就是变化时间。

①正向阶梯波实验程序。

在图2.32中,让8051单片机的累加器A从0开始循环增量,每增量一次向DAC0832送出一个数,得到一个输出电压,这样就可以获得一个正向阶梯波,波形的周期可以通过调整延时时间来改变。

MOV DPTR,#8000H ;DAC0832地址MOV A,#00HLOOP:MOVX @DPTR,A ;启动D/A转换ACALL DELAY ;延时INC AAJMP LOOP ;连续输出波形DELAY:MOV R4,#0FFH ;延时子程序LOOP1:MOV R5,#10HLOOP2:NOPNOPNOPDJNZ R5,LOOP2DJNZ R4,LOOP1RET②三角波实验程序。

若要获得负向的锯齿波,只需将以上程序中的指令INC A换成指令DEC A即可,如果将正向锯齿波与负向锯齿波组合起来就可以获得三角波,程序如下:MOV DPTR,#8000H ;DAC0832地址MOV A,#00HUP: MOVX @DPTR,A ;启动D/A转换INC A ;上升沿CJNE A,#0FFH,UPDOWN:MOVX @DPTR,A ;启动D/A转换DEC A ;下降沿CJNE A,#00H,DOWNAJMP UP ;连续输出波形③方波实验程序。

d a转换器实验报告

d a转换器实验报告

d a转换器实验报告DA转换器实验报告引言:DA转换器(Digital-to-Analog Converter)是一种将数字信号转换为模拟信号的设备。

在现代电子技术中,DA转换器被广泛应用于各种领域,如通信、音频处理、自动控制等。

本实验旨在通过搭建DA转换器电路并进行实际测试,来深入了解其工作原理和性能特点。

一、实验目的本实验的目的是通过搭建DA转换器电路,了解其工作原理以及性能特点,并通过实际测试来验证其转换准确性和稳定性。

二、实验原理DA转换器的基本原理是将输入的数字信号转换为模拟信号输出。

常见的DA转换器有两种类型:并行式和串行式。

并行式DA转换器将输入的二进制数字信号同时转换为相应的模拟信号,而串行式DA转换器则是逐位地将二进制数字信号转换为模拟信号。

在本实验中,我们将使用串行式DA转换器。

串行式DA转换器由一个计数器和一个数字模拟转换器组成。

计数器用于逐位地将二进制数字信号输出,而数字模拟转换器则将二进制数字信号转换为相应的模拟信号输出。

三、实验步骤1. 搭建DA转换器电路:按照实验指导书上的电路图,连接计数器和数字模拟转换器。

2. 设置输入信号:通过调节计数器的输入信号,设置所需的二进制数字信号。

3. 测试输出信号:将数字模拟转换器的输出信号连接到示波器上,并观察输出信号的波形和幅度。

4. 记录实验数据:记录不同输入信号对应的输出信号波形和幅度,并进行分析。

四、实验结果与分析通过实验,我们得到了不同输入信号对应的输出信号波形和幅度数据。

根据实验数据,我们可以得出以下结论:1. 准确性:通过比对输入信号和输出信号的对应关系,可以发现DA转换器在转换过程中几乎没有误差,转换准确性非常高。

2. 稳定性:在实验过程中,我们发现无论输入信号如何变化,输出信号始终保持稳定,没有明显的波动或漂移现象。

五、实验总结通过本次实验,我们深入了解了DA转换器的工作原理和性能特点。

DA转换器在现代电子技术中起着重要的作用,广泛应用于各个领域。

单片机实验DA转换器DAC0832的应用的报告

单片机实验DA转换器DAC0832的应用的报告

单片机应用技术课程报告实验名称D/A转换器DAC0832的应用实验时间2020年6月30 日学生姓名实验地点钉钉群线上同组人员专业班级1、实验目的(1)了解D/A转换与单片机的接口方法;(2)了解D/A转换芯片DAC0832的性能及编程方法(3)掌握D/A转换的程序设计方法。

2、任务设计要求(1)掌握实验原理,读懂实验线路图,了解所用到的元器件特性。

(2)会绘制电路原理图,会连接电路原理图。

(3)将编制的锯齿波、方波程序运行,用示波器观察波形。

使用STC89C51单片机、DAC0832芯片,设计一个波形发生器,能产生正弦波、方波、三角波、锯齿波,梯形波,要求通过编程实现不同波型的产生,通过按键实现不同波形输出的切换。

3、总体设计方案4、硬件电路设计5、软件程序设计#include<absacc.h>#include<reg51.h>#define DAC0832 XBYTE[0x7fff]sbit k1=P1^0;sbit k2=P1^1;sbit k3=P1^2;sbit k4=P1^3;sbit k5=P1^4;int flag1=0;int flag2=0;int flag3=0;int flag4=0;int flag5=0;unsigned char code zhengxian[256]={0x80,0x83,0x86,0x89,0x8c,0x8f,0x92,0x95,0x98,0x9c,0x9f,0xa2,0xa5, 0xa8,0xab,0xae,0xb0,0xb3,0xb6,0xb9,0xbc,0xbf,0xc1,0xc4,0xc7,0xc9, 0xcc,0xce,0xd1,0xd3,0xd5,0xd8,0xda,0xdc,0xde,0xe0,0xe2,0xe4,0xe6, 0xe8,0xea,0xec,0xed,0xef,0xf0,0xf2,0xf3,0xf4,0xf6,0xf7,0xf8,0xf9, 0xfa,0xfb,0xfc,0xfc,0xfd,0xfe,0xfe,0xff,0xff,0xff,0xff,0xff,0xff, 0xff,0xff,0xff,0xff,0xff,0xfe,0xfe,0xfd,0xfc,0xfc,0xfb,0xfa,0xf9, 0xf8,0xf7,0xf6,0xf4,0xf3,0xf2,0xf0,0xef,0xed,0xec,0xea,0xe8,0xe6,0xe4,0xe2,0xe0,0xde,0xdc,0xda,0xd8,0xd6,0xd3,0xd1,0xce,0xcc,0xc9, 0xc7,0xc4,0xc1,0xbf,0xbc,0xb9,0xb6,0xb4,0xb1,0xae,0xab,0xa8,0xa5, 0xa2,0x9f,0x9c,0x99,0x96,0x92,0x8f,0x8c,0x89,0x86,0x83,0x80,0x7d, 0x7a,0x76,0x73,0x70,0x6d,0x6a,0x67,0x64,0x61,0x5e,0x5b,0x58,0x55, 0x52,0x4f,0x4c,0x49,0x46,0x43,0x41,0x3e,0x3b,0x39,0x36,0x33,0x31, 0x2e,0x2c,0x2a,0x27,0x25,0x23,0x21,0x1f,0x1d,0x1b,0x19,0x17,0x15, 0x14,0x12,0x10,0x0f,0x0d,0x0c,0x0b,0x09,0x08,0x07,0x06,0x05,0x04, 0x03,0x03,0x02,0x01,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x01,0x01,0x02,0x03,0x03,0x04,0x05,0x06,0x07,0x08, 0x09,0x0a,0x0c,0x0d,0x0e,0x10,0x12,0x13,0x15,0x17,0x18,0x1a,0x1c, 0x1e,0x20,0x23,0x25,0x27,0x29,0x2c,0x2e,0x30,0x33,0x35,0x38,0x3b, 0x3d,0x40,0x43,0x46,0x48,0x4b,0x4e,0x51,0x54,0x57,0x5a,0x5d,0x60, 0x63,0x66,0x69,0x6c,0x6f,0x73,0x76,0x79,0x7c};void delay()//延时程序{int i;for(i=0;i<1000;i++);}void panduan (void)//函数panduan用于扫描按键状态判断输出波形{if (k1==0){//按键消抖delay();if (k1==0)//通过赋值flag选择波形flag1=1;flag2=0;flag3=0;flag4=0;flag5=0;}if(k2==0){delay();if (k2==0)flag1=0;flag2=1;flag3=0;flag4=0;flag5=0;}if (k3==0){//补充程序flag1=0;flag2=0;flag3=1;flag4=0;flag5=0;。

DA转换实验报告

DA转换实验报告

D/A转换实验报告组员:田亚峰杜亚亚摘要此次设计实验是以AT89C51、DAC0832、741为核心,并加以其他辅助电路来实验D/A转换,其中主要是利用单片机来控制从数字量到模拟量的整个转换。

先是从键盘输入数字量到单片机,再从单片机输出到DAC0832,经D/A转换后输出与该数字量大小对应的模拟电压,并用LED数码管显示出来输入的数字量值。

目录1.方案设计及论证 (2)1.1理论分析 (2)1.2单片机选择 (2)1.3键盘设计 (2)1.4 D/A转换选择 (3)2.硬件设计 (3)2.1单片机模块 (3)2.2 D/A转换模块 (4)3.软件设计 (6)4.仿真验证及调试 (6)4.1调试方法 (6)4.2性能测试仪器 (7)4.3实验数据 (7)4.4误差分析 (8)5.设计总结及体会 (8)附录(一):实物图 (9)附录(二)软件程序 (9)1.方案设计及论证1.1理论分析根据本次设计任务的要求,由单片机模块、D/A转换模块、反相比例加法运算电路构成。

系统框图如下:图1 系统框图1.2单片机选择方案一:选用AT89C51方案二:选用AT89C52论证:1)AT89C52的程序空间为8K 比AT89C51的空间大2)AT89C52多了个T2定时器,所以比89C51多几个寄存器因此选用AT89C52.1.3键盘设计方案一:采用独立式键盘方案二:采用矩阵式键盘论证:由于独立式键盘占用较多的I/O线,因此选用4×4矩阵式键盘输入,以保证10个数全部完整输入,节省I/O端口资源。

1.4 D/A转换选择此次设计选用DAC0832,它是由一个八位输入锁存器、一个8位D/A 锁存器和一个8位D/A转换器三个部分组成。

D/A转换器将输入的数字量转换为模拟量输出,数字量是由若干数位构成的,就是把每一位上的代码按照权值转换为对应的模拟量,再把各位所对应的模拟量相加,所得到各位模拟量的和便是数字量所对应的模拟量。

实验六 DA转换实验

实验六   DA转换实验

实验六D/A转换实验一、实验目的:1.了解D/A转换的基本原理。

1.了解D/A转换芯片0832的性能及编程方法。

2.了解单片机系统中扩展D/A转换的基本方法。

二、实验设备:EL-MUT-III型单片机实验箱、8051CPU模块三、实验内容:利用DAC0832,编制程序产生锯齿波、三角波、正弦波。

三种波形轮流显示。

四、实验原理:D/A转换是把数字量转换成模拟量的变换,从D/A输出的是模拟电压信号。

产生锯齿波和三角波只需由A存放的数字量的增减来控制;要产生正弦波,较简单的手段是造一张正弦数字量表。

取值范围为一个周期,采样点越多,精度就越高。

本实验中,输入寄存器占偶地址端口,DAC寄存器占较高的奇地址端口。

两个寄存器均对数据独立进行锁存。

因而要把一个数据通过0832输出,要经两次锁存。

典型程序段如下: MOV DPTR,#PORTMOV A,#DATAMOVX @DPTR,AINC DPTRMOVX @DPTR,A其中第二次I/O写是一个虚拟写过程,其目的只是产生一个WR信号。

启动D/A。

五、实验电路:六、实验步骤:1、DAC0832的片选CS0832接CS0,输出端OUT接示波器探头。

2、将短路端子DS的1、2短路七、程序框图T14.ASM主程序MAIN 锯齿波显示子程序:PRG1三角波显示子程序:PRG2 正弦波显示子程序:PRG3中断子程序:DELAY;实验接线:DAC0832的片选CS0832接CS0,输出端OUT接示波器探头。

NAME T92 ;0832数模转换实验PORT EQU 0CFA0HCSEG AT 4000HLJMP STARTCSEG AT 4100HSTART: MOV R1,#02H ;置计数初值于R1ACALL PRG1 ;显示锯齿波MOV R1,#01H ;置计数初值于R1ACALL PRG2 ;显示三角波MOV R1,#01H ;置计数初值于R1ACALL PRG3 ;显示正弦波LJMP START ;转START循环显示PRG1: MOV DPTR,#PORT+1 ;DAC寄存器端口地址送DPTR问题1、端口地址是多少?MOV A,#00H ;初值送ACCLOOP: MOV B,#0FFHLOOP1: MOV DPTR,#PORT ;DAC输入寄存器端口地址MOVX @DPTR,A ;送出数据INC DPTR ;问题2、加一,,是什么寄存器端口地址MOVX @DPTR,A ;启动转换INC A ;数据加一CJNE A,#0FFH,LOOP1MOV A,#00HDJNZ B,LOOP1DJNZ R1,LOOP ;计数值减到40H了吗?没有则继续RET ;产生锯齿波问题3、描述锯齿波是如何产生的?PRG2: MOV DPTR,#PORT+1MOV A,#00HLP0: MOV B,#0FFHLP1: MOV DPTR,#PORT ;LP1循环产生三角波前半周期MOVX @DPTR,AINC DPTRMOVX @DPTR,AINC ACJNE A,#0FFH,LP1 ;数据为FFH吗?不等则转LP1MOV R2,#0FEHLP2: MOV DPTR,#PORT ;LP2循环产生三角波后半周期MOV A,R2MOVX @DPTR,AINC DPTRMOVX @DPTR,ADJNZ R2,LP2DJNZ B,LP1DJNZ R1,LP0 ;计数值到80H则退出执行下一步RET问题3、描述三角波是如何产生的?PRG3: MOV B,#00HLP3: MOV DPTR,#DATA0MOV R4,#0FFH ;FFH为DA TA0表中的数据个数LP4: MOVX A,@DPTR ;从表中取数据MOV R3,DPHMOV R5,DPLMOV DPTR,#PORTMOVX @DPTR,AINC DPTRMOVX @DPTR,AMOV DPH,R3MOV DPL,R5INC DPTR ;地址下移DJNZ R4,LP4DJNZ B,LP3DJNZ R1,PRG3RET问题4、描述正弦波是如何产生的?DA TA0: DB 80H,83H,86H,89H,8DH,90H,93H,96HDB 99H,9CH,9FH,0A2H,0A5H,0A8H,0ABH,0AEHDB 0B1H,0B4H,0B7H,0BAH,0BCH,0BFH,0C2H,0C5HDB 0C7H,0CAH,0CCH,0CFH,0D1H,0D4H,0D6H,0D8HDB 0DAH,0DDH,0DFH,0E1H,0E3H,0E5H,0E7H,0E9HDB 0EAH,0ECH,0EEH,0EFH,0F1H,0F2H,0F4H,0F5HDB 0F6H,0F7H,0F8H,0F9H,0FAH,0FBH,0FCH,0FDHDB 0FDH,0FEH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFHDB 0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FEH,0FDHDB 0FDH,0FCH,0FBH,0FAH,0F9H,0F8H,0F7H,0F6HDB 0F5H,0F4H,0F2H,0F1H,0EFH,0EEH,0ECH,0EAHDB 0E9H,0E7H,0E5H,0E3H,0E1H,0DEH,0DDH,0DAHDB 0D8H,0D6H,0D4H,0D1H,0CFH,0CCH,0CAH,0C7HDB 0C5H,0C2H,0BFH,0BCH,0BAH,0B7H,0B4H,0B1HDB 0AEH,0ABH,0A8H,0A5H,0A2H,9FH,9CH,99HDB 96H,93H,90H,8DH,89H,86H,83H,80HDB 80H,7CH,79H,76H,72H,6FH,6CH,69HDB 66H,63H,60H,5DH,5AH,57H,55H,51HDB 4EH,4CH,48H,45H,43H,40H,3DH,3AHDB 38H,35H,33H,30H,2EH,2BH,29H,27HDB 25H,22H,20H,1EH,1CH,1AH,18H,16HDB 15H,13H,11H,10H,0EH,0DH,0BH,0AHDB 09H,8H,7H,6H,5H,4H,3H,2HDB 02H,1H,0H,0H,0H,0H,0H,0HDB 00H,0H,0H,0H,0H,0H,1H,2HDB 02H,3H,4H,5H,6H,7H,8H,9HDB 0AH,0BH,0DH,0EH,10H,11H,13H,15HDB 16H,18H,1AH,1CH,1EH,20H,22H,25HDB 27H,29H,2BH,2EH,30H,33H,35H,38HDB 3AH,3DH,40H,43H,45H,48H,4CH,4EH DB 51H,51H,55H,57H,5AH,5DH,60H,63HDB 69H,6CH,6FH,72H,76H,79H,7CH,80H END。

实验五 DAAD转换实验 完整版

实验五 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模拟信号的输入,编制程序,将模拟量转换为数字量,通过数码管显示出来。

d a转换实验报告

d a转换实验报告

d a转换实验报告D A转换实验报告引言:数字与模拟信号的转换是现代通信和电子技术中的一个重要环节。

D A转换器(Digital-to-Analog Converter)是一种将数字信号转换为模拟信号的关键设备。

本实验旨在通过实际操作,了解D A转换器的工作原理、性能特点以及应用。

一、实验目的通过实验,掌握D A转换器的基本原理和工作方式,熟悉D A转换器的性能参数测量方法,以及了解D A转换器在实际应用中的一些特点。

二、实验器材1. D A转换器芯片2. 示波器3. 信号发生器4. 电阻、电容等元器件三、实验原理D A转换器是将数字信号转换为模拟信号的设备,其工作原理是通过一系列的数字信号处理,将离散的数字信号转换为连续的模拟信号。

常见的D A转换器有串行式D A转换器和并行式D A转换器。

四、实验步骤1. 搭建实验电路:按照实验要求,连接D A转换器芯片、示波器和信号发生器等设备。

2. 设置信号发生器:根据实验要求,设置信号发生器的输出频率、幅度等参数。

3. 测量输出信号:通过示波器,观察和记录D A转换器输出的模拟信号波形。

4. 测量性能参数:根据实验要求,测量D A转换器的分辨率、线性度、失真度等性能参数。

5. 分析实验结果:根据实验数据,对D A转换器的性能进行分析和评估。

五、实验结果与分析通过实验测量和分析,可以得到D A转换器的性能参数。

例如,分辨率是指DA转换器能够输出的模拟信号中最小变化量的大小,分辨率越高,转换精度越高。

线性度是指D A转换器输出信号与输入信号之间的线性关系,线性度越好,输出信号越准确。

失真度是指D A转换器输出信号与输入信号之间的差异程度,失真度越低,输出信号越接近输入信号。

六、应用与展望D A转换器在现代通信和电子技术中有着广泛的应用。

例如,在音频设备中,D A转换器用于将数字音频信号转换为模拟音频信号,实现声音的播放。

在图像处理领域,D A转换器用于将数字图像信号转换为模拟图像信号,实现图像的显示。

第(7)次实验报告-DA转换

第(7)次实验报告-DA转换
0x0,0x2,0x5,0x9,0xe,0x15,0x1c,0x25,0x2e,
0x38,0x43,0x4e,0x5a,0x66,0x73};//正弦波代码表
4、将调试正确的程序粘贴在此处,并对重要语句添加注释信息。
#include <reg52.h>
#include <absacc.h> //XBYTE[]头文件
1、实验要求:参考教材P280页的第一个程序段编程产生锯齿波。
2、已知条件:实验箱上D/A转换器0832芯片的端口地址为“7FFFH”。
3、将调试正确的程序粘贴在此处,并对重要语句添加注释信息。
第二个实验:编程产生“锯齿波”
1、实验要求:参考教材P280页的第一个程序段编程产生锯齿波。
2、已知条件:实验箱上D/A转换器0832芯片的端口地址为“7FFFH”。
《单片机基础》第7次实验报告
实验内容
利用D/A转换芯片0832编程产生“锯齿波”、“三角波”、“阶梯波”。
实验目的
学习对D/A转换芯片0832的编程。
姓名
学号
班级
电信12
实验设备:实验箱配件一套;数字示波器一台。
实验准备:
(1)实验箱的拨码开关K10拨在下方;KC拨在上方。
(2)将实验箱上的P0.0~P0.7接至U14D0~U14D7;WR接至U14WR。
DAC0832 = 0x00;
Delay();
DAC0832 = 0xff;
Delay();
}
void triangleWave()
{
uchar temp =0x00;
for(temp;temp<0xff;temp++)
{

单片机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转换的结果。

《DA转换器实验》的实验报告

《DA转换器实验》的实验报告

实验D/A转换实验
10.1 实验目的
(1) 学习掌握数/模信号转换基本原理及接口设计方法。

(2) 掌握DAC0832芯片的使用方法。

10.2 实验设备
PC微机一台、TD-PIT+实验系统一套、示波器一台。

10.3 实验内容
设计实验线路并编写程序,实现数字信号到模拟信号的转换,输入数字量由程序给出。

要求产生方波、锯齿波和三角波,并用示波器观察输出模拟信号的波形。

10.4 实验原理
D/A转换器是一种将数字量转换成模拟量的器件,其特点是:接收、保持和转换的数字信息,不存在随温度、时间漂移的问题,其电路抗干扰性较好。

大多数的D/A转换器接口设计主要围绕D/A集成芯片的使用及配置响应的外围电路。

DAC0832是8位芯片,采用CMOS工艺和R-2RT形电阻解码网络,转换结果为一对差动电流Iout1和Iout2输出。

DAC0832引脚如图10-1所示。

主要性能参数如表10-1示。

图10-1 DAC0832的引脚图
表10-1 DAC0832性能参数
10.5 实验说明及步骤
(1)确认从PC机引出的两根扁平电缆已经连接在实验平台上。

(2)首先运行CHECK程序,查看I/O空间始地址。

(3)利用查出的地址编写程序,然后编译链接。

(4)参考图10-2所示连接实验线路。

(5)运行程序,用示波器观察输出模拟信号波形是否正确。

(a)产生方波(b)产生三角波
图10-2 D/A转换实验参考程序流程图
图10-2 D/A转换实验参考接线图。

DA转换实验(与“实验”有关文档共10张)

DA转换实验(与“实验”有关文档共10张)
连到+12V插孔,调节
第9页,共10页。
流程图
实验位置图:
第10页,共10页。
实验线路图
再逐渐升至5V,再从5V逐渐降至0V,再 3、了解单片机系统中扩展D/ A转换芯片的
W2使VREF 为+5V。 ”状态下,从起始地址0740H开始连
降至-5V的锯齿波电压。 1、了解D/ A转换与单片机的接口方法。
利用0832输出一个从-5V开始逐渐升0V 应能测出不断加大和减小的电压值 应能测出不断加大和减小的电压值 降至-5V的锯齿波电压。
续运行程序(输入0740后按EXEC键)。
7、用万用表或示波器测D/A输出端AOUT, 应能测出不断加大和减小的电压值
第7页,共10页。
本实验结束
返回
第8页,共10页。
D/A转换源程序:
2、将+12V插孔、—12V插孔通过导线连到外 上,电位器W2的输VIN连到+12V插孔,调节
1、把D/A区0832片选CS信号线接至译码Y0。 应能测出不断加大和减小的电压值 3、将D/A区WR插孔连到BUS3区XWR插孔。 ”状态下,从起始地址0740H开始连 3、将D/A区WR插孔连到BUS3区XWR插孔。 降至-5V的锯齿波电压。 应能测出不断加大和减小的电压值 5、用8芯排线将D/A区D0—D7与BUS2区XD0— 1、把D/A区0832片选CS信号线接至译码Y0。 续运行程序(输入0740后按EXEC键)。 3、将D/A区WR插孔连到BUS3区XWR插孔。 7、用万用表或示波器测D/A输出端AOUT, 3、了解单片机系统中扩展D/ A转换芯片的
上,电位器W2的输VIN连到+12V插孔,调节
第3页,共10页。
三、实验程序框图:

单片机AD与DA转换实验报告

单片机AD与DA转换实验报告

AD与DA转换实验报告一.实验目的⑴掌握A/D转换与单片机接口的方法;⑵了解A/D芯片0809转换性能及编程方法;⑶通过实验了解单片机如何进行数据采集。

⑷熟悉DAC0832 内部结构及引脚。

⑸掌握D/A转换与接口电路的方法。

⑹通过实验了解单片机如何进行波形输出。

二.实验设备装有proteus的电脑一台三.实验原理及内容1.数据采集_A/D转换(1)原理①ADC0809由一个8路模拟开关、一个地址锁存与译码器、一个A/D转换器和一个三态输出锁存器组成。

多路开关可选通8个模拟通道,允许8路模拟量分时输入,共用A/D转换器进行转换。

三态输出锁器用于锁存A/D转换完的数字量,当OE端为高电平时,才可以从三态输出锁存器取走转换完的数据。

②ADC0809引脚结构:D7 ~ D0:8位数字量输出引脚。

IN0 ~ IN7:8位模拟量输入引脚。

VCC:+5V工作电压。

GND:地。

REF(+):参考电压正端。

REF(-):参考电压负端。

START:A/D转换启动信号输入端。

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

(以上两种信号用于启动A/D转换).EOC:转换结束信号输出引脚,开始转换时为低电平,当转换结束时为高电平。

OE:输出允许控制端,用以打开三态数据输出锁存器。

CLK :时钟信号输入端(一般为500KHz )。

A 、B 、C :地址输入线。

C B A 选择模拟通道0 0 0 IN0 0 0 1 IN1 0 1 0 IN2 0 1 1 IN3 1 0 0 IN4 1 0 1 IN5 1 1 0 IN6 111IN7(2) 内容和步骤1.硬件电路设计: 设计基于单片机控制的AD 转换应用电路。

AD 转换芯片采用ADC0809。

ADC0809的通道IN3输入0-5V 之间的模拟量,通过ADC0809转换成数字量在数码管上以十进制形成显示出来。

ADC0809的VREF 接+5V 电压。

2. 软件设计: 程序设计内容(1) 进行A/D 转换时,采用查询EOC 的标志信号来检测A/D 转换是否完毕,经过数据处理之后在数码管上显示。

实验报告实验九DA转换实验

实验报告实验九DA转换实验

实验报告实验九DA转换实验EDA实验报告之实验九D/A转换实验1、实验⽬的1)了解D/A转换的基本原理。

2)了解D/A转换芯⽚0832的性能及编程⽅法。

3)了解单⽚机系统中扩展D/A转换的基本⽅法。

2、实验要求:利⽤DAC0832,编制程序产⽣锯齿波、三⾓波、正弦波。

三种波轮流显⽰,⽤⽰波器观看。

3、实验说明1) D/A转换是把数字量转换成模拟量的变换,实验台上D/A电路输出的是模拟电压信号。

要实现实验要求,⽐较简单的⽅法是产⽣三个波形的表格,然后通过查表来实现波形显⽰。

2) 产⽣锯齿波和三⾓波的表格只需由数字量的增减来控制,同时要注意三⾓波要分段来产⽣。

要产⽣正弦波,较简单的⽅法是造⼀张正弦数字量表。

即查函数表得到的值转换成⼗六进制数填表。

D/A转换取值范围为⼀个周期,采样点越多,精度越⾼些。

本例采⽤的采样点为256点/周期。

3) 8位D/A转换器的输⼊数据与输出电压的关系为U(0∽-5V)=Uref/256×NU(-5V∽+5V)=2·Uref/256×N-5V (这⾥Uref为+5V)4、原理图及连线连线:见WAVE6000 帮助\LAB6000图⽰帮助5、实验内容1)使⽤仪器、仪表,开发平台型号本实验⽤到了WAVE 6000软件平台,电脑⼀台,LAB6000实验箱,⽰波器,若⼲连线,串⾏数据线。

2)性能指标、技术要求、思路⽅案、流程图5.1性能指标、技术要求见实验⽬的和实验要求。

5.2 思路⽅案:利⽤⼀个字节恰好能表⽰的数的范围:0—255,共256个,把⼀个周期的采样点数设置为256,在巧妙地利⽤INC,DJNZ,MOVX @DPTR,A等指令循环的产⽣锯齿波和三⾓波。

5.3流程图:(见下页)备注:框图可能看起来不是很清晰,因为实验中考虑到了0-1=255这个特性,所以要⾃⼰运⾏程序才能深刻体会它的妙处所在。

另外,此程序为产⽣周期的波形,故没有结束标志。

3)源程序(就这个实验⽽⾔,延时是没有必要的。

DA转换实验报告

DA转换实验报告
实验项目
D/A转换实验
实验日期
年 月 日(星期 第 节)
实验成绩
一、目的和要求(目的要明确,抓住重点,符合实验指导书中的要求)
1、掌握MCS-51单片机D/A转换的原理以及常用DAC芯片的编程方法;
2、掌握proteus的使用方法;
3、掌握Keil uVision的使用方法;
二、实验内容(用最简练的语言反映实验的内容)
void tlc5615(unsigned int dat)
{
unsigni<12;i++)
{
SCK=0;//时钟低电平
DIN=(dat<<i)&0x800;
//按位将数据送入TLC5616,此处仿真
SCK=1;//时钟高电平
}
SCK=0;//时钟低电平
六、实验总结(实验中遇到的问题及解决过程,实验中产生的错误及原因分析、实验体会和收获等)
通过对DACO832模数转换的实验,我了解到对于要实现的目的,首先要熟悉编程器件的状态工作特性,并且按照其工作时序图,合理安排不同端口赋值的顺序,最终才能顺利的完成数字量-模拟量的转换。其次在编程过程中,对于正弦波的输出,我直接应用了sin函数,结果总是出来不了正弦的波形,后来发现 keil中的数给端口是不能为负的,然后我将其乘上一个数再加一个比它大的数,最终解决了这个小问题。最后我知道这种操作性实验只有多练多实验,将理论学习与实际实验结合才能更加有效的掌握知识,得到提高。
void main()//主函数
{
unsigned int dd=0;
while(1)
{
tlc5615(dd);//送出数据
dd=dd+5;
if(dd>=1000)

DA转换实验报告.

DA转换实验报告.

D/A转换实验报告组员:田亚峰杜亚亚摘要此次设计实验是以AT89C51、DAC0832、741为核心,并加以其他辅助电路来实验D/A转换,其中主要是利用单片机来控制从数字量到模拟量的整个转换。

先是从键盘输入数字量到单片机,再从单片机输出到DAC0832,经D/A转换后输出与该数字量大小对应的模拟电压,并用LED数码管显示出来输入的数字量值。

目录1.方案设计及论证 (2)1.1理论分析 (2)1.2单片机选择 (2)1.3键盘设计 (2)1.4 D/A转换选择 (3)2.硬件设计 (3)2.1单片机模块 (3)2.2 D/A转换模块 (4)3.软件设计 (6)4.仿真验证及调试 (6)4.1调试方法 (6)4.2性能测试仪器 (7)4.3实验数据 (7)4.4误差分析 (8)5.设计总结及体会 (8)附录(一):实物图 (9)附录(二)软件程序 (9)1.方案设计及论证1.1理论分析根据本次设计任务的要求,由单片机模块、D/A转换模块、反相比例加法运算电路构成。

系统框图如下:图1 系统框图1.2单片机选择方案一:选用AT89C51方案二:选用AT89C52论证:1)AT89C52的程序空间为8K 比AT89C51的空间大2)AT89C52多了个T2定时器,所以比89C51多几个寄存器因此选用AT89C52.1.3键盘设计方案一:采用独立式键盘方案二:采用矩阵式键盘论证:由于独立式键盘占用较多的I/O线,因此选用4×4矩阵式键盘输入,以保证10个数全部完整输入,节省I/O端口资源。

1.4 D/A转换选择此次设计选用DAC0832,它是由一个八位输入锁存器、一个8位D/A 锁存器和一个8位D/A转换器三个部分组成。

D/A转换器将输入的数字量转换为模拟量输出,数字量是由若干数位构成的,就是把每一位上的代码按照权值转换为对应的模拟量,再把各位所对应的模拟量相加,所得到各位模拟量的和便是数字量所对应的模拟量。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2.1 实验目的............................2 2.2 实验内容............................2 3.总体设计.............................................................. 2 2.1 硬件设计........................................................2 2.2 软件设计........................................................3 4. 运行结果............................................................ 5 5.总结与体会.......................................................... 7 6.参考文献.............................................................. 7
unsigned int i; {
for(i=0;i<=255;i++) {
DAC0832=i; delay(N1); } } } void square(void) { unsigned int i,N=5; { for(i=0;i<=255;i++) { DAC0832=N; delay(N2); DAC0832=-N;
unsigned int i; for(i=0;i<n;i++)
; } void my_sin(void)
3
常熟理工学院课程设计报告
{ unsigned int i;
{ for(i=0;i<628;i=i+5) { DAC0832=mysin[i]; delay(N1); }
} } void stair(void) {
2、设计三个独立按键,通过按键实现各波形的输出。
3.总体设计
3.1 硬件设计
1.DAC0832 电路
DAC0832 接口电路
2
常熟理工学院课程设计报告
DAC0832 的输出方式为电流输出,而实际应用中往往需要电压输出方式,可用运算放大器来实现电 流—电压的转换(如图所示)。
实验内容
1. 按照原理图连接 CPU 板与 ADDA 接口板,确定 DAC0832 的外 RAM 地址;
#define DAC0832 XBYTE[0x
]
2. 编制程序实现锯齿波、三角波、正弦波输出,用示波器观察波形;
void wave_rect(void){}
void wave_stair(void){}
void wave_sin(void){}
正弦波输出时,若采用计算方式会花很多时间,因此建议采用查表法实现。可先将正弦输出制表,
后采用查表方式获取数据后输出,这样可争取时间。
3.2 软件设计
源程序: #include "absacc.h" #include "reg51.h" #include "mysin.h" #define DAC0832 XBYTE[0x0000] #define N2 50 #define N1 20 sbit S2=P3^2; sbit S1=P3^1; sbit S0=P3^0; void delay(unsigned int n) {
6.参考文献
单片机的 C 语言应用程序设计 主编 孙娟 马忠梅 学出版社
北京航空航天大
新概念 51 单片机 C 语言教程 主编 郭天祥
电子工业出版社社
7
ห้องสมุดไป่ตู้
1
常熟理工学院课程设计报告
1.题目
D/A 转换实验
2. 实验要求
2.1:实验目的
1. 了解 D/A 转换与单片机的接口方法; 2. 了解 D/A 转换芯片 DAC0832 的性能及编程方法; 3. 掌握 D/A 转换的程序设计方法。
2.2:实验内容
1、编写编制程序实现锯齿波、三角波、正弦波输出函数; void wave_rect(void){} void wave_stair(void){} void wave_sin(void){} 其中 wave_sin()可采用查表法(根据提供的 mysin.h)
正弦波输出图 方波输出图
6
常熟理工学院课程设计报告
锯齿波输出图
5.总结与体会
通过本次实验,我们了解了 D/A 转换与单片机的接口方法以及 D/A 转 换芯片 DAC0832 的性能及编程方法;还掌握了 D/A 转换的程序设计方法。顺 利地完成了教学目标。在实验过程中,当我们每编写出一个正确的程序,并 仿真出相应的波形的时候,都非常开心。通过一个学期的努力学习,我们最 终从实验中找到了乐趣,虽然这是本学期的最后一次实验,但是我们学习单 片机的热情却日益增长。在今后的日子里,我们会继续探索,不断地提升自 己的能力。
单片机课程设计报告
实验一 系别 年级 班级 学号 学生姓名 指导教师 设计时间
D/A 转换实验报告 物理与电子工程学院 专业
常熟理工学院课程设计报告
目录
1.题目...................................2 2.实验要求...............................2
4
delay(N2);
} } } void main(void) { while(1) { if(S2==0)
stair(); else if(S1==0)
square(); else if(S0==0)
my_sin();
} }
4.运行结果
常熟理工学院课程设计报告
电路仿真图
5
常熟理工学院课程设计报告
相关文档
最新文档