Ⅰ AD芯片与51单片机通讯
你直接用AD0804进行信号采集,将会得到8位数字输出信号,将这八位用线连接到51单片机的8个输入端口上就可以了。单路采集的话,AD0804就可以了,AD0809是8路采集的。
Ⅱ 51单片机AD读取外界数据,存储在单片机那里
51单片机AD读取外界数据,存储在单片机的寄存器中,00H~7FH都可以存储,一般存在30H~7FH中,00H~1FH是工作寄存器区域,20H~2FH为位地址区域,最好不占用。
Ⅲ 请教stc自带ad的51单片机的使用方法
#include<reg52.h>#include<intrins.h>
#define uchar unsigned char#define uint unsigned int
sfr ADC_CONTR = 0xbc; //ADC控制寄存器
sfr ADC_RES = 0xbd; //ADC转换结果高八位寄存器
sfr ADC_LOW2 = 0xbe; //ADC转换结果低两位寄存器
sfr P1ASF = 0x9d; //P1口模拟功能控制寄存器
#define ADC_POWER 0x80 //ADC电源控制位
#define ADC_FLAG 0x10 //ADC结束标志位
#define ADC_START 0x08 //ADC启动标志位
#define ADC_SPEEDLL 0x00 //540个时钟周期
#define ADC_SPEEDL 0x20 //360个时钟周期
#define ADC_SPEEDH 0x40 //180个时钟周期
#define ADC_SPEEDHH 0x60 //90 个时钟周期
void InitUart();
void SendData(uchar);
void Delay(uint n);
void InitADC();
uchar ch=0; //ADC通道选择
void main()
{
InitUart(); //初始化串口
InitADC(); //初始化ADC
IE = 0xa0; //打开总中断
while(1);}
/*ADC中断函数*/
void ads_isr() interrupt 5 using 1
{
ADC_CONTR&=!ADC_FLAG; //将ADC结束标志位清零
SendData(ch); //将对应ADC通道号发送给电脑 SendData(ADC_RES); //将转换结果发送给电脑
if(++ch > 7)ch = 0; //下一个ADC通道 ADC_CONTR = ADC_POWER|ADC_SPEEDLL|ADC_START|ch; //打开ADC电源、转换时间540个时钟周期、开始转换、选择通道号
}
/*初始化ADC寄存器*/
void InitADC()
{
P1ASF = 0xff; //定义p1口为ADC转换口
ADC_RES = 0;
ADC_CONTR = ADC_POWER|ADC_SPEEDLL|ADC_START|ch; //打开ADC电源、转换时间540个时钟周期、开始转换、选择通道号
Delay(2); //等待ADC上电稳定然后开始ADC转换?应该是先开电源,等待后再START,可能STC官方程序有问题
}
/*初始化串口*/
void InitUart()
{
SCON = 0x5a;
TMOD = 0x20;
TH1 = 0xfd; //在11.0592MHZ晶振下,波特率为9600
TL1 = 0xfd;
TR1 = 1;
}
/*串口发送数据*/
void SendData(uchar dat)
{
while(!TI);
TI = 0;
SBUF = dat;
}
/*延时函数*/
void Delay(uint n)
{
uint x;
while(n--)
{
x=5000;
while(x--);
}
}
注释原创
Ⅳ 51单片机在ad中怎么找
51单片机在ad中怎么找,打开ad的原理图库,双击,鼠标移到原理图中就有你点击的原理图元器件了,运算符中选择包含,然后---范围---选择---库文件路径 搜索直接输入c51或者c52就行,引脚兼容的。
Ⅳ 我这个51单片机AD转换电路错在哪里呢,怎么老是运行不起
仿真图中,用单片机的ALE输出信号,又用D触发器分频后送到ADC0809上,要是实物这种做法还可以。但是,用proteus 仿真就不行了,单片机的ALE是没有信号输出的,所以ADC电路无时钟信号。其实,仿真时,可以直接用时钟信号的,在proteus 左边工具栏中选信号源,就是S字母那个,从中选DCLOCK,就是时钟脉冲信号,放到仿真图中后与ADC0809的CLOCK连接,并把信号频率改为500K即可。把分频的D触发器都删掉,这样,仿真图就简单多了,而且也是对的。最后,顺便说一句,那程序要显示出标准的英文字母,看得清楚,别弄些乱七八糟的英文字体,显示的像鸟文,实在是看不清楚。
Ⅵ 在altium designer中找到51单片机
找ATMEL的8位单片机库或菲利普的8位单片机库,有类似的