/*----------------------------
UART 中断服务程序
-----------------------------*/
void Uart() interrupt 4
{
if (RI)
{
RI = 0;//清除RI位
if(SBUF==0xaa) //下载方便使用
IAP_CONTR=0x60;
if(SBUF =='O') //判断是否接收到结束符
{
Cout = 0;
Re = 1;
Switch1 = 0;
}
else
{
Re=0;
Buff[Cout++]=SBUF;
}
}
if (TI)
{
TI = 0; //清除TI位
busy = 0; //清忙标志
}
}
主要是在串口中添加一段代码,前提必须打开了串口中断
目前只试过15单片机,感觉51应该也可以使用这种模式下载程序 (修改:51也可以用)
if(SBUF==0xaa) //下载方便使用
IAP_CONTR=0x60; 、
加上这句代码
全局变量上也应定义
sfr IAP_CONTR = 0x60;
(一般都已经定义了,你在定义会报错)
sfr简介:
sfr特殊功能寄存器 sfr也是一种扩充数据类型,点用一个内存单元,值域为0~255。利用它可以访问51单片机内部的所有特殊功能寄存器。
下图为下载软件的配置,红框部分为重点。
