历史上的今天
今天是:2024年12月19日(星期四)
2018年12月19日 | 51的中断程序用C怎么写
2018-12-19 来源:eefocus
用c语言的话中断程序是单独写在中断服务函数中的,51单片机的中断服务函数的定义:
void functionname(void) interrupt num //functionname是自己定义的函数名字,num对应实际的中断向量号
进入中断要执行中断子程序,不同的中断源要进入不同的中断子程序。对于51的C编程,可以用中断标号,如‘interrupt 0 ’来使中断进入不同的中断。
中断标号与它们的中断优先级一致,即
外部中断0 interrupt 0
定时器中断0 interrupt 1
外部中断1 interrupt 2
定时器中断1 interrupt 3
串行中断 interrupt 4
//----------------------------------------------------------------------------- // Interrupt Priorities //-----------------------------------------------------------------------------
#define INTERRUPT_INT0 0 // External Interrupt 0 #define INTERRUPT_TIMER0 1 // Timer0 Overflow #define INTERRUPT_INT1 2 // External Interrupt 1 #define INTERRUPT_TIMER1 3 // Timer1 Overflow #define INTERRUPT_UART0 4 // Serial Port 0 #define INTERRUPT_TIMER2 5 // Timer2 Overflow #define INTERRUPT_SPI0 6 // Serial Peripheral Interface 0 #define INTERRUPT_SMBUS0 7 // SMBus0 Interface #define INTERRUPT_USB0 8 // USB Interface #define INTERRUPT_ADC0_WINDOW 9 // ADC0 Window Comparison #define INTERRUPT_ADC0_EOC 10 // ADC0 End Of Conversion #define INTERRUPT_PCA0 11 // PCA0 Peripheral #define INTERRUPT_COMPARATOR0 12 // Comparator0 #define INTERRUPT_COMPARATOR1 13 // Comparator1 #define INTERRUPT_TIMER3 14 // Timer3 Overflow #define INTERRUPT_VBUS_LEVEL 15 // VBUS level-triggered interrupt #define INTERRUPT_UART1 16 // Serial Port 1
实例:
问题:
外部中断0 外部中断1对应的是一个中断程序吗?
如果是对应一个中断程序,那2个外部中断 能对应2种动作吗?(正用中断做了电子表按键选择,按键加是用的查询法,想把这个键也用中断 跳变触发。)
如果不是,请举一下例子好吗,只说一下中断程序的程序名也好。
回答:
void in0 (void) interrupt 0
{
...
}
void in1 (void) interrupt 2
{
...
}
史海拾趣
|
今天飞思卡尔网站上发布了新的coldfire+ MCU,之所以说是coldfire+,按照FSL的说法是freescaleMCU架构演化的下一步。目前推出两个系列MCF51QX和MCF51JX。飞思卡尔推动下实在有点快,不久前推了一款coldfire v3的MPU,两款coldfire v1 mcu和i.mx535 ...… 查看全部问答> |
|
hid-compliant device和usb 人体学输入设备区别 HID复合设备插上主机后会显示两个设备--hid-compliant device和usb 人体学输入设备, (1)这两个设备有什么区别? (2)我在调试这个HID设备时通过Bushound抓到的数据发现,对于同一条命令两种设备返回的结果不一样。对于usb 人体学输入设备,执 ...… 查看全部问答> |
|
今年六月份毕业的时候,邀请我去实习的单位倒不少,我就找了一家离家里近的。在那做了3个多月,主要是布PCB和移植RTOS,还有写驱动,那家单位很小,只有我一个搞研发的。后来他的产品我很熟悉了,而且老板也没有要和我签约的意思。于是我就辞职了, ...… 查看全部问答> |
|
大家做的产品,无论是量产的还是正在开发中的,都打上了CE5的补丁了吗?这些补丁全部打上之后对系统的性能会有改善或者倒退的影响吗? 我现在正在做的产品没有打任何补丁,但是总感觉电源管理有些问题,有时候睡眠唤醒收不到PBT_TRANSITION以及PBT ...… 查看全部问答> |
|
好的天花板装潢可以提供隔音、隔热、遮盖樑柱、美化角落、管线配置的功能,是居家设计相当重要的一环,同时也是相对复杂的部份。因为在规划天花板时,要注意的地方和创意的可行性越来越受到人们的重视。 近年来流行LED灯,营造一些特殊氛围, ...… 查看全部问答> |
|
现在你是否正在工作中苦苦挣扎,完全不知道该何去何从?如果你对工作无比厌烦,一想起上班就昏昏欲睡,请举起手!你不是一个人!现在的经济形势远非从前,太多人没有调整好自己的心态和状态去适应新现实。就目前来看,再也没有所谓的线性职业发展道 ...… 查看全部问答> |
|
部分接收到的为7Byte,但也有不定长的,如9Byte,设置FIFO深度7,那么当上位机发送9个byte时,剩下2个byte怎么去读取? 前7个是中断,剩下2个BYTE就不知道怎么去读了。各位大大有什么招吗? … 查看全部问答> |




