你也说到了好几次 驱动
单片机的IO输出电流,像AT89C51 是毫安级别的 ,你想驱动一个几安的大电机当然不能
那就需要向L298这样的驱动芯片,其他类似功能的芯片也可以,需要你去寻找,通过小电流输出控制大电流,驱动电机。
单片机是可以直接驱动一两个的数码管的,但是,一般数码管都不会用一个,要用上好几个的,这时候输出电流和灌电流又太大了,就又需要芯片来辅助了
每一片芯片都有各自的功能,区别就是功能不同,你要说明区别是什么,那不行,芯片种类成万上亿举不胜举
需不需要加芯片 是根据什么来判断的呢,
根据的是单片机的驱动能力,单片机IO口的电流输出有限制的,直接去驱动电机肯定不行的,可以加一个三极管 让IO口去控制就可以了,实际驱动还是电源进行的,IO口就是一个去 控制开关的 手,
数码管的话 电流比较小,可以直接IO口驱动,如果 单片机需要做的功能比较多的话,还要考虑一个总的电流输出, 每个IO口是有输出限制的,同样的 单片机有个总的电流输出限制, 你如果要驱动很多 数码管 还是 LEd什么的, 以防万一 也可以加三极管 或者HC373什么的进行提高输出能力,,个人见解,, 一般6、7 个数码管的话 可以直接驱动,太多的没用过 就不知道了,,
单片机的程序实质就是让单片机引脚输出高电平或低电平(一般情况下高电平与单片机供电电源电压一样,低电平0伏),或者是采集引脚的电平是高还是低。单片机的引脚驱动能力都有限,也就是说流过引脚的电流有限,一般最大也就几十ma, 输入电流比输出电流稍大,具体多少看每个单片机的资料。
所以用单片机的引脚直接驱动LED灯小电流的器件是可以的。电机肯定是驱动不了,需要加放大电路,最简单的放大电路就是三极管。数码管是多段组成的,多段一般有公共端,单片机直接驱动每一段是可以,不能驱动公共端。总之,要看负载的电流、电压。
驱动电机肯定要放大电路,如果是单绕组直流电机,只需一个三极管即可,如果是步进电机,最好用专用的驱动模块或芯片
驱动数码管一般用两个锁存器74LS573或273,分别作段驱动和位驱动
如果IO口够用,也可以只用6个或8个三极管作位驱动,而段信号直接由单片机IO端口输出