我想让这三个发光二极管(红色的)任何一个键被按下,都能正常发光。目前供电实测电压是DC5.33V,采用R16采用200欧的。(5330-1700)/200=18.15毫安。这样就算三个灯同时亮起来,分是的电流是6毫安左右。
这是我的思路和分析。这样设计,没有什么错误吧?红色发光二极管压降是1.6-1.8V吧?
发光二极管导通压降1.7v左右,p3.2口是中断口,开关接通后,p3.2口是1.7v,单片机并不认识,所以图错了,
追答如果是 0.7V 的普通二极管,就可以了。
追问楼下说到了肖特基二极管,不知你是否知道?因为我想当按键按下后有个发光二极管可以看见。不知他说的那种二极管应该如何接
追答肖特基二极管,不是发光的。
它,不符合你的设计要求。
其主要特点是导通、截止转换速度较快。
用在这里,有些浪费了功能。
如果,不想发光,就使用普通的 1N4148 即可,几分钱/个。
导通电压是 0.7V,可以让 P3.2 觉察到低电平。
我是想说把肖特基二极管串联在发光二极管后面,然后p3.2口接在发光二极管的阴极,和肖特基二极管的阳极,这样电压不就是肖特基二极管的导通压降了吗?电压更低,单片机更容易识别、0.7v感觉很玄啊。
追答发光二极管串联肖特基,可以。
0.7V感觉很玄啊。
是可以的,我实际实验过。
当电源电压是+5V时,能够可靠的触发中断。
这是与门电路啊。当一个按键被按下后,触发中断。判断哪个键被按下了。图0.8V-2V单片机机不认识。图我改了下,看下楼的图
P3.2可是中断口呢。我是用中断来读取按键信息的,但是发光二极管阳极电压是1.7V左右。就不能让它发光以示被按下了? 用二极管呢压降是0.7V,又看不见它发光,有什么好方法让它用上发光的二极管呢
追答那就另加3个肖特基二极管和一个电阻,接法与发光管接法一样,来代替现在的电路接到P3.2作为中断源,肖特基可以使用SS12系列,结电压为0.2V左右,单片机可以检测到。
追问你说的意思是在发光二极管后面串联一个肖特基二极管?,然后p3.2口接在肖特基二极管的阳极和发光二极管的阴极?结电压0.2V?可以不用改变R16,200欧的电阻?如果方便可以提供一下你说的图吗,谢谢了
追答不是。肖特基二极管及电阻的接法与发光管及其电阻完全一样,不是串联,是并联。电阻4.7K~10K都可以。这样明白了吧?这是一个非常简单的电路,你看看不行再给你画图。
追问我想让它继续发光以示按键被按下了?串联应该可行吧?只是中断口取在发光二极管的阴极和肖特基的阳极之间?
追答串联不行,二极管电路对你的发光管电路没有影响,无需考虑亮不了等其他问题。二极管的负极分别与发光管的负极相连,三个正极接电阻为中断输出,电阻另一端接电源。
追问你的意思是两个相同的电路吧?只是二极管不同,可是串联在发光后面为什么不行呢?比如二极管导通压降是0.4v,中断口就在二极管的阳极。按钮按下后,导通,中断口的电压就应该是0.4v的啊,只是前面多串了个发光二极管分压的啊?为什么你说串联就不行
追答用串联的方法是不能实现的,为什么要用不成立的电路呢?必须是并联的,在电路中另加三个二极管和一个电阻。没时间画图了
470的话,一个发光二极管亮是7毫安左右,那三个一起亮,就只有2.5毫安左右了。发光二极管不就点不亮了?
追答肯定能点亮。
与门电路嘛,我把图改了下,你再看看,这样能给低电平信号了吗?,按键被按下,P3.2低电平,进入中断。然后判断是哪个键被按下?R16的电阻是否太小?
不好意思,图不对。我就想让它,有个按键被按下后,触发P3.2中断,然后检测哪个被按下,还要亮灯。是不是只能接个二极管他的压降只有0.7V满足单片机的低电平0.8V呢?
即使用0.7压降的二极管,按键也会很不灵敏。并不建议使用这种电路来检测按键。如果真的要这样实现可以试试使用或非门芯片。其实如果是小程序直接使用按键扫描就可以了。如果你程序比较大,可以使用带AD中断的单片机,一个管脚就可以带至少8个按键。
51单片机矩阵键盘检测方面的问题
第一个问题,应该是考虑如果先开锁存器,在那一时刻,P0的值还是上一次给P0赋的值,下在一条语句才将这次的值给P0,这样会造成数码管的余辉,静态显示的时候,因为太快看不到,动态显示时,就会比较明显了。第二个问题他的程序应该检测的是高四位,是否被拉低,因为temp和0xf0与,低四位不管是什...
51单片机按键检测问题
三个二极管、一个电阻,确实是一个与门。电阻的计算公式,正确。二极管的导通电压、电流,选择的基本合理。可以进行实际电路的安装、测试。实际上,现在的二极管,发光效率,逐年的提高,已经不用 6mA,就很醒目了。不同颜色的二极管,导通电压,也有差异,选用较小的,才利于触发中断。得进行反复实验,...
51单片机按键式计数器 程序一直显示有错,在void(jj),请帮忙解答一下...
你这个按键电路不行,你要加上一个上拉电阻才行,不然按键没按时,其IO口状态无法识别出是高电平还是低电平。char j=0;\/\/没空格 void jj(void) \/\/没参数就写个void 你这个代码有个很大的缺陷就是按键检测放在主循环里调用,你稍微按一下,程序都可以执行了几遍按键检测了,所以你无法可以正常...
关于51单片机矩阵键盘的问题。
(1)P3口是准双向IO口(注意与双向IO口的区别),它 的硬件结构决定着,读取之前先写1,再读取,读取的结果才可能是正确的,你可以区域查查书。(2)4X4 矩阵键盘的8根线直接连在IO上,而独立按键有一根线固定是接地的,这就意味着必须采取扫面或者线反转的方法。比如其中一根行线赋0,相当于...
51单片机的矩阵键盘检测问题
扫描按键有没有释放,如果释放再加个消抖延时,再扫描有没有释放,如果按键释放则确认已经松手了。我是这么做的,可以用
51单片机中按键检测时间问什么将数据清零的这段代码取消注释后,数码管...
代码上看是没问题的 估计是你的KEY3一直被按下了吧 检查电路连接是不是有问题 也就是说KEY1和KEY2和KEY3是不是一样的电路
51单片机 矩阵键盘 检测的命令
temp的值会受到按键的影响,例如变成:7e或别的值等。
单片机按钮的问题
P2.1 是高电平。单片机输出高电平的能力,极其低,可以由外设,很容易的加以改变。所以,单片机输出电平,就是设置为输入状态。如果,按键按下,仍然是高电平,那么,就无法区分,按下、还是没有按下。所以,按键的另一端,必须接地,按下后,送来低电平。按键松开,单片机就自己恢复成为高电平。
有木有大神啊,这是51单片机矩阵键盘的一个程序,其中的那个松手检测没...
单片机默认都是1。按键都是0。所以按下去单片机自然就是0。如果你检测是1的话。那你的按键就没有按下去。
求助大神,51单片机程序量很大,低电平检测按键没反应。怎么办?_百度知 ...
那是在执行其它程序呢,没时间检测按键。看你的按键程序是写成了子程序了,还是放在主程序中了?按键的作用是什么?什么时候要用。主程序中可根据不同运行状态调用部分子函数。需要开机按键设置时,优先执行按键程序,其它需要设置以后才能运行的子函数暂时不调用,减少单片机被占用过多。设置后,不需要按键...