前些天在网上看到89C2051才卖1.1元(去年在北京买过拆机的,2块1片当时觉得特别便宜,现在看来还是亏了555555555),真真便宜。在拆机片已经如此便宜的情况下(就是ATMEGA8有些地方也才3元/片),对于单片机的使用更应该开拓思路,用简单的程序来实现以往用硬件相对实现起来麻烦的功能,跳出以往单片机只是用作主要的程序控制的思路,拿单片机作基础器件用。
本贴就是想先起个头,把以前熊自己想到的一起想法说出来,先扔块砖头,有玉的尽管砸来。
1、用单片机当振荡器用。在一些开关电源等应用场合,往往需要一个振荡器,看过一些电路常用逻辑芯片或三极管实现。而如果有非常便宜的8脚单片机(如16F683/12F508之类的),可以很容易的实现需要的振荡频率,甚至借助内带或外加的比较器实现反馈。现在拆机的8脚芯片已经在2-3元/片,有的还带片内A/D或比较器,实现这个应该不难。而且此类芯片可以用内置振荡源,不用外加任何器件,电路可以很简单。对开关电源不十分懂,这个只是一个初步的想法;
2、用单片机当逻辑芯片用。比如LED的串行转并行静态显示,一般就164或595来实现,级数也有一定的限制。但如果用89C2051来实现,用串口通讯进行。也就是用一片51作主控芯片,2051当作被控芯片,记得51串行口的应用中可以直接实现多片通讯的。每片2051编一个地址,主控51直接用串口向指定的2051发显示内容就行了。而且2051经过简单的编程还可以实现BCD转7段显示解码、BDC转十进制译码(用于辉光管)等功能。2051下拉电流可达20毫安,足够驱动数码管(当然得是共阳的,如果是共阴的电路就复杂了)。电路也相当简单,只需要一个去耦电容,复位可以由主控芯片用I/0直接控制,时钟可以由外部提供,甚至可以所有的单片机用一个时钟源即可;
3、用单片机当A/D用。有的单片机本身不带A/D,如果手边有便宜的带A/D的片子,但I/O不够,就可以直接拿带A/D的片子作并行或串行A/D用。主控芯片根据需要向带A/D的芯片发出启动A/D的指令,完成后向主控芯片发出中断,然后通过I/O传输数据就是了。
以上就是几个空想,欢迎大家一起来讨论。