这是不可能的,STC单片机只能下载程序,即烧录程序,是不能读回程序的。
有的单片机,破解后是可以读出里面的程序的。但读出的是机器码,即二进制代码程序,需要反汇编成汇编程序。如果你对汇编程序不太懂,就是反汇编出来也没有用啊。
stm32和51单片机相比,代码效率高(32位包含信息量大,多数指令一个字节搞定)、执行速度快(72MHz系统时钟不是盖的)、功能强大(外设丰富、管脚多、管脚功能可重映射),优点多多。编程的区别,stm32基本别比划汇编了,能把脑袋搞大大滴,寄存器太多了,位数也多,我一直搞51汇编也放弃了。C语言编程区别就不大了,况且stm32在国内技术支持很到位,资料丰富(关键是不但有E文,中文资料翻译的也多),还有完整的库函数支持,从51转过去没太大困难。有51相似电路的程序,移植的话好多都不用改的,只是针对寄存器、IO口、中断等的修改,软件流程、控制逻辑基本不用改。
说了一大堆,不是说stm32有多好学,还是有点难度,但比起它的优越来,付出是值得的。希望对你有所帮助。
AUXR EQU 8EH ;辅助寄存器
S2CON EQU 9AH ;串口2控制寄存器
S2BUF EQU 9BH ;串口2数据缓冲区
BRT EQU 9CH ;波特率寄存器
S2RI EQU 01H ;S2CON0
S2TI EQU 02H ;S2CON1
;------------------------------------------
ORG 0000H
LJMP START
;------------------------------------------
ORG 0050H
START:
MOV S2CON,#50H ;8位数据,可变波特率
MOV BRT,#0FAH ;57600bps@110592MHz
ORL AUXR,#14H ;独立波特率发生器时钟为Fosc,即1T
MOV R2,#4
MOV DPTR,#TABLE
LOOP:
CLR A
MOVC A,@A+DPTR
MOV S2BUF,A
LP1:
MOV A,S2SCON
JNB ACC1,LP1
INC DPTR
DJNZ R2,LP1
SJMP $
TABLE: DB 00H,01H,23H,45H
END
我来说两句,对楼主二位的总结做些补充;
“51系列”包含的范围太大了,很多家公司都有自己的51核芯片,atmel/stc/华邦/飞力浦。。。各家公司出的51芯片,但各自都会在传统51的基础上外增一些模块,如spi
/iic/
pwm
/等,如stc的1T芯片,考虑到兼容性,其功能都支持传统51芯片,即所有寄存器地址/指令编码/译码都一样,但只能这样说:stcr的12T单片机与传统51的程序兼容,如果换成1T的片子,执行指令的时候不同了,经时机可能就不同了。
注意是传统51的片子,如有些专用的模块的话楼主就要多看看手册了。
以上就是关于stc89c52单片机程序怎么读出来全部的内容,包括:stc89c52单片机程序怎么读出来、stc 32位单片机怎么编程、用单片机STC12C5A60S2的串口2发送00H、01H、23H、45H三个数,用汇编语言怎么编等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)