P0口用定时器每0.4毫秒发送一个下降沿,外部中断1的SM0038红外接收头接收。 P0口发送的信号,其载波为38KHZ的占空比是1/4的方波。 电路中P0口的灌电流会很大,那三级管要如何选择,比如放大倍数的选择,如特征频率能否达到38KHZ的要求?
这样子是3路。一个IO口要做到30路。。。 这里P0.0是不是还要加一个1K的电阻?
每一路红外发光二极管电流8mA,,算10mA的话,30路就是300mA,在PNP的集电极。三极管放大倍数算30倍的话,PNP的基极就是10mA。
三极管这样子接,如果是用的普通的AT89C5x,或者Intel的标准51片子的话,这个Q1应该是不能导通的.
在P0口和电源之间,应该接一个上拉电阻,因为P0口是不自带上拉的,它无法主动输出高电平,更无法主动向外输出电流,而是需要通过外接的上拉电阻来给外围电路(例如这个Q1的B极)提供驱动电流.
此外,如果是有30个红外LED的话,三极管的容量应该要满足要求,主要是电流容量.
如果换用功率较大的三极管,那么单片机IO通过外上拉来驱动的话,可能会有一些问题,这个时候就可以将驱动的三极管改成两个,一个PNP的作为主驱动,而单片机通过驱动另外一个NPN的来驱动那个主PNP,这样会比较完善和可靠,也能较好地保护单片机.
你补充的图接法不对的.
上面这两个都是正确的接法,左边的是用NPN三极管的接法,右边的是用于较大功率的PNP管的接法.
用五一单片机c语言编程,p1口控制八个发光二极管,实现每隔一秒,两两点亮...
具体步骤如下:1. 全部LED初始状态:P0 = 0x00 2. 点亮P0.0和P0.1:P0 = 0xc0,延时1000毫秒 3. 点亮P0.2和P0.3:P0 = 0x30,延时1000毫秒 4. 点亮P0.4和P0.5:P0 = 0x0c,延时1000毫秒 5. 点亮P0.6和P0.7:P0 = 0x03,延时1000毫秒 文章还提到了另一种方法,使用定时...
高分求课程设计:利用D\/A芯片实现电机转速控制
电机变速一般都是直流电机,所以电压是改变电机速度的办法,只能一步一步的实验才行,仅仅靠理论是不行的