怎样在C语言中使用中断函数

怎样在C语言中使用中断函数,第1张

首先你要写中断函数

然后在主程序中像调用子函数一样调用就可以了

举个例子吧

#define uchar unsigned char

#define uchar unsigned char

sbit D1=P1^0

uchar aa

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)

{

D1=~D1

aa=0

}

}

}

void T0time()interrupt 1

{

TH0=(65536-50000)/256

TL0=(65536-50000)%256

aa++

}

中断大概是这样的。。。如果有点错误不要怪我。。。我以前作过鼠标中断的东西。。现在有些想不起来了。。。所以。。。呵呵呵。。。

当程序运行到中断条件的时候,会向CPU发信号改变优先级(原先运行的东西会放进哪个特定的地方的,作保存),以发出中断的那段程序作为最高优先,执行完成后再由执行另外的。。。建议你去看看汇编。。。哈哈哈。。。我没学过的。。。

C中实现中断是用了一个函数:geninterrupt(...)

这个“...”是个16进制的数字,是中断号,像鼠标中断号就是0x33

还要用到类似汇编里寄存器模样的变量:如_AX,_BX,_CX,_DX...不同的值功能不同。。。哎呀,我都忘完了。。。建议去查下geninterrupt()的用法就OK了。。。


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

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

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

发表评论

登录后才能评论

评论列表(0条)

保存