看程序

[复制链接]
1777|3
 楼主| xiaosi1911 发表于 2013-7-23 17:02 | 显示全部楼层 |阅读模式

   dula=0;
   P0=table[r];                                        //数码管段信号输出               
   dula=1;
   dula=0;为什么还要打开段选

   wela=0;
   P0=~(1<<c);                                        //数码管位信号输出
   wela=1;
   wela=0;这里为什么还要打开位选?
   delay(5);
 楼主| xiaosi1911 发表于 2013-7-23 17:26 | 显示全部楼层
求指教啊
four_zhg 发表于 2013-7-24 09:51 | 显示全部楼层
你的程序不完整,看的不知所云,你这个外围不是直接能通过单片机口输出显示的吧,还有其它辅助芯片,看好像是打开使能位
江枫渔火 发表于 2013-7-25 11:51 | 显示全部楼层
位选与段选的信号线连着你的两个74h373锁存器,用来控制锁存器的信号更新的。在没有给这条线信号之前,锁存器的输出不会变化。所以这两个芯片可以共用其他数据线,而只在有了这个信号,相应的芯片才会更新输出。否则你对它输出不起作用。

所以当你要控制其中一块锁存器的时候,你就要给他来个信号,它为什么是位选?因为你的这个位选引脚连接的那块74H373输出恰恰就是数码管的各个位。它可以控制8个位。
数码管每一位有一个公共线,8个段线(7段+点)
而你的段信号则连着另一片74H373,它的输出则连接着数码管8个位的所有段。

当你打开段选,然后输出了一个数值出去,这个数值就会存到段控制的那片74H373,而不会影响位控制的74H373的值。

单片机通过先后传送数据到两片不同的74H373,来达到控制位和段的目的。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

1

主题

2

帖子

0

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