我们经常说极简主义,这个极简不光体现在代码编译后的空间节省,而且还体现在硬件使用上。现在试想一下,如果你想用单片机做一个电子骰子,用LED灯显示点数的话,你需要几个IO口?
Tim的答案是2个,同时它的程序小于1kB,怎样做到的呢?
他将LED两两分组,按照图上的方式连接电路。
使用IO口的不同状态来实现对不同LED的控制。虽然对于单片机来说,他只连接了两个针脚,但是你仍需要接入电源和地线来实现全部功能,对于这种复杂电路,分析的最好办法就是写出真值表:
表中只列出了用到的那些状态,而如果你想控制更多的LED的话,你可以在PB0和地之间再接两个LED,这样的话一共就可以使用两个管脚控制10个(4组LED)。
实际上,利用电学特性是实现更多有趣的设计的前提。不管你是因为什么学习单片机的,了解电学常识永远是不能分割的一部分,单片机看起来很万能,但是别忘记了——单片机也是由各种各样的基本电路组成的。学会它们,你才算是真正的理解了电子的道理。
本文为 无线电杂志微信公众平台原创文章。详细内容及高清大图请查阅《无线电》杂志。版权所有,欢迎个人转发至朋友圈。公众号、报刊等转载请给本公众号后台留言获得授权。
…………………………………………………
联系客服