导航:首页 > 操作系统 > 单片机如何设置时间延迟为一秒

单片机如何设置时间延迟为一秒

发布时间:2023-11-27 09:57:47

A. 请问在单片机C语言编程中,用delay延迟的话,1秒程序是什么单片机晶振为12MHZ

在Keil里仿真的话,在配置里把晶振调成12MHz,然后在调用delay函数的地方设置一个断点,开始调试程序,运行到断点处,注意程序左边有一个记录当前寄存器和一些状态的窗口,其中,里面有一个是专门记录当前运行了多少时间的变量,记下当前时间T1,然后按F10(不进入子函数)调试,再记录当前时间T2,则延时=T2-T1。多试几个A,差不多调到1s就够了。我一般都这么调。
你要想明白其中原理,想自己算的话,你就看看delay的汇编代码段自己算吧。

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

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

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

C. 51单片机延时一秒函数,晶振12MHZ

我这有个函数自己实验出来的,在KEIL里看差不多就是延时1毫秒
void delay1ms(unsigned int t)
{
unsigned x,y;
for(x=t;x>0;x--)
for(y=124;y>0;y--);
}

把t 改为你要延时的数就可以了,1毫秒就把t改为1 500毫秒就把t改为500

D. 单片机1秒钟定时汇编语言怎么编

可以有两种方法,设晶振为12M,则
第一种方法:用延时的方法实现
DELAY: MOV R3,#10;延时子程序,延时1秒
D1: MOV R4,#200
D2: MOV R5,#250
D3: DJNZ R5,D3
DJNZ R4,D2
DJNZ R3,D1
RET
END

第二种方法:用定时器的方法实现
————
MOV R1,#20
————
DLY: MOV TMOD,#00000001B;延时子程序,设定定时器的工作方式
D1: SETB TL0,#176(65536-50000); 15536/256 (余数)
SETB TH0,#60;设置初出溢出值50ms,定时2S (商)
SETB TR0 ;启动定时器
JNB TF0,$;是否溢出,没有溢出等待,溢出走一条指令
CLR TF0;清零溢出
DJNZ R1,D1;走20次,刚好1秒
RET
END

阅读全文

与单片机如何设置时间延迟为一秒相关的资料

热点内容
如何苹果手机app不要自动更新 浏览:975
pythonflask路线教程 浏览:254
程序员职业有哪些好处 浏览:711
大都会软件app如何扫码 浏览:436
单片机0x38 浏览:756
程序员浪漫工作 浏览:329
php几分钟前 浏览:308
项目编译及运行 浏览:894
程序员的基本功 浏览:522
遗传算法排班 浏览:289
如何加密金融安全网 浏览:30
家里的wifi太卡了怎么样自己加密 浏览:233
华为链路聚合命令 浏览:426
apache自动运行php 浏览:519
485和单片机 浏览:975
xp修复系统命令 浏览:520
微你app怎么加好友 浏览:796
程序员转正 浏览:211
应用隐私加密忘记密码怎么办 浏览:685
2g视频怎么压缩 浏览:611