一乐电子

 找回密码
 请使用微信账号登录和注册会员

QQ登录

只需一步,快速开始

微信扫码登录

搜索
楼主: benli

[其他综合] 如何用任意的IO口做数码管段驱动

[复制链接]
发表于 2013-12-30 08:42 | 显示全部楼层
我就用任意段位驱动的,同一个口线送一次,用与或操作
回复

使用道具 举报

发表于 2013-12-30 09:04 | 显示全部楼层
我是这样做的:
#define LED_a    (PC_ODR_ODR3)
#define LED_b    (PB_ODR_ODR5)
#define LED_c    (PB_ODR_ODR4)
#define LED_d    (PD_ODR_ODR6)
#define LED_e    (PD_ODR_ODR5)
#define LED_f    (PC_ODR_ODR5)
#define LED_g    (PC_ODR_ODR4)
#define LED_dp   (PD_ODR_ODR4)
        LED_a = dpnum[num]>>0;
        LED_b = dpnum[num]>>1;
        LED_c = dpnum[num]>>2;
        LED_d = dpnum[num]>>3;
        LED_e = dpnum[num]>>4;
        LED_f = dpnum[num]>>5;
        LED_g = dpnum[num]>>6;
回复

使用道具 举报

发表于 2013-12-30 10:25 | 显示全部楼层
前一段时间也在想这个问题,手上有一些管脚少的芯片(14pin)并且同一端口少于8个,于是……
做了个仿真,楼主看看,也请大家共同交流一下。

51_seg.rar

37.04 KB, 下载次数: 998, 下载积分: 一乐金币 -1

回复

使用道具 举报

发表于 2014-1-7 14:59 | 显示全部楼层
如果考虑IO资源缺用的话,可以考虑用两个口+164串行送数据的方式来驱动数码管,我一般就这样来做数码管显示和按键的复用
回复

使用道具 举报

发表于 2014-2-6 00:33 | 显示全部楼层
我在用LaunchPad开发板通过一个无资料点阵液晶屏观察UART数据时这么干过,本来想P1口输出并行数据,结果P1口里有两个要作为UART的收发使用,MSP430G2553单片机本来IO口就非常少,最后没办法,把原来P1.1、P1.2两个口应该连接的线转移到P2那边去了,其它不变,程序上用if判断需要发送的数据的1和2两个位,如果为1,就从对应的P2的IO口输出,嘴太笨说不明白,就是4楼的那种思路, 4楼给出的if的那种写法。
回复

使用道具 举报

本版积分规则

QQ|一淘宝店|手机版|商店|一乐电子 ( 粤ICP备09076165号 ) 公安备案粤公网安备 44522102000183号

GMT+8, 2025-8-19 04:44 , Processed in 0.031550 second(s), 23 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表