您好,欢迎访问三七文档
当前位置:首页 > 行业资料 > 酒店餐饮 > 模数转换器ADC0808的应用
实训报告十实训目的:通过实现由ADC0808作为A/D转换器对RV1进行电压测量,并在数码管上显示;了解ADC0808的工作方式,进行模拟数据的采样,从而利用c语言编程实现单片机控制处理信息。实训原理图:实训步骤:1.在ptoteus平台找出所需的元器件2.理解该实验的原理,按照原理图画出仿真图;3.根据实验要求写出如下程序:#includereg51.Hunsignedcharcodedispcode[4]={0x10,0x20,0x40,0x00};unsignedchartemp;unsignedchardispbuf[4];unsignedcharcount=0;unsignedchargetdata;sbitST=P3^0;sbitOE=P3^1;sbitEOC=P3^2;sbitCLK=P3^7;voiddelay(unsignedinti){unsignedintj;for(j=0;ji;j++);}voidinit(){EA=1;ET0=1;ET1=1;TMOD=0x12;TH0=216;TL0=216;TH1=(65536-4000)/256;TL1=(65536-4000)%256;TR1=1;TR0=1;}voidconversion(){ST=0;ST=1;ST=0;while(EOC==0){;}OE=1;getdata=P0;OE=0;temp=getdata;dispbuf[0]=getdata/100;temp=temp-dispbuf[0]*100;dispbuf[1]=temp/10;temp=temp-dispbuf[1]*10;dispbuf[2]=temp;}voidT0X()interrupt1{CLK=~CLK;}voidT1X()interrupt3{TH1=(65536-4000)/256;TL1=(65536-4000)%256;for(count=0;count=3;count++){P1=dispbuf[count]|dispcode[count];//输出显示控制代码delay(50);}}voidmain(void){init();while(1){conversion();}}总结:经过此次的实验,通过实现由ADC0808作为A/D转换器对RV1进行电压测量,并在数码管上显示,深刻地理解了ADC0808的结构以及工作方式,ADC0808是典型的8通道模拟输入8位并行数字输出地逐次逼近式A/D转换器。在C语言的设计上进一步理解了ADC的工作时钟模式从而进行模拟数据采样。
本文标题:模数转换器ADC0808的应用
链接地址:https://www.777doc.com/doc-5603228 .html