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

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

发布时间: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

阅读全文

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

热点内容
4k屏幕笔记本编程 浏览:622
什么都能买到的购物app 浏览:81
mt4ea编程语言 浏览:111
cad附着命令 浏览:50
fate服务器多开什么意思 浏览:442
解压缩工厂翻译 浏览:874
把电脑中的文件夹变成标题 浏览:582
程序员自学美术 浏览:235
美团中原消金在美团app的哪里 浏览:887
plc命令cio怎么用 浏览:127
androidvarchar 浏览:521
ftplinux命令get 浏览:957
程序员那么可爱21集剧情 浏览:305
免费阅读程序员那么可爱 浏览:982
外网哄睡助眠解压 浏览:820
如何反编译amxx 浏览:737
rsa加密太耗时 浏览:239
数控车ug编程步骤 浏览:9
如何精准推广app 浏览:177
高中数学教材pdf人教版 浏览:154