① 如何在DXP里找到51单片机是因为电子元器件库只有两个吗不过这两个不是基本的库吗点击搜索后弹
运算符中选择包含,然后---范围---选择-----库文件路径
搜索直接输入c51或者c52就行,引脚兼容的。
② AD怎么找89c51单片机
89S51相对于89C51增加的新功能包括:
-- 新增加很多功能,性能有了较大提升,价格只比89C51稍高一些
-- ISP在线编程功能,这个功能的优势在于改写单片机存储器内的程序不需要把芯片从工作环境中剥离。是一个强大易用的功能。
-- 最高工作频率为33MHz,大家都知道89C51的极限工作频率是24M,就是说S51具有更高工作频率,从而具有了更快的计算速度。
-- 具有双工UART串行通道。
-- 内部集成看门狗计时器,不再需要像89C51那样外接看门狗计时器单元电路。
-- 双数据指示器。
-- 电源关闭标识。
-- 全新的加密算法,这使得对于89S51的解密变为不可能,程序的保密性大大加强,这样就可以有效的保护知识产权不被侵犯。
-- 兼容性方面:向下完全兼容51全部字系列产品。比如8051、89C51等等早期MCS-51兼容产品。也就是说所有教科书、网络教程上的程序(不论教科书上采用的单片机是8051还是89C51还是MCS-51等等),在89S51上一样可以照常运行,这就是所谓的向下兼容。
比较结果:就如同INTEL的P3向P4升级一样,虽然都可以跑Windows,不过速度是不同的。
从AT89C51升级到AT89S51 ,也是同理。和S51比起来,C51就要逊色一些,实际应用市场方面技术的进步是永远向前的。
③ 请教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--);
}
}
注释原创
④ AD中如何显示40引脚的51单片机
原理图就自己画吧,这里面有好多常用的封装,自行翻阅,有51的
⑤ 自带12位AD转换器的51系列单片机
楼上说的好,和51单片机的数据传输线就是8根的。外加几条控制线如:CLK、OE、START之类的。没别的一般的参考书上都会有的。
⑥ 51单片机AD采集
程序可以直接相除,但只保留整数部分,所以如果你要得到小数两位,就先乘以100再除,显示的时候知道最低两位实际是小数点后两位就行了。
⑦ dxp中怎么找at89c51我要具体方法
1. DXP的库文件都是以公司的名字为索引方式,DS18B20你可以去“Dallas Semiconctor”目录下寻找“Dallas Sensor Temperature Sensor”库;AT89S51你可以去“Atmel”目录下的的8位控制器库内寻找。
2.DS18B20安装地址:LibraryDallas SemiconctorDallas Sensor Temperature Sensor.IntLib,
⑧ 51单片机ad采样可以采集什么
51单片机有很多型号,普通的51单片机是没有ADC的,需要外接ADC芯片,一般是ADC0832等等,网上很多,利用51单片机驱动AD芯片进行采样就可以实现AD采集,利用定时器设置好采样率就OK了,为了得到较高精度,你将除数乘以100,再除被除数。所以最好定义为int型。内存中肯定以十六进制形式(二进制)存储的。