上面学过的是LED灯的亮暗。这里学习的是蜂鸣器的鸣响,基本上跟对I/O口的控制差不多,所以今天研究的倒不是I/O的学习,这里主要研究电路的接法了。
对于LED的接法是
右侧接的单片机,实际上很简单:
左侧对地的电路,右侧控制的就是高电平才亮 ,用到的控制是GPIO_SetBits(GPIOx,GPIO_Pin_x),也就是置高电平时候LED就会亮;左侧对电源VCC的电路,右侧控制低电平才亮,用到的控制是 GPIO_ResetBits(GPIOx,GPIO_Pin_x),也就是置低电平时候LED就会亮。电阻的选型根据LED来决定,使用3.3V除以灯的亮灭电流这里是3.3mA,得出1K的大小。
蜂鸣器的接法基本上差不多
左侧接的单片机,也很简单,这里因为单片机的驱动能力,驱动不了蜂鸣器的,所以采用了三极管控制电路:
三极管S8050这里主要作为放大作用,也同时具备开关作用的,是基极高电平有效,发射极跟集电极导通,蜂鸣器(这里蜂鸣器使用了是VCC的,所以电源是接的VCC,当然因为单片机是3.3V的,所以VCC·是3.3V,因此如果蜂鸣器是5V的话建议使用8050来控制,防止到时三极管损坏以后,出现5V冲击到单片机,当然虽然单片机的FT标识管脚能容忍5V,还是建议回避ADC端口的3.3V的意外。)接入了地的回路,于是就鸣响;三极管S8550跟S8050正好是对管,所以其作用是基极低电平有效,发射极跟集电极导通,蜂鸣器接入电源的回路,也就鸣响。如果R5不添加可能会出现基极电压有变化,因为单片机复位时候,I/O浮空,电平就出现不确定,直接连接电压或地在外部将电平置到三极管关闭的位置就不会出现蜂鸣器鸣响的问题。
当然如果驱动电机什么的,也可以先连接三极管或光耦等,再连接别的继电器,mos管等。
R4的选型也是采用的三极管工作以后3.3V除以10mA(这个是输入输出的I/O引脚的输出输入电流通常限制在10mA以内,光耦也可以按照这个来配置)得出 330欧,所以极限是330欧,而且电流越小对单片机影响越小,我这里选用最常用的1K。所以相对的选的R5大小也是这个原因计算的,而且以前看过的电路基本上都是R4的10倍以上也就根据其他电路需求选了20K。
补:也就是简单的基础电路,根据学习的相应知识写了写,以后学到其他再延伸一下,毕竟我以前用的最多的也就是电机驱动什么了。