如何调用中断延时程序,要用C语言实现如何做呢?比如调用两次

如何调用中断延时程序,要用C语言实现如何做呢?比如调用两次,第1张

哥实在不知道你说的是什么意思。我就按我想的写吧

好久都没有写51了,陵闹原谅里面的一些小错误,你自己再动动脑就行尺派罩了!希羡侍望能帮到你,以后互相交流

#include<reg52.h>

void init()

{

TMOD=0x01

TH0=(65536-50000)/256

TL0=(65536-50000)%256

EA=1

ET0=1

TR0=1

}

void main()

{

Init()

while(1)

{

if(aa==20)//当延时一秒时,进入程序

{

P1^1=1 //自己随便接个灯,灯亮

aa=0 //清0

TR0=1 //重新打开定时器

}

}

}

void timer0() interrupt 1//这是中断程序,延时50毫秒,

{

TH0=(65536-50000)/256

TL0=(65536-50000)%256

aa++

}

通常在中断子程序中是不调用延时子程森穗序的,这样会增加中断处理时间,如果有其它毕汪低级中断了,就会延误响应中断了。所以,中断子程序中不要写调用延时子程序,中断子程序也不要写得过长,处理过多的任务,要尽快处理后及时返回,如果中断一次有很多任务需要执行完全,可以在中断子程序中设置一个标志位,在主程序中查这个标志位,当标志为1时,就在主程序中完成这些任务,这样就不会影响其它中断源的中断,也不会使中断手春仔产生混乱。

但不知,你这提问是想帮你写程序昵,还是帮你分析中断程序的写法。

1、首先编写一段简单的代码,如下图所示,编辑一段简单的输出语句。

2、依次点击菜单栏内的编译→组建→执行,确保这段成率可以正确执行。

3、从运行结果来看程序正塌陵确,没有问题,然晌衫州后找到exe可执行程序看宴蔽其是否有闪退现象。

4、将C语言代码保存后打开代码所在的文件夹,该文件夹内有一个名为【Debug】的文件夹,exe可执行程序就在此文件夹内。

5、打开【Debug】文件夹内的exe可执行程序,未出现闪退,可清晰查看到程序运行结果。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12396921.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-25
下一篇 2023-05-25

发表评论

登录后才能评论

评论列表(0条)

保存