标题:
动态驱动LED 如何使其中一位闪烁
[打印本页]
作者:
维维
时间:
2013-7-22 15:03
标题:
动态驱动LED 如何使其中一位闪烁
动态驱动LED 如何使其中一位闪烁,最好有C 语言代码
作者:
ahshmj
时间:
2013-7-23 08:32
例:设置一个标志位,如果需要0.5秒闪烁一次,标志0.5秒取反一次。显示的时候,如果标志为1(或为0),则显示正常数值,否则送显示信息0xff(共阳,共阴相反)。
作者:
维维
时间:
2013-7-24 15:23
0.5 秒定时是用定时器中断实现吗,在中断服务程序里将标志位取反
作者:
小辉
时间:
2013-7-24 23:45
这样可以,用定时器更加精准
作者:
维维
时间:
2013-7-25 09:11
不用定时器中断可以实现吗
作者:
ahshmj
时间:
2013-7-26 08:14
本帖最后由 ahshmj 于 2013-7-26 08:16 编辑
维维 发表于 2013-7-24 15:23
0.5 秒定时是用定时器中断实现吗,在中断服务程序里将标志位取反
是的。不仅仅是因为可以“精确”,还在于这么长的延时而且是不间断的,如采用循环延时,长时间、不间断的占用mcu的机时,所以只能采用定时器中断方式。
循环延时是不可能在这里正常工作的。
作者:
维维
时间:
2013-7-26 16:50
谢谢你,明白了
作者:
维维
时间:
2013-7-26 17:02
如何用定时器中断生成 0.1 秒延时程序
作者:
xiao1074234390
时间:
2013-7-27 00:06
#include<reg52.h> void main() { P1=0xfe; }
作者:
xiao1074234390
时间:
2013-7-27 00:14
#include<reg52.h> #define uchar unsigned char void delay(uchar z) { uchar x; for(;z>0;z--) for(x=124;x>0;x--); } void main() { while(1) //等一直灭亮 { P1=0xfe; //亮一只灯 delay(100); //延迟100毫秒,太快可以延迟短一些 P1=0xff; //灭掉 delay(100); // } }
作者:
ppxw
时间:
2013-7-27 17:45
控制其中一位的位选,一秒置1,一秒清零,就会出现闪烁
作者:
维维
时间:
2013-7-29 08:52
作者:
维维
时间:
2013-7-30 10:56
怎样产生你说的“1秒”
作者:
amy
时间:
2013-8-8 16:24
定时器中断来实现,通过设置TH0和TL0的值达到1秒的效果。
作者:
livingliving
时间:
2015-4-10 09:06
#include<reg52.h> #define uchar unsigned char void delay(uchar z) { uchar x; for(;z>0;z--) for(x=124;x>0;x--); } void main() { while(1) //等一直灭亮 { P1=0xfe; //亮一只灯 delay(100); //延迟100毫秒,太快可以延迟短一些 P1=0xff; //灭掉 delay(100); // } }
欢迎光临 (http://www.51hei.com/bbs/)
Powered by Discuz! X3.1