一乐电子

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

QQ登录

只需一步,快速开始

微信扫码登录

手机号码,快捷登录

手机号码,快捷登录

搜索
查看: 6562|回复: 34

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

[复制链接]
发表于 2013-12-29 09:48 来自手机 | 显示全部楼层 |阅读模式
本帖最后由 benli 于 2013-12-29 10:54 编辑

教材上讲述数码管驱动都是用同一个IO口做段驱动,直接发送数码管的段码数据既可,实际应用为了方便硬件设计,需要将8段放在不同的IO口做段驱动,请教下软件上如何用任意的IO口做段驱动
发表于 2013-12-29 09:54 | 显示全部楼层
这样只能一位一位的判断了。
回复

使用道具 举报

 楼主| 发表于 2013-12-29 09:56 来自手机 | 显示全部楼层
diyer_zhou 发表于 2013-12-29 09:54  这样只能一位一位的判断了。

具体思路?
回复

使用道具 举报

发表于 2013-12-29 10:05 | 显示全部楼层
比如发送 SEG字段
P1_0=(SEG&0X80)?1:0;
P0_0=(SEG&0X40)?1:0;
.
.
.
---
或者
if(SEG&0X80) P1_0=1;
else P1_0=0;
if(SEG&0X40) P0_0=1;
else P0_0=0;
回复

使用道具 举报

发表于 2013-12-29 10:06 | 显示全部楼层
不过这样运算会用多很多时间
回复

使用道具 举报

 楼主| 发表于 2013-12-29 10:13 来自手机 | 显示全部楼层
diyer_zhou 发表于 2013-12-29 10:05  比如发送 SEG字段  P1_0=(SEG&0X80)?1:0;  P0_0=(SEG&0X40)?1:0;

这也太复杂了吧!有无简单的办法
回复

使用道具 举报

发表于 2013-12-29 10:14 | 显示全部楼层
benli 发表于 2013-12-29 10:13
这也太复杂了吧!有无简单的办法

这个我没有想出来
回复

使用道具 举报

发表于 2013-12-29 10:20 | 显示全部楼层
多个io口和一个io口是一样的呀,一般的数码管是7段+一个小数点,正好8个,用一个io控制正好,如果是米字管的话,字段会增加到16个,就需要两个io口控制,事先定义好段码,直接送两个io口就可以了
回复

使用道具 举报

 楼主| 发表于 2013-12-29 10:24 来自手机 | 显示全部楼层
s2z0g0 发表于 2013-12-29 10:20  多个io口和一个io口是一样的呀,一般的数码管是7段+一个小数点,正好8个,用一个io控制正好,如果是米字管 ...

看帖不认真我是说如果用2个或者2个以上的IO口来驱动数码管的8个段
回复

使用道具 举报

发表于 2013-12-29 10:44 | 显示全部楼层
I/O口并连?
如果是的话与教材一样,只不过段码分别送到各自的I/O口
注意不能用强上拉,I/O模式最好用开漏
回复

使用道具 举报

本版积分规则

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

GMT+8, 2025-11-1 04:43 , Processed in 0.036692 second(s), 28 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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