微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > MCU和单片机设计讨论 > 嘛叫单片机最小系统?瞅瞅俺这个。

嘛叫单片机最小系统?瞅瞅俺这个。

时间:10-02 整理:3721RD 点击:

STC单片机不要晶振,不要复位电路,有推挽输出,能2.4V低电压运行,有条件简化得不要不要滴,加上俺的折腾机巧,则炫酷得一楞一愣滴。
瞅瞅视频:
http://video.tudou.com/v/XMjkzODk3Mjk3Mg==.html?spm=a2hzp.8244740.0.0

折腾要点:1、引用2.0转2.45mm插线,2.0端插入DIP芯片尤为紧巴接触靠实、2,45端则可插入多个原件以无焊折腾。2、俺特跩的LED互为反接驱动、两口“推挽反向双驱”方式,去留简易、路径明晰、用料还奇省。2、注意若3V---3.3V供电,选用压降高一点的(如2,5V--3V)LED直接驱动,因推挽端口叠有双压降,并无过流之虞,采用5V供电就得加一公用的限流电阻。3、由于这里有了智能,只要你愿意流水花样是无限的。


STC15L104W实验代码:
/*============最小系统====最简流水实验================================*/
#include "STC15F104E.H"
void DelayMs(unsigned int x)   //X毫秒延时
{                     
  unsigned char i, j;
    while(--x)
     { i = 11;  j = 191;
      do { while(--j);} while(--i);
     }        
}
void ALL1(){P30=1;P31=1;P32=1;P33=1;P34=1;P35=1;} //端口全推高
void main()
{ unsigned int n=400,m=400;
    while(1)  
        {  P3M0=0x3F;            //端口设置成推挽输出
             P3M1=0x00;
         P30=0;  DelayMs(n);  ALL1();  
        P31=0;  DelayMs(m);  ALL1();
        P32=0;  DelayMs(n);  ALL1();
        P33=0;  DelayMs(m);  ALL1();
        P34=0;  DelayMs(n);  ALL1();
        P35=0;  DelayMs(m);  ALL1();
      }
}
下载代码时是这样子:(P3.0和P3.1口兼任下载通信口,不妨碍输出功能)



领略到“最小”了吧。俺能想见如此省材节料、还不“耽误瞌睡“的招式,定得诸多喜爱,尤其初涉单片机的不论小朋友和大朋友会得之惊喜和感动。善哉!

看看

内部有晶振的哦,

还是很省事的啊,

有点非常适合初学者的

晶振也是个头疼的事

初学者不涉及也好

极客风范。

有想法

应该说这芯片内部只是RC震荡电路而已,不过STC的哥们找到了稳定性相关“命门”,及RC震荡的漂移与温度(还有工作电压)有一确定的相对函数规律,加以精算自身补偿,达到了相当高的温变精度,很了不起。

有才。

高手                  

66666666666666666666

hfshen网友说的的“移位”法很“灵泛”,比如:
  
  P3=0x3f;        //为0x3f时单灯流水、为0x27则双灯流水。很易出花样,还更简单。
  whlie(1)  {  P3=P3>>1; DelayMs(400);ALL1();
                 if(P3==0) P3=0x3f;
                }
  
  //"<<" P3=0x3e;就掉头流水,好玩。

芯片是这样的:



厉害了  

灰常的腻害的啊,

有点像是已经入门的啊

灰常不错的啊哦了,

已经会总结了的啊,

给单片机点个赞了,

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top