上篇我们了解到是不是把这种十六进制的代码转换成二进制的代码,也就是我们的机器语言呢?
针对上一个问题我来做出一个回答,首先大家要清楚答案是否定的。
这个十六进制代码它的每一个字节都有其特定的含义,比如数据程度,起始地址,数据类型等信息,而并非机器语言,那么这里为什么不直接生成二进制代码呢?
我们说HEX代码自带校验位,在编译的时候能检验代码是否有错误,能够为代码的传输,存储带来便利,而二进制代码却没有这个功能,通过程序烧写,
我们把十六进制的代码转换成二进制的代码,这样CPU(单片机)就能识别了,那么CPU如何执行二进制的代码呢?
我们可以简单的把CPU看作是海量的开关组合,这个开关由三极管组成。
我们追溯计算机的发展历史,人类的第一台万用型计算机马克一号,它拥有三千多只继电器,这也是它的核心零部件,所以它也被称作为继电器计算机,继电器在这台计算机中的作用就是开关,而现在我们使用三极管来代替它,它们的原理是一样的,CPU是由工程师精心设计的,
且规模庞大的开关组,当给这个开关组输入一组特定的高低电平组合时,就会导致其内部出现复杂的开关动作,最终产生另一种高低电平的组合作为输出,输出的电平经过放大电路,模数转换电路等变换之后,就可以驱动相应的硬件动作。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。