33问答网
所有问题
当前搜索:
51单片机定时器精确延时
怎样用
51单片机
检测频率??例如怎样辨别频率小于10Hz,怎样有大于等于10Hz...
答:
方案1: 不用定时中断,可以用
定时器
计数方式吧? 用外部中断,测量下降沿(或上升沿)和下一个下降沿(或上升沿)之间的时间间隔(用定时器计数更
精确
,如果频率很高也可以用软件模拟的方式 做一个计数), 软件结构:在下降沿中断的同时,保存当前计数值,计数清零并重新启动计数器(如上,既可以是定时...
单片机
编写
延时
一分钟程序 fosc=6Mhz
答:
用51汇编语言写程序时,这种问题很容易得到解决,而目前开发嵌入式系统软件的主流工具为C语言,用
C51
写延时程序时需要一些技巧[3]。因此,在多年
单片机
开发经验的基础上,介绍几种实用的编制
精确延时
程序和计算程序执行时间的方法。实现延时通常有两种方法:一种是硬件延时,要用到
定时器
/计数器,这种方法...
51单片机
TMOD
定时器
中,模式2的八位自动重装是什么意思?最好举个例子...
答:
在模式2中
定时器
只有八位参与计数,当定时器低八位(如TL1)计数溢出时,
单片机
自动把存在TH1中的值装进TL1,继续进行定时计数,这就完成了八位自动重装。与模式1相比,不需要在中断程序中对TL1再赋值,只需在初始化时,对TL1和TH1赋相同的值就行了。一般在单片机串行通信编程时才用到模式2....
单片机延时
计算方法?
答:
单片机延时
计算方法 用延时函数就可以实现;首先,设置
定时器
工作方式,也就是TMOD,在设置TH0/1,TL0/1的初值,也就是定时时间的设置,然后设置中断允许,并开中断就可以;参考例子如下:include<reg
51
.h> void main(){ TMOD=0X01;TH0=0X3C;TL0=0XB0;EA=1;ET0=1;TR0=1;while(1);} void ...
51单片机
求一个不用锁存器的利用
定时器
让数码管显示从00到99的C语言...
答:
因为你赋的初值为65536-165536 = 49000;计数器实际工作是从49000开始的,至于软件
延时
void delay(uchar x){ int i,j;for(i=x;i>0l;i--)for(j=255;j>0;j--);} 这个是执行一条指令有不同的clock数的,赋值是一个clock,for可能是两个,而且跟
单片机
的晶振也有关系,是不
精确
的延时,...
51单片机
,他要求
延时
60毫秒,但是100*200够吗?100*200不是才20毫秒吗...
答:
最好不要使用这种循环
延迟
,这种方法延迟仅仅只是让芯片,一直在高速的做着空运算。在这段时间如果还要做另一事是不行了。
51单片机
应该有计时器中断功能,应该是在timer.c里,有一个函数delayMs()是计时中断。这个是毫秒为单位的,20毫秒是delayMs(0,20),值0是以0号计时器计时。我也在学习,不知道...
51单片机
,用按键实现外部中断,软件如何去抖?
答:
外部中断的一般都是采用
延时
程序,而且延时程序一般是利用
定时器
做10~15ms的延时去抖,来实现的,而且时间不是特别
精确
,
单片机
书上和有关资料上应该都有我写一个参考一下:void DelayMS(unsigned char a){int i;for(;a>0;a--)for(i=110;i>0;i--);}延时约为a毫秒,不过不够准确,可以通过...
51单片机
delay()函数
答:
delay函数是一般自己定义的一个
延时
函数。C语言定义延时函数主要通过无意义指令的执行来达到延时的目的。下面给出一个经典的延时函数。// 定义一个延时xms毫秒的延时函数 void delay(unsigned int xms) // xms代表需要延时的毫秒数 { unsigned int x,y;for(x=xms;x>0;x--)for(y=110;y>0;y-...
关于
单片机延时
子程序流程图的问题
答:
关于
单片机延时
子程序流程图的问题 是关于
51单片机
和AD0809转化器的延时子程序两个子程序是一个程序里面的(高手应给能看出来),请高手们帮个忙,先谢谢了~延时子程序DELAY1:PUSH05HMOVR5,#10HDELAY2:LCALLDISP1DJNZR5... 是关于51单片机和AD0809转化器的延时子程序两个子程序是一个程序里面的(高手应给能看出来...
单片机
for
延时
大了不
精确
,下面两个继电器开关K1 K2关闭 吸合 延时不...
答:
// delay(3600); //for
延时
一小时 dt=3600;TR0=1;while(dt>0);TR0=0;k1=1; //继电器1打开 // delay(50); //for延时50秒 dt=50;TR0=1;while(dt>0);TR0=0;k1=0; //继电器关闭 bujindianji(7); //步进电机正转7圈后自动停止 // delay(1800);...
棣栭〉
<涓婁竴椤
6
7
8
9
11
12
13
14
10
15
涓嬩竴椤
灏鹃〉
其他人还搜