❶ 初学者使用哪种单片机开发板比较好
现在依然迷茫的我说点我自己的感觉吧,
1、首先你得先看看C语言的东西。了解一下知道基本的程序结构。什么循环啊,指针啊,数组啊、堆栈啊之类的(我自己依然迷糊)
2、然后你可以上手51,搞个开发板,边练边学。这其中最开始会好一点。慢慢坚持下来。后面的什么SPI、IIC、CAN之类的总线了可能就麻烦一点。(我也是稀里糊涂)
3、如果你有一些基础的话,其实也可以上STM32的,库函数如果你能接受的话,会上手快一点,不过用库函数多数有点死记函数的意味。或者你知道怎么去找到你要用的函数。剩下的其实还是一些程序上的东西。这里边很多知识,需要慢慢积累的。要从最开始的时候多动手,多自己写写程序。
4、ARM的话没搞过。主要是要上系统。我的水平太次了。。以后再慢慢学吧。
5、你可以买套开发板。普中的什么的一大堆。视频51我是看的郭天祥的。感觉还不错。他的视频课时很长,耐心看下去吧。他讲的知识不局限于开发板什么的。里面有一些什么硬件知识,AD软件都讲了点。STM32的话我是看的正点原子的。开发板也是他的。反正个人喜好吧。买别的开发板或者手头上原来有的或者别人留下的都可以。你可以参照别人讲的。再自己写自己的开发板的程序。
6、网站的话主要是个人喜好。开源电子网、电子工程师论坛、阿莫什么的都可以,看你自己。
7、真心的希望你坚持下去。我一直都是迷迷糊糊。学的什么都不是。所以看到有人提问,也想告诫一下,坚持下去。你会成功的。平时没事多逛逛论坛,看看大神说的。多动动手。衷心的祝你能成功。
❷ 求dac0832与51单片机接口电路图,
我做的滤波器
#include<reg51.h>
#include"math.h"
#defineN25
#definePI3.1415926
sbitda_wr1=P3^6;
sbitda_cs=P2^7;
voidInputWave();
floatFIR();
voidda0832();
floatfHn[N]={0.0,0.0,0.001,-0.002,0.01,-0.09,
-0.018,0.049,-0.02,0.11,0.28,0.64,0.28,
-0.11,-0.02,0.049,-0.018,-0.009,0.01,
-0.002,-0.002,0.001,0.0,0.0
};
floatfXn[N]={0.0};
floatfInput,fOutput;
floatfSignal1,fSignal2;
floatfStepSignal1,fStepSignal2;
floatf2PI;
inti;
floatFIN[256],FOUT[256];
intnIn,nOut;
main(void)
{
nIn=0;nOut=0;
f2PI=2*PI;
fSignal1=0.0;
fSignal2=PI*0.1;
fStepSignal1=2*PI/30;
fStepSignal2=2*PI*1.4;
while(1)
{
//fInput=InputWave();
InputWave();
//FIN[nIn]=fInput;
//nIn++;nIn%=256;
fOutput=FIR();
FOUT[nOut]=fOutput;
nOut++;
if(nOut>=256)
{nOut=0;da0832();
}
}
}
/*floatInputWave()
{
for(i=N-1;i>0;i--)fXn[i]=fXn[i-1];
fXn[0]=sin(fSignal1)+cos(fSignal2)/6.0;
fSignal1+=fStepSignal1;
if(fSignal1>=f2PI)fSignal1-=f2PI;
fSignal2+=fStepSignal2;
if(fSignal2>=f2PI) fSignal2-=f2PI;
return(fXn[0]);
} */
voidInputWave()
{
inti;
for(i=0;i<=15000;i++)
{
fXn[i]=(sin(PI*2*i/N*15000)+1)*5;
}
}
floatFIR()
{
floatfSum;
fSum=0;
for(i=0;i<N;i++)fSum+=(fXn[i]*fHn[i]);
return(fSum);
}
voidda0832()
{
unsignedchari;
da_cs=0;//da转换输出使能标志置位
da_wr1=0;//输入寄存器的官写选通信号,表示单片机要传送数据了
for (i=0;i<255;i++)
P0=FOUT[i];
da_wr1=1;//数据传送完成,使能锁存
da_cs=1;
}
❸ 单片机与网络的通信
问题说得不太清楚:
1,您想用什么网连接?
我曾经做过这个项目,当时使用的是MCU+串口+Modem远程控制,协议使用UDP+IP+PPP,您如果想简化通信协议栈,也可以使用该协议栈。TCP涉及到排序及重发机制,比较复杂,同时资源占用比较多。但如果对TCP进行裁剪,也可以用51实现,有相关图书的中文译本,我看过。如果使用ARM开发板+嵌入式操作系统+TCP/IP函数组,开发会快很多。
2,网页放在那里?
说实话,不知道您设计的方案。您是想使用PC机来控制远程MCU?还是反之?还是其他?如果使用PC控制远程MCU,你可以选择将网页放在MCU中,这样需要HTML协议。其实也可以将界面设计在PC中,这样可以省掉一层HTML协议,比较简单,但在PC上需要安装这个控制界面,不能随心所欲地使用任意PC操作,不是很方便。