📄 310_interrupt.c
字号:
#define uchar unsigned char
#define uint unsigned int
uchar min ;
uchar xdata rxbuffer[110] ;
uchar point ;
//extern xdata struct model locate ;
void uart0int() interrupt 4
{
if( TI0 ) //如果是发送中断;
{
; //发送完毕;
}
if(RI0) //如果是接收中断;
{
RI0 = 0 ;
}
}
/*
void tmr2 () interrupt 5{
static uint minbuffer ;
static uint change;
change = MIN_NUM * 1980 ; //1980 is for 1 minute
TF2H = 0 ;
minbuffer++ ;
if (minbuffer > change){
minbuffer = 0;
min = 1;
}
}
void adc0() interrupt 10{
;
}
uchar pcabase ;
void pca() interrupt 11{
if (CCF0) { //捕捉下降沿
CCF0 = 0;
if(rxbuffer[0] != 0x53){
TR0 = 1 ;
TMOD |= 0x01 ;
TH0 = 0 ;
TL0 = 0;
}
else {
rxbuffer[point] = TH0 ;
TR0 = 0 ;
TH0 = 0 ;
if(rxbuffer[point] > 0x40){
rxbuffer[0] = 0 ;
point = 0 ;
}
else {
point ++ ;
}
}
}
else if (CCF1){ //捕捉上升沿
CCF1 = 0; //Clear the interrupt sign ;
if(rxbuffer[0] != 0x53){
if((TH0 > 0x30) & (TH0 < 0x3f)){
rxbuffer[0] = 0x53 ;
point = 1 ;
}
}
TR0 = 1 ;
TH0 = 0 ;
TL0 = 0 ;
}
else if (CCF2) {
CCF2 = 0; //Clear the interrupt sign ;
}
else if (CCF3) {
CCF3 = 0; //Clear the interrupt of PWM sign;
}
else if (CCF4) {
CCF4 = 0; //Clear the interrupt sign;
}
else if (CF) {
CF = 0; //Clear the interrupt sign;
}
else ;
}
void tmr3 () interrupt 14{
static uint min1buffer ;
static uint minnum ;
static uint minute1;
minute1 = 1980 ; //1980 is for 1 minute
TMR3CN &= 0x7f ;
min1buffer++ ;
if (min1buffer > minute1){
min1buffer = 0;
minnum ++ ;
}
if (minnum > (locate.timer * 60 )) {
minnum = 0 ;
locate.timer = 0 ;
locate.power = 0 ;
}
}
*/
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -