资讯详情

stc单片机免断电下载

/********************************************************************** //stc89c52单片机下载命令是0X7F(1200bts) 只要在串口通信(设置为1200bts)检测判断收到的数据为a==0X7F 再命令 {I_COR=0x60;} //就可以从C的ISP区开始运行程序的软件复位设置 // {ISP_CTR=0x60;} //从STC的ISP区开始运行程序的软件复位设置 //简单程序测试可以 在主程序里有延时 本人玩单片机只是娱乐,并无工程应用,所以手中的单片机芯片很少,只有几片AT89S51/52及AT89C2052和一片STC12C5A60S2及一片STC12C4052AD,由于不会使用软件仿真,所以只是用单片机最小系统进行仿真实验,为了达成一个想法、实现一种控制用途,往往需要反复调试程序,也就需要反复下载程序到单片机芯片中;以前,用89S51/52单片机时,应用倒也得心应手,只要芯片不被刷“爆”,改一条语句刷一次程序也无妨。

自从使用STC单片机后,情形不同了,STC单片机要求每刷一次程序都要求电源断电一次,而当装置制作完成后(如12864电子日历),由于没有设计安装电源开关,调试程序就更加麻烦了,只能频繁的拔插电源插头。为此纠结了好长时间;百度一下后发现了一段支持STC单片机免断电下载的程序,可是由于菜鸟的原因,那段被转载了无数次的C源代码读来读去不知所云,貌似要先设置中断、串口等而后再延时等等;既然程序都读不懂,应用就更甭提了;就这样边琢磨着边一遍一遍的拔插插头继续调试着我的那段网来的电子日历程序。

一次偶然,改变了一切,一次调试程序时由于没有关闭电脑的外挂音箱,在下载程序点击软件的下载按钮时,音箱里传出了“咚咚”两声声响,起初并未在意,后来发现这真是软件在执行下载指令时的必要动作;这才引起注意,于是,马上打开,把电路中串口R脚引出导线来进行检测,发现不操作软件时只有一条1V左右的直流电平线显示,用指针万用表测量约1.2V,当点击下载按钮时,示波器瞬间显示有两个稍近一个稍远的3个下跳脉冲,(由于示波器功能简单未能捕捉到稳定的图像)而万用表指针微幅度回摆了2次;在下载软件中换了几个型号的器件进行操作,观察到的现象大致相同;一个想法瞬间萦绕脑海,看来这两款STC单片机不断电下载程序是可以的,并且好像用不着很麻烦的设置和程序。

带着这个想法,下载了这两款STC单片机的数据手册,一读之下,豁然开朗,原来STC单片机的软件复位功能中包含了软件控制从ISP监控程序区开始复位启动,而且清楚的表明,只要用户向STC12C2052AD的ISP_CONTR(STC12C5A60S2为IAP_CONTR)控制寄存器中写入06H即可;经过几次试验终于搞定,而且方法及程序及其简单,兴奋之余,存录于此以资备忘。

//****************************************************** sbit ON=P3^0;// ”不断电 下载程“ ON=1;既RXD(P3.0端口)口置1, 其原因就是在未进行端口操作时,该端口电平为1.2V相当于低电平, // {ISP_CONTR=0x60;} //从STC的ISP区开始运行程序的软件复位设置 //只有将其设置为1后才能进行软件的低电平检测;若将P3.0端口置1的语句放在主循环内, //则P3.0口将不能用于其它控制而将P3.0端口置1的语句放在主循环外,则可以保留该I/O口用于其它用途。

-电子元器件采购网(www.ruidan.com)是本土元器件目录分销商,采用“小批量、现货、样品”销售模式,致力于满足客户多型号、高质量、快速交付的采购需求。 自建高效智能仓储,拥有自营库存超过50,000种,提供一站式正品现货采购、个性化解决方案、选型替代等多元化服务。
锐单商城拥有海量元器件数据手册IC替代型号,打造 电子元器件IC百科大全!

锐单商城 - 一站式电子元器件采购平台