ISP功能是在ROM的最后1块空间(一般是512 ~1024byte)里放了1段代码,在单片机上电的时候进行特定的 *** 作,单片机就不会从00开始执行程序,而是跳到最后那块空间开始,这块rom中的代码的功能是通过串口接收PC发送过来的数据写到其他的rom中去,这些数据包括命令和编译好的程序的机器码。所以即使有ISP功能你还得知道这些命令和数据的格式
#define SENDLEN 14unsigned char sendbuf[SENDLEN ]
//初始化串口
SCON = 0x50//串口方式1,允许接收
TMOD = 0x20//定时器1定时方式2
TCON = 0x40//设定时器1开始计数
TH1 = 250//波特率9600
TL1 = 250
PCON = 0x80//波特率加倍控制,SMOD位
RI = 0//清收发标志
TI = 0
TR1 1 = 1//启动定时器
//在这里要给sendbuf装入要发送的数据
for(i=0 i <S ENDLEN i++)
{
while(!TI)
SBUF = sendbuf[i]
}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)