不连续IO口怎么输出7led显示

[复制链接]
4284|16
 楼主| z7001 发表于 2009-11-25 17:28 | 显示全部楼层 |阅读模式
大家好:   小弟初学KEIL,看到很多流水灯例子都是用连续的IO,比方:P0,P1等,   由于PCB布线的原因,不连续的IO(比方说:7LED用到的段为P1.5,P1.6,P3.7,P1.7,P3.4,P1.4,P1.3)通过什么方法(也就是像操作P1口那样)输出7LED数码管显示呢?谢谢
chfirst 发表于 2009-11-25 18:16 | 显示全部楼层
使用锁存器,整体锁存输出!
qinyp 发表于 2009-11-25 19:29 | 显示全部楼层
LED_Val = xxxx;  //要显示的数据
{
    //笨方法输出
   if(LED_Val & 0x01) P1.5 = 1;else P1.5 = 0;
   if(LED_Val & 0x02) P1.6 = 1;else P1.6 = 0;
    ........
}
yuands 发表于 2009-11-25 20:36 | 显示全部楼层
一位一位的设置了
NE5532 发表于 2009-11-25 20:40 | 显示全部楼层
位拆分就是了。
与时俱进 发表于 2009-11-25 21:09 | 显示全部楼层
分成P1和P3两次操作。
zhenxing2000 发表于 2009-11-25 21:46 | 显示全部楼层
连续写七条指令控制led就可以了。
程序匠人 发表于 2009-11-25 23:04 | 显示全部楼层
最笨的办法往往就是最有效的。

开个缓存,一位一位送
与时俱进 发表于 2009-11-26 10:30 | 显示全部楼层
这个-------到底调整线路好还是改变程序好?
辉扬的心 发表于 2009-11-26 17:24 | 显示全部楼层
我觉得改软的比较好,改硬的要花成本的,更费时间

如果用模拟软件的话,那就另当别论了
mohanwei 发表于 2009-11-26 18:56 | 显示全部楼层
LED就无所谓了,一位一位的送不影响显示效果的。
不亦心 发表于 2009-11-26 19:51 | 显示全部楼层
就是啊
改程序多简单
改板子多费事
usbcleaner 发表于 2009-11-26 20:17 | 显示全部楼层
宏定义,写程序时就不用考虑端口了.
与时俱进 发表于 2009-11-26 21:20 | 显示全部楼层
我说的不是要改硬的!只是修改电路图纸!
84335262 发表于 2009-11-27 10:24 | 显示全部楼层
当然就软的好啦,又不是啥麻烦事。特别是在很多情况下还凑不到一个完整的端口的,比如这个端口被晶振抢了两位,那个端口被AD占了几位,还有I2C、SPI、串口、外部信号中断、PWM……
tcc8073 发表于 2009-12-1 09:59 | 显示全部楼层
做一个子程序,对读数进行移位操做,51很容易实现,PIC,AVR比较麻烦点,但是思路都差不多
yangwh0729 发表于 2009-12-1 14:44 | 显示全部楼层
一位一位的设,然后延时再循环
您需要登录后才可以回帖 登录 | 注册

本版积分规则

1

主题

24

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部