单片机里面有程序吗?程序怎么才能读出来?

单片机里面有程序吗?程序怎么才能读出来?,第1张

最早的单片机里面是没有程序的,程序是在外置的程序存储器里面。现在大多数单片机都把程序区做在片内,做到真正的单片机。早期的单片机都是一次性写入(OTP)的,现在很多都是FLASH的,可以反复写的。最早的单片机是没有加密的,是可以直接读出来2进制的机器码,直接就可以写入另外一个单片机中。现在基本上都做了加密,正常的去读是读不出来的。

单片机:

单片机(Microcontrollers)是一种集成电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU、随机存储器RAM、只读存储器ROM、多种I/O口和中断系统、定时器/计数器等功能(可能还包括显示驱动电路、脉宽调制电路、模拟多路转换器、A/D转换器等电路)集成到一块硅片上构成的一个小而完善的微型计算机系统,在工业控制领域广泛应用。从上世纪80年代,由当时的4位、8位单片机,发展到现在的300M的高速单片机。

瑞萨单片机读出程序:hex文件是不能直接读出程序的。这是ASCII码形式的二进制代码文件,是看不懂的。但可以用反汇编软件,反汇编出来汇编程序来。就可以修改了。一般hex文件是protel生成的,用在ISIS文件中进行仿真。

如果单片机加密了,就不要考虑下载了,很难破解密码。如果没有加密,用下载线或者编程器读出的是HEX文件,hex可以UltraEdit等软件打开,但是难修改程序。HEX是通过原程序编译过来的。原程序一般是C语言或者汇编。hex也可以反编译,但是不完整。

主要寄存器

(1)累加器A累加器A是微处理器中使用最频繁的寄存器。在算术和逻辑运算时它有双功能:运算前,用于保存一个 *** 作数;运算后,用于保存所得的和、差或逻辑运算结果。

(2)数据寄存器DR数据寄存器通过数据总线向存储器和输入/输出设备送(写)或取(读)数据的暂存单元。它可以保存一条正在译码的指令,也可以保存正在送往存储器中存储的一个数据字节等等。

第一步:连接编程器,打开编程器电源,在编程器的计算机端软件环境中,将器件选择MCU类型,型号列表中如果有STC89C51RC,那最好,如果没有,只好建议选择ATMEL 89C51试一试,设置好后,将单片机芯片按照编程器的摆放要求(一般在编程器表面有芯片的摆放示意图),插入到管脚插中,压上管脚扣,利用软件读出器件内的程序代码(二进制),保存成HEX格式的文件。第二步:在仿真器的计算机端软件中,利用反汇编功能,打开刚才保存的HEX格式文件,如果单片机内的程序在编译时设置了允许注释,那么,您可以很快得到原程序代码(汇编语句),如果没有注释,那只好根据反汇编的出来的语句(汇编代码),去查询指令代码表,人工翻译出来,对一些跳转地址,可以自己定义成特定的标号。说明:一般来说,根据对方的硬件电路图,产品的使用说明书,即可分析出软件功能,与其去破译或反译芯片内的程序,还不与自己再编一个。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/7858870.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-10
下一篇 2023-04-10

发表评论

登录后才能评论

评论列表(0条)

保存