这就是我见过的最小的单片机,只有八个脚,如下图:
这小单片机只有芯片大小,但是该有的功能还是有的,可以用C语言编程,不需要外接晶振就能实现准确的时钟.
那么这就是它的最小系统,其实就是在VCC和GND之间加了5V,然后加了两个电容滤波,无需晶振.
然后就可以实现一些简单的功能,比如串口的收发,IO口的控制,PWM输出等,甚至可以通过电容充电时间来实现ADC,也可以模拟各种通信协议来实现传感器的扩展,比如I2C模拟等.
下面是对PWM的模拟,非常简单. 程序如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
| #include <REG2051.H> void delay (unsigned char h) { int i; while(h--)for(i=0;i<148;i++); } int liangdu=0,f=1; void main(void) { int i; for(i=0;i<255;i++) { if(i<liangdu)P3=0XFF;else P3=0x00; delay(500); } liangdu+=f; if(liangdu==255|liangdu==0)f=-f; }
|