智能车制作

 找回密码
 注册

扫一扫,访问微社区

查看: 2664|回复: 6
打印 上一主题 下一主题

关于数码管扫描显示

[复制链接]

4

主题

10

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
316
威望
180
贡献
84
兑换币
2
注册时间
2012-9-28
在线时间
26 小时
跳转到指定楼层
1#
发表于 2012-10-14 20:45:48 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
    time++;
  if(time >=50){
      time=0;
      Count_Num++;
      LedData[0] = Count_Num/1000%10;
      LedData[1] = Count_Num/100%10;
      LedData[2] = Count_Num/10%10;
      LedData[3] = Count_Num%10;
      if(Count_Num >=9999){
          Count_Num=0;
      }
  }
PORTK = 0x01 << LedNum ;
  PORTB = LedCode[LedData[LedNum]];
  
  LedNum++;
  if(LedNum >= 4) LedNum = 0;
PORTK控制数码管其中某一个显示,PORTB接七段数码管显示。我觉得PORTK = 0x01 << LedNum 有问题,不能实现数码管扫描显示的功能,但是把程序考进去后的确是数码管扫描显示了

282

主题

1780

帖子

1

精华

管理员

曾经的智能车人……

Rank: 11Rank: 11Rank: 11Rank: 11

积分
28420

特殊贡献奖章资源大师奖章论坛骨干奖章论坛元老奖章优秀版主奖章推广达人奖章优秀会员奖章活跃会员奖章热心会员奖章在线王奖章

QQ
威望
10441
贡献
11685
兑换币
4726
注册时间
2009-9-7
在线时间
3147 小时
2#
发表于 2012-10-14 21:12:16 | 只看该作者
PORTK = 0x01 << LedNum实现0~4位的扫描,没有错误吧。
回复 支持 反对

使用道具 举报

4

主题

10

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
316
威望
180
贡献
84
兑换币
2
注册时间
2012-9-28
在线时间
26 小时
3#
 楼主| 发表于 2012-10-15 07:53:01 | 只看该作者
凌心 发表于 2012-10-14 21:12
PORTK = 0x01

当LedNum等于3时,即00000011,此时PORTK=00000110,这个时候不是会同时有两个数码管显示,且下次进入中断时,LedNum=0,又开始重复之前的,PORTK的第四位总不能被置1,即第四个数码管也应该不能显示。
回复 支持 反对

使用道具 举报

282

主题

1780

帖子

1

精华

管理员

曾经的智能车人……

Rank: 11Rank: 11Rank: 11Rank: 11

积分
28420

特殊贡献奖章资源大师奖章论坛骨干奖章论坛元老奖章优秀版主奖章推广达人奖章优秀会员奖章活跃会员奖章热心会员奖章在线王奖章

QQ
威望
10441
贡献
11685
兑换币
4726
注册时间
2009-9-7
在线时间
3147 小时
4#
发表于 2012-10-15 09:04:09 | 只看该作者
是0x01左移LedNum位。
回复 支持 反对

使用道具 举报

38

主题

1651

帖子

0

精华

功勋会员

Rank: 10Rank: 10Rank: 10

积分
8770
威望
4444
贡献
2638
兑换币
1818
注册时间
2010-12-29
在线时间
844 小时
5#
发表于 2012-10-15 09:32:21 | 只看该作者
autor 发表于 2012-10-15 07:53
当LedNum等于3时,即00000011,此时PORTK=00000110,这个时候不是会同时有两个数码管显示,且下次进入中断 ...

当LedNum等于3时,PORTK应该等于00000100
LedNum PORTK
0  00000001
1  00000010
2  00000100
3  00001000
回复 支持 反对

使用道具 举报

4

主题

10

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
316
威望
180
贡献
84
兑换币
2
注册时间
2012-9-28
在线时间
26 小时
6#
 楼主| 发表于 2012-10-15 10:25:13 | 只看该作者
凌心 发表于 2012-10-15 09:04
是0x01左移LedNum位。

明白了,是我弄错了,太谢谢了
回复 支持 反对

使用道具 举报

4

主题

10

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
316
威望
180
贡献
84
兑换币
2
注册时间
2012-9-28
在线时间
26 小时
7#
 楼主| 发表于 2012-10-15 10:26:14 | 只看该作者
yukunlinykl 发表于 2012-10-15 09:32
当LedNum等于3时,PORTK应该等于00000100
LedNum PORTK
0  00000001

看明白了,谢谢
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

关于我们|联系我们|小黑屋|智能车制作 ( 黑ICP备2022002344号

GMT+8, 2024-12-28 08:05 , Processed in 0.227747 second(s), 31 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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