[求助] 4位数码管电子钟

15678290927   2014-12-5 14:39 楼主
制作一个用4位集成共阴数码管显示时、分计时功能的电子钟,显示格式为:“时:分”,秒用LED显示;
程序无法使led每秒闪一次 可以帮忙修改一下吗?

    程序.rar (2014-12-5 14:39 上传)

    336.78 KB, 下载次数: 59

回复评论 (7)

定义一个全局变量做为标志,在计时间的定时器中断里面每0.5秒把这个标志置1.在主函数的while()里面判断这个标志,如果这个标志为1就把LED翻转一下,也就是原来是0变成1,原来是1变成0,然后再把标志清零。
或者简单一点你直接在while里面判断定时器中断里面那个计数的值,你1秒计4000次吧,在while里面判断,如果小于2000,LED为0.2000到4000之间,LED为1。方法多的是,慢慢琢磨一下就行了
点赞  2014-12-5 18:17
引用: jishuaihu 发表于 2014-12-5 18:17
定义一个全局变量做为标志,在计时间的定时器中断里面每0.5秒把这个标志置1.在主函数的while()里面判断这个标志,如果这个标志为1就把LED翻转一下,也就是原来是0变成1,原来是1变成0,然后再把标志清零。
或者简单一点你直接在while里面判断定时器中断里面那个计数的值,你1秒计4000次吧,在while里面判断,如果小于2000,LED为0.2000到4000之间,LED为1。方法多的是,慢慢琢磨一下就行了
可以说的具体些吗?
点赞  2014-12-5 18:51
我觉得这样已经够具体了吧,再具体就直接帮你改程序了。定义全局变量你会吧,uchar Flag;
修改变量的置会吧?Flag = 1;或者Flag = 0;
判断变量的值会吧?if(Flag == 1){}
修改LED 的值,也就是IO口赋值应该也会吧。P1_0 ^= 1;如果不会的就就分成P1_0 = 0;和P1_0 = 1;两部分写。
我不想帮别人修改这么简单的程序,给你说明白了思路自己试去吧,思路哪儿不明白再问
点赞  2014-12-5 19:11
谢谢分享
点赞  2015-10-30 21:32
楼主,你的电子钟做好了吗
点赞  2016-10-21 17:37
点赞  2016-11-22 02:21
谢谢分享
点赞  2017-5-10 23:12
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复