51单片机静态数码管显示0到59代码

51单片机静态数码管显示0到59代码,第1张

这是秒表的程序。采用静态数码管,应该是用两个数码管,可用共阳数码管分别接在P0口,P2口上。计时可用定时器T0定时50ms,并计中断20次为1秒,加法计60秒并送数码管显示出来即可。仿真图如下。

汇总: 00 单片机STC89C52学习

参考教程:普中科技

单片机系统中常用的显示器有:

LED显示器有两种显示结构:

共阴数码管码表(0~F):

0x3f , 0x06 , 0x5b , 0x4f ,

0x66 , 0x6d , 0x7d , 0x07 ,

0x7f , 0x6f , 0x77 , 0x7c ,

0x39 , 0x5e , 0x79 , 0x71 ,

0x00 无显示

静态显示原理:

静态显示的特点是每个数码管的段选必须接一个8位数据线来保持显示的字形码(若要显示8个数字则需要88=64个IO口控制)。当送入一次字形码后,显示字形可一直保持,直到送入新字形码为止。这种方法的优点是占用CPU时间少,显示便于监测和控制。缺点是硬件电路比较复杂,成本较高。

你理解错了,%是取余数, 1000%16 = 8, 而不是625,是取余数,余数,明白吗

LedNumVal%16,不管LedNumVal是多少,得到的结果永远只能是0--15,不可能大于15,最大是15

0%16 = 0

1%16 = 1

2%16 = 2

3%16 = 3

4%16 = 4

5%16 = 5

6%16 = 6

7%16 = 7

8%16 = 8

9%16 = 9

10%16 = 10

11%16 = 11

12%16 = 12

13%16 = 13

14%16 = 14

15%16 = 15

16%16 = 0

17%16 = 1

18%16 = 2

19%16 = 3

20%16 = 4

21%16 = 5

22%16 = 6

23%16 = 7

这样,可以保证数组不会溢出,避免出错

形参数uchar dis,是要在两位数码管上显示的两位十进制数,但每一个位数码管只能显示一位数,只能一个显示十位,另一个只能显示个位,而dis是十位和个位都合在一起的。

例如,dis=35,要分别显示出一个3,十位,再显示出一个5,个位,

因此,就需要把dis中的十位和个位分离出来,才能分别显示的。

i=dis/10;//含义是什么,这就是求出十位数,除十,你想想,35/10,商是3不,余数不要。

i=dis%10;//含义是什么,这就是求出个位,是除十,然后要余数,就是上面不要余数,这里却只要余数了。

以上就是关于51单片机静态数码管显示0到59代码全部的内容,包括:51单片机静态数码管显示0到59代码、10 静态数码管、关于单片机静态数码管C语言的问题等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/9314028.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-27
下一篇 2023-04-27

发表评论

登录后才能评论

评论列表(0条)

保存