我用把程序烧尽STC89C52时可以正常运行,换了STC12C5A60S2却不行了
我用把程序烧尽STC89C52时可以正常运行,换了STC12C5A60S2却不行了 1、指令时间不同了。STC89C52是12周期的,STC12C5A60S2是1周期的,控制外围电路的指令时间变化很大。2、EEPROM,地址变了。
3、特殊功能寄存器地址变了。 一个是12T 一个是1T. 建议把程序贴出来让大家分析下。(我只会汇编) 我也碰到这样的问题,郁闷
回复【1楼】dianzi_zhong
1、指令时间不同了。stc89c52是12周期的,stc12c5a60s2是1周期的,控制外围电路的指令时间变化很大。
2、eeprom,地址变了。
3、特殊功能寄存器地址变了。
-----------------------------------------------------------------------
STC12C5A60S2默认也是12T的(SPEC上看的) IAP的操作也有所改变。
应该是两个不同厂家的芯片了。 125CA60S2默认是1T的吧,楼主可以测试一下 我开始也不成功,后来不知道怎么就好了(纳闷~),是个简单的流水灯之类的程序(我用C写的测试程序),可以下载。
上官网下比较新的下载软件试下,不行就降低波特率试。 回复【3楼】hefanghua
-----------------------------------------------------------------------
谁告诉你默认是12T的?它只有定时器默认是12T,CPU跑代码默认就是1T了! 额。虽然不是我说的,也帮3L回答下。
STC89系列可以选6T的双倍数和12T的单倍数,5A就不能选指令时间了。说是1T,如果按平均值计算,实际算4T好了。 回复【4楼】powerxia
-----------------------------------------------------------------------
哥们!把你看的那份资料传上来!谢谢le http://cache.amobbs.com/bbs_upload782111/files_41/ourdev_651129HPYINB.jpg
(原文件名:STC12C5A60S2.jpg)
http://cache.amobbs.com/bbs_upload782111/files_41/ourdev_651130R0WXEC.jpg
(原文件名:STC89C52.jpg) 看程序是最好解决方法 完全不同的单片机 为什么我的超声波程序在stc89c52中正常但是在stc12中却不能正常工作 求助{:2:}
到底有没有解决过这类问题的 ? 看datasheet,里面有讲与传统51的区别,注意IO读取时先写1,然后两个NOP,再读才能正确。因为1t单片机IO翻转只要4个时钟周期,普通51则超过12个所以不需要
页:
[1]