📄 330_interrupt.c
字号:
/************************************
*文件名: A601int.h *
*使用文件 :/d/刘玉龙/A601/A601.c *
*作者: 刘玉龙 *
*日期: 2006-4-21 *
************************************/
extern struct keyboard out;
unsigned char point;
xdata unsigned char rxbuffer[22] ;
xdata unsigned char comend ;
void uart0int() interrupt 4
{
if( ti0 ) //如果是发送中断;
{
; //发送完毕;
}
if(ri0) //如果是接收中断;
{
ri0 = 0 ;
rxbuffer[point] = sbuf0 ;
if(rxbuffer[point] == 0x74){
point = 0; //接收缓冲指针归0;
rxbuffer[point] = sbuf0 ;
}
if(rxbuffer[point]==0x64) { //如果接收的是‘!’
comend = 1; //通信标志为1;不做任何处理;
}
point ++; //接收缓冲指针加1;0
}
}
void adc0()interrupt 10
{
adc0cn &= 0xcf; //清除中断标志;
}
void pca0() interrupt 11
{ unsigned int PWM ;
if (ccf0) {
ccf0 = 0 ; //风门角度上下定位
}
else if (ccf1){
ccf1 = 0; //Clear the interrupt sign ;
if(out.wind == 0){
pca0cpl1 = 0xff ;
pca0cph1 = 0xff ;
}
if (out.wind != 0){
PWM = 2000 * (10 - out.wind) ;
PWM = 10000 + PWM ;
pca0cpl1 = PWM ;
pca0cph1 = (PWM >> 8);
}
}
else if (ccf2) { //220VAC上升沿检测
ccf2 = 0 ;
}
else if (cf) {
cf = 0; //Clear the interrupt sign;
}
else ;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -