adc0809采样显示不稳定~程序如下,采样的adc值跳来跳去,大过255~~

#include<reg52.h>
#include <stdio.h>
#include<intrins.h>
#include<LCD1602.h>
#define uchar unsigned char
#define uint unsigned int
sbit ST=P2^7; //转换启动标志,start下跳沿开始转换,转换期间保持低电平
sbit EOC=P2^6; //转换结束标志,eoc=0正在转换,eoc=1转换结束
sbit OE=P2^5; //输出允许信号,OE=0输出数据为高阻,OE=1,输出得到转换数据
sbit CLK=P3^3; //时钟信号,(通用500kHZ)
void TimeInitial(); //定时器
uchar ADC;
//============================
void TimeInitial()
{ TMOD=0x10;
TH1=(65536-4000)/256;
TL1=(65536-4000)%256;
EA=1;
ET1=1;
TR1=1;
}
//===============================
void main()
{
LCD_reset(); //1602初始化
TimeInitial();
while(1)
{
OE=0; //以下三条指令为启动0809
ST=0;
ST=1;
ST=0;
while(EOC==0); //等待转换结束
OE=1; //取出读得的数据
ADC=P1; //送通道数据
OE=0;
{LCD_write_math(2,0,ADC );
}
}}
//=================================
void t1(void) interrupt 3 using 0
{
TH1=(65536-4000)/256;
TL1=(65536-4000)%256;
CLK=~CLK;
}

采样不稳的原因一般有以下几点:
1)模拟输入有干扰脉冲存在
2)AD采样时间太短
3)通道切换后就立即开始转换
温馨提示:内容为网友见解,仅供参考
无其他回答

adc0809采样显示不稳定~程序如下,采样的adc值跳来跳去,大过255~~
1)模拟输入有干扰脉冲存在 2)AD采样时间太短 3)通道切换后就立即开始转换

基于FPGA的AD0809采样控制器设计 仿真代码
下载目标文件后,可用螺丝刀旋转实验系统左下角的电位器,以便为ADC0809提供变化的待测模拟信号,这时数码管8和7将显示ADC0809采样输出并被锁存的数字值(16进制)。【例3-1】LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY ADCINT IS PORT ( D : IN STD_LOGIC_VECTOR(7 DOWNTO 0); --0809...

关于ADC0809通道地址选通问题!请单片达达回答
对于一种A\/D转换其来说,转换时间作为一项技术指标是已知的和固定的。例如ADC0809转换时间为128μs,相当于6MHz的MCS-51单片机共64个机器周期。可据此设计一个延时子程序,A\/D转换启动后即调用此子程序,延迟时间一到,转换肯定已经完成了,接着就可进行数据传送。(2)查询方式 A\/D转换芯片由表明转...

51单片机和ADC0809配合时出现错误现象,求解
你把adc的CLK接单片机的ALE 试试。定时器 就 不用了。我之前遇到的问题是这样的(可能和你有点不一样):用proteus 仿真 是好的(也用的是定时器控制CLK)但是,实际线路中,开机第一次转换是好的,接下来改变电位器就没反应了。改变电位器后,再重启就又有一次好的(此时电位器的值)。下面是...

求教一个单片机ADC0808或者0809的AD转换C语言程序,如果可以和PC机通信...
\/\/ ADC0809模数转换\/\/ADC0809采样通道3输入的模拟量,转换后结果显示在数码管上#include <reg51.h>#define uchar unsigned char #define uint unsigned intuchar code LEDData[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};\/\/ADC0809引脚定义sbit OE=P1^0;sbit EOC=P1^1;sbit ST=P1^2;...

用8位AD0809采集0~5v的直流电压,那么它的采样频率、量化级数和量化区间...
1、采样频率取决于送到ADC0809的时钟频率,常用5K~500KHz。 但读数频率远没有那么快,故无须计算。2、量化级数是器件的固有属性,等于2^n,如4 bit ADC量化级数为16级;8bit ADC为256级;16位ADC的量化级数为65536级。3、量化区间取决于供电电压范围。如+5V电源,则量化区间为0~5V。总而言之,...

利用单片机AT89S51与ADC0809设计一个数字电压表,能够测量0-5V之间的直 ...
ADC0809的工作频率最高是640KHz,推荐500KHz。在这个电路图中ADC0809使用单片机的ALE信号作为时钟,但是单片机工作频率是12MHz,ALE输出是2MHz,所以需要7474来分频。7474有两个D触发器,每个触发器可以配置为2分频器(使输出信号的频率是输入的一半),两个串联就是4分频,所以ALE的2MHz经过4分频后就是...

传感器 ad转换程序
通过ADC0809将正弦波模拟信号按照一定的频率进行采样,频率由键盘进行串级控制,转换成数字量,然后存储到8155的RAM里面,再将数据输出到DAC0832,将数字量转化成模拟量,经过LM358将信号放大,送到示波器终端循环显示出来BUFFRE EQU 31H ;采样频率设置单元BUFRAM EQU 7E00H ;8155RAM首地址BUFADC EQU 0FD1FH ;0809启动...

ADC的采样频率怎么算截止频率
如果你的采样频率是1200HZ,那么截止频率必须小于600HZ,推荐值:采样频率>=信号频率*10,RC滤波截止频率取采样频率的1\/2。采样频率取决于送到ADC0809的时钟频率,常用5K~500KHz。但读数频率远没有那么快,故无须计算。ADC简介 ADC(Attack Damage Carry\/Core)是普通攻击持续输出核心的简称,是一场游戏...

单片机数据采集系统设计(51核心,ADC0809模数转换),结合键盘显示器实现...
2、定义键盘不难,假如你的ADC转换函数为ADC_tran()(函数里面有通道选择),你只需添加形式参数就可以了,比如按键1的时候,会有一个键码key=0x01,channel=key&(相应的转换,成通道值); ADC_tran(uchar channel){ Addr_0809=channel; \/\/Addr_0809是选择通道,后面接着你的转换数据操作程序} ...

相似回答