打印

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

[复制链接]
3091|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 | 只看该作者
一位一位的设置了

使用特权

评论回复
5
NE5532| | 2009-11-25 20:40 | 只看该作者
位拆分就是了。

使用特权

评论回复
6
与时俱进| | 2009-11-25 21:09 | 只看该作者
分成P1和P3两次操作。

使用特权

评论回复
7
zhenxing2000| | 2009-11-25 21:46 | 只看该作者
连续写七条指令控制led就可以了。

使用特权

评论回复
8
程序匠人| | 2009-11-25 23:04 | 只看该作者
最笨的办法往往就是最有效的。

开个缓存,一位一位送

使用特权

评论回复
9
与时俱进| | 2009-11-26 10:30 | 只看该作者
这个-------到底调整线路好还是改变程序好?

使用特权

评论回复
10
辉扬的心| | 2009-11-26 17:24 | 只看该作者
我觉得改软的比较好,改硬的要花成本的,更费时间

如果用模拟软件的话,那就另当别论了

使用特权

评论回复
11
mohanwei| | 2009-11-26 18:56 | 只看该作者
LED就无所谓了,一位一位的送不影响显示效果的。

使用特权

评论回复
12
不亦心| | 2009-11-26 19:51 | 只看该作者
就是啊
改程序多简单
改板子多费事

使用特权

评论回复
13
usbcleaner| | 2009-11-26 20:17 | 只看该作者
宏定义,写程序时就不用考虑端口了.

使用特权

评论回复
14
与时俱进| | 2009-11-26 21:20 | 只看该作者
我说的不是要改硬的!只是修改电路图纸!

使用特权

评论回复
15
84335262| | 2009-11-27 10:24 | 只看该作者
当然就软的好啦,又不是啥麻烦事。特别是在很多情况下还凑不到一个完整的端口的,比如这个端口被晶振抢了两位,那个端口被AD占了几位,还有I2C、SPI、串口、外部信号中断、PWM……

使用特权

评论回复
16
tcc8073| | 2009-12-1 09:59 | 只看该作者
做一个子程序,对读数进行移位操做,51很容易实现,PIC,AVR比较麻烦点,但是思路都差不多

使用特权

评论回复
17
yangwh0729| | 2009-12-1 14:44 | 只看该作者
一位一位的设,然后延时再循环

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

1

主题

24

帖子

0

粉丝