完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
做一个时钟,精确到秒,那时,分,秒分别写代码,怎么写?那如果用AT89S51做,怎么让它同时执行三段代码?如果不行,用3个AT89S2051分别对时,分,秒计时,一个有源晶振能否给这3个同时提供时间?能的话,怎么接线?
我的计时方法是:1分有60秒,1时有60分,1天有24时,则60/2=30,30/2=15,15/3=5,那比方一分吧,可以用2个灯分别前30秒和后30秒。那也可以1个灯,不亮是前三十秒,亮是后三十秒。同理,进一步细分30秒可以用一个灯的亮灭表示前15秒和后15秒,15秒再细分,15/3=5,则3-1=2,这两个灯表示第几个1-5秒。第1个1-5秒,两个灯都不亮,第2个1-5秒,第一个灯亮,第3个1-5秒,第2个灯亮。这样就可以用9个灯(1+1+2+5=9)表示60秒。分的计时是一样的。一天分上午下午,则两个灯表示上午下午,上午下午都有12小时,则12/2=6,6/2=3. |
|
相关推荐
3个回答
|
|
不是很精确的可以定时器1s,然后变量1自加1,加至60,即1分,则变量2自加1,加至60,则1时2,.......一次类推,可走时钟.
|
|
|
|
若需精确的,推荐DS1302
|
|
|
|
就是定时中断就成了啊,怎么弄了那么多的灯
|
|
|
|
只有小组成员才能发言,加入小组>>
3278 浏览 9 评论
2956 浏览 16 评论
3457 浏览 1 评论
8995 浏览 16 评论
4050 浏览 18 评论
1105浏览 3评论
570浏览 2评论
const uint16_t Tab[10]={0}; const uint16_t *p; p = Tab;//报错是怎么回事?
568浏览 2评论
用NUC131单片机UART3作为打印口,但printf没有输出东西是什么原因?
2301浏览 2评论
NUC980DK61YC启动随机性出现Err-DDR是为什么?
1858浏览 2评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-23 00:07 , Processed in 1.256291 second(s), Total 84, Slave 64 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号