一个简单问题想了许久搞不定,51单片机端口如何实现输入与输出复用?如按键输入与数码管
RT自己用二极管拼了个电路,发现行不通,哎~~如下:
http://cache.amobbs.com/bbs_upload782111/files_20/ourdev_493757.jpg
(原文件名:13456789.jpg) 坛子里有电磁炉的那个电路,,不错,,,数码管跟按键一起,分时用,,,,
你找找去,,我忘了再哪了,当时看那电路不错印象较深 单个IO不好搞,与其它IO配合才容易实现。 不懂。帮顶。 这个电路里面那个二极管怎么都不会导通 楼主这样不行,因为输出是低阻抗,按钮也是低阻抗,两个低阻抗设备不能连在一起的。。
可以把电阻放到二极管的位置改为2K,IO和VCC之间连一个大电阻,比如470K,这样,IO轮流做为输入和输出,做为输出时控制LED(按钮连了2K电阻,不会影响输出),做为输入时,平时为高电平,按钮按下就是低电平。
祝你成功! 4楼说得对,二极管是反向的,没仔细看。 guanzhu ing 这样可以
http://cache.amobbs.com/bbs_upload782111/files_20/ourdev_494002.JPG
(原文件名:444.JPG)
R4视情况而定 楼上,按住按鍵不放,LED就灭不了。 8楼的电路的地改为电源,然后在按键的分路上加上一个分压电阻就可以实现楼主的要求了。分压电阻可以采用排阻,这样减少了板子的面积。
主要一点就是利用了发光二极管是电流点亮的,只要保证了发光二极管的压降就可以了。
不知道我说清楚了没有,有时间可以弄个图上来。 提供3种思路楼主可试试,三种的思路都是在需要检测按鍵时,IO输出高电平(开漏),这时LED短暂熄灭,若按鍵没按下,IO为5V高电平,按下按键,IO电压降至0.8V左右,检测到为低电平,此时LED上的电压不足1.6V,不发亮。待按键检测完后,按需要让IO输出高低电平决定LED是否需点亮。
图1由于有两个分压电阻长期通电,对电池供电的设备不利,图2改为增加一稳压管消除这种情况。但这两种方法的电平容差较小,受不同LED压降影响可能出现按鍵时LED微亮或LED亮度不足,需要仔细调整分压电阻阻值或稳压管电压才能达到较好效果。图3改用三极管以增大容差,一般按图中参数即可工作。
http://cache.amobbs.com/bbs_upload782111/files_20/ourdev_494115.PNG
(原文件名:未命名.PNG) 这样好象把电路复杂化了。。
我原来用过的是数码管+按键的复用。
驱动数码管那些IO口通过按键连接到另外空的一个IO口就可以实现按键功能 这样好象把电路复杂化了。。
===========================
是的,但是在单个IO上面做手脚只能这样做,如果能和其它IO配合,电路可以大大简化。
这种用法仅在其它IO不能动,只剩下一个IO需要复用的情况下才考虑。 max232我这里有篇文章应该能够解决你的问题
点击此处下载 ourdev_494235.pdf(文件大小:151K) (原文件名:单片机EM78P156的I/O口复用技巧.pdf) 好的,谢谢各位了哈,我回去好好看看,然后再好好试验一下!! http://cache.amobbs.com/bbs_upload782111/files_20/ourdev_494267.jpg
(原文件名:ttt.jpg)
多个数码管和按键共用电路 http://cache.amobbs.com/bbs_upload782111/files_20/ourdev_494273.JPG
(原文件名:1io.JPG)
这个可行不? LS的当IO高阻输入时,1M电阻上的电压有1.5V以上,IO会认为是高电平,检测不了按键。 顶,关注中。 up. LED再串一个二极管 LED再串一个二极管,复杂程度和成本跟11楼差不多,但性能略差一点。 顶你 mark。 只用一个脚很难搞吧,要计算很精确,稳定性也是个问题 8楼的这个不这行了吗?不过R4=10K是大了点即使I/0输出高电平按下开关后还是高电平,不要R4不就得了吗? 本帖最后由 cowboy 于 2012-10-30 05:27 编辑
一个IO驱动LED并检测按键,平时输出高低电平驱动LED,检测按键时设IO为输入。
这个 应该 是你 这个小电路的问题吧。51单片机 本身就是双向的。 mrwtc 发表于 2009-10-21 16:33 static/image/common/back.gif
max232我这里有篇文章应该能够解决你的问题
点击此处下载 ourdev_494235.pdf(文件大小:151K) (原文件名: ...
这个 是 多个IO口分时 复用 的。 也能说明 问题:
cowboy 发表于 2012-10-30 05:14 static/image/common/back.gif
一个IO驱动LED并检测按键,平时输出高低电平驱动LED,检测按键时设IO为输入。
...
这用的是什么软件画的?另外,普通51的P1~P3没有输入输出可选,只需设置为高或低电平就可以了吧
页:
[1]