永发信息网

急求单片机控制时间程序

答案:2  悬赏:60  手机版
解决时间 2021-07-29 05:01
  • 提问者网友:呐年旧曙光
  • 2021-07-28 07:22
急求单片机控制时间程序
最佳答案
  • 五星知识达人网友:独行浪子会拥风
  • 2021-07-28 07:29

延时吗?还是定时器?


c语言:


void delay(unsigned int z)


{


unsignede char x,y;


for(x=z;x>0;x--)


for(y=110;y>0;y--);


}


这是延时函数,用的时候在主函数里面调用delay(),括号里面写数值随便你写,比如delay(1000),就大约是1秒,delay(1),就是1毫秒,但是晶振你注意用的是11.0592M


定时器:


void init()


{


TMOD=1;


EA=1;


ET0=1;
TR0=1;


TH0=(65536-50000)/256;
TL0=(65536-50000)%256;


}


void timer0() interrupt 1
{
TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
t0++;



定时器不好给你写啊,就写这么多,大概就这个意思如果你学的好的话,这个是50毫秒的定时主要看你整个程序要用到多少


在给你个汇编的延时,定时器的不写了:


delay:
mov R3,#10
d1:
mov R4,#200
d2:
mov R5,248
d3:
djnz R5,d3
nop
djnz R4,d2
djnz R3,d1
ret


这个是大概1秒左右的延时

全部回答
  • 1楼网友:不想翻身的咸鱼
  • 2021-07-28 08:34

这个简单啊!只是你的提问不够具体啊。

我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯