ADC0809调试程序

来源:本站
导读:目前正在解读《ADC0809调试程序》的相关信息,《ADC0809调试程序》是由用户自行发布的知识型内容!下面请观看由(电工技术网 - www.9ddd.net)用户发布《ADC0809调试程序》的详细说明。
简介:  目前用软件的方法虽然可以实现高精度的A/D转换,但占用CPU时间长,限制了应用。8位A/D转换器ADC0809作为典型的A/D转换芯片,具有转换速度快、价格低廉及与微型计算机接口简便等一系列优点,目前在8位单片机系统中得到了广泛的应用。

A/D转换器是模拟信号源与计算机或其它数字系统之间联系的桥梁,它的任务是将连续变化的模拟信号转换为数字信号,以便计算机等数字系统进行处理、存储、控制和显示。在工业控制和数据采集及许多其它领域中,A/D转换器是不可缺少的重要组成部分,它的应用已经相当普遍。

目前用软件的方法虽然可以实现高精度的A/D转换,但占用CPU时间长,限制了应用。8位A/D转换器ADC0809作为典型的A/D转换芯片,具有转换速度快、价格低廉及与微型计算机接口简便等一系列优点,目前在8位单片机系统中得到了广泛的应用。

ADC0809调试程序

#include

#include

#include

#define uchar unsigned char

#define uint unsigned int

#define ADC0809 XBYTE[0x0B000] //P2.6选通

float sum=0,fjg;

uint i,j,*q,*p,sd=5;

sbit p1_0=P1^0;

void wait(uint n);

void main(void)

{ j=0;

TMOD=0X01;//设置定时器0

TH0=0XFC;//定时时间设为1ms

TL0=0X18;

EA=0;//先关中断

EA=1;//开总中断

ET0=1;

//TR0=1;

for(; ;)

{

if(j=20){

do{}while(!TF0);

q=0x30;

for(i=0;i《20;i++) //转化后的数值求均方根

{sum=sum+(*q)*(*q);

q++;

}

sum=sum/20;

fjg=sqrt(sum);

if(fjg》sd) //判断是否跳闸

p1_0=1;

j=0;

}}

}

void power(void)

{ uchar x;

for(;;)

{ADC0809=0x01;

wait(1000);

x=ADC0809;

P2=x;

}

}

void wait(uint n)

{ uint i,j;

for(i=0;i

for(j=0;j《100;j++);

}

TImer0()interrupt 1 using 1

{*p=ADC0809;

p++;

TH0=0XFC;

TL0=0X18;

TR0=1;

j++;

}

提醒:《ADC0809调试程序》最后刷新时间 2024-03-14 01:08:26,本站为公益型个人网站,仅供个人学习和记录信息,不进行任何商业性质的盈利。如果内容、图片资源失效或内容涉及侵权,请反馈至,我们会及时处理。本站只保证内容的可读性,无法保证真实性,《ADC0809调试程序》该内容的真实性请自行鉴别。