关于STC单片机的远程升级
尽量写的通俗一点,有错误之处请不吝赐教。
我对单片机的理解:单片机是运算器+ram(失电后数据丢失)+rom(失电后数据依然保存)+外部设备(各种IO),它是以时序而工作的,并具有逻辑功能。可以用它(以底成本)实现复杂的任务。
学习单片机可以这样学习:
1.了解时序
2.了解RAM(单片机的寄存器),并关联相应IO(分类、分块)。
3.了解编程语句c或汇编。
4.综合逻辑功能(程式)及rom。
我们可以用以上知识,设计一个逻辑功能(应用在某种生产、服务或生活场景),当我们对逻辑功能进行维护时,要对rom进行重写,最简的方法是可以远程升级(也是比较复杂的方法,写成后可一劳永逸)。
从msc51到AT89C系列,最后选择了STC系列,原因有3,速度快,稳定,工作温度带宽大。
带入正题,STC单片机的远程升级,主要是利用了STC的ISP功能(每种系列带有ISP功能都可远程升级)。
STC的ISP功能使用串口1(rxd,txd,一般为P3^0,P3^1)作下载端口,也就是按STC的ISP协议写入主工作芯片的串口1,实现框图如下:
注意事项:
1.ISP串口通讯是偶校验。
写法发送一个字节
void sendchr2(uchar s)
{
ACC=s; //(ACC累