数模-模数转换实验.doc_第1页
数模-模数转换实验.doc_第2页
数模-模数转换实验.doc_第3页
数模-模数转换实验.doc_第4页
数模-模数转换实验.doc_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

姓名: 学号: 实 验 报 告实验项目名称: D/A、A/D转换实验 同组人: 实验时间: 实验室: 指导教师: 一、实验目的:(l)学习外部接口的应用。ADC0809、DAC0832的工作方式,输入/输出方式的应用。(2)熟悉Proteus软件电路设计和Keil软件程序调试方法。重点:ADC0809、DAC0832的工作方式二、实验顶备知识: (l)AT89S51与ADC、DAC接口的连接,ADC0809、DAC0832的基本原理。(2)Proteus软件应用,Keil软件程序调试应用。三、实验内容 利用DAC0832转换器输出锯齿波、三角波、方波和正弦波。1、设计要求:以DAC0832转换器和AT89C52单片机设计仿真电路,该电路能在虚拟示波器上显示出锯齿波、三角波、方波和正弦波,并能用虚拟电压表显示输出电压值,要求电压范围为015V且周期约为510ms。2、仿真电路原理图元器件选取:AT89C52:单片机;RES、RX8:电阻、8排阻;CRYSTAL:晶振;CAP、CAP-ELEC:电容、电解电容;DAC0832:D/A转换器;LM358N:运算放大器。图6-1 电路原理图3、程序设计内容程序设计首先考虑DAC0832转换芯片的入口地址,地址的设置与接口电路的连接方式有关。P2.7端口与DAC0832的CS片选端相连,要选通DAC0832,要求CS引脚为低电平,则DAC0832的入口地址为0x7FFFH。4、程序清单 #include #include #include #define DAC0832Addr1 0x7FFF #define DAC0832Addr2 0xBFFF#define DAC0832Addr3 0xDFFF#define DAC0832Addr4 0xEFFF#define uchar unsigned char#define uint unsigned intuchar p; float f;int a; #define pi 3.1415926 void Uart_Init( void ); void TransformData1(uchar c0832data1);void TransformData2(uchar c0832data2);void TransformData3(uchar c0832data3);void TransformData4 (uchar c0832data4);void Delay();uchar const code ZXB_code255=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,0xf5,0xf3,0xf2,0xf0,0xef,0xed,0xec,0xea,0xe8,0xe6,0xe4,0xe3,0xe1,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,0x79,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,0xf,0xd,0xc,0xb,0x9,0x8,0x7,0x6,0x5,0x4,0x3,0x3,0x2,0x1,0x1,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1,0x1,0x2,0x3,0x3,0x4,0x5,0x6,0x7,0x8,0x9,0xa,0xc,0xd,0xe,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;main() uchar cDigital1=0; Uart_Init();P0=0xFF;P1=0xFF;P2=0xFF;P3=0xFF;Delay();while(1)for(cDigital1=0;cDigital10;cDigital1-) Delay(); TransformData1(cDigital1);TransformData2(cDigital1);TransformData3(255);TransformData4(ZXB_code-(cDigital1-255); void TransformData1(uchar c0832data1) *(uchar xdata*)DAC0832Addr1)=c0832data1; void TransformData2(uchar c0832data2) *(uchar xdata*)DAC0832Addr2)=c0832data2; void TransformData3(uchar c0832data3) *(uchar xdata*)DAC0832Addr3)=c0832data3; void TransformData4(uchar c0832data4) *(uchar xdata*)DAC0832Addr4)=c0832data4; void Uart_Init( void )SCON=0x52;TMOD=0x21;TCON=0x69;TH1=0xf3;void Delay()uint i; for (i=0;i250;i+) ; ADC0809电压模/数转换1、设计要求:以AT89C52单片机为核心设计ADC0809模数转换仿真电路,模拟电压输入由可变电位器提供。输入电压范围04.99V,经ADC0809转换成对应的0255通过数码管显示。2、仿真电路原理图元器件选取: AT89C52:单片机;RES:电阻;CRYSTAL:12MHz晶振;CAP、CAP-ELEC:电容、电解电容;7SEG-MPX4-CC:4位七段共阴极数码管;74LS02、74LS04、74LS74、74LS373或非门、反相位、D触发器、地址锁存器;POT-LIN:变阻器;ADC0809:8位A/D转换器。图6-2 电路原理图3、程序设计内容将单片机的P0.0、P0.1和P0.2通过74LS373地址锁存器与ADC0809的ADDA、ADDB和ADDC相连接,选择ADC0809的采集通道IN0。P2.7控制ADC0809的ALE和OE端口,因此ADC0809的地址可以定位ox7FF8。4、程序清单 #include #include #define unit unsigned int#define uchar unsigned char#define AD XBYTE 0x7FF8sbit led1=P20;sbit led2=P21;sbit led3=P22;sbit led4=P23;sbit ad_busy=P32;bit bk=1;unsigned char ad_data, LED1, LED2, LED3;ucharcode led_segment12=0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F,0x00,0x00; void delay(unsigned int i)while( i )i-;void display(void) LED1=ad_data%10;LED2=(ad_data/10)%10;LED3=ad_data/100;P2=0xff;delay(2);P1=led_segmentLED1; led1=0;delay(100);led1=1;if(LED3=0)&(LED2=0) LED2=10;P1=led_segmentLED2;led2=0;delay(100);led2=1;if(LED3=0) LED3=10;P1=led_segmentLED3;led3=0;delay(100);led3=1;bk=!bk;void ad0808(void) interrupt 0 EA=0;EX0=0;ad_data=AD;EA=1;EX0=1;void main(void)EA=1; EX0=1; ad_data=

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论