138译码

[复制链接]
3697|12
 楼主| 永不落的星 发表于 2011-2-24 13:48 | 显示全部楼层 |阅读模式
我用138译码器给数码管进行位选 但只能选中双位的数码管 如138的输入为000 010 100 110时 0 2 4 6位能点亮 但001 011 101 111时 1 3 5 7位不能被点亮  请问这是什么原因呢 谢谢
chenczy 发表于 2011-2-24 13:52 | 显示全部楼层
上程序和电路图,就这样猜不好猜。
ayb_ice 发表于 2011-2-24 14:46 | 显示全部楼层
这么简单的事情
用万用表检查一下输入情况,检查一下输出情况
 楼主| 永不落的星 发表于 2011-2-24 15:22 | 显示全部楼层
图和代码都附上

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
 楼主| 永不落的星 发表于 2011-2-24 15:23 | 显示全部楼层
我想请问3楼 用万用表怎么检查
numLiu 发表于 2011-2-24 17:41 | 显示全部楼层
还是多看看书吧
xwj 发表于 2011-2-24 18:48 | 显示全部楼层
实验板?
先检查RA3线是否连接好、是否对地短路了。
zf275140191 发表于 2011-2-24 20:34 | 显示全部楼层
RA3虚焊的概率高些,或者对地短路
 楼主| 永不落的星 发表于 2011-2-25 08:44 | 显示全部楼层
16F883已经焊接在PCB板上了  虚焊的问题我在检查看  谢谢大家
寻他千百 发表于 2011-2-25 09:35 | 显示全部楼层
 楼主| 永不落的星 发表于 2011-2-25 13:15 | 显示全部楼层
虚焊的问题应该可以排除了  用万用表测了138输入口的电平与程序里面设置的不一样  发现000和001  010和011  100和101  110和111这几组的电平是一样的  比如我程序里写的是000 数码管的第一位亮  我改为001  还是第一位亮  后面几组也是一样的情况
另外 我做了个试验 我先在程序里设为110  数码管可以显示  此时我把138的3位输入中的一位悬空 比如就让A0悬空吧  再用一根导线的一端接在接A0的那个脚上 导线的另一端接在A1上 因为A1为高电平 此时A0也是高电平  编码为111  此时数码管的111位可以点亮   这样的话是不是MCU编码错误的问题了  软件该怎么改呢  高手们请指教下
yanwuxu 发表于 2011-2-25 16:24 | 显示全部楼层
跳开CPU控制,人为的把ABC三个输入端依次从0-7做一遍,看看输出是否正常,正常的话就是你软件编得有问题,否则就是硬件问题!
 楼主| 永不落的星 发表于 2011-2-26 11:02 | 显示全部楼层
谢谢大家  已经正常了  原因是RA口用作IO口时 要设置ANSEL寄存器为0   呵呵 很小的问题 还是datasheet看少了
您需要登录后才可以回帖 登录 | 注册

本版积分规则

6

主题

72

帖子

0

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