导航:首页 > 操作系统 > 延迟2ms单片机代码

延迟2ms单片机代码

发布时间:2023-06-13 09:26:16

⑴ 跪求用单片机制作长延时定时器的程序

多简单的事啊,我贴一个AVR采用定时器0计时的,你参考一下吧。
#pragma interrupt_handler timer0_ovf_isr:10 //TIMER0 定时2ms中断.
void timer0_ovf_isr(void)
{
TCNT0 = 0xD9; //reload counter value
timer2ms++;
if(timer2ms >= 5)
{
timer2ms = 0;
timer10ms ++;
systimer10ms ++;
if(systimer10ms >= 22) //内部1M晶振
{
systimer10ms = 0;
timer1s ++;
}
}
也就是说。你另外起一个变量。与响应时间对照。你别说9999分钟。你就是9999年都可以做到。不理解时加我QQ问我吧。

⑵ 89C51单片机,假定单片机晶振频率6MHz,试编写延时2ms的程序

单片机晶振频率6MHz的时钟周期是0.166uS,89C51的指令周期是12个时钟周期,约等于2uS。
以下是例程:
汇编
DELAY: MOV Rn,#200 循环200次 *10uS = 2mS
LOOP: NOP 一个指令周期
NOP
NOP
DJNZ Rn,LOOP 二个指令周期,一次循环总共5个指令周期耗时10uS
RET

C语言 #define NOP _nop_(),_nop_(),_nop_()

for(int i = 200;i!=0;i-- )NOP;

⑶ 任意型号单片机,延迟1或2秒怎么写12M,24M怎么算for后面怎么写。要过程不要结果。

一般先写一个延时几个毫秒的子程序,很简单。
void delay( int ms )
{
while( ms-- )
{
int i = 延时常数;
do { _nop_(); } while( --i );
}
}

要延时一秒钟,就是1000ms,delay( 1000 );
几个注意事项,
1、延时程序没有关中断,所以中断程序会影响定时精度。
2、延时常数可以用软仿真程序实验确定,需要根据不同的单片机、晶振频率调整延时常数。
3、想要适用任意型号单片机,内层循环最好加一句空操作,通常这可以阻止编译时优化程序。

⑷ 单片机 延迟一秒程序怎么写延迟2秒我是初学者,想请教一下。

你好!
你要先写一个延时基准(50毫秒),在延时1秒就是做20次基准,2秒就是40个基准!
也可以用定时器,定时50毫秒,定时器中断计数,计数20就是1秒,计数40次就是2秒(推荐用定时器!)
仅代表个人观点,不喜勿喷,谢谢。

阅读全文

与延迟2ms单片机代码相关的资料

热点内容
文件夹rundir什么意思 浏览:971
戴尔电脑如何给硬盘加密 浏览:155
androidn版本特性 浏览:930
算法期中试卷 浏览:939
php连接hbase 浏览:815
服务器的威胁性应该是什么等级 浏览:827
3d打印机的算法原理 浏览:483
腾讯云通信服务器 浏览:891
minecraft最可怕服务器地址 浏览:276
程序员选专业有必要吗 浏览:32
如何重装rpc服务器 浏览:637
程序员必备的app 浏览:167
电动汽车加密币 浏览:962
xp支持多少层文件夹 浏览:650
阿里云服务器防御指标 浏览:895
cc网络编程学习 浏览:461
单片机又叫微控制器对吗 浏览:662
安卓软件商店如何评分 浏览:657
linuxexecv 浏览:616
苹果照片视频文件夹 浏览:392