请帮忙写两句很简单的单片机程序

来源:百度知道 编辑:UC知道 时间:2024/06/02 19:26:45
请帮忙写两句很简单的单片机程序
要求:
启动后,单片机延时2S后才开始工作.
我的不是51或52系列单片机呢?

最好是教我如何设置这个延时比较好.我是想学知识的.谢谢.

汇编代码:
org 00h
mov (20h),#5
loop1:mov (21h),#0ffh
loop: mov (22h),#0ffh
djnz (22h),$
djnz (21h),loop
djnz (20h),loop1
.
.
.
c代码:
#include "reg51.h"
main()
{int i=0;
for(i=0;i<1000;i++);
.
.
.
}

精确延时,建议用汇编,要求不是很高就用c,方便嘛!由于不知道你的振荡频率是多少,没法达到要求,可以自己稍加改动(改改数字就行)。

设计延时就是做循环,循环里面什么都不做,知道每条指令执行的时间(跟晶振有关系)和你要延时的时间来计算循环的次数,如楼上所说,用汇编比较精确,而且也不难!!

利用定时器进行2秒延时
void main(void)
{
TMOD=0x01;
TH0=0x63;//12M 40ms定时初值,
TL0=0xc0;
TR0=1;
tcount=0;
while(tcount<50)
{
if(TF0==1)
{
TH0=0x63;
TL0=0xc0;
tcount++;
TF0=0;
}
}
.
.
}