前些天在網上看到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傳輸數據就是了。
以上就是幾個空想,歡迎大家一起來討論。
|