当前位置:首页 > 单片机 > 单片机
[导读]/********************************文件所用资源1.外部中断0、1 定时中断0、1 串口中断2.端口:P3.0,P3.1,P3.3,P3.4,P3.5********************************/sfr ISP_CONTR = 0xe7;/***************************外部中

/********************************
文件所用资源
1.外部中断0、1
定时中断0、1
串口中断
2.端口:P3.0,P3.1,P3.3,P3.4,P3.5
********************************/
sfr ISP_CONTR = 0xe7;
/***************************
外部中断0服务子程序
****************************/
/*void Int0() interrupt 0
{
}*/
/***************************
定时中断0服务子程序
****************************/
/*void timer0() interrupt 1
{
}*/
/***************************
外部中断1服务子程序
****************************/
/*void Int1() interrupt 2
{
}*/
/***************************
自动ISP功能函数
***************************/
void isp_check(unsigned char tmp)
{
static isp_counter=0;
unsigned int i;
unsigned char code isp_comm[16]=
{0x12,0x34,0x56,0x78,0x90,0xab,0xcd,0xef,0x12,0x34,0x56,0x78,0x90,0xab,0xcd,0xef};
if(tmp != isp_comm[isp_counter++])
{
isp_counter = 0;
return;
}
else if (isp_counter > 15)
{
EA = 0;
for(i=0;i<5000;i++);
ISP_CONTR = 0x60; //软复位进入ISP下载模式
}
}
/***************************
串口中断服务子程序
****************************/
void serial () interrupt 4
{
if (RI)
{
RI = 0 ;
isp_check(SBUF);
}
}
/**************************
串口发送一个字符
**************************/
void com_send_dat(unsigned char dat)
{
SBUF=dat;
while (TI== 0);
TI= 0 ;
}
/**************************
串口初始化
**************************/
void init_com( void )
{
SCON=0x50 ; //UART为模式1,8位数据,允许接收
TMOD|=0x20 ; //定时器1为模式2,8位自动重装
TH1=0xfa ; //波特率:19200 晶振="22.1184MHz"
TL1=0xfa;
PCON|=0x80; //SMOD=1;波特率加倍;
TR1 = 1 ; //启动定时器1
ES=1; //开串口中断
}
/**************************
定时器0初始化
**************************/
void init_timer0( void )
{
TMOD|=0x02; //定时器0为模式1,16位计数结构
TH0=0xa0 ;
TL0=0xa0;
//TR0=1; //启动定时器0
ET0=1;//开定时中断0
}

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

MCS-51单片机有两个外部中断源INT0和INT1,它们分别在P3.2和P3.3引脚出现低电平或下降沿信号时向单片机发出中断请求。外部中断可用于检测单片机外部发生的事件,如键盘敲击和特定脉冲发生的次数等。

关键字: 51单片机 外部中断

外部中断是单片机实时地处理外部事件的一种机制。具体指的是,当某种外部事件发生时,单片机的中断系统迫使CPU暂停正在执行的程序,转而去进行中断事件的处理;中断处理完毕后,又返回被中断的程序处,继续执行下去。这里我们以Nuc...

关键字: MCU 外部中断 ST

STM32CubeMX是官方推荐的配置软件,而HAL库也是取代之前的库函数的通用库,所以STM32CubeMX+HAL库是当前主流的工程创建方式,HAL库的可移植性也高于被取代的库函数。 之前在[程序员小哈]的公众号中写...

关键字: LED 外部中断

1.ARM中一些常见英文缩写解释 MSB:最高有效位; LSB:最低有效位; AHB:先进的高性能总线; VPB:连接片内外设功能的VLSI外设总线; EMC:外部存储器控制器; MAM:存储器加速模块; VIC:向量中...

关键字: ARM THUMB I2C 外部中断

中断方式串口接收数据新建一个工程,结构如下图所示:在main.c文件中,输入以下代码:#include “lpc11xx.h”#include “uart.h”uint8_t rec_buf;void UART_IRQH...

关键字: Cortex lpc1114 mo uart 串口中断 收发数据

/**************************文件所用资源1.端口:P22.调用delay_ms函数**************************/#include #include #define key...

关键字: 4*4 c51程序 矩阵键盘

/**************************文件所用资源1.端口:P0.2,P0.32.调用delay_ms函数**************************//*********************...

关键字: c51程序 读写驱动 24cxx

/**************************文件所用资源1.端口:P0.4,P0.5,P0.6,P0.72.调用delay_ms函数**************************//***********...

关键字: c51程序 io口 模拟spi通信

#include #include #include int main(void){MCUCR |= (1

关键字: AVR gcc编程 单片机 外部中断

模块内接口:使用如下标志符:asm汇编语句endasm注意:如果在程序中使用了,注意在Keil编译器中需要激活Properties中的“GenerateAssemblerFile”和“AssemblerFile”两个选项...

关键字: keil c51程序 嵌入汇编
关闭
关闭