单片机程序可以读出吗

单片机程序可以读出吗,第1张

就电子产品上用的单片机的内部程序,几乎全部都是加密的,除非厂家允许它的产品随便别人去仿造。因此,就单片机内部的程序是读不出来的。现在网上也有很多人说他能解密出部分单片机内部程序的,但是要付费的。不过,能真正解密的单片机并不多,也都是一些早期的产品。

另一方面,就算是能读出了,读出来的机器码,即是bin格式的,需要反编译才能读和修改,不过,多数人解密就是为了仿造,根本不想改,也改不了。所以,如果想仿造的,需要硬件完全一样的仿造,读出来的程序也是按原样的用。

23的键盘,太简单了,不值得用循环,特别是双重循环。

最简明、高效的程序如下:

sbit P10 = P1^0;

sbit P11 = P1^1;

sbit P12 = P1^2;

sbit P13 = P1^3;

sbit P14 = P1^4;

char scan_key(void)

{

P13 = 0;

if (!P10) return 0;

if (!P11) return 1;

if (!P12) return 2;

P13 = 1;

P14 = 0;

if (!P10) return 3;

if (!P11) return 4;

if (!P12) return 5;

}

本程序,使用的变量最少,也不涉及其它接口。

代码最少,执行效率最高。

你这程序这么写,在调用时肯定会重复读取一个键值的。

改进方法:在没有按键时,读取的键值应该是多少,知道吗,或者能计算出来吗?用xx表示。

主程序要用一个变量,假设叫keyx,保存原键值的,初始值就是那个未按键的值keyx=xx。

好了,在主程序调用时,判断键值,是未按键:keyx=xx,就不处理。继续调用。

如果有按键,按键值=keyx?不等,说明是新按键了,keyx=新键值。

这时会出现重复读取的现象了,但是:按键值=keyx了,就不处理了。

这样有按键,只处理一次。

当松开按键,读取的是按键值xx,keyx=xx了。

再有新按键,按键值=keyx肯定不成立,则又有新按键,依此类推,就可以了。

你是要读出stc89c52单片机里面的程序吗?

这是不可能的,STC单片机只能下载程序,即烧录程序,是不能读回程序的。

有的单片机,破解后是可以读出里面的程序的。但读出的是机器码,即二进制代码程序,需要反汇编成汇编程序。如果你对汇编程序不太懂,就是反汇编出来也没有用啊。

以上就是关于单片机程序可以读出吗全部的内容,包括:单片机程序可以读出吗、单片机键盘扫描程序、C51单片机键值重复读取等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

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

原文地址:https://54852.com/zz/9622035.html

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

发表评论

登录后才能评论

评论列表(0条)

    保存