33问答网
所有问题
当前搜索:
51单片机定时器
怎么用
51单片机定时器
定时1.5秒
答:
简单,选择一个
定时器
,设置多少次中断一次。设置一个参数专门计数,计算出多少次中断就可以达到1.5秒。然后参数清零,重复计数
51单片机定时器
问题
答:
是的 TMOD=0x20意思是设置
定时器
1为工作方式2 TMOD=0x02意思是设置定时器0为工作方式2 但一般用TMOD|=0x20 即单独操作定时器1,对定时器0无影响 和TMOD|=0x02 即单独操作定时器0,对定时器1无影响
51单片机
一个
定时器
两个计数器能同时工作吗?
答:
可以的! 但需要初始化! 例如一个
定时器
用于串口的波特率产生,另外一个则可以用作计数器!void init_uart() void { TMOD = 0x20; //定时器T1使用工作方式2 TH1 = 253; // 设置初值 TL1 = 253;TR1 = 1; // 开始计时 SCON = 0x50; //工作方式1,波特率9600bps,允许接收 ES =...
51单片机定时器
初值问题
答:
肯定不行,你自己算一下,由于计数器是向上计数的,
定时
5ms(假设1个脉冲1US,需5000个脉冲)初值就是65536-5000,这样再来5000个脉冲,计数器值就成了65536,产生溢出,发生中断 因高8位(TH0)的每个1相当于256,所以它装入的应该是(65536-5000)/256 低8位(TL0)是(65536-5000)%256,也就是不足256的...
51单片机定时器
哪种工作方式最精确
答:
模式2最准确,也就是自动重装载模式,少了重新赋初值的时间。
各位大神,
51单片机
的编程,用
定时器
T0模式1实现开发版上LED3每600ms亮...
答:
num=0;sbit LED_3=P1^2; //声明LED接口,编号视情况而定(你的LED接口)void main(){TMOD=0x01;TH0=(65536-45872)/256;TL0=(65536-45872)%256;EA=1;ET0=1;TR0=1; //调节T0参数,填充初值LED_3=1;while(1);}void time_0()interrupt 1 //T0计数器会在每12晶振周期加1,计...
51单片机
如何让
定时
计数50ms?
答:
我说一下原理 12MHZ的
51单片机
,
定时器
最大只能定时65.535ms,所以要定时500ms的时间,需要产生10次50ms的定时。步骤如下:1、每隔50ms定时器中断溢出,计数+1。2、当计数达到10次时,便产生了500ms的定时啦,然后,你自己根据你的设计,需要让单片机做什么就自己写些什么(比如让某个io口取反)3...
利用
定时器
的定时中断方式产生1hz的方波,怎么编写程序,
51单片机
?
答:
主程序中:sbit OUT=P1^0;uchar a=0;//计中断次数的变量 TMOD=0x01;//
定时器
1工作方式一 ET0=1;EA=1;TH0=(65536-50000)/256;//定时50ms TL0=(65536-50000)%256;TR0=1;//启动定时器 while(1);中断程序:void Timer0(void) interrupt 1 { TH0=(65536-50000)/256;TL0=(65536-...
51单片机
外部中断函数执行时,
定时器
还在计时吗
答:
外部中断执行过程中,只要定时中断能产生并且能进入定时中断子程序,
定时器
就可以计数,这跟你设置的中断优先级有关系。你的这段程序里好像没有体现中断优先级。如果定时器中断的优先级高于外部中断,这样就可以,否则就不行。举个简单的例子:执行中断好比一位老师讲课,没有设置中断优先级(默认设置)的...
51单片机定时器
消抖的问题。高手进
答:
ms++;if(key==0)key_num++;if(ms==15) //15秒刷新一次 { if(key_num>10)//15秒钟如果低电平持续时间大于10秒就认为按键按下,而不是抖动 key_statue=1;//按键标识位置1 ms=0;key_num=0;} 这部分有问题,改为:if(key==0){ key_num++;} else { key_num=0;} if(key_num...
棣栭〉
<涓婁竴椤
6
7
8
9
11
12
13
14
10
15
涓嬩竴椤
灏鹃〉
其他人还搜